1. 程式人生 > >Linux下配置LVM

Linux下配置LVM

1 LVM介紹

LVM(Logical Volume Manager)邏輯卷管理,它是Linux環境下對磁碟分割槽進行管理的一種機制,LVM是建立在硬碟和分割槽之上的一個邏輯層,來提高磁碟分割槽管理的靈活性。通過LVM系統管理員可以輕鬆管理磁碟分割槽,

image  

                                                    邏輯卷管理器的技術結構

2 LVM的優缺點

優點:

1. 檔案系統可以跨多個磁碟,因此檔案系統大小不會受物理磁碟的限制。

2. 可以在系統執行的狀態下動態的擴充套件檔案系統的大小。

3. 可以增加新的磁碟到LVM的儲存池中。

4. 可以以映象的方式冗餘重要的資料到多個物理磁碟。

5. 可以方便的匯出整個卷組到另外一臺機器。

缺點:

1. 在從卷組中移除一個磁碟的時候必須使用reducevg命令(這個命令要求root許可權,並且不允許在快照卷組中使用)。

2. 當卷組中的一個磁碟損壞時,整個卷組都會受到影響。

3. 因為加入了額外的操作,存貯效能受到影響。

3 LVM基礎概念

1. 物理卷……PV(Physical Volume):物理卷在邏輯卷管理中處於最底層,它可以是實際物理硬碟上的分割槽,也可以是整個物理硬碟。

2. 卷組……VG(Volumne Group):卷組建立在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組建立之後可動態新增物理捲到卷組中。一個LVM系統中可以只有一個卷組,也可以擁有多個卷組。

3. 邏輯卷……LV(Logical Volume):邏輯卷建立在卷組之上,卷組中的未分配空間可以用於建立新的邏輯卷,邏輯卷建立後可以動態地擴充套件和縮小空間。系統中的多個邏輯卷可以屬於同一個卷組,也可以屬於不同的多個卷組。

4. 物理區域……PE(Physical Extent):物理區域是物理卷中可用於分配的最小儲存單元,物理區域的大小可根據實際情況在建立物理卷時指定。物理區域大小一旦確定將不能更改,同一卷組中的所有物理卷的物理區域大小需要一致。

5. 邏輯區域……LE(Logical Extent):邏輯區域是邏輯卷中可用於分配的最小儲存單元,邏輯區域的大小取決於邏輯卷所在卷組中的物理區域的大小。

6. 卷組描述區域……VGDA(Volume Group Descriptor Area):卷組描述區域存在於每個物理卷中,用於描述物理卷本身、物理卷所屬卷組、卷組中的邏輯卷及邏輯卷中物理區域的分配等所有資訊,卷組描述區域是在使用pvcreate建立物理卷時建立的。

4 LVM管理命令

PV:Physical(物理卷)

pvcreate、pvs 、pvdisplay 、pvremove、pvmove、pvscan

VG:Volume Group(卷組)

vgcreate、vgs、vgdisplay、vgremove、vgrename、vgreduce、vgextent

LV:logical Volume(邏輯卷)

lvs、lvdisplay、lvremove、lvextend、lvresize、lvscan、lvrename

功能命令

物理卷管理

卷組管理

邏輯卷管理

掃描

pvscan

vgscan

lvscan

建立

pvcreate

vgcreate

lvcreate

顯示

pvdisplay /pvs

vgdisplay /vgs

lvdisplay /lvs

刪除

pvremove

vgremove

lvremove

擴充套件

 

vgextend

lvextend

縮小

 

vgreduce

lvreduce

5 LVM的配置

部署邏輯卷建立過程:

1.建立物理卷, 新增物理磁碟

2.建立卷組, 新增物理卷加⼊到該卷組

3.在卷組中劃分邏輯卷

操作步驟:

1、部署邏輯卷

1. 準備物理磁碟

[[email protected] ~]# lsblk |grep "sd[bcd]"

image

2. 將磁碟加⼊pv

[[email protected] ~]# pvcreate /dev/sdb

image

3. 檢查pv建立情況

[[email protected] ~]# pvs

image

4. 建立名為datavg的卷組

vgcreate

-s 指定PE大小

[[email protected] ~]# vgcreate datavg /dev/sdb

image

5. 檢查卷組

[[email protected] ~]# vgs

image

6. 檢視卷組組資訊

[[email protected] ~]# vgdisplay test

image

7. 建立邏輯卷, 分配名稱, 以及⼤⼩, 指定卷組

