使用 LVM 添加存儲(chǔ)
LVM 為你配置存儲(chǔ)的方式提供了極大的靈活性。
邏輯卷管理器(LVM)允許在操作系統(tǒng)和硬件之間建立一個(gè)抽象層。通常,你的操作系統(tǒng)會(huì)查找磁盤(pán)(/dev/sda、/dev/sdb 等)和這些磁盤(pán)中的分區(qū)(/dev/sda1、/dev/sdb1 等)。
LVM 在操作系統(tǒng)和磁盤(pán)之間創(chuàng)建了一個(gè)虛擬層。LVM 不是一個(gè)驅(qū)動(dòng)器持有一定數(shù)量的分區(qū),而是創(chuàng)建一個(gè)統(tǒng)一的存儲(chǔ)池(稱(chēng)為卷組),跨越任意數(shù)量的物理驅(qū)動(dòng)器(稱(chēng)為物理卷)。使用卷組中可用的存儲(chǔ),LVM 可以為你的操作系統(tǒng)提供類(lèi)似磁盤(pán)和分區(qū)的功能。
操作系統(tǒng)完全沒(méi)有意識(shí)到它被“欺騙”了。
Drive space
由于 LVM 虛擬地創(chuàng)建卷組和邏輯卷,因此即使在系統(tǒng)運(yùn)行時(shí),也可以輕松調(diào)整它們的大小或移動(dòng)它們,或者創(chuàng)建新卷。此外,LVM 提供了其它情況下不存在的特性,比如創(chuàng)建邏輯卷的活動(dòng)快照時(shí)無(wú)需首先卸載磁盤(pán)。
LVM 中的卷組是一個(gè)命名的虛擬容器,將底層物理磁盤(pán)組合在一起。它充當(dāng)一個(gè)池,可以從中創(chuàng)建不同大小的邏輯卷。邏輯卷包含實(shí)際的文件系統(tǒng)并且可以跨越多個(gè)磁盤(pán),并且不需要物理上連續(xù)。
特性
- 分區(qū)名稱(chēng)通常具有系統(tǒng)名稱(chēng),例如 
/dev/sda1。LVM 具有便于人們理解的名稱(chēng),例如home或者media。 - 分區(qū)的總大小受底層物理磁盤(pán)大小的限制。在 LVM 中,卷可以跨越多個(gè)磁盤(pán),并且僅受 LVM 中所有物理磁盤(pán)總大小的限制。
 - 分區(qū)通常只有在磁盤(pán)未使用且已卸載時(shí)才能調(diào)整大小、移動(dòng)或刪除。LVM 卷可以在系統(tǒng)運(yùn)行時(shí)進(jìn)行操作。
 - 只能通過(guò)分配與分區(qū)相鄰的可用空間來(lái)擴(kuò)展分區(qū)。LVM 卷可以從任何地方占用可用空間。
 - 擴(kuò)展分區(qū)涉及移動(dòng)數(shù)據(jù)以騰出可用空間,這非常耗時(shí),并且可能會(huì)在斷電期間導(dǎo)致數(shù)據(jù)丟失。LVM 卷可以從卷組中的任何地方占用可用空間,甚至可以在另一塊磁盤(pán)上。
 - 因?yàn)樵?LVM 中創(chuàng)建卷非常容易,所以它鼓勵(lì)創(chuàng)建不同的卷,例如創(chuàng)建單獨(dú)的卷來(lái)測(cè)試功能或嘗試不同的操作系統(tǒng)。對(duì)于分區(qū),此過(guò)程將非常耗時(shí)并且容易出錯(cuò)。
 - 快照只能在 LVM 中創(chuàng)建。它允許你創(chuàng)建當(dāng)前邏輯卷的時(shí)間點(diǎn)鏡像,即使在系統(tǒng)運(yùn)行時(shí)也可以。這非常適合備份。
 
