Linux 基礎知識 (lvm 邏輯卷管理)
lvm邏輯卷
Linux LVM是linux邏輯卷管理(Logical Volume Manager)的縮寫。他的功能是將固定的物理盤的功能能提供給使用者一個動態的功能。意思就是說以前我們用盤的話,比如這個盤只有300G,那麼建立在這個300G上面的檔案系統最多隻能用到300G,但是有了LVM這個功能後,我們建立檔案系統的盤就不是建立在物理盤上,而是建立在一個叫LV邏輯捲上面,這個卷是一個邏輯概念不是物理盤,空間可能大於一個物理盤,也可能小於一個物理盤。而且這個LV邏輯卷的空間可以擴充套件和縮小,這樣就給上層的檔案系統提供了更好的支援。
lvm的主要功能
從硬碟驅動器中建立物理卷(physical volumes-PV)。
從物理卷中建立卷組(volume groups-VG)。
從卷組中建立邏輯卷(logical volumes-LV),並分派邏輯卷掛載點
其中只有邏輯卷才可以寫資料
pv 處理後的物理分割槽,為物理卷,處於lvm最底層,可以是物理硬碟或者分割槽 ;
vg 物理卷組,建立在pv之上,可以含有一個到多個pv ;
pE 是vg的最小單位 。
一、邏輯卷的建立
步驟:
首先建立mkdir /weixindate
fdisk /dev/vdb 建立分割槽 並且修改分割槽 /dev/vdb5 為LVM
partprobe 同步分割槽列表
重新啟動一個shell,監控命令監控
watch -n 1 'pvs;echo +++;vgs;echo ++++;lvs;echo +++++;df -h /weixindate'
在另外一個shell中測試:
pvcreate /dev/vdb5 建立物理卷
vgcreate weixingroup /dev/vdb5 建立物理卷組
lvcreate -L 50M -n weixindate weixingroup 新建邏輯卷並指定邏輯卷大小
mkfs.xfs /dev/weixingroup/weixindate 邏輯卷同步檔案系統
mount /dev/weixingroup/weixindate /weixindate/掛載
建立完成後監控下的顯示:
二、邏輯卷的拉伸
lvextend -L 80M /dev/weixingroup/weixindate 拉伸裝置
xfs_growfs /dev/weixingroup/weixindate拉伸檔案系統
2.當物理卷不夠時,建立分割槽並且修改分割槽id fdisk /dev/vdb增加新的lvm型別裝置
partprobe同步分割槽表
pvcreate /dev/vdb6 新增物理卷
vgextend weixingroup /dev/vdb6新增物理卷組
lvextend -L 150M /dev/weixingroup/weixindate拉伸裝置
xfs_growfs /dev/weixingroup/weixindate同步拉伸檔案系統
三、邏輯卷的縮減及分割槽的移出
首先df 檢視是否掛載
umount /weixindate/解除安裝
mkfs.ext4 /dev/weixingroup/weixindate修改為ext4格式(因為xfs檔案不支援縮減)
ext4格式下新增邏輯卷大小
mount /dev/weixingroup/weixindate /weixindate/ 掛載
lvextend -L 180M /dev/weixingroup/weixindate增加邏輯卷大小為180M
resize2fs /dev/weixingroup/weixindate 同步檔案系統
減小邏輯卷大小
umount /weixindate/解除安裝
e2fsck -f /dev/weixingroup/weixindate 掃描
resize2fs /dev/weixingroup/weixindate 50M 縮減檔案系統為50M
mount /dev/weixingroup/weixindate /weixindate/ 掛載上進行檢視
lvreduce -L 50M /dev/weixingroup/weixindate 縮減裝置
分割槽的移出
當要移出/dev/vdb5,需要把/dev/vdb5裡的檔案遷移到/dev/vdb6
pvmove /dev/vdb5 /dev/vdb6 將/dev/vdb5裡的檔案遷移到/dev/vdb6
vgreduce weixingroup /dev/vdb5 將/dev/vdb5移出 weixingroup 組
pvremove /dev/vdb5將/dev/vdb5裝置移出
四、lvm邏輯卷的快照(裝置快照reset)
touch /weixindate/weixindate{1..6}首先在母本建立檔案
ls /weixindate/檢視
建立快照 名字weixindate_backup 大小20M 在/dev/weixingroup/weixindate裡拍快照
lvcreate -L 20M -n weixindate_backup -s /dev/weixingroup/weixindate
mount /dev/weixingroup/weixindate_backup /weixindate/解除安裝掉之前的掛載,直接掛載目前快照
cd /weixindate/ 進入該目錄檢視
當不小心刪除/weixindate/目錄下的檔案
umount /weixindate/解除安裝快照
lvremove /dev/weixingroup/weixindate_backup刪除掉快照
lvcreate -L 20M -n weixindate_backup -s /dev/weixingroup/weixindate 重新建立快照
mount /dev/weixingroup/weixindate_backup /weixindate/掛載
ls /weixindate/檢視內容恢復
五、lvm的兩個錯誤
第一個錯誤:
pvs 檢視
pvcreate /dev/vdb5 建立物理卷
vgextend weixingroup /dev/vdb5 建立物理卷組
刪除正在使用的分割槽
執行fdisk /dev/vdb
partprobe
解決辦法:vgreduce --removemissing weixingroup
vgs
第二個錯誤:開機直接掛載
編輯vim /etc/fstab
寫入/dev/weixindate/weixindate /weixindate ext4 defaults 0 0寫錯了
reboot無法正常啟動
輸入密碼 redhat
編輯vim /etc/fstab
編輯檔案修改為/dev/weixingroup/weixindate /weixindate ext4 defaults 0 0
exit 退出 關閉虛擬機器重新開啟並顯示
六、lvm邏輯卷的刪除
lvs檢視
lvremove /dev/weixingroup/weixindate_backup 刪除快照
umount /weixindate/解除安裝
lvremove /dev/weixingroup/weixindate 刪除邏輯卷
vgremove weixingroup 刪除物理卷組
pvremove /dev/vdb5刪除物理卷
fdisk /dev/vdb進入刪除分割槽表內lvm裝置
partprobe 同步分割槽表
七、設定PE
新建lvm分割槽
partprobe 同步分割槽表
pvcreate /dev/vdb5 -ff
pvs檢視
vgcreate vg0 /dev/vdb5 預設PE4M
vgdisplay 檢視
vgremove vg0刪除
vgcreate -s 16m vg0 /dev/vdb5 設定PE 16M
vgremove vg0 刪除
八、設定GPT分割槽方式
清除msdos分割槽所有內容
partprobe 同步分割槽列表
編輯: parted /dev/vdb 寫入mklabel
fdisk -l 檢視
Disk label type: gpt gpt設定成功