1.邏輯卷的原理
1.1 lvm 定義
物理分割槽或磁碟是 lvm 的第一構建塊。這些可以是分割槽、完整磁碟、 raid 集或 san 磁碟。
物理卷是 lvm 所使用的基礎 「物理 」儲存。這通常是塊裝置, 例如分割槽或完整磁碟。裝置必須初始化為 lvm 物理卷 , 才能與 lvm 結合使用。
捲組是儲存池 , 由乙個或多個物理卷組成。
物理區塊是物理卷中儲存的小型資料區塊 , 用作 lvm 儲存的
後端。邏輯區塊對映到物理區塊 , 構成 lvm 儲存的前端。預設情況下 , 每個邏輯區塊對映到乙個物理區塊。啟用某些選項將更改此對映。例如 , 映象會導致每個邏輯區塊對映到兩個物理區塊。
邏輯卷是邏輯區塊組。邏輯卷可以像硬碟驅動器分割槽一樣使用。
1.2 為什麼使用邏輯卷
邏輯卷和邏輯卷管理有助於更加輕鬆地管理磁碟空間。如果檔案系統需要更多的空間 , 可以將其卷組的可用空間分配給邏輯卷 ,並且可以調整檔案系統的大小。如果磁碟開始出現錯誤 , 可以通過捲組將替換磁碟註冊為物理卷 , 並且邏輯卷的範圍可遷移
到新磁碟。
1.3 邏輯卷的原理——水果榨汁原理
邏輯卷分割槽過程類似於水果榨汁過程。
1)首先,準備物理卷(相當於將水果榨成果汁的過程):
disk 用於建立與 lvm 結合使用的新分割槽。在要與 lvm 結合使用的分割槽上 , 始終將「 型別 」設定為「 0x8e linux lvm」。
pvcreate /dev/vdan 用於初始化分割槽 ( 或其他物理裝置 ),使其作為物理卷與 lvm 結合使用。直接在物理卷中建立用於儲存 lvm 配置資料的表頭。
2)接下來,建立捲組(相當於將現榨果汁倒入大杯子的過程):
建立捲組
vgcreate vgname /dev/vdan 將建立名為 vgname 且由物理卷 /dev/vdan 組成的捲組。
您可以在建立時指定其他物理卷 ( 以空格隔開 ), 也可以隨後使用 vgextend 新增新物理卷。
3)建立和使用新邏輯卷(相當於將大杯子中的果汁倒入小杯子的過程)
lvcreate -n lvname -l 2g vgname 從 vgname 上可用物理區塊建立名為 lvname 、容量為 2gb 的新邏輯卷
mkfs -t ext4 /dev/vgname/lvname 將在新邏輯卷上建立 ext4 檔案系統
mkdir /data 建立所需目錄作為掛載點
向 /etc/fstab 檔案中新增一下條目 :
執行 mount -a 可在 /etc/fstab 中掛載所有檔案系統 , 包括剛剛新增的條目。
pv ##物理卷
被lv命令處理過的物理分割槽
(水果榨汁)
vg ##物理捲組
(放到大杯子)
被組裝到一起的物理卷
pe ##物理擴充套件
lvm裝置的最小單位,lv時pe的整數倍
lvm ##邏輯卷
(從大杯子放到小杯子中)
直接使用的裝置,可以增大縮減並保持原有資料不變
2. lvm建立
2.1 分割槽並指定標籤為8e
pvcreate /dev/vdb1 ##炸汁
vgcreate vg0 /dev/vdb1 ##倒大杯子
lvcreate -l 20m -n lv0 vg0 ##倒小杯子
mkfs.xfs /dev/vg0/lv0 ##格式化
mount /dev/vg0/lv0 /mnt/ ##掛載
df -h /mnt ##檢視
#lvm特點:可以拉伸可以縮減
2.2 lvm拉伸:lvm支援熱拉伸
1)當vg中的剩餘容量充足時
lvextend -l 80m /dev/vg0/lv0 ##拉伸裝置
xfs_growfs /dev/vg0/lv0 ##拉伸檔案系統
2)當vg中剩餘容量不足時
pvcreate /dev/vdb2
vgextend vg0 /dev/vdb2 ##拉伸物理卷
lvextend -l 200m /dev/vg0/lv0 ##拉伸裝置
xfs_growfs /dev/vg0/lv0 ##拉伸檔案系統
3)針對ext檔案系統的裝置的拉伸和縮減
xfs :只能拉伸不能縮減
ext4 :能拉伸也能縮減(部支援熱縮減,需要先進行解除安裝)
umount /mnt
mkfs.ext4 /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
#拉伸
lvextend -l 250m /dev/vg0/lv0 ##拉伸裝置
resize2fs /dev/vg0/lv0 ##拉伸系統
#縮減
umount /dev/vg0/lv0
e2fsck -f /dev/vg0/lv0 ##檢測檔案系統
resize2fs /dev/vg0/lv0 100m ##縮減系統
lvreduce -l 100m /dev/vg0/lv0 ##縮減裝置
mount /dev/vg0/lv0 /mnt
#縮減vg
vgreduce vg0 /dev/vdb2 ##從vg0中將vdb2去掉
vgextend vg0 /dev/vdb2 ##將vdb2加入到vg0中
#資料遷移
pvmove /dev/vdb1 /dev/vdb2 ##將vdb1中的資料轉移到vdb2中,此操作時不能[ctrl+c]強制退出,會毀壞資料
vgreduce vg0 /dev/vdb1 ##解除占用vdb1
pvremove /dev/vdb1 ##將vdb1移出
#lvm快照
lvcreate -l 40m -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /mnt/
如果擷取資料大於40m,會損壞裝置
dd if=/dev/zero of=/mnt/file bs=1m count=60
會自動解除安裝掉lv0-backup,再次掛載會報錯
#不再使用快照時 , 請解除掛載並刪除它
umount /mnt
lvremove /dev/vg0/lv0-backup
lvcreate -l 40m -n lv0-backup -s /dev/vg0/lv0 ##相當於裝置的reset
再次掛載可以檢視到原裝置的資料
檢視lvm狀態資訊
執行 mount -a 可在 /etc/fstab 中掛載所有檔案系統 , 包括剛剛新增的條目
pvdisplay /dev/vdan #將顯示有關特定物理卷的資訊
vgdisplay vgname #將顯示有關特定捲組的資訊
lvdisplay /dev/vgname/lvname #將顯示有關特定邏輯卷的資訊
擴充套件邏輯卷和 xfs 檔案系統:
df -h /data #驗證已掛載檔案系統 /data 的當前大小
vgdisplay vgname #驗證 「可用物理區塊 」是否夠用
lvextend -l 128 /dev/vgname/lvname #使用部分或全部可用區塊擴充套件邏輯卷
xfs_growfs /dev/vgname/lvname #擴充套件在 /data 上掛載的關聯檔案系統
lvm邏輯卷管理
1 前言 2 lvm組成和概念 3 如何使用lvm,建立邏輯卷的流程和例項 4 如何動態放大 縮小乙個邏輯卷 邏輯捲組 5 如何刪除邏輯卷 邏輯捲組 6 lvm相關命令 1 前言 一直想寫乙個簡單的lvm方面的文章,可以作個背忘,主要以流程和例項為主,希望文章能起到拋磚引玉的 作用.lvm logi...
Lvm(邏輯卷管理)
lvm 邏輯卷管理 1.make lv 1 fdisk dev sdb 1 對sdb進行分割槽,三個主分割槽,乙個擴充套件分割槽,乙個邏輯分割槽,分別為sdb1,sdb2,sdb3,sdb4,sdb5 2 用fdisk dev sdb命令,對分好的磁碟檔案系統進行格式化。3 儲存好分割槽之後,進行p...
LVM 邏輯卷管理
顯示分割槽資訊 root centos7 fdisk l物理硬碟格式為物理卷 pv root centos7 pvcreate dev sda6檢視物理卷 pv 資訊 root centos7 pvs root centos7 pvdisplay 刪除物理卷 pv root centos7 pvre...