前言:
LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,Linux用戶安裝Linux操作系統時遇到的一個常見的難以決定的問題就是如何正確地評估各分區大小,以分配合適的硬盤空間。普通的磁盤分區管理方式在邏輯分區劃分好之后就無法改變其大小,當一個邏輯分區存放不下某個文件時,這個文件因為受上層文件系統的限制,也不能跨越多個分區來存放,所以也不能同時放到別的磁盤上。而遇到出現某個分區空間耗盡時,解決的方法通常是使用符號鏈接,或者使用調整分區大小的工具,但這只是暫時解決辦法,沒有從根本上解決問題。隨著Linux的邏輯卷管理功能的出現,這些問題都迎刃而解,用戶在無需停機的情況下可以方便地調整各個分區大小。
實驗一:邏輯卷的實現
準備工作,準備磁盤,指定類型 (8e)
1. pvcreate /dev/sda{2,3,4}
2. vgcreate vg0 /dev/sda{2,3,4}
3. lvcreate -n lv0 -L 50%vg vg0 (vg代替整個卷組 vg0代表的是從哪個卷組名字)
4. mkfs.ext4 /dev/vg0/lv0 (對邏輯卷創建文件系統,不是對整個磁盤)
5. 開機自動掛載,配置/etc/fstab文件
6. mount -a
實驗二:邏輯卷的擴展
準備工作,準備磁盤,指定類型 (8e)
1. pvcreate /dev/sda5
2. vgextend vg0 /dev/sda5 (先后順序: 先vg 再增加的設備)
-s 指定PE的大小
3. lvextend -L +2G /dev/vg0/lv0 (增加之后并不會立即增加容量,要做下面工作)
4. xfs_growfs /mnt/lvo (同步文件系統,后面跟的是掛載點,xfs系統只能增加不減少)
resize2fs /dev/vg0/lv0 10G (10跟增加后的容量要一樣, 原來的容量+增加的容量 并且同步ext4文件系統)
注:如果指定超過容量系統無法識別
格式必須為:resize2fs 邏輯卷 容量大小
如果第3步增加的是2G,但在第4步只指定增加了1G,會成功,增加了1G,
但還有剩下的1G再去重新指定,就無法指定了(在指定容量一定要注意,實際到底多少容量)
注:或者3,4合并為一步
lvextend -r -L +500M /dev/vg0/lv1 — > 自動同步文件系統
注:前提–>在使用-r的時候,該設備lv1必須有文件系統和掛載上電腦上.否則無法執行
-r 是自動同步文件系統
實驗三:縮減邏輯卷
注:縮減必須先取消掛載,也有風險,里面存有數據(一定要先備份)
1. umount /mnt/lv1
2. resize2fs /dev/vg0/lv1 2G (縮減到2G的容量)
注:在縮減的時候系統會提醒你 檢查文件系統 –> 必須要檢查的 e2fsck -f
再執行上面的命令即可 (用lvs查看的時候,容量并沒有減少。)
3. e2fsck -f /dev/vg0/lv1
4. lvreduce -L 2G /dev/vg0/lv1 (這才是真正的減少)
注:該操作具有危險性,可能對已有的數據產生破壞,會讓用戶確認
5. 重新掛載
實驗四:遷移邏輯卷
- umount /mnt/lv0
- vgrename vg0 newvg0
- lvrename /dev/newvg0/lv0 newlv0
注:上面2,3是為了防止在其它設備上出現相同名字的設備,所以進行改名操作 - vgchange -an newvg0
注:把newvg0設置為禁用狀態 a:all n:no - vgexport newvg0
注:導出 newvg0 (卷組) - 拆除硬盤, 關機 關機
插入目標主機中 - pvscan
掃描 - vgimport newvg0
導入 - vgchange -ay newvg0
啟用 - mkdir /mnt/newlv0
創建掛載點 - mount /dev/newvg0/newlv0 /mnt/newlv0
掛載
實驗五:從邏輯卷中刪除正在使用的物理分區
刪除邏輯卷 lvremove /dev/VG_NAME/LV_NAME
1. vgdisplay pvdisplay
2. pvmove /dev/sda1 (想要拔掉卷組中的某個設備)
注:移動所占用的空間到相同卷組中的設備上去
移動的是空間,并不是當中的數據
注:如果里面是空的,并沒有分配空間,是空的,可以直接刪除
3. vgreduce vg0 /dev/sda5
從vg0組中移除
注:vgreduce 移除單個
vgreduce vg0 /dev/sda5 –>單單移除vg0中的/dev/sda5
vgremove 移除相關組的全部
vgreduce vg0 /dev/sda5 –>在相同vg0組的全部移除
4. pvremove /dev/sda5
移除物理卷
實驗六:為邏輯卷創建快照
為現有邏輯卷創建快照
lvcreate -L 512M -s -n snap-data -p r /dev/vg0/data (對哪個設備做快照)
-s 快照
-p r 設備只讀屬性
-L 指定其大小
-n 名字
掛載快照
mkdir -p /mnt/snap
mount -o ro /dev/vg0/snap-data /mnt/snap (無法進行修改,上面的已經確定了快照的狀態)
注:掛載快照,工作同步 –> 寫時復制
恢復快照
umount /dev/vg0/snap-data
umount /dev/vg0/data
lvconvert –merge /dev/vg0/snap-data
–merge 合并
注:恢復快照之后快照的文件自動刪除(一次性的,恢復之后快照自動刪除)
恢復的時候,必須全都在非掛載的狀態下,恢復
刪除快照
umount /mnt/databackup
lvremove /dev/vg0/databackup
快照 — lv — vg — pv 從上往下刪除
原創文章,作者:_xddggg,如若轉載,請注明出處:http://www.www58058.com/84670