邏輯卷管理器(LVM)
原理圖如下:
先準備一個分區/dev/sdb1,注意也存在ID問題,選擇8e。
1.先把磁盤變成物理卷
在做這步前可以先看下系統中存在的物理卷,沒有就什么都不會顯示。
把我們準備好的兩個磁盤變成物理卷,注意我那使用舊的格式化的分區磁盤,可能會出現上面有文件系統或者卷標類型的問題,所以盡量使用新磁盤做實驗。如果出現這種情況,可以使用dd命令來解決問題。
以下命令pvcreate 是把 /dev/sdb1和/dev/sdc變成物理卷
顯示pv信息
pvs:簡要pv信息顯示
pvdisplay
2.創建卷組:使用命令vgcreate ,創建卷組的時候有個單位叫PE(可以理解成是分區時候的塊大小),-s 16M就是在指定PE大小。
顯示卷組
vgs
pvdisplay 可以看到每個磁盤分多少個PE,記得區別開這個是查物理卷信息的指令啊,在這里使用只是讓我們看下PE數量,實際想要查看卷組的具體信息還是要使用vgdisplay 查看
vgdisplay 查看卷組上分配多少個PE,主要這個命令是來查看卷組信息的
3.創建邏輯卷使用命令lvcreate ,注意這里-l是使用PE為單位,1000就相當于創建1000個邏輯卷單位,那就是16M*1000=16000M/1024=15.62G的樣子吧,其實還可以使用-L指定創建多大的空間(-L 20G,就可以理解創建一個20G的),還有一種方式是 -l +1000(就是在原有邏輯卷空間上再增加1000PE),-L +20G (就是在原有邏輯卷空間上再增加20G)。
4.開始執行格式化就可以了
5.格式化完成后就是掛載了
這個時候你可以使用df -h(人類易于識別方式顯示,理解成自動單位轉化就可以了) 看看你剛剛掛載的邏輯卷,就是你剛剛創建的那個16G左右。
到這步如果想以后開機使用這個邏輯卷,記得要去/etc/fstab里面寫配置文件。
到以上步驟就實現了一個邏輯卷的創建過程。
下面來實現一個邏輯卷的擴展:前提是我們卷組里面有可用的PE來提供給我們擴展
擴展邏輯卷的命令是vextend -L 100G(擴到100G,如果使用+100G是原有基礎上加100G,本來是16G,使用加擴完后是116G,不使用加的話擴完后只是擴到100G這兩個概念注意區別。)
下面例子里面有個LE單位跟我們物理卷里面遇到的PE是一個概念,只是一個是在物理卷的名字,一個是在邏輯卷里面的名字。
此時df查看磁盤空間還沒有同步,就是我們之前講的文件系統影響到的問題,在這里再次使用命令resize2fs ,在掛載的情況下直接去同步我們文件系統就好,這種方式很可靠,在掛載情況下重新格式化,并不會導致原有邏輯卷數據丟失。
一次把卷組里面全部空間全部擴到邏輯卷的例子:這里需要寫+100%,直接寫100%無效。
注意一個小問題:
resize2fs 這個命令至針對ext系列的文件系統
xfs文件系統用下面這個命令來擴展就好了
下面一個問題是卷組被我們使用完,那么我就需要對卷組進行容量擴充了
1.首先給塊新磁盤,把磁盤變成物理卷
2.使用命令vgextend擴展卷組
下一個問題,怎么從一個已經全部PE已經使用了的邏輯卷里面拆下來一個磁盤?
1.首選需要對需要拆下來的磁盤上PE進行搬家:
所存在的卷組里面還有足夠的PE來存放需要搬家的磁盤上面的PE。
2./dev/sdc已經不提供服務,可以將他重我們卷組中移除了
3.這個時候他還是一個物理卷,我需要連物理卷也給他刪了,變成一個普通磁盤。
下一個問題是邏輯卷的縮減
1.縮減沒有辦法在線執行的,所以一定要先取消掛載
2. 縮減文件系統,做之前先還是做下備份,然后系統強制要求我們做一次文件系統的完整性檢查,使用命令e2fsck -f
3.檢查沒有問題可以使用resize2fs 縮減文件系統了。
4.縮減邏輯卷,這里會提醒你可能會導致數據丟失,所以備份的重要性就出來了,生產中數據安全是一切的基礎,所以一定要備份。
5.可以把縮減完后的邏輯卷重新掛載上去使用了,實驗結束
mount /dev/ vg0/lv0 /m nt/lv0
注意:生產中基本上很少出現這種邏輯卷的縮減,一般就是加比較多。
其實我們還有一個比較小的細節可以在邏輯卷的擴展中使用:相當于把邏輯卷擴展個文件系統擴展一步做到位,推薦使用。
lvextend -l +100 %FREE /dev/ vg0/lv0
resize2fs /dev/ vg0/lv0
上面兩步的功能是等同于下面一步的功能。
lvextend -r -L 100 G /dev/vg0/lv0
下一個問題是遷移卷組
1.先給我們需要遷移的卷組還有邏輯卷一個新的卷組名和邏輯卷名:
2.取消掛載
3.卷組改變為不可用的狀態
4.導出卷組
pvscan(等同于pvs) 掃描物理卷 pvdisplay 查看物理卷詳細信息
5.移除硬盤
6.將硬盤插到新機器上面,先需要導入vgimport
7.重新激活,掛載后就可正常使用了。
mount /dev/ newvg0/newlv0 /m nt/newlv0
原創文章,作者:祥健,如若轉載,請注明出處:http://www.www58058.com/74691