邏輯卷管理 (LVM)
允許對卷進行方便操作的抽象層,包括從新設定文件系統的大小
允許在多個設備間重新組織文件系統
將設備指定為物理卷
用一個或者多個物理卷來創建一個卷組
物理卷是用固定大小的物理區域(Physical
Extent PE) 來定義的
在物理卷上創建的邏輯卷是由物理區域(PE)組成
可以在邏輯卷上創建文件系統
下面看圖解
LVM:
Logical Volume Manager, Version: 2
dm: device
mapper:將一個或多個底層塊設備組織成一個邏輯設備的模塊
設備名:/dev/dm-#
軟鏈接:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
LVM可以彈性的更改LVM的容量
通過交換PE來進行資料的轉換,將原來LV內的PE轉移到其他的設備中以降低LV的容量,或將其他設備中的PE加到LV中以加大容量
下面看圖解
pv(物理卷)管理工具
顯示pv信息:
pvs 簡要pv信息顯示
pvdisplay
顯示目前系統上面的PV狀態
創建pv與PV相關的一些管理命令有:
pvcreate /etc/設備 將實體設備創建成為PV
主要創建PV命令
pvscan 搜尋目前系統里面任何具有PV的磁碟
刪除pv:
vremove 將PV屬性移除,讓該設備不具有PV屬性
1 用fdisk
配置新的具有 8e 系統ID 的分區
# fdisk /dev/sdb
n 新建分區
p
顯示磁盤分區表
l 列表出所的系統ID號
t 修改分區系統的ID
8e 系統ID
w 保存并退出
2 利用pvcreate 創建 PV
[root@Compro ~]# pvcreate
/dev/sde{1,2}
Physical volume "/dev/sde1" successfully
created
Physical volume "/dev/sde2" successfully created
vg(卷組)管理工具
顯示vg信息:
vgs
vgdisplay 顯示目前系統上面的VG狀態
創建vg與vg相關的一些管理命令有:
vgcreate 就是主要創建VG的命令
vgscan 查找系統上是否有VG存在
vgchange
配置VG是否啟動(active活躍的)
vgremove 刪除一個VG
創建vg:
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName
PhysicalDevicePath [PhysicalDevicePath…]
[root@Compro ~]# vgcreate
-s 10M makangbo /dev/sde{1,2}
Volume group "makangbo" successfully
created
管理vg:
vgextend 在VG內添加額外的PV
[root@Compro ~]# vgextend makangbo /dev/sde1
vgrduce
在VG內移除PV
[root@Compro ~]# vgreduce makangbo /dev/sde1
Removed "/dev/sde1" from volume group "makangbo"
刪除vg:
先做pvmove,再做vgremove
lv(邏輯卷)管理工具
顯示lv信息:lvs
lvdisplay 顯示系統上面LV
創建LV
與LV相關的一些管理命令有:
lvscan 查詢系統上面LV
lvextend
在LV里面添加容量
lvresize 對LV進行容量大小的調整
創建LV:
lvcreate-L #[mMgGtT] -n NAME VolumeGroup 主要創建LV命令
lvcreate
-L 10G -n xiaomaglv xiaomagvg
刪除邏輯卷:
vremove/dev/VG_NAME/LV_NAME
重設文件系統大?。?br />fsadm[options] resize device
[new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
文件系統階段:
要想真正的使用lvm就必須對lv進行格式化掛載
1 mkfs -t ext3
/dec/xiaomagvg/xiaomaglv
2 mkdir /mnt/lvm
3 mount
/dev/xiaomagvg/xiaomaglv /mnt/lvm
擴展和縮減邏輯卷
擴展LV:
#ddisk
/dev/sdb fdisk配置新的具有8e 文件系統ID的分區
# pvcreate
/dev/sde{1,2} 利用pvcreate創建出來PV
# vgcreate -s 10M
makangbo /dev/sde{1,2} 利用vgextend 將 PV加入我門的xiaomagvg
# lvresize
#[mMgGtT] /dev/xiaomagvg/xiaomaglv 利用lvresize 將新加入的PV內的PE加入xiaomaglv中
#
resize2fs #[mMgGtT] /dev/xiaomagvg/xiaomaglv 透過resize2fs 將文件系統的容量確實添加。
xfs_growfs /mnt/mylv/ xfs系列 只能擴展 不能縮減
lvextend -r -l
+100%FREE /dev/vg0/mylv 一步到位
縮減LV:
建議先備份
# umount
/dev/xiaomagvg/xiaomaglv 先卸載已經掛載的LV
# e2fsck -f
/dev/xiaomagvg/xiaomaglv 強制進行磁盤檢測
# resize2fs #[mMgGtT]
/dev/xiaomagvg/xiaomaglv 重新設定文件系統大小
# lvreduce -L [-]#[mMgGtT]
/dev/xiaomagvg/xiaomaglv 在LV里面減少容量
# mount /dev/xiaomagvg/xiaomaglv /mnt/lvm
邏輯卷管理器快照
快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的準確拷貝
對于需要備份或者賦值的現有數據集臨時拷貝以及其它操作來說,快照是最合適的選擇。
快照只有在它們和原來的邏輯卷不同時才會消耗空間。
在生成快照是會分配個它一定的空間,但只有在原來的邏輯卷或者快照有所改變才會使用這些空間
當原來的邏輯卷中有所改變時,會將舊的數據復制到快照中。
快照中只含有原來的邏輯卷中更改的數據或者自生成快照后的快照中更改的數據
建立快照的卷大小只需要原始邏輯卷的15%~20%就足夠了,也可以使用lvextend 擴大快照
快照就是將當時的系統信息記錄下來,若將來有任何數據改動了,則原始數據會被移動到快照區
沒有改動的區域則有快照區和文件系統共享。
由于快照區與原本的LV共用很多PE的區塊,因此快照去與被快照的LV必須要在同一個VG上,系統恢復的時候的文件數量不能高于快照區的實際容量
使用LVM快照
lvcreate – l 64 -s -n name -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
[root@Compro ~]# pvcreate
/dev/sdf{1,2}
創建VGtestvg添加PV,要求PE大小為16M
[root@Compro ~]# vgcreate -s
16M testvg /dev/sdf{1,2}
在VG中創建大小為5G的LV testlv
[root@Compro ~]#
lvcreate -L 5G -n testlv testvg
使用lvmh就必須對lv進行格式化掛載
[root@Compro ~]#
mkfs -t ext3 /dev/testvg/testlv
創建掛載點和掛載
[root@Compro ~]# mkdir
/mnt/users
[root@Compro ~]# mount /dev/testvg/testlv
/mnt/users
2 新建用戶archlinux 要求其家目錄為/users
[root@Compro ~]#
useradd archlinux -d /home/users
而后用su
切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄
[archlinux@Compro ~]$ cp /etc/pam.d/*
./
3上面testlv創建的是 5G 現在要求擴展到7G
[root@Compro ~]# lvextend -L 7G
/dev/testvg/testlv
4 縮減testlv至3G的大小
[root@Compro ~]# lvreduce -L 3G
/dev/testvg/testlv
5 對testlv
創建快照,并嘗試基于快照備份數據,驗證快照的功能
[root@Compro ~]# lvcreate -L 3G -s -n kuaizhaoname
/dev/testvg/testlv
顯示信息
[root@Compro ~]#
lvdisplay
創建快照目錄
[root@Compro ~]# mkdir
/mnt/snapshotdir
掛載
[root@Compro ~]# mount /dev/testvg/kuaizhaoname
/mnt/snapshotdir
利用快照恢復數據
注意:回復的數據不能超過快照區的總大小,因為如果變動的數據大小超過了快照區的空間,那么快照去是不能容納所有變得的數據了,這個時候快照功能會失效
1 現在原來的lv中寫入一些數據, 然后通過lvm的快照功能來恢復之前的操作 原先快照的數據
[root@Compro ~]# cp -R
/etc /mnt/testlv
創建一數據恢復的臨時目錄
[root@Compro ~]# mkdir -pv
/tmp/backup
然后cd到快照掛載點
[root@Compro ~]# cd
/mnt/kuaizhaoname/
將快照里數據打包壓縮
[root@Compro kuaizhaoname]# tar -zcf
/tmp/bbackup/testlv.tar.gz *
卸載快照NAME 并且移除,因為里面的內容已經備份出來了
[root@Compro
~]# umount /mnt/kuaizhaoname
[root@Compro ~]# lvremove /dev/testvg/kuaizhao
原創文章,作者:小馬哥,如若轉載,請注明出處:http://www.www58058.com/42768