歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 在Linux如何擴增卷組、邏輯卷以及縮減邏輯卷LVM的過程

在Linux如何擴增卷組、邏輯卷以及縮減邏輯卷LVM的過程

日期:2017/3/1 17:56:52   编辑:Linux技術
今天我們將了解怎樣來擴展卷組,擴展和縮減邏輯卷。在這裡,我們可以縮減或者擴展邏輯卷管理(LVM)中的分區,LVM也可稱之為彈性卷文件系統。

前置需求使用LVM創建彈性磁盤存儲——第一部分

什麼時候我們需要縮減卷?

或許我們需要創建一個獨立的分區用於其它用途,或者我們需要擴展任何空間低的分區。遇到這種情況時,使用 LVM我們可以很容易地縮減大尺寸的分區,以及擴展空間低的分區,只要按下面幾個簡易的步驟來即可。

我的服務器設置 —— 需求操作系統 – 安裝有LVM的CentOS 6.5服務器IP – 192.168.0.200

如何擴展卷組以及縮減邏輯卷

擴展邏輯卷

目前,我們已經有一個PV,VG和2個LV。讓我們用下面的命令來列出它們。

# pvs# vgs# lvs

Logical Volume Extending

邏輯卷擴展

在物理卷和卷組中沒有空閒空間可用了,所以,現在我們不能擴展邏輯卷的大小。要擴展,我們需要添加一個物理卷(PV),然後通過擴展vg來擴展卷組,這樣我們就會得到足夠大的空間來擴展邏輯卷大小了。所以,首先我們應該去添加一個物理卷。

要添加一個新PV,我們必須使用fdisk來創建一個LVM分區。

# fdisk -cu /dev/sda
選擇n來創建新分區。選擇p來創建主分區。選擇我們需要創建的分區號。如果有其它可用磁盤,請按1。使用t來修改分區類型。輸入8e來將分區類型修改為Linux LVM。使用p來打印創建的分區(這裡我們沒有使用該選項)。按w寫入修改。

完成後重啟系統。

Create LVM Partition

創建LVM分區

使用fdisk列出並檢查我們創建的分區。

# fdisk -l /dev/sda

Verify LVM Partition

驗證LVM分區

接下來,使用下列命令來創建新PV(物理卷)。

# pvcreate /dev/sda1

使用下面的命令來驗證pv。

# pvs

Create Physical Volume

創建物理卷

擴展卷組

添加該pv到vg_tecmint卷組來擴展卷組的大小,以獲取更多空間來擴展lv

# vgextend vg_tecmint /dev/sda1

讓我們檢查現在正在使用的卷組的大小。

# vgs

Extend Volume Group

擴展卷組

我們甚至可以看到哪個PV用於創建使用中的特定卷組。

# pvscan

Check Volume Group

檢查卷組

這裡,我們可以看到卷組所處的物理卷。我們已經添加了一個pv,而且它完全空著。在擴展邏輯卷之前,讓我們先看看我們所擁有的各個卷組的大小。

Check All Logical Volume

檢查所有邏輯卷

LogVol00用於Swap。LogVol01用於/。現在我們有16.50GB大小的空間用於/(root)。當前有4226物理擴展(PE)可用。

現在,我們打算去擴展/分區LogVol01。在擴展後,我們可以像上面那樣列出它的大小以確認。我們能可以使用GB或PE來擴展,這一點我已經在LVM第一部分解釋過了,這裡我使用PE來擴展。

要獲取可用的物理擴展大小,運行以下命令。

# vgdisplay

Check Available Physical Size

檢查可用的物理擴展

總共有4607空閒PE可用,亦即有18GB空間空間可用。因此,我們可以將我們的邏輯卷擴展到18GB這麼大。讓我們使用PE大小來擴展。

# lvextend -l +4607 /dev/vg_tecmint/LogVol01

使用+來添加更多空間。在擴展後,我們需要改變文件系統大小,使用以下命令。

# resize2fs /dev/vg_tecmint/LogVol01

Expand Logical Volume

擴展邏輯卷

用來使用物理擴展擴展邏輯卷的命令。這裡我們可以看到它從16.51GB擴展到了34GB。如果文件系統已被掛載並處於使用中,改變文件系統大小。要擴展邏輯卷,我們不需要卸載文件系統

現在,讓我們看看當前使用的改變大小後的邏輯卷。

# lvdisplay

Resize Logical Volume