測(cè)試設(shè)置
作為演示,假設(shè)你的系統(tǒng)具有以下驅(qū)動(dòng)器配置:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda 202:0 0 8G 0 disk`-xvda1 202:1 0 8G 0 part /xvdb 202:16 0 1G 0 diskxvdc 202:32 0 1G 0 diskxvdd 202:48 0 2G 0 diskxvde 202:64 0 5G 0 diskxvdf 202:80 0 8G 0 disk
步驟 1. 初始化磁盤(pán)以用于 LVM
運(yùn)行 pvcreate /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf。輸出應(yīng)如下:
Physical volume "/dev/xvdb" successfully createdPhysical volume "/dev/xvdc" successfully createdPhysical volume "/dev/xvdd" successfully createdPhysical volume "/dev/xvde" successfully createdPhysical volume "/dev/xvdf" successfully created
使用 pvs 或者 pvdisplay 查看結(jié)果:
"/dev/xvde" is a new physical volume of "5.00 GiB"--- NEW Physical volume ---PV Name /dev/xvdeVG NamePV Size 5.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UUID 728JtI-ffZD-h2dZ-JKnV-8IOf-YKdS-8srJtn"/dev/xvdb" is a new physical volume of "1.00 GiB"--- NEW Physical volume ---PV Name /dev/xvdbVG NamePV Size 1.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UUID zk1phS-7uXc-PjBP-5Pv9-dtAV-zKe6-8OCRkZ"/dev/xvdd" is a new physical volume of "2.00 GiB"--- NEW Physical volume ---PV Name /dev/xvddVG NamePV Size 2.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UUID R0I139-Ipca-KFra-2IZX-o9xJ-IW49-T22fPc"/dev/xvdc" is a new physical volume of "1.00 GiB"--- NEW Physical volume ---PV Name /dev/xvdcVG NamePV Size 1.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UUID FDzcVS-sq22-2b13-cYRj-dXHf-QLjS-22Meae"/dev/xvdf" is a new physical volume of "8.00 GiB"--- NEW Physical volume ---PV Name /dev/xvdfVG NamePV Size 8.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UUID TRVSH9-Bo5D-JHHb-g0NX-8IoS-GG6T-YV4d0p
步驟 2. 創(chuàng)建卷組
運(yùn)行 vgcreate myvg /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf。通過(guò) vgs 或者 vgdisplay 查看結(jié)果:
--- Volume group ---VG Name myvgSystem IDFormat lvm2Metadata Areas 5Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 5Act PV 5VG Size 16.98 GiBPE Size 4.00 MiBTotal PE 4347Alloc PE / Size 0 / 0Free PE / Size 4347 / 16.98 GiBVG UUID ewrrWp-Tonj-LeFa-4Ogi-BIJJ-vztN-yrepkh
步驟 3: 創(chuàng)建邏輯卷
運(yùn)行以下命令:
lvcreate myvg --name media --size 4Glvcreate myvg --name home --size 4G
使用 lvs 或者 lvdisplay 驗(yàn)證結(jié)果:
--- Logical volume ---LV Path /dev/myvg/mediaLV Name mediaVG Name myvgLV UUID LOBga3-pUNX-ZnxM-GliZ-mABH-xsdF-3VBXFTLV Write Access read/writeLV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:15 +0000LV Status available# open 0LV Size 4.00 GiBCurrent LE 1024Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 252:0--- Logical volume ---LV Path /dev/myvg/homeLV Name homeVG Name myvgLV UUID Hc06sl-vtss-DuS0-jfqj-oNce-qKf6-e5qHhKLV Write Access read/writeLV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:40 +0000LV Status available# open 0LV Size 4.00 GiBCurrent LE 1024Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 252:1
步驟 4: 創(chuàng)建文件系統(tǒng)
使用以下命令創(chuàng)建文件系統(tǒng):
vgcreate myvg /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdfmkfs.ext3 /dev/myvg/mediamkfs.ext3 /dev/myvg/home
掛載它:
mount /dev/myvg/media /mediamount /dev/myvg/home /home
使用 lsblk 命令查看完整配置:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda 202:0 0 8G 0 disk`-xvda1 202:1 0 8G 0 part /xvdb 202:16 0 1G 0 diskxvdc 202:32 0 1G 0 diskxvdd 202:48 0 2G 0 diskxvde 202:64 0 5G 0 disk`-myvg-media 252:0 0 4G 0 lvm /mediaxvdf 202:80 0 8G 0 disk`-myvg-home 252:1 0 4G 0 lvm /home
步驟 5: 擴(kuò)展 LVM
添加一塊新的 /dev/xvdg 磁盤(pán)。要擴(kuò)展 home 卷,運(yùn)行以下命令:
pvcreate /dev/xvdgvgextend myvg /dev/xvdglvextend -l 100%FREE /dev/myvg/homeresize2fs /dev/myvg/home
運(yùn)行 df -h,你應(yīng)該可以看到新的磁盤(pán)大小。
就是這樣!
LVM 為你配置存儲(chǔ)的方式提供了極大的靈活性。嘗試一下,并享受 LVM 的樂(lè)趣!
















 
 
 








 
 
 
 