我在一台旧电脑上安装了 Ubuntu Server 20.04,这台电脑的硬盘上有 1TB 的存储空间。我计划将其变成家庭媒体服务器,但我担心磁盘空间不足。我认为我在安装时意外选择了 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
(因此本例中的第一个将被视为设备/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
,请使用与指定文件系统的行中使用的相同值/
)。