Linux 邏輯卷LVM管理命令
共 8231字,需瀏覽 17分鐘
·
2024-07-03 22:25
LVM邏輯卷管理是Linux對(duì)磁盤分區(qū)進(jìn)行管理的一種機(jī)制,普通磁盤無(wú)法實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展,而LVM就是將物理磁盤融合成一個(gè)巨大的存儲(chǔ)池,用戶可以按需求動(dòng)態(tài)的調(diào)整磁盤的容量,使磁盤容量更好的被利用。
LVM的組成部分:
物理卷(PV): 由磁盤或分區(qū)轉(zhuǎn)化而成的物理分區(qū).
卷組(VG): 將多個(gè)物理卷組合在一起組成了卷組,組成同一個(gè)卷組的可以是同一個(gè)硬盤的不同分區(qū),也可以是不同硬盤上的不同分區(qū),我們通常把卷組理解為一塊硬盤.
邏輯卷(LV): 把卷組理解為硬盤的話,那么我們的邏輯卷則是硬盤上的分區(qū),邏輯卷可以進(jìn)行格式化,存儲(chǔ)數(shù)據(jù).
物理擴(kuò)展(PE): PE卷組的最小存儲(chǔ)單元,PE所在的位置是VG卷組,即硬盤上,那么我們可以把PE理解為硬盤上的扇區(qū),默認(rèn)是4MB,可自由配置.
創(chuàng)建/移除物理卷(PV): 使用系統(tǒng)中存在的/dev/sdb /dev/sdc磁盤,并將兩個(gè)磁盤加入到PV物理卷組中.
[]brw-rw---- 1 root disk 8, 16 Sep 21 22:04 /dev/sdbbrw-rw---- 1 root disk 8, 32 Sep 21 22:04 /dev/sdc[][][]PV VG Fmt Attr PSize PFree/dev/sda2 centos lvm2 a-- <9.00g 0/dev/sdb lvm2 --- 10.00g 10.00g
創(chuàng)建VG卷組: 創(chuàng)建VG卷組,VG卷組要在PV物理卷中選擇,創(chuàng)建命令如下.
vgcreate -s [指定PE大小] [VG卷組名] [分區(qū)路徑] [分區(qū)路徑][.....][root@localhost ~]# pvsPV VG Fmt Attr PSize PFree/dev/sda2 centos lvm2 a-- <9.00g 0/dev/sdb lvm2 --- 10.00g 10.00g/dev/sdc lvm2 --- 10.00g 10.00g[root@localhost ~]# vgcreate -s 4M my_vg /dev/sdb /dev/sdc #此處就是創(chuàng)建一個(gè)VG卷組[root@localhost ~]# vgsVG #PV #LV #SN Attr VSize VFreecentos 1 2 0 wz--n- <9.00g 0my_vg 2 0 0 wz--n- 19.99g 19.99g #這就是VG卷組,名字是my_vg
添加新的PV到VG卷組: 給當(dāng)前my_vg卷組添加新的PV,也就是擴(kuò)展卷組
vgextend [卷組名] [物理卷分區(qū)][root@localhost ~]# vgextend my_vg /dev/sdd #添加一個(gè)PV到指定卷組[root@localhost ~]# pvsPV VG Fmt Attr PSize PFree/dev/sda2 centos lvm2 a-- <9.00g 0/dev/sdb my_vg lvm2 a-- <10.00g <10.00g/dev/sdc my_vg lvm2 a-- <10.00g <10.00g/dev/sdd my_vg lvm2 a-- <10.00g <10.00g #已被劃分到my_vg卷組
移除單個(gè)PV: 在VG卷組里移除一個(gè)PV,將/dev/sdd從my_vg卷組里移除
vgreduce [卷組名] [物理卷分區(qū)][root@localhost ~]# pvsPV VG Fmt Attr PSize PFree/dev/sda2 centos lvm2 a-- <9.00g 0/dev/sdb my_vg lvm2 a-- <10.00g <10.00g/dev/sdc my_vg lvm2 a-- <10.00g <10.00g/dev/sdd my_vg lvm2 a-- <10.00g <10.00g[root@localhost ~]# vgreduce my_vg /dev/sdd #將/dev/sdd從my_vg卷組里移除[root@localhost ~]# pvsPV VG Fmt Attr PSize PFree/dev/sda2 centos lvm2 a-- <9.00g 0/dev/sdb my_vg lvm2 a-- <10.00g <10.00g/dev/sdc my_vg lvm2 a-- <10.00g <10.00g/dev/sdd lvm2 --- 10.00g 10.00g
移除整個(gè)VG卷組: 將創(chuàng)建的my_vg徹底移除,移除整個(gè)卷組
[root@localhost ~]# vgsVG #PV #LV #SN Attr VSize VFreecentos 1 2 0 wz--n- <9.00g 0my_vg 2 0 0 wz--n- 19.99g 19.99g[root@localhost ~]# vgremove my_vg #移除整個(gè)卷組Volume group "my_vg" successfully removed[root@localhost ~]# vgsVG #PV #LV #SN Attr VSize VFreecentos 1 2 0 wz--n- <9.00g 0
移除空閑VG卷組: 將卷組中空閑的VG從PV中移除,也就是如果該卷組空間為空,則移除掉.
vgreduce -a [卷組名][root@localhost ~]# vgsVG #PV #LV #SN Attr VSize VFreecentos 1 2 0 wz--n- <9.00g 0my_vg 3 0 0 wz--n- <29.99g <29.99g[root@localhost ~]# vgreduce -a my_vg #只移除空卷組[root@localhost ~]# vgsVG #PV #LV #SN Attr VSize VFreecentos 1 2 0 wz--n- <9.00g 0my_vg 1 0 0 wz--n- <10.00g <10.00g
創(chuàng)建LVM邏輯卷: 創(chuàng)建一個(gè)LVM邏輯卷名字是my_lv并從my_vg中劃分空間,劃分10G空間
lvcreate -L [指定大小] -n [LV名字] [VG卷組:從哪個(gè)卷組里劃分][root@localhost ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertroot centos -wi-ao---- <8.00gswap centos -wi-ao---- 1.00g[root@localhost ~]# lvcreate -L 10G -n my_lv my_vg #創(chuàng)建LVM邏輯卷[root@localhost ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertroot centos -wi-ao---- <8.00gswap centos -wi-ao---- 1.00gmy_lv my_vg -wi-a----- 10.00g
格式化并掛載LVM: 測(cè)試LVM是否正常工作,在創(chuàng)建好LVM以后需要手動(dòng)格式化
[][][]
LV容量增加(擴(kuò)容): 將LV的容量增加5G的空間,需要注意擴(kuò)展要先擴(kuò)展LVM,然后再擴(kuò)展文件系統(tǒng)
[]Filesystem Size Used Avail Use% Mounted on/dev/mapper/centos-root 8.0G 1.2G 6.9G 15% //dev/sda1 1014M 130M 885M 13% /boot/dev/mapper/my_vg-my_lv 9.8G 37M 9.2G 1% /LVM ←此處是10G[][][]Filesystem Size Used Avail Use% Mounted on/dev/mapper/centos-root 8.0G 1.2G 6.9G 15% //dev/sda1 1014M 130M 885M 13% /boot/dev/mapper/my_vg-my_lv 15G 41M 14G 1% /LVM ←此處已經(jīng)從10G 增加到15G
LV容量縮小(收縮): 將LV的容量縮小5G的空間,縮小要先卸載分區(qū)并檢查分區(qū),然后縮小文件系統(tǒng),最后再縮小LVM
[root@localhost ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/centos-root 8.0G 1.2G 6.9G 15% //dev/sda1 1014M 130M 885M 13% /boot/dev/mapper/my_vg-my_lv 15G 41M 14G 1% /LVM ←此處顯示15G空間[root@localhost ~]# umount /dev/my_vg/my_lv #卸載LVM卷組[root@localhost ~]# e2fsck -f /dev/my_vg/my_lv #檢查文件系統(tǒng)[root@localhost ~]# resize2fs -f /dev/my_vg/my_lv 10G(減小后的大小) #縮小文件系統(tǒng)[root@localhost ~]# lvreduce -L 10G /dev/my_vg/my_lv #縮小LVMDo you really want to reduce my_vg/my_lv? [y/n]: y #輸入y[root@localhost ~]# mount /dev/my_vg/my_lv /LVM/ #掛載[root@localhost ~]# df -h #再次查看分區(qū)變化Filesystem Size Used Avail Use% Mounted on/dev/mapper/centos-root 8.0G 1.2G 6.9G 15% //dev/sda1 1014M 130M 885M 13% /boot/dev/mapper/my_vg-my_lv 9.8G 37M 9.2G 1% /LVM←此處已經(jīng)從15G變成10G
對(duì)LVM拍攝快照: LVM支持快照的拍攝與恢復(fù),快照拍攝可以使用lvcreate命令.
lvcreate [-s 快照] -n [快照名] -L [快照大小] [指定分區(qū)]LVM]# lvcreate -s -n mylv_back -L 200M /dev/my_vg/my_lv #給/LVM目錄拍攝快照LVM]# lvs #查看快照LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertroot centos -wi-ao---- <8.00gswap centos -wi-ao---- 1.00gmy_lv my_vg owi-aos--- 10.00gmylv_back my_vg swi-a-s--- 200.00m my_lv 0.01 ←此處就是快照
對(duì)LVM恢復(fù)快照: 回復(fù)LVM快照時(shí),第一步需要?jiǎng)?chuàng)建一個(gè)掛載點(diǎn),然后將mylv_back掛載到掛載點(diǎn)上,從中拷貝出來(lái)即可.
[root@localhost LVM]# rm -fr * #模擬被刪除[root@localhost LVM]# mkdir /back #創(chuàng)建掛載點(diǎn)[root@localhost LVM]# mount /dev/my_vg/mylv_back /back/ #掛載備份文件[root@localhost LVM]# cp -a /back/* ./ #復(fù)制備份文件[root@localhost LVM]# ls
鏈接:https://www.cnblogs.com/LyShark/p/10167313.html
(版權(quán)歸原作者所有,侵刪)
