我在我的一台舊 PC 上安裝了 Ubuntu Server 20.04,該 PC 的硬碟上有 TB 儲存空間。我計劃將其製作成家庭媒體伺服器,但我擔心我的磁碟空間。我相信我在安裝時意外選擇了 LVM 分割區,因此我的sudo df -h
顯示 /dev/mapper/ubuntu--vg-ubuntu--lv 作為安裝在「/」上的主分割區。
Filesystem Size Used Avail Use% Mounted on
udev 2.8G 0 2.8G 0% /dev
tmpfs 570M 1.8M 568M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 196G 113G 74G 61% /
tmpfs 2.8G 0 2.8G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.8G 0 2.8G 0% /sys/fs/cgroup
/dev/sda2 976M 298M 611M 33% /boot
/dev/loop2 70M 70M 0 100% /snap/lxd/19188
/dev/loop1 56M 56M 0 100% /snap/core18/2074
/dev/loop3 68M 68M 0 100% /snap/lxd/20326
/dev/loop0 56M 56M 0 100% /snap/core18/2066
/dev/loop5 32M 32M 0 100% /snap/snapd/10707
/dev/loop4 33M 33M 0 100% /snap/snapd/12159
overlay 196G 113G 74G 61% /var/lib/docker/overlay2/099cc8dee5efe66386fdad846cbc028cd7f74f961698b4378dff88e184985584/merged
overlay 196G 113G 74G 61% /var/lib/docker/overlay2/af47d3da6cd00707ef1971ef0f6fb8a90d239288da2748d8bacdd771067228bb/merged
overlay 196G 113G 74G 61% /var/lib/docker/overlay2/3584ebdf079771abe86c7d2e282d9bf46e87965517615c2004c67df81bdae96d/merged
overlay 196G 113G 74G 61% /var/lib/docker/overlay2/089c653433adb03e55fe57a4de5dd1c93fde717d6691e4cc22d03b92a7b5ab32/merged
overlay 196G 113G 74G 61% /var/lib/docker/overlay2/be5b851448bc9288b7afa58b520a0287c5a2ac1851c41c572695e8920b7791b4/merged
tmpfs 570M 4.0K 570M 1% /run/user/1000
這是輸出的一部分sudo fdisk -l
:
Disk /dev/sda: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WDC WD10EADS-65M
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2249399A-6905-4681-AA84-3DFB8B43241D
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 2101247 2097152 1G Linux filesystem
/dev/sda3 2101248 1953521663 1951420416 930.5G Linux filesystem
Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
根據 的數據,該分割區上只有 200 GB df
。我對 LVM 分區了解不多,但如何確保我的“/”分區使用了硬碟上的所有可用空間?或者也許只是我的媒體目錄?
答案1
如果您可以選擇重新安裝,那麼最簡單的方法可能是在不使用 LVM 的情況下重新安裝系統。
如果您無法重新安裝,以下命令可能會幫助您調查發生了什麼情況。
LVM 在物件的三個「層」上運作。底層是物理捲(可能您只有一個,因為您只有一個可用分割區)。簡而言之,物理磁碟區是將用於 LVM 的分割區或整個磁碟。該指令sudo pvs
將列出系統上定義的物理卷。這是一個範例輸出:
PV VG Fmt Attr PSize PFree
/dev/sda1 vg_xymon lvm2 a-- 135.97g 0
/dev/sdb2 vg_xymon lvm2 a-- 136.17g 0
我們可以看到有兩個實體磁碟區(分割區),位於兩個不同的磁碟上 -/dev/sda1
和/dev/sdb2
。顯示它們的大小,並且“VG”列指示它們都被分配給卷組叫vg_xymon
.
卷組是物理捲和邏輯卷之間的中間層,它允許例如。使邏輯卷跨越多個物理卷。系統中通常只有一個卷組。您可以使用指令顯示有關卷宗組的資訊sudo vgs
。再次,輸出範例:
VG #PV #LV #SN Attr VSize VFree
vg_xymon 2 3 0 wz--n- 272.14g 0
我們可以看到卷組跨越兩個物理卷(如前所示),因此卷組大小等於它們大小的總和(在您的情況下,物理卷大小和卷組大小都應等於你的分區- 如果不是,那就真的出了問題)。我們還可以看到有3個邏輯磁碟區在此卷組中定義。
邏輯磁碟區是頂層 - 這些是檔案系統實際所在的位置。您的/dev/mapper/ubuntu--vg-ubuntu--lv
裝置是一個邏輯磁碟區。路徑的最後一個組成部分是磁碟區組名稱、破折號和邏輯磁碟區名稱的組合。所以你的邏輯磁碟區被稱為ubuntu--lv
並且屬於卷組ubuntu--vg
。
還有一個命令sudo lvs
,顯示有關邏輯卷的資訊:
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_home vg_xymon -wi-ao--- 218.28g
lv_root vg_xymon -wi-ao--- 50.00g
lv_swap vg_xymon -wi-ao--- 3.86g
(因此本例中的第一個將作為 device 可見/dev/mapper/vg_xymon-lv_home
)。也許你的問題就在這裡,即。邏輯磁碟區小於您的磁碟區組,且磁碟區組中的其餘空間未指派。
在這種情況下,您可以使用以下命令擴展它以填充整個卷組:
sudo lvextend -r /dev/mapper/ubuntu--vg-ubuntu--lv
但是,由於您的根檔案系統安裝在該邏輯磁碟區上,因此可能無法從已安裝的系統擴充它,並且您可能需要從安裝媒體引導才能完成此操作。在這種情況下,最好建立一個額外的邏輯卷,使用卷宗組上的其餘空間並將其安裝到您的媒體目錄上,同時保持根檔案系統不變:
sudo lvcreate -l 100%FREE -n media ubuntu--vg
media
這將在現有磁碟區組中建立新的邏輯磁碟區ubuntu--vg
(因此裝置路徑將為/dev/mapper/ubuntu--vg-media
),使用磁碟區組中 100% 的可用空間。
然後你必須格式化新建立的邏輯磁碟區:
sudo mkfs /dev/mapper/ubuntu--vg-media
最後將其安裝到您的/media
目錄中(或無論它被稱為什麼,您必須先建立空目錄):
sudo mount /dev/mapper/ubuntu--vg-media /media
如果你希望這個安裝是持久的,即。您不需要sudo mount
每次啟動系統時都重複上述命令,您需要編輯/etc/fstab
檔案 ( sudo gedit /etc/fstab
) 並在其中新增以下行:
/dev/mapper/ubuntu--vg-media /home ext4 defaults 0 2
(假設您的檔案系統是ext4
,請使用與指定檔案系統的行中使用的相同值/
)。