LVM邏輯卷管理

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

相關文章
相關標籤/搜索