Linux-lvm邏輯卷管理
LVM簡介
LVM : Logical Volume Manager,中文名為邏輯卷管理,是一種方便的磁碟分割槽管理機制。與一般的磁碟分割槽管理區別在於,LVM可以方便在不停機的狀況下,對各個分割槽調整大小。同時也可以通過將多個小物理磁碟整合成為一個大的邏輯分割槽,從而突破物理磁碟的大小限制,儲存更大的資料塊。
邏輯卷管理中有三個概念:物理卷,卷組,邏輯卷,物理擴充套件塊。
物理卷(PV):包含LVM相關的管理引數的磁碟或者磁碟分割槽。
卷組(VG):由物理卷組成的合集。
邏輯卷(LV):從卷組中抽出空間組成的邏輯上的磁碟。
物理擴充套件塊(PE):是邏輯卷中的最小儲存單元,預設大小為4MB。
原理簡介
LVM邏輯卷建立實現過程
流程圖
程式碼實現
對sdc進行分割槽
具體分割槽步驟可查詢
硬碟分割槽
需要注意的是分割槽完成後需要將該分割槽型別改為8e(LinuxLVM)
點選檢視程式碼
Command (m for help): t Selected partition 1 Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
建立物理卷(pvcreate)
將sdb與sdc1劃分為物理卷。命令格式:
pvcreate [磁碟或分割槽目錄] [磁碟或分割槽目錄]
點選檢視程式碼
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc1
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc1" successfully created.
建立卷組ts01(vgcreate)
將sdb與sdc1劃分為卷組ts01。命令格式:
vgcreate 卷組名稱 [物理卷] [物理卷]
點選檢視程式碼
[root@localhost ~]# vgcreate ts01 /dev/sdb /dev/sdc1 Volume group "ts01" successfully created
建立邏輯卷ls01
從卷組ts01中劃分7G空間,建立為邏輯卷ls01。命令格式:
lvcreate -L [劃分大小] -n [卷組名] [邏輯卷名]
點選檢視程式碼
[root@localhost ~]# lvcreate -L 7G -n lv01 ts01
Logical volume "lv01" created.
掛載格式化使用邏輯卷
建立data目錄,並將邏輯卷lv01格式化為xfs檔案系統,掛載在data目錄下。
點選檢視程式碼
[root@localhost ~]# mkdir /data
[root@localhost ~]# mkfs.xfs /dev/ts01/lv01
meta-data=/dev/ts01/lv01 isize=512 agcount=4, agsize=458752 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1835008, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mount /dev/ts01/lv01 /data
檢視掛載效果。
點選檢視程式碼
[root@localhost ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 42G 3.7G 39G 9% /
devtmpfs 470M 0 470M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 8.6M 478M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 1014M 166M 849M 17% /boot
tmpfs 98M 4.0K 98M 1% /run/user/42
tmpfs 98M 32K 98M 1% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/ts01-lv01 7.0G 33M 7.0G 1% /data
需要注意的是,這裡是臨時掛載,重啟後掛載失效。需將掛載資訊寫入/etc/fstab進行自動掛載。
擴充套件邏輯卷
擴充套件邏輯卷,首先要保證卷組中剩餘空間足夠,如果不足,首先需要在卷組新加入物理卷才能對邏輯捲進行擴充套件。擴充套件邏輯卷命令格式:
lvextend -L +[擴充套件大小] [邏輯卷的絕對路徑]
擴容後需要將掛載點進行重新整理後,新增大小才會顯現。命令格式:
xfs_growfs [掛載點]
點選檢視程式碼
[root@localhost ~]# lvextend -L +1G /dev/ts01/lv01
Size of logical volume ts01/lv01 changed from 7.00 GiB (1792 extents) to 8.00 GiB (2048 extents).
Logical volume ts01/lv01 successfully resized.
[root@localhost ~]# xfs_growfs /data
meta-data=/dev/mapper/ts01-lv01 isize=512 agcount=4, agsize=458752 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=1835008, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 1835008 to 2097152
[root@localhost ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 42G 3.7G 39G 9% /
devtmpfs 470M 0 470M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 8.6M 478M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 1014M 166M 849M 17% /boot
tmpfs 98M 4.0K 98M 1% /run/user/42
tmpfs 98M 32K 98M 1% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/ts01-lv01 8.0G 33M 8.0G 1% /data