1. 程式人生 > >Linux 基礎知識 (lvm 邏輯卷管理)

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設定成功