如何確保我使用了所有硬碟?

如何確保我使用了所有硬碟?

我在我的一台舊 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,請使用與指定檔案系統的行中使用的相同值/)。

相關內容