lvm邏輯卷的建立
建立的目的:便於資料的處理與儲存,可以在原有儲存環境下進行擴充套件和縮減。
1.lvm邏輯卷的定義
pv 物理卷 被lv命令處理過的物理分割槽
vg 物理卷組 被組裝到一起的物理卷
pe 物理擴充套件 lvm裝置的最小單元,lvm是pe的整數倍
lvm 邏輯卷 直接使用的裝置,可以增大縮減並保持原有資料不變
2.lvm建立
pvcreate /dev/vdb1 將物理硬碟分割槽/dev/vdb1初始化為物理卷
vgcreate vg0 /dev/vdb1 將新建的磁碟分割槽vdb1容量放在vg0物理卷組中
lvcreate -L 20M -n lv0 vg0 給物理卷lv0在vg0物理卷組中先分配20M大小的裝置空間
mkfs.xfs /dev/vg0/lv0 給物理卷lv0格式化成xfs格式,並給物理卷lv0在vg0物理卷組中先分配20M大小的檔案大小空間
mount /dev/vg0/lv0 /mnt 將/dev/vg0/lv0掛載到/mnt下
df -h /mnt 檢視/mnt目錄下的掛載
pvdisplay 檢視詳細資訊
3.lvm拉神(擴容)
lvm支援熱拉伸(即lv0物理卷中記憶體佔用時可以進行擴容)
a.第一種擴容方式.
當vg物理卷組中的剩餘容量充足時
lvextend -L 80M /dev/vg0/lv0 給物理卷lv0在物理卷組vg0中擴充套件80M空間裝置大小
xfs_growfs /dev/vg0/lv0 給物理卷lv0的xfs格式檔案在物理卷組vg0中擴充套件80M空間大小
b.第二種擴容方式.
當vg中剩餘容量不足時,再次建立分割槽並指定標籤為8e(8e即為Linux LVM)
pvcreate /dev/vdb2 將物理硬碟分割槽/dev/vdb2初始化為物理卷
vgextend vg0 /dev/vdb2 拉伸物理卷組,將vdb2物理卷容量放在vg0卷組中
lvextend -L 200M /dev/vg0/lv0 先分配200M的裝置空間
xfs_growfs /dev/vg0/lv0 其次分配給檔案系統
c.針對ext檔案系統的裝置的拉伸和縮減(針對不同的格式檔案不同的擴容方式)
umount /mnt 根據前面的首先卸除掛載在/mnt目錄下
mkfs.ext4 /dev/vg0/lv0 給物理卷lv0格式化成ext4格式
mount /dev/vg0/lv0 /mnt 將/dev/vg0/lv0掛載到/mnt下
a.拉伸
lvextend -L 250M /dev/vg0/lv0 分配250M的裝置空間
resize2fs /dev/vg0/lv0 給lv0物理卷重定義250M空間
b.縮減
umount /dev/vg0/lv0
e2fsck -f /dev/vg0/lv0 檢測裝置並修復
resize2fs /dev/vg0/lv0 100M 給lv0物理卷重定義100M空間
lvreduce -L 100M /dev/vg0/lv0 lv0物理捲縮減100M
mount /dev/vg0/lvo /mnt 將lv0掛載到/mnt下
c.縮減vg
vgreduce vg0 /dev/vdb2 刪除vg0卷組中的物理卷vdb2
vgextend vg0 /dev/vdb2 向vg0卷組中新增物理卷vdb2
資料遷移
pvmove /dev/vdb1 /dev/vdb2 將vdb1中的資料移動到vdb2中,此時vdb1為空
vgreduce vg0 /dev/vdb1 從vdb1物理卷中刪除物理卷組vg0
pvremove /dev/vdb1 刪除物理卷/dev/vdb1
lvm快照
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /mnt
如果擷取資料大於40M,會損壞裝置
dd if=/dev/zero of=/mnt/file bs=1M count=50
會自動解除安裝掉lvo-backup /mnt,再次掛載會報錯
umount /mnt 解除安裝掉
lvremove /dev/vg0/lv0-backup 刪除快照lv0-backup
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 重建快照lv0-backup
再次掛載可以檢視到原裝置的資料