[[email protected] ~]# lvcreate -L 200M -n data test

image

8. 檢查邏輯卷

[[email protected] ~]# lvscan

image

9. 檢視邏輯卷資訊

[[email protected] ~]# lvdisplay /dev/test/data

image

10. 格式化⽂件系統

[[email protected] ~]# mkfs.xfs /dev/test/data

image

11. 掛載並使⽤

[[email protected] ~]# mkdir /data

[[email protected] ~]# mount /dev/test/data /data/

[[email protected] ~]# df –h

image

2、卷組池管理

1. 新硬碟加⼊pv

[[email protected] ~]# pvcreate /dev/sdc

image

2. 檢視pv資訊

[[email protected] ~]# pvdisplay /dev/sdc

image

3. 擴展卷組VG, 擴⼤VG卷組使⽤vgextend擴充套件

[[email protected] ~]# vgextend test /dev/sdc

image

4. 檢視vg資訊

[[email protected] ~]# vgdisplay test

image

5. 移除卷組VG, 移除vg組中某⼀塊硬碟

[[email protected] ~]# vgreduce datavg /dev/sdb

image

6. 檢視vg資訊

[[email protected] ~]# vgdisplay test

image

7.資料遷移卷組VG, 同⼀卷組的磁碟才可以進⾏線上遷移

檢查當前邏輯卷VG中PV使⽤情況

[[email protected] ~]# pvs

image

8. pvmove線上資料遷移⾄其他pv

[[email protected] ~]# pvmove /dev/sdb

image

9. 檢查是否將sdb資料遷移⾄sdc

[[email protected] ~]# pvs

image

3、擴容邏輯卷

邏輯卷的擴充套件, 取決於vg卷中剩餘多少容量, 擴充套件容量不能超過卷組VG

xfs擴容 lv邏輯卷

1. 增加800M分配給邏輯卷 {注意: 800M +800M 不⼀樣;直接800M是擴充套件到800M,+800M是在原有基礎+800M。}

[[email protected] ~]# lvextend -L +800M /dev/test/data

image

2. 重新整理磁碟分割槽

[[email protected] ~]# xfs_growfs /dev/test/data

image

3. 檢視磁碟大小

[[email protected] ~]# df –Th

image

4. ext擴容分配磁碟池中多少百分⽐給邏輯卷

[[email protected] ~]# lvextend -l +50%FREE /dev/test/nfs

image

[[email protected] ~]# resize2fs /dev/test/nfs

image

5. 檢視磁碟大小

[[email protected] ~]# df –Th

image

4、縮邏輯卷

ext4 離線減小邏輯卷

1. 取消掛載/dev/test/nfs

[[email protected] ~]# umount /dev/test/nfs/

image

2. 掃描資訊 (把空的資料補齊)

[[email protected] ~]# e2fsck -f /dev/test/nfs

image

3. 減小檔案系統到600M

[[email protected] ~]# resize2fs /dev/test/nfs 600M

image

4. 減小邏輯卷為600M

[[email protected] ~]# lvreduce -L 600M /dev/test/nfs

image

5. 重新掛載磁碟,並檢視掛載資訊

[[email protected] ~]# mount /dev/test/nfs /nfs/

[[email protected] ~]# df –Th

image

xfs只能擴大檔案系統大小,不能減小檔案系統大小。  

5、刪除邏輯卷

當生產環境中想要重新部署LVM或者不再需要使用LVM時,則需要執行LVM的刪除操作。為此,需要提前備份好重要的資料資訊,然後依次刪除邏輯卷、卷組、物理卷裝置,這個順序不可顛倒。若你寫入自動掛載配置檔案中,首先取消邏輯卷與目錄的掛載關聯,刪除配置檔案中永久生效的裝置引數。

1. 刪除邏輯卷裝置,需要輸入y來確認操作

[[email protected] ~]# lvremove /dev/test/nfs

image

2. 刪除卷組,此處只寫卷組名稱即可,不需要裝置的絕對路徑。

[[email protected] ~]# vgremove test

image

3. 刪除物理卷裝置。

[[email protected] ~]# pvremove /dev/sdb /dev/sdc

image

4. 在上述操作執行完畢之後,再執行lvdisplay、vgdisplay、pvdisplay命令來檢視LVM的資訊時就不會再看到資訊了(前提是上述步驟的操作是正確的)。

[[email protected] ~]# pvdisplay /dev/sdb

[[email protected] ~]# vgdisplay test

[[email protected] ~]# lvdisplay /dev/test/nfs

image