LVM邏輯卷管理ide
磁盤空間的動態劃分和管理
LVM簡介
LVM是Logical Volume Manager(邏輯卷管理器)的簡寫,提供將多塊磁盤從邏輯上組合成一個大容量的存儲(VG)。而且支持容量在線動態擴展和縮減。
LVM管理的概念
PP:物理分區(physical partition)。
PV:物理卷(Pysical Volume),能夠是單獨磁盤,也能夠是硬盤分區。是標識了pv的物理磁盤或分區。
VG:卷組(Volume Group),一個或多個PV組成的存儲空間。
LV:邏輯卷(Logical Volume),至關於物理分區的/dev/sdaX,只有邏輯卷才能夠寫數據。
PE:物理擴展(Pysical Extent),VG單元,相似於RAID的條帶大小。 當多個PV組成一個VG時,LVM會在全部PV上作相似格式化的動做,將每一個PV切成一塊塊的空間,這一塊塊的空間就稱爲PE, 一般是4MB。
LE:邏輯擴展(Logical Extent),LV的組成單位。大小爲PE的倍數(一般爲1:1)。spa
LVM可以實現分區的動態擴容和縮容
LVM的建立過程實際上是一個先整合,在劃分的過程。
LVM建立過程
1.添加硬盤或者是分區,通知內核
2.建立物理卷
3.建立卷組
4.建立邏輯卷
5.建立文件系統
6.掛載使用rem
下面經過案例實現來具體瞭解:虛擬機
案例1:給虛擬機添加4塊1G的SCSI硬盤,將其中的sdb、sdc建立成一個名稱爲vg0的卷組,在卷組中建立一個 1.6G的名稱爲lv0的邏輯卷,再建立一個400M的名稱爲lv1的邏輯卷。並將lv0、lv1邏輯卷格式化成ext4文件系統,將lv0掛載到/lv0目錄中,將lv1掛載到/lv1目錄中,並分別寫入一些文件到邏輯卷中。
案例2:對lv0邏輯卷擴容和縮容。將lv0的容量擴大爲2G,並驗證lv0的容量。
案例3:對vg0卷組擴容和縮容。將sdd、sde硬盤加入到vg0卷組中,並驗證vg0的容量。
案例1實施思路:
一、將sdb、sdc硬盤建立成pv,並查看信息
lsblk
pvscan
pvcreate --help 或 man pvcreate
pvcreate /dev/sd[bc] 或 pvcreate /dev/sdb /dev/sdc
pvs
pvdisplay
二、建立vg,並查看vg信息
vgscan
vgcreate --help
vgcreate -s 8M vg0 /dev/sd[bc] 或 vgcreate vg0 /dev/sdb /dev/sdc
-s 指定PE的大小
PE(物理擴展單元) 大小(默認4M)
查看vg信息
vgs
vgdisplay
三、建立lv,並查看lv信息
lvscan
lvcreate -L 1.6G -n lv0 vg0
-n 指定lv的名字
-L 指定lv的大小
vg0 用vg0的空間作lv
lvcreate -n lv1 -l 20 vg0
-l 指定使用多少個PE
查看lv信息
lvs
lvdisplay
四、格式化
mkfs.ext4 /dev/vg0/lv0
五、手動掛載,寫入數據
mkdir -pv /lv0 /lv1
mount /dev/vg0/lv0 /lv0
mount /dev/vg0/lv1 /lv1
lsblk
mkdir /lv0/conf /lv1/host
cp -v /etc/*.conf /lv0/conf/
cp -v /etc/host* /lv1/host/
------------------
案例2:lv0擴容 從vg0直接取空間
lvextend -L +400M /dev/vg0/lv0 在原來的空間上加上多少空間
lvs 查看lv狀態信息
resize2fs /dev/vg0/lv0 文件系統擴容
df -h 查看文件系統容量
lv擴容 卷組沒有空間了
1.建立新分區
fdisk -cu /dev/sdd
2.建立物理卷
pvcreate /dev/sdd /dev/sde
3.加入卷組 vg擴容
vgextend vg0 /dev/sdd /dev/sde
vgs
4.邏輯卷擴容 lv擴容
lvextend -L 2.5G /dev/vg0/lv0 指定到多少
lvs
5.文件系統擴容
resize2fs /dev/vg0/lv0
df -h
------------------
案例3:縮容
注意:
1.風險大有可能形成數據損壞
2.不能在線縮容
3.確保縮減後的空間大小依然能存儲原來的全部數據
4.在縮減以前強制檢查文件系統
一.如今lv1空間不足,卷組vg內沒有空間,lv0空間過大,縮減lv0空間,給lv1加空間
縮減lv0 在縮減lv0以前先縮減文件系統
1.卸載
umount /dev/vg0/lv0
2.強制檢查文件系統
e2fsck -f /dev/vg0/lv0
3.縮減文件系統
resize2fs /dev/vg0/lv0 100M 縮減到400M
4.縮減lv
lvreduce -L 400M /dev/vg0/lv0 縮減到400M
檢查縮容後的lv1邏輯卷的數據有沒有損失
1.掛載
mount /dev/vg0/lv1 /lv1
2.查看數據內容
cd /lv1
cat a.txt
給lv0擴容
lvextend -L +700M /dev/vg0/lv0
給lv0文件系統擴容
resize2fs -p /dev/vg0/lv0
----------------------------------it
案例4:xfs文件系統的擴容io
文件系統容量更新的方法與ext4略有不一樣並且不支持縮容class
xfs_growfs 設備擴展
----------------------------
數據遷移
pvmove /dev/sdc
從卷組移除物理卷
vgreduce vg0 /dev/sdb
刪除物理卷
pvremove /dev/sdb
刪除卷組
vgremove vg0
刪除邏輯卷
lvremove /dev/vg0/lv1
---------------------
刪除LVM
先卸載
刪除邏輯卷
刪除卷組
刪除物理卷
----------------------
邏輯卷管理命令大全:
分區
pvcreate
pvs
pvdisplay
pvscan
pvmove
pvremove
vgcreate
vgs
vgdisplay
vgscan
vgextend
vgreduce
vgremove
lvcreate
lvs
lvdisplay
lvscan
lvextend
lvreduce
lvremove
gc