有時(shí)需要在系統(tǒng)中添加另一塊磁盤。這就是邏輯卷管理(LVM)的用武之地。LVM 的好處之處在于它相當(dāng)靈活。有幾種方法可以添加一塊磁盤。這篇文章介紹了一種方法。
注意!
這篇文章并不包括將新的磁盤物理地安裝到系統(tǒng)中的過程。請(qǐng)查閱你的系統(tǒng)和磁盤文檔,了解如何正確地進(jìn)行安裝。
重要: 一定要確保你已經(jīng)備份重要數(shù)據(jù)。如果新磁盤已有數(shù)據(jù),那么本文中描述的步驟將破壞數(shù)據(jù)。
最好了解
本文并沒有深入介紹 LVM 的每一個(gè)功能,重點(diǎn)是添加磁盤。但基本上你要了解,LVM 有卷組(VG),它由一個(gè)或多個(gè)分區(qū)和/或磁盤組成。你把這些分區(qū)或磁盤以物理卷(PV)的方式添加到卷組。一個(gè)卷組可以分成許多邏輯卷(LV)。邏輯卷可以作為文件系統(tǒng)、ramdisk 等其他存儲(chǔ)使用。更多信息可以在這里中找到。
可以看作是,把物理卷形成一個(gè)存儲(chǔ)池(一個(gè)卷組),然后從這個(gè)存儲(chǔ)池中劃分出邏輯卷,供你的系統(tǒng)直接使用。
準(zhǔn)備
確保你能看到你要添加的磁盤。在添加磁盤之前使用 lsblk
查看哪些存儲(chǔ)空間已經(jīng)可用或正在使用。
-
$ 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 /
本文使用的是帶有虛擬存儲(chǔ)的虛擬機(jī),因此設(shè)備名稱以 vda
開頭代表第一個(gè)磁盤,vdb
代表第二個(gè)磁盤,以此類推。你的設(shè)備名稱可能不同。許多系統(tǒng)會(huì)將 sda
作為第一個(gè)物理磁盤,sdb
代表第二個(gè)磁盤,以此類推。
當(dāng)已連接新磁盤,并且你的系統(tǒng)已備份且正在運(yùn)行,再次使用 lsblk
來查看新的塊設(shè)備。
-
$ 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
現(xiàn)在有一個(gè)名為 vdb
的新設(shè)備。該設(shè)備的位置是 /dev/vdb
。
-
$ ls -l /dev/vdb
-
brw-rw----. 1 root disk 252, 16 Nov 24 12:56 /dev/vdb
我們可以看到磁盤,但我們還不能用 LVM 來使用它。如果你運(yùn)行 blkid
,你應(yīng)該不會(huì)看到它被列出。對(duì)于這個(gè)和之后的命令,你需要確保你的系統(tǒng)已配置好,這樣你可以使用 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
初始化磁盤。你需要傳遞設(shè)備的完整路徑。在這個(gè)例子中,它是 /dev/vdb
。在你的系統(tǒng)中,它可能是 /dev/sdb
或其他設(shè)備名。
-
$ sudo pvcreate /dev/vdb
-
Physical volume "/dev/vdb" successfully created.
當(dāng)你運(yùn)行 blkid
時(shí),你應(yīng)該看到磁盤已經(jīng)被初始化為一個(gè) 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
列出當(dāng)前所有可用的物理卷:
-
$ 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
被列為一個(gè) PV (物理卷),但還沒有分配到一個(gè) VG (卷組)。
將物理卷添加到一個(gè)卷組
你可以使用 vgs
找到可用的卷組列表:
-
$ sudo vgs
-
VG #PV #LV #SN Attr VSize VFree
-
fedora_fedora 1 1 0 wz--n- 19.00g 0
在本例中,只有一個(gè)卷組可用。接下來,將物理卷添加到 fedora_fedora
:
-
$ sudo vgextend fedora_fedora /dev/vdb
-
Volume group "fedora_fedora" successfully extended
你現(xiàn)在應(yīng)該看到物理卷已被添加到卷組中:
-
$ 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
你也可以獲得具體卷組和物理卷的詳細(xì)列表:
-
$ 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
現(xiàn)在我們已經(jīng)添加了磁盤,我們可以為邏輯卷 (LV) 分配空間:
-
$ sudo lvs
-
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
-
root fedora_fedora -wi-ao---- 19.00g
看一下邏輯卷。下面是詳細(xì)的邏輯卷信息:
-
$ 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
查看根文件系統(tǒng)(/
)的大小,并將它與邏輯卷大小進(jìn)行比較。
-
$ df -h /
-
Filesystem Size Used Avail Use% Mounted on
-
/dev/mapper/fedora_fedora-root 19G 1.4G 17G 8% /
邏輯卷和文件系統(tǒng)大小都為 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.
我們現(xiàn)在有 24G 的邏輯卷可用。看看根文件系統(tǒng)(/
)。
-
$ df -h /
-
Filesystem Size Used Avail Use% Mounted on
-
/dev/mapper/fedora_fedora-root 19G 1.4G 17G 8% /
我們?nèi)匀伙@示只有 19G 的空閑空間,這是因?yàn)檫壿嬀砼c文件系統(tǒng)不一樣。要使用增加到邏輯卷的新空間,請(qǐng)調(diào)整文件系統(tǒng)的大小。
-
$ 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.
看看文件系統(tǒng)的大小。
-
$ df -h /
-
Filesystem Size Used Avail Use% Mounted on
-
/dev/mapper/fedora_fedora-root 24G 1.4G 21G 7% /
正如你所看到的,根文件系統(tǒng)(/
)已經(jīng)占用了邏輯卷上的所有可用空間,而且不需要重新啟動(dòng)。
現(xiàn)在你已經(jīng)將一個(gè)磁盤初始化為物理卷,并使用新的物理卷擴(kuò)展了卷組。之后,你增加了邏輯卷的大小,并調(diào)整了文件系統(tǒng)的大小,以使用邏輯卷的新空間。
原文地址:https://linux.cn/article-12936-1.html