改變邏輯卷大小

LogVol01用於擴展的卷 /。擴展後,從16.50GB上升到了34.50GB。C當前擴展,在擴展前有4226,我們已經添加了4607個擴展,因此現在有8833。

現在,如果我們檢查可用的vg的話,空閒PE將會是0。

# vgdisplay

查看擴展的結果。

# pvs# vgs# lvs

Verify Resize Partition

驗證分區大小改變

添加的新物理卷。卷組vg_tecmint從17.51GB擴展到了35.50GB。邏輯卷LogVol01從16.51GB擴展到了34.50GB。

這裡,我們已經完成擴展卷組和邏輯卷的過程。讓我們一起邁向邏輯卷管理中一些有趣的部分。

這裡,我們將了解如何縮減邏輯卷。人人都說它很危險,在縮減lvm的時候可能會導致災難。縮減lvm在邏輯卷管理中比其它部分要來得確實有趣得多。

在開始之前,備份好數據總是對的,這樣如果出錯,就不會頭痛了。要縮減邏輯卷,需要小心翼翼地完成5個步驟。在擴展一個卷的時候,我們可以在該卷掛載時擴展它(在線),但對於縮減,我們必須在縮減前卸載文件系統。

讓我們來了解一下下面這5個步驟。

卸載文件系統以便縮減。在卸載後檢查文件系統。縮減文件系統。5減少當前邏輯卷大小。再檢查文件系統以防出錯。將文件系統再次掛載回去。

為了演示,我已經創建了獨立的卷組和邏輯卷。這裡,我將縮減邏輯卷tecmintreducetest。現在它有18GB大小,我們需要將它縮減到10GB而不丟失數據。也就是說,我們需要從18GB中減少8GB。卷中已經有4GB被使用。

18GB ---> 10GB

在縮減大小的時候,我們只需要縮減8GB,所以在縮減後它總計會有10GB。

# lvs

Reduce Logical Volume

縮減邏輯卷

這裡,我們可以看到文件系統信息。

# df -h

Check File System Size

檢查文件系統大小

卷大小是18GB。它已經使用了3.9GB。可用空間是13GB。

首先,卸載掛載點。

# umount -v /mnt/tecmint_reduce_test/

Unmount Parition

卸載分區

然後,使用以下命令來檢查文件系統錯誤。

# e2fsck -ff /dev/vg_tecmint_extra/tecmint_reduce_test

Scan Parition for Errors

掃描分區錯誤

注意:必須通過所有文件系統檢查的5個步驟,若未完全通過,則你的文件系統可能存在問題。

接下來,縮減文件系統。

# resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test 8GB

Reduce File System

縮減文件系統

使用GB來縮減邏輯卷。

# lvreduce -L -8G /dev/vg_tecmint_extra/tecmint_reduce_test

Reduce Logical Partition

縮減邏輯分區

要使用PE來縮減邏輯卷,我們需要知道默認PE大小和卷組的總PE大小,以進行一次小小的計算來得出准確的縮減大小。

# lvdisplay vg_tecmint_extra

這裡,我們需要使用bc命令來做一些小計算來獲得10GB的PE大小。

1024MB x 10GB = 10240MB or 10GB10240MB / 4PE = 2048PE

CTRL+D來退出BC。

Calculate PE Size

計算PE大小

使用PE來縮減大小。

# lvreduce -l -2048 /dev/vg_tecmint_extra/tecmint_reduce_test

Reduce Size Using PE

使用PE來縮減大小

將文件系統大小調整回去。在這一步中,如果發生任何錯誤,這就意味著我們已經將文件系統搞亂了。

# resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test

Resize File System

將文件系統掛載回同樣的掛載點。

# mount /dev/vg_tecmint_extra/tecmint_reduce_test /mnt/tecmint_reduce_test/

Mount File System

掛載文件系統

檢查分區和文件的大小。

# lvdisplay vg_tecmint_extra

這裡,我們可以看到最後的結果,邏輯已經被縮減到10GB。

Verify Logical Volume Size

在本文中,我們已經了解了如何來擴增卷組、邏輯卷以及縮減邏輯卷。在下一部分(第三部分)中,我們將了解如何為邏輯卷做快照並將它恢復到更早的狀態。謝謝閱讀,希望能幫到大家,請繼續關注腳本之家,我們會努力分享更多優秀的文章。

Copyright © Linux教程網 All Rights Reserved