什麼是lvm?
LVM是Logical Volume Manager(邏輯卷管理)的簡寫,它將一個或多個硬盤的分區在邏輯上集合,相當於一個大硬盤來使用,當硬盤的空間不夠使用的時候,可以繼續將其它的硬盤的分區加入其中,支持擴展或縮減空間。與傳統的磁盤與分區相比,LVM爲計算機提供了更高層次的磁盤存儲。
LVM由三層組成:底層PV,中間VG,上層LV,關係圖如下所示:
LVM:邏輯卷,可以讓設備自由伸縮的一個設備管理軟件
PV:底層的物理卷,如硬盤,分區或者RAID等
VG:物理卷組,是PV的組合,可以將它理解爲一個倉庫或者是幾個大的硬盤
PE:物理拓展,lvm最小的存儲單元
LV:邏輯卷,是最終我們使用的可以伸縮的設備
創建LVM
**第一步**
fdisk /dev/vdb命令新建分區,Command (m for help):命令下選t,指定設備的功能id爲linux LVM
**第二步**
開啓一個監控窗口,實時查看物理卷、物理卷組、邏輯卷設備、/mnt目錄下的設備掛載情況
watch -n 1 'pvs;echo ===============;vgs;echo ===============;lvs;echo ===============;df -h /mnt'
**第三步**
pvcreate /dev/vdb1 ##把物理分區做成物理卷
vgcreate vg0 /dev/vdb1 ##用製作好的/dev/vdb1這個物理卷製作一個物理卷組vg0
lvcreate -L 200M -n lv0 vg0 ##在vg0這個組中建立出lv0設備,-L指定設備大小,-n指定設備名稱
**第四步**
mkfs.xfs /dev/vg0/lv0 ##格式化lv0設備
mount /dev/vg0/lv0 /mnt/ ##掛載至/mnt/目錄下
至此,查看監控效果,如下圖所示。
相關設備的屬性
擴容LVM(xfs文件系統)
注:此文件系統只能擴大,不能縮減
**第一步**
lvextend —L 90M /dev/vg0/lv0 ##擴大lvm設備到90M
xfs_growfs /dev/vg0/lv0 ##擴大xfs文件系統到設備大小
**第二步**
fdisk /dev/vdb命令新建分區,大小200M,指定設備的功能id爲linux LVM,partprobe命令同步分區表
**第三步**
pvcreate /dev/vdb2 ##在pv中增加一塊設備/dev/vdb2
vgextend vg0 /dev/vdb2 ##把新建立的/dev/vdb2添加到vg0中
lvextend —L 150M /dev/vg0/lv0 ##擴大lvm設備到150M
xfs_growfs /dev/vg0/lv0 ##擴大xfs文件系統到設備大小
再次查看監控效果
擴容LVM(ext文件系統)
注:此文件系統既可以擴大,也可以縮減
**擴容**
umount /mnt/ ##取消掛載
mkfs.ext4 /dev/vg0/lv0 ##重新格式化lv0設備
mount /dev/vg0/lv0 /mnt/
lvextend -L 200M /dev/vg0/lv0 ##擴大lvm設備到2G
resize2fs /dev/vg0/lv0 ##設定文件系統大小和設備同步
**縮減**
umount /dev/vg0/lv0 ##卸載設備,文件系統的縮減不支持在線操作
e2fsck -f /dev/vg0/lv0 ##檢測文件系統,確定文件系統中已有數據大小防止過度縮減
resize2fs /dev/vg0/lv0 150M ##把文件系統縮減到150M
lvreduce -L 150M /dev/vg0/lv0 ##設備縮減到150M
pvmove /dev/vdb1 /dev/vdb2 ##把設備1上的所有數據移動到設備2上
vgreduce vg0 /dev/vdb1 ##把vg0中的/dev/vdb1刪除
pvremove /dev/vdb1 ##把/dev/vdb1上的lvm管理信息刪除
再次查看監控效果
製作快照
lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0
##給/dev/vg0/lv0建立快照,-L 指定快照大小,-n指定快照名字 -s指定快照模板設備
mount /dev/vg0/lv0-backup /userdate
##掛載快照
注:當快照設備裏的數據被更改,如果想還原,刪除快照設備,在重新建立快照即可