一、LVM邏輯卷管理
lvm(Logical Volume Manage,邏輯卷管理)的重點在于可以彈性的調整filesystem的容量,而并非在于數據的存儲效率及安全上面。需要文件的讀寫效能或者是數據的可靠性是RAID所考慮的問題。LVM可以整合多個實體partition在一起,讓這些partitions看起來就像是個磁盤一樣。而且,還可以在未來新增或移除其他的實體partition到這個LVM管理磁盤中。如此一來,整個磁盤空間的使用上,相當的具有彈性。
1、允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小
2、允許在多個物理設備間重新組織文件系統
1)將設備指定為物理卷
2)用一個或者多個物理卷來創建一個卷組
3)物理卷是用固定大小的物理區域(Physical Extent,PE)來定義的
4)在物理卷上創建的邏輯卷,是由物理區域(PE)組成
5)可以在邏輯卷上創建文件系統
二、邏輯卷概述
需要注意: ./boot分區用于存放引導文件,不能基于LVM創建
PV(物理卷)
PV物理卷就是指硬盤的分區或與邏輯上與磁盤分區具有相同功能的設備(如RAID),是基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。
VG(卷組)
LVM卷組類似于非LVM系統中的物理硬盤,其由物理卷組成??梢栽诰斫M上創建一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個物理卷組成。
LV(邏輯卷)
LVM的邏輯卷類似于非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)
如下圖所示:
就是將一些零碎的磁盤分區(PV)合成一個較大的磁盤(VG),然而在根據需要對這個較大的磁盤(VG)進行劃分成不同的小分區(LV),需要注意的是,這些小的分區(LV)是可以動態的擴展與縮小的,這就是LVM–邏輯卷管理
需要注意的是LVM默認使用的是4MB的PE分區,而LVM中的VG最多僅能含有65534個PE,因此默認的LVM的VG會有4M*65534/(1024/G)=256G。我們可以在創建VG的時候通過設定PE的大小來決定VG的大小。
三、LVM更改文件系統的容量
LVM可以彈性的更改LVM的容量
通過交換PE來進行資料的轉換,將原來LV內的PE轉移到其他的設備中以降低LV的容量,或將其他設備中的PE加到LV中以加大容量
VG、PE、LV之間的關系圖
四、LVM管理工具
pv管理工具
顯示pv信息
pvs:簡要pv信息顯示
pvdisplay
創建pv
pvcreate /dev/DEVICE
vg管理工具
顯示卷組
vgs
vgdisplay
創建卷組
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]
管理卷組
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]
刪除卷組
先做pvmove,再做vgremove
lv管理工具
顯示邏輯卷
lvs
Lvdisplay
創建邏輯卷
lvcreate-L #[mMgGtT] -n NAME VolumeGroup
刪除邏輯卷
lvremove/dev/VG_NAME/LV_NAME
重設文件系統大小
fsadm[options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
擴展和縮減邏輯卷
擴展邏輯卷:
# lvextend-L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME
縮減邏輯卷:
# umount/dev/VG_NAME/LV_NAME
# e2fsck -f /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
# lvreduce-L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
# mount
創建邏輯卷實例
創建物理卷
pvcreate /dev/sda3
為卷組分配物理卷
vgcreate vg0 /dev/sda3
從卷組創建邏輯卷
lvcreate -L 256M -n data vg0 mke2fs -j /dev/vg0/data mount /dev/vg0/data /mnt/data
五、LVM應用實例
需求描述 :
公司準備在Internet中搭建郵件服務器(RHEL5系統平臺),面向全國各地的員工及部分VIP客戶提供電子郵箱空間。由于用戶數量眾多,郵件存儲需要大量的空間,考慮到動態擴容的需要,計劃增加兩塊SCSI硬盤并構建LVM邏輯卷(掛載到“/mailbox”目錄下)專門用于存放郵件數據
推薦步驟: PV -> VG -> LV ->格式化,掛載使用文件系統
1、轉化物理卷
使用fdisk命令規劃兩個分區,將類型設置為“8e” ./dev/sdb1、/dev/sdc1
使用pvcreate命令轉換上述分區為物理卷
2. 創建卷組
使用vgcreate命令創建卷組mail_store
包括物理卷:/dec/sdb1、/dev/sdc1
3. 創建邏輯卷
使用lvcreate命令創建邏輯卷 mail
從卷組mail_store上劃出60GB空間
使用mkfs命令創建ext4文件系統
4、為邏輯卷擴容
使用lvextend命令為邏輯卷 mail擴充容量
從卷組 mail_store 上再劃出10GB給邏輯卷mail
使用resize2fs命令更新系統識別的文件系統大小
六、邏輯卷管理器快照
1、快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的準確拷貝
2、對于需要備份或者復制的現有數據集臨時拷貝以及其它操作來說,快照是最合適的選擇。
3、快照只有在它們和原來的邏輯卷不同時才會消耗空間。
1)在生成快照時會分配給它一定的空間,但只有在原來的邏輯卷或者快照有所改變才會使用這些空間
2)當原來的邏輯卷中有所改變時,會將舊的數據復制到快照中。
3)快照中只含有原來的邏輯卷中更改的數據或者自生成快照后的快照中更改的數據
4)建立快照的卷大小只需要原始邏輯卷的15%~20%就夠了。也可以使用lvextend放大快照。
快照就是將當時的系統信息記錄下來,就好像照相一般,若將來有任何數據改動了,則原始數據會被移動到快照區,沒有改動的區域則由快照區和文件系統共享。
由于快照區與原本的LV共用很多PE的區塊,因此快照去與被快照的LV必須要要在同一個VG上!系統恢復的時候的文件數量不能高于快照區的實際容量。
使用LVM快照
為現有邏輯卷創建快照
#lvcreate -l 64 -s -n snap-data -p r /dev/vg0/data
掛載快照
#mkdir -p /mnt/snap #mount -o ro /dev/vg0/snap-data /mnt/snap
刪除快照
#umount /mnt/databackup #lvremove /dev/vg0/databackup
七、小試牛刀
1、創建一個至少有兩個PV組成的大小為20G的名為testvg的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏輯卷testlv;掛載至/users目錄
創建兩個LVM分區
轉化為物理卷
創建卷組,把PE大小改為16MB
創建大小為5G的邏輯卷testlv
格式化LVM邏輯卷
在vim /etc/fstab永久掛載LVM邏輯卷
掛載成功
2、新建用戶archlinux,要求其家目錄為/users/archlinux,而后su切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄
3、擴展testlv至7G,要求archlinux用戶的文件不能丟失
4、收縮testlv至3G,要求archlinux用戶的文件不能丟失
5、對testlv創建快照,并嘗試基于快照備份數據,驗正快照的功能
原創文章,作者:xiaoqing,如若轉載,請注明出處:http://www.www58058.com/42669