服務器磁盤lvm管理輕鬆在線擴容

centos 7.4 x86_64
場景:安裝服務器系統時就須要規劃好磁盤空間,並用lvm創建分區,以便隨後磁盤空間耗盡,隨時添加。centos

lvm原理:
PV(physical volume):物理卷 即整個物理硬盤或物理硬盤上的分區。
PE(physical extent):物理區域 是物理卷中可用於分配的最小存儲單元,物理區域大小在創建卷組時指定,一旦肯定不能更改,同一卷組全部物理卷的物理區域大小需一致,新的pv加入到vg後,pe的大小自動更改成vg中定義的pe大小。
VG(volume group):卷組 創建在物理捲上,卷組中至少要包括一個物理卷,可動態的添加新捲到卷組中。
LV(logical volume):邏輯卷 創建在卷組上,卷組中未分配空間可用於創建新的邏輯卷,邏輯卷創建後也可動態擴展和縮小空間。
LE(logical extent):邏輯區域 是邏輯卷中可用於分配的最小存儲單元,邏輯區域的大小取決於邏輯卷所在卷組中的物理區域的大小。服務器

安裝lvm管理工具
yum install -y lvm2app

原磁盤空間用完,新加數據盤/dev/vdb
1,新建分區(8e就是lvm的分區類型)
fdisk /dev/vdb
n(新建分區)
p(選擇主分區)
t(修改分區格式)
8e
p(查看建立的分區)
wq(保存分區信息)
fdisk -l 查看磁盤情況,多出新分區/dev/vdb1工具

2,新建PV(將物理盤格式化爲物理卷)
pvcreate /dev/vdb1
pvdisplay
pvscentos7

3,新建名爲vg0的VG
vgcreate vg0 /dev/vdb1
vgdisplay
vgs進程

4,在vg的基礎上新建名爲lv0的LVrem

將vg0全部空餘空間添加到lv0
lvcreate -l 100%FREE -n lv0 vg0
或者vgs | grep Free得到空閒PE的總數1888
lvcreate -l1888 -n lv0 vg0
也可建立指定大小的LV
lvcreate -L +100G -n lv0 vg0
lvdisplay基礎

格式化lv0
fdisk -l
mkfs.ext4 /dev/mapper/vg0-lv0
或者
mkfs.xfs /dev/mapper/vg0-lv0原理

建立掛載點
mkdir /alidata
掛載邏輯卷LV0
mount /dev/mapper/vg0-lv0 /alidata擴展

爲了在系統啓動時自動加載文件系統,還須要在/etc/fstab中添加內容: 
/dev/mapper/vg0-lv0 /alidata ext4 defaults 1 1 

擴展空間:原分區用盡後,無需重啓系統(服務器支持熱插拔或者原本就有剩餘空閒磁盤空間),新加磁盤並動態擴容
5,將新加磁盤/dev/vdc添加到lv0
pvcreate /dev/vdc 新建物理卷PV
vgextend vg0 /dev/vdc 擴容卷組,將新物理卷PV添加到卷組vg0
lvextend -l +100%FREE /dev/mapper/vg0-lv0 將新加的全部空閒PE擴展到邏輯卷lv0
resize2fs /dev/mapper/vg0-lv0  刷新文件系統使擴容生效
df -h

另一種狀況是調整系統分區大小
6,centos7按默認分區安裝後磁盤空間調整
df -h  查看各個分區大小
fdisk -l  查看分區情況
cp -r /home /homebk  備份home分區內容
umount /home   若home存在使用進程,fuser -m -v -i -k /home終止
lvremove /dev/mapper/centos-home  默認是home分區過大,刪除home分區的邏輯卷
lvcreate -L 50G -n home centos   從物理卷組centos的空閒空間新建50G的home分區邏輯卷
mkfs.xfs /dev/centos/home      格式化新建的home邏輯卷
mount /dev/centos/home /home   掛載邏輯捲到/home目錄
vgdisplay   查看Free PE數246255    
將剩下的全部自由空間添加到root的lvm分區
lvextend -l +100%FREE /dev/mapper/centos-root
或者將全部的free pe建新的邏輯卷LV
lvcreate -l246255 -n iscsi centos

管理命令 刪除物理卷 pvremove /dev/vdb1 刪除卷組 vgremove vg0 將物理卷從卷組移除 vgreduce vg0 /dev/vdb1 從卷組移除缺失物理盤 vgreduce --removemissing vg0 刪除邏輯卷 lvremove /dev/mapper/vg0-lv0 (先umount /alidata) 減小邏輯卷空間 lvreduce -L -100G /dev/mapper/vg0-lv0

相關文章
相關標籤/搜索