Linux中國

使用 LVM 為你的 Fedora 系統添加存儲

有時需要在系統中添加另一塊磁碟。這就是 邏輯卷管理 Logical Volume Management LVM)的用武之地。LVM 的好處之處在於它相當靈活。有幾種方法可以添加一塊磁碟。這篇文章介紹了一種方法。

注意!

這篇文章並不包括將新的磁碟物理地安裝到系統中的過程。請查閱你的系統和磁碟文檔,了解如何正確地進行安裝。

重要: 一定要確保你已經備份重要數據。如果新磁碟已有數據,那麼本文中描述的步驟將破壞數據。

最好了解

本文並沒有深入介紹 LVM 的每一個功能,重點是添加磁碟。但基本上你要了解,LVM 有 卷組 volume group (VG),它由一個或多個分區和/或磁碟組成。你把這些分區或磁碟以 物理卷 physical volume (PV)的方式添加到卷組。一個卷組可以分成許多 邏輯卷 logical volume (LV)。邏輯卷可以作為文件系統、ramdisk 等其他存儲使用。更多信息可以在這裡中找到。

可以看作是,把物理卷形成一個存儲池(一個卷組),然後從這個存儲池中劃分出邏輯卷,供你的系統直接使用。

準備

確保你能看到你要添加的磁碟。在添加磁碟之前使用 lsblk 查看哪些存儲空間已經可用或正在使用。

$ lsblk
NAME                   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
zram0                  251:0    0  989M  0 disk [SWAP]
vda                    252:0    0   20G  0 disk
├─vda1                 252:1    0    1G  0 part /boot
└─vda2                 252:2    0   19G  0 part
└─fedora_fedora-root   253:0    0   19G  0 lvm  /

本文使用的是帶有虛擬存儲的虛擬機,因此設備名稱以 vda 開頭代表第一個磁碟,vdb 代表第二個磁碟,以此類推。你的設備名稱可能不同。許多系統會將 sda 作為第一個物理磁碟,sdb 代表第二個磁碟,以此類推。

當已連接新磁碟,並且你的系統已備份且正在運行,再次使用 lsblk 來查看新的塊設備。

$ lsblk
NAME                   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
zram0                  251:0    0  989M  0 disk [SWAP]
vda                    252:0    0   20G  0 disk
├─vda1                 252:1    0    1G  0 part /boot
└─vda2                 252:2    0   19G  0 part
└─fedora_fedora-root 253:0    0   19G  0 lvm  /
vdb                    252:16   0   10G  0 disk

現在有一個名為 vdb 的新設備。該設備的位置是 /dev/vdb

$ ls -l /dev/vdb
brw-rw----. 1 root disk 252, 16 Nov 24 12:56 /dev/vdb

我們可以看到磁碟,但我們還不能用 LVM 來使用它。如果你運行 blkid,你應該不會看到它被列出。對於這個和之後的命令,你需要確保你的系統已配置好,這樣你可以使用 sudo

$ sudo blkid
/dev/vda1: UUID="4847cb4d-6666-47e3-9e3b-12d83b2d2448" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="830679b8-01"
/dev/vda2: UUID="k5eWpP-6MXw-foh5-Vbgg-JMZ1-VEf9-ARaGNd" TYPE="LVM2_member" PARTUUID="830679b8-02"
/dev/mapper/fedora_fedora-root: UUID="f8ab802f-8c5f-4766-af33-90e78573f3cc" BLOCK_SIZE="4096" TYPE="ext4"
/dev/zram0: UUID="fc6d7a48-2bd5-4066-9bcf-f062b61f6a60" TYPE="swap"

將磁碟添加到 LVM 中

使用 pvcreate 初始化磁碟。你需要傳遞設備的完整路徑。在這個例子中,它是 /dev/vdb。在你的系統中,它可能是 /dev/sdb 或其他設備名。

$ sudo pvcreate /dev/vdb
Physical volume "/dev/vdb" successfully created.

當你運行 blkid 時,你應該看到磁碟已經被初始化為一個 LVM2_member

$ sudo blkid
/dev/vda1: UUID="4847cb4d-6666-47e3-9e3b-12d83b2d2448" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="830679b8-01"
/dev/vda2: UUID="k5eWpP-6MXw-foh5-Vbgg-JMZ1-VEf9-ARaGNd" TYPE="LVM2_member" PARTUUID="830679b8-02"
/dev/mapper/fedora_fedora-root: UUID="f8ab802f-8c5f-4766-af33-90e78573f3cc" BLOCK_SIZE="4096" TYPE="ext4"
/dev/zram0: UUID="fc6d7a48-2bd5-4066-9bcf-f062b61f6a60" TYPE="swap"
/dev/vdb: UUID="4uUUuI-lMQY-WyS5-lo0W-lqjW-Qvqw-RqeroE" TYPE="LVM2_member"

你可以使用 pvs 列出當前所有可用的物理卷:

