CentOS 6中建立及管理LVM邏輯卷
轉至:https://www.ibadboy.net/archives/1903.html#%E9%80%BB%E8%BE%91%E5%8D%B7%E7%9A%84%E6%89%A9%E5%AE%B9
文章目錄
- LVM簡介:
- 建立LVM:
- 一、安裝LVM軟體包
- 二、建立物理磁碟的分割槽
- 三、建立物理卷
- 四、建立卷組
- 五、劃分邏輯卷
- 管理LVM:
- 卷組的擴容
- 邏輯卷的擴容
LVM簡介:
LVM是邏輯管理卷的簡寫,其可以將多塊物理磁碟的分割槽組成一個大的卷組(可以把他想象成是一個大的資源池),再在卷組上劃分出邏輯卷並在其上建立檔案系統最終供使用者使用。
LVM的好處是可以動態的增加邏輯卷的大小,這樣就不用面臨隨著業務發展,原本的分割槽空間不足的尷尬啦!
下面是LVM的結構圖,最下面是物理磁碟分割槽,其上是物理卷(一個物理磁碟分割槽對應一個物理卷),再往上是我稱之為“資源池”的卷組,這個“資源池”的容量是由組成其的物理卷的總容量決定的,而最上面則是可以被當成“普通分割槽”來使用的邏輯卷,邏輯卷可以劃分很多個(預設一個卷組可以劃分256個邏輯卷),只要其加起來的容量不超過“資源池”的容量就好!
建立LVM:
一、安裝LVM軟體包
通常情況下,CentOS中都有自帶LVM軟體包,但為了以防萬一,我還是把安裝命令貼出來吧~
[root@localhost ~]# yum install -y lvm
二、建立物理磁碟的分割槽
記得要先新增一塊空磁碟吶,本實驗中我添加了一塊8GB大小的SCSI磁碟。
檢視新新增的磁碟。
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.2G 0 rom /media/cdrom sda 8:0 0 8G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 7.5G 0 part ├─VolGroup-lv_root (dm-0) 253:0 0 6.7G 0 lvm / └─VolGroup-lv_swap (dm-1) 253:1 0 816M 0 lvm [SWAP] sdb 8:16 0 8G 0 disk
如果新加的磁碟不能被系統立即識別請參考此篇文章。
https://www.ibadboy.net/archives/1895.html
使用fdisk工具對新加磁碟進行分割槽。
[root@localhost ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x028d3c84. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n //新建磁碟分割槽 Command action e extended p primary partition (1-4) p //新建為主分割槽 Partition number (1-4): 1 //設定分割槽編號 First cylinder (1-1044, default 1): s //設定起始扇區 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044):522 //設定結束扇區,這裡我結束扇區設定為總扇區數的一半,相當於把分割槽容量設定為總容量的一半 Command (m for help): n //新建第二塊磁碟分割槽 Command action e extended p primary partition (1-4) p //新建為主分割槽 Partition number (1-4): 2 //設定分割槽編號 First cylinder (523-1044, default 523): //設定起始扇區 Using default value 523 Last cylinder, +cylinders or +size{K,M,G} (523-1044, default 1044): //設定結束扇區 Using default value 1044 Command (m for help): t //更改分割槽的標識 Partition number (1-4): 1 //選擇編號為1的分割槽進行操作 Hex code (type L to list codes): 8e //將分割槽標識更改為“Linux LVM”,其對應的程式碼是8e,這裡可以輸入list來檢視所有標識對應的程式碼 Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): t //更改分割槽的標識 Partition number (1-4): 2 //選擇編號為2的分割槽進行操作 Hex code (type L to list codes): 8e //將分割槽標識更改為“Linux LVM” Changed system type of partition 2 to 8e (Linux LVM) Command (m for help): p //檢視剛剛新建的分割槽 Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x028d3c84 Device Boot Start End Blocks Id System /dev/sdb1 1 522 4192933+ 8e Linux LVM /dev/sdb2 523 1044 4192965 8e Linux LVM Command (m for help): w //儲存並退出fdisk工具 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
三、建立物理卷
使用新建立的/dev/sdb1和/dev/sdb2這兩個分割槽分別組建物理卷。
[root@localhost ~]# pvcreate /dev/sdb[12] Physical volume "/dev/sdb1" successfully created //提示說物理卷建立成功 Physical volume "/dev/sdb2" successfully created
檢視物理卷。
[root@localhost ~]# pvdisplay "/dev/sdb1" is a new physical volume of "4.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 //物理卷名稱 VG Name //所屬的卷組名稱,這裡還未加入任何卷組 PV Size 4.00 GiB //物理卷大小 Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID pTps5V-4vKA-em0G-XR8Y-ltJu-4CeL-KEOMn3 "/dev/sdb2" is a new physical volume of "4.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb2 //物理卷名稱 VG Name //所屬的卷組名稱 PV Size 4.00 GiB //物理卷大小 Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID uzW0YS-fl5a-4Qae-6vcG-iXce-a8iB-QYMvf4
四、建立卷組
將剛剛新建的物理卷/dev/sdb1和/dev/sdb2組成一個卷組——vg1
[root@localhost ~]# vgcreate vg1 /dev/sdb[12] Volume group "vg1" successfully created //提示說卷組建立成功卷
檢視卷組
[root@localhost ~]# vgdisplay --- Volume group --- VG Name vg1 //卷組名稱 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write //卷組的訪問許可權 VG Status resizable //卷組狀態 MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 7.99 GiB //卷組容量 PE Size 4.00 MiB Total PE 2046 Alloc PE / Size 0 / 0 Free PE / Size 2046 / 7.99 GiB VG UUID dY8zDo-vD43-DQB8-CpRs-Shla-kWfJ-OuDjhp
五、劃分邏輯卷
從總容量為8G(其實不足8G)的卷組vg1中劃分四個邏輯卷,分別為lv1、lv2、lv3、lv4,每個大小為2000MB。
[root@localhost ~]# lvcreate -L 2000MB -n lv1 vg1 //-L引數後面接邏輯卷大小,單位可以是KB、MB、GB。 Logical volume "lv1" created [root@localhost ~]# lvcreate -L 2000MB -n lv2 vg1 Logical volume "lv2" created [root@localhost ~]# lvcreate -L 2000MB -n lv3 vg1 Logical volume "lv3" created [root@localhost ~]# lvcreate -L 2000MB -n lv4 vg1 Logical volume "lv4" created
檢視邏輯卷,因為這裡的輸出資訊比較多,我只擷取lv1這個邏輯卷的資訊做簡要說明。
[root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/vg1/lv1 //邏輯卷路徑 LV Name lv1 //邏輯卷名稱 VG Name vg1 //邏輯卷所屬的卷組的名稱 LV UUID qhypYJ-jPOW-KDDy-NXtO-aWQO-ryHI-Tf04hS LV Write Access read/write LV Creation host, time localhost.localdomain, 2017-10-11 13:13:54 +0800 LV Status available # open 0 LV Size 1.95 GiB //邏輯卷容量 Current LE 500 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2
至此,邏輯卷已建立完成,但此時還不能立即使用,還需要在邏輯捲上新建檔案系統。
這裡為了不讓文章顯得囉嗦,我只在邏輯卷lv1上建立檔案系統。
[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1 mke2fs 1.41.12 (17-May-2010) 檔案系統標籤= 作業系統:Linux 塊大小=4096 (log=2) 分塊大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 128000 inodes, 512000 blocks 25600 blocks (5.00%) reserved for the super user 第一個資料塊=0 Maximum filesystem blocks=524288000 16 block groups 32768 blocks per group, 32768 fragments per group 8000 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 正在寫入inode表: 完成 Creating journal (8192 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 31 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
掛載邏輯卷。
[root@localhost ~]# mount /dev/vg1/lv1 /mnt [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 6.7G 816M 5.5G 13% / tmpfs 246M 0 246M 0% /dev/shm /dev/sda1 485M 33M 427M 8% /boot /dev/sr0 4.2G 4.2G 0 100% /media/cdrom /dev/mapper/vg1-lv1 2.0G 35M 1.8G 2% /mnt
管理LVM:
卷組的擴容
這裡我新增加一塊8G的空SCSI磁碟,並在其基礎上建立一個8G的物理卷。
將剛剛新建的8G大小的物理卷加入到vg1卷組中,實現對vg1卷組的擴容。
[root@localhost ~]# vgextend vg1 /dev/sdc1 dev_is_mpath: failed to get device for 8:33 No physical volume label read from /dev/sdc1 Physical volume /dev/sdc1 not found Physical volume "/dev/sdc1" successfully created Volume group "vg1" successfully extended
檢視卷組資訊,注意看卷組容量。
[root@localhost ~]# vgdisplay --- Volume group --- VG Name vg1 System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 14 VG Access read/write VG Status resizable MAX LV 0 Cur LV 4 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size 15.99 GiB //卷組的總容量已增加 PE Size 4.00 MiB Total PE 4093 Alloc PE / Size 2000 / 7.81 GiB Free PE / Size 2093 / 8.18 GiB VG UUID dY8zDo-vD43-DQB8-CpRs-Shla-kWfJ-OuDjhp
邏輯卷的擴容
這裡對已經掛載在/mnt目錄上的lv1邏輯捲進行擴容,將其大小變為10GB。
[root@localhost ~]# lvextend -L 10GB -n /dev/vg1/lv1 Extending logical volume lv1 to 10.00 GiB Logical volume lv1 successfully resized
重設邏輯卷大小,只有正在使用的邏輯卷才需要重設大小。
[root@localhost ~]# resize2fs /dev/vg1/lv1 resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vg1/lv1 is mounted on /mnt; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/vg1/lv1 to 2621440 (4k) blocks. The filesystem on /dev/vg1/lv1 is now 2621440 blocks long.
檢視此時lv1的容量,已實現動態擴容。
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 6.7G 816M 5.5G 13% / tmpfs 246M 0 246M 0% /dev/shm /dev/sda1 485M 33M 427M 8% /boot /dev/sr0 4.2G 4.2G 0 100% /media/cdrom /dev/mapper/vg1-lv1 9.9G 37M 9.4G 1% /mnt
搜尋
複製