一、 LVM是什么?
LVM利用Linux內核的device-mapper來實現存儲系統的虛擬化(系統分區獨立于底層硬件)。 通過LVM,你可以實現存儲空間的抽象化并在上面建立虛擬分區(virtual partitions),可以更簡便地擴大和縮小分區,可以增刪分區時無需擔心某個硬盤上沒有足夠的連續空間, without getting caught up in the problems of fdisking a disk that is in use (and wondering whether the kernel is using the old or new partition table) and without having to move other partition out of the way. LVM是用來方便管理的,不會提供額外的安全保證。 However, it sits nicely with the other two technologies we are using.
LVM的基本組成塊(building blocks)如下:
1, 物理卷Physical volume (PV):可以在上面建立卷組的媒介,可以是硬盤分區,也可以是硬盤本身或者回環文件(loopback file)。物理卷包括一個特殊的header,其余部分被切割為一塊塊物理區域(physical extents)。 Think of physical volumes as big building blocks which can be used to build your hard drive.
2, 卷組Volume group (VG):將一組物理卷收集為一個管理單元。Group of physical volumes that are used as storage volume (as one disk). They contain logical volumes. Think of volume groups as hard drives.
3, 邏輯卷Logical volume (LV):虛擬分區,由物理區域(physical extents)組成。A "virtual/logical partition" that resides in a volume group and is composed of physical extents. Think of logical volumes as normal partitions.
4, 物理區域Physical extent (PE):硬盤可供指派給邏輯卷的最小單位(通常為4MB)。A small part of a disk (usually 4MB) that can be assigned to a logical Volume. Think of physical extents as parts of disks that can be allocated to any partition.
5, 邏輯區域LE(logical extent):邏輯區域是邏輯卷中可用于分配的最小存儲單元,邏輯區域的大小取決于邏輯卷所在卷組中的物理區域的大小。
二、優點
比起正常的硬盤分區管理,LVM更富于彈性:
1),使用卷組(VG),使眾多硬盤空間看起來像一個大硬盤。
2),使用邏輯卷(LV),可以創建跨越眾多硬盤空間的分區。
3),可以創建小的邏輯卷(LV),在空間不足時再動態調整它的大小。
4), 在調整邏輯卷(LV)大小時可以不用考慮邏輯卷在硬盤上的位置,不用擔心沒有可用的連續空間。
5), 可以在線(online)對邏輯卷(LV)和卷組(VG)進行創建、刪除、調整大小等操作。LVM上的文件系統也需要重新調整大小,某些文件系統也支持這樣的在線操作。
6), 無需重新啟動服務,就可以將服務中用到的邏輯卷(LV)在線(online)/動態(live)遷移至別的硬盤上。
7), 允許創建快照,可以保存文件系統的備份,同時使服務的下線時間(downtime)降低到最小。
三、創建分區(dev/sda#)
~]# fdisk /dev/sda ;創建3個分區,并調為linux lvm,保存退出,加載到內核中(命令多執行兩次^_^)
四、創建物理卷(PV)(可以創建在磁盤上,分區上,RAID上…)
pvcreate:創建物理卷,pvmove:移動物理卷上的數據到另一個物理卷上,以方便拆物理卷(磁盤)
pvs,psdisplay:顯示物理卷信息;pvremove;移除物理卷,pvscan:掃描;pvck:檢測
一般命名規則:/dev/VG_NAME-LV_NAME
~]# pvcreate -v /dev/sda{13,14,15} ; -v表示顯示過程
~]# pvremove DEVICE ;直接刪除指定物理卷
五、創建卷組(VG)
Vgcreate:創建;vgsplit:切割;vgreduce:縮減;vgextend:擴展;vgremove:移除;vgdisplay:顯示
vgcreate [-s|–physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE]](指定PE大小) VolumeGroupName (邏輯卷名) PhysicalDevicePath(指定物理卷)
~]# vgcreate -s 8M smile_vg /dev/sda13 ; 指定PE為8M(默認是4M)(只要創建,就不能在上層改變) ,命名邏輯卷smile_vg
六、擴增卷組容量
擴展VG容量:指定卷組和需要加入進來的pv卷,PE大小創建時候已經指定了
~]# vgextend smile_vg /dev/sda14 ;擴展VG的容量,就是把物理卷加入進來
七、縮小卷組容量
1,先pvmove移動數據到其它物理卷中,以免數據丟失(就是備份數據)
~]#pvmove [-n|–name LogicalVolume] [SourcePhysi-calVolume[:PE[-PE]…]
[DestinationPhysicalVolume[:PE[-PE]…]…]]
~]# pvmove -n smile_vg /dev/sda14 /dev/sda13 ;(如果數據多,需要時間
2,再從卷組(smile_vg)中移除物理卷(/dev/sda14)
~]#vgreduce smile_vg /dev/sda14; 移除pv物理卷
八、創建邏輯卷(LV)
Lvdispaly:顯示信息,lvcreate 創建;
-L:指定大小,-l:指定分幾個
Lvcreate -L #[mMgGtT] -n NAME VolumeGroup [PhysicalVolumePath](還可以指定PV卷)
~]# lvcreate -L 2G -n lv_users smile_vg ; 創建一個2G的邏輯卷
九、建立文件系統并掛載到到系統上
~]# mke2fs -t ext4 -b 1024 -L MYDATA /dev/smile_vg/my_users ; 建立文件系統
~]# mkdir /mydata
~]# mount /dev/smile_vg/my_users /mydata
十、擴展邏輯卷
~]#lvextend -L +2G /dev/mapper/smile_vg-my_users ;,+號表示增加,不用就表示擴展到多大
~]# resize2fs /dev/smile_vg/my_users ; 改變原有的文件系統識別到的大小到擴展后的大小;這里重新掛載是解決不了問題的
十一、縮減邏輯卷
1),先縮減文件系統大小,這是保障做法
a, ~]# umount /dev/smile_vg/my_users ;卸載文件系統
b, ~]#e2fsck -f /dev/smile_vg/my_users ; 強制修復文件系統
c, ~# resize2fs /dev/smile_vg/my_users #[mMgGtT] 縮減至多大(邏輯縮減),
注意:縮減后的大小至少能容納當前的數據,否則數據丟失
d, ~]# lvreduce -L [-]2[mMgGtT] /dev/smile_vg/my_users ; 物理縮減咯,這次才是真正縮減,
e, ~]#mount /dev/smile_vg/my_users /mydata ;重新掛載,檢測數據是否有丟失
f, ~]#df -h;查看是否縮減
十二、快照功能snapshot
LVM可以給系統創建一個快照,由于使用了寫入時復制(copy-on-write) 策略,相比傳統的備份更有效率。 初始的快照只有關聯到實際數據的inode的實體鏈接(hark-link)而已。只要實際的數據沒有改變,快照就只會包含指向數據的inode的指針,而非數據本身。一旦你更改了快照對應的文件或目錄,LVM就會自動拷貝相應的數據,包括快照所對應的舊數據的拷貝和你當前系統所對應的新數據的拷貝。這樣的話,只要你修改的數據(包括原始的和快照的)不超過2G,你就可以只使用2G的空間對一個有35G數據的系統創建快照。
特性:
1), 一般為只讀權限(-p)
2), 快照卷和原卷肯定在同一個卷組上
3), 創建的快照就像一個硬鏈接,但是改變原文件,不影響快照卷的映射的文件,因為一旦原件文件改變,快照卷就備份出來了。
~]# lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name
~]# umount /dev/smile_vg/snap_smile ;卸載這個快照卷
~]# lvremove /dev/smile_vg/snap_smile; 刪除這個快照卷
原創文章,作者:不忘初衷,如若轉載,請注明出處:http://www.www58058.com/65996
非常的好,請繼續保持~~~加油?。?/p>