$ sudo pvs
PV         VG            Fmt  Attr PSize   PFree
/dev/vda2  fedora_fedora lvm2 a--  <19.00g     0
/dev/vdb                 lvm2 ---   10.00g 10.00g

/dev/vdb 被列為一個 PV (物理卷),但還沒有分配到一個 VG (卷組)。

將物理卷添加到一個卷組

你可以使用 vgs 找到可用的卷組列表:

$ sudo vgs
VG            #PV #LV #SN Attr   VSize   VFree
fedora_fedora   1   1   0 wz--n- 19.00g    0

在本例中,只有一個卷組可用。接下來,將物理卷添加到 fedora_fedora

$ sudo vgextend fedora_fedora /dev/vdb
Volume group "fedora_fedora" successfully extended

你現在應該看到物理卷已被添加到卷組中:

$ sudo pvs 
PV        VG            Fmt  Attr PSize   PFree
/dev/vda2 fedora_fedora lvm2 a–   <19.00g 0
/dev/vdb  fedora_fedora lvm2 a–   <10.00g <10.00g

看一下卷組:

$ sudo vgs
VG            #PV #LV #SN Attr  VSize  VFree
fedora_fedora 2   1   0   wz–n- 28.99g <10.00g

你也可以獲得具體卷組和物理卷的詳細列表:

$ sudo vgdisplay fedora_fedora
--- Volume group VG Name               fedora_fedora
System ID
Format                lvm2
Metadata Areas        2
Metadata Sequence No  3
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                1
Open LV               1
Max PV                0
Cur PV                2
Act PV                2
VG Size               28.99 GiB
PE Size               4.00 MiB
Total PE              7422
Alloc PE / Size       4863 / 19.00 GiB
Free  PE / Size       2559 / 10.00 GiB
VG UUID               C5dL2s-dirA-SQ15-TfQU-T3yt-l83E-oI6pkp

看下物理卷:

$ sudo pvdisplay /dev/vdb
--- Physical volume PV Name               /dev/vdb
VG Name               fedora_fedora
PV Size               10.00 GiB / not usable 4.00 MiB
Allocatable           yes
PE Size               4.00 MiB
Total PE              2559
Free PE               2559
Allocated PE          0
PV UUID               4uUUuI-lMQY-WyS5-lo0W-lqjW-Qvqw-RqeroE 

現在我們已經添加了磁碟,我們可以為邏輯卷 (LV) 分配空間:

$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root fedora_fedora -wi-ao---- 19.00g

看一下邏輯卷。下面是詳細的邏輯卷信息:

$ sudo lvdisplay fedora_fedora/root
--- Logical volume LV Path                /dev/fedora_fedora/root
LV Name                root
VG Name                fedora_fedora
LV UUID                yqc9cw-AvOw-G1Ni-bCT3-3HAa-qnw3-qUSHGM
LV Write Access        read/write
LV Creation host, time fedora, 2020-11-24 11:44:36 -0500
LV Status              available
LV Size                19.00 GiB
Current LE             4863
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:0

查看根文件系統(/)的大小,並將它與邏輯卷大小進行比較。

$ df -h /
Filesystem                      Size  Used Avail Use% Mounted on
/dev/mapper/fedora_fedora-root   19G  1.4G   17G   8% /

邏輯卷和文件系統大小都為 19G。讓我們給根邏輯卷(root)增加 5G。

$ sudo lvresize -L +5G fedora_fedora/root
Size of logical volume fedora_fedora/root changed from 19.00 GiB (4863 extents) to 24.00 GiB (6143 extents).
Logical volume fedora_fedora/root successfully resized.

我們現在有 24G 的邏輯卷可用。看看根文件系統(/)。

$ df -h /
Filesystem                      Size  Used Avail Use% Mounted on
/dev/mapper/fedora_fedora-root   19G  1.4G   17G   8% /

我們仍然顯示只有 19G 的空閑空間,這是因為邏輯卷與文件系統不一樣。要使用增加到邏輯卷的新空間,請調整文件系統的大小。

$ sudo resize2fs /dev/fedora_fedora/root
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/fedora_fedora/root is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 3
The filesystem on /dev/fedora_fedora/root is now 6290432 (4k) blocks long.

看看文件系統的大小。

$ df -h /
Filesystem                      Size  Used Avail Use% Mounted on
/dev/mapper/fedora_fedora-root   24G  1.4G   21G   7% /

正如你所看到的,根文件系統(/)已經佔用了邏輯卷上的所有可用空間,而且不需要重新啟動。

現在你已經將一個磁碟初始化為物理卷,並使用新的物理卷擴展了卷組。之後,你增加了邏輯卷的大小,並調整了文件系統的大小,以使用邏輯卷的新空間。

via: https://fedoramagazine.org/add-storage-to-your-fedora-system-with-lvm/

作者:Tim Bosse 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國