作为 Linux 新手,我想增加 fedora-root 中的磁盘空间大小,但似乎其他文件系统中还有大约 16GB 的可用空间。这是正确的评估吗?下面我提供了命令 df 和 pvscan 的结果。
[lobster@localhost ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 4.9M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/fedora-root 22G 20G 612M 98% /
tmpfs 3.9G 144K 3.9G 1% /tmp
/dev/sda1 976M 128M 782M 15% /boot
tmpfs 797M 20K 797M 1% /run/user/42
tmpfs 797M 11M 787M 2% /run/user/1000
[lobster@localhost ~]$ sudo pvscan
[sudo] password for lobster:
PV /dev/sda2 VG fedora lvm2 [24.00 GiB / 0 free]
Total: 1 [24.00 GiB] / in use: 1 [24.00 GiB] / in no VG: 0 [0 ]
我承认这个问题类似于根文件系统中没有更多空间,我该如何增加大小? 但是,当我从该线程运行解决方案时,我收到以下
[lobster@localhost ~]$ sudo lvextend --size +3.9G --resizefs /dev/fedora/root
Rounding size to boundary between physical extents: 3.90 GiB.
Insufficient free space: 999 extents needed, but only 0 available
请帮助我以最简单的方式了解如何增加根磁盘空间。谢谢。
编辑:附加信息
[lobster@localhost ~]$ sudo fdisk -l /dev/sda
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 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
Disklabel type: dos Disk identifier: 0x4bf237d2
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 2099199 2097152 1G 83 Linux
/dev/sda2 * 2099200 52426751 50327552 24G 8e Linux LVM
答案1
误解
看起来其他文件系统有大约 16GB 的可用空间
好吧,如果这个可用空间在磁盘上,那么可能有办法做你想做的事;但是devtmpfs
将tmpfs
数据存储在 RAM 中。RAM 是易失性的,你不能用它来进行长期存储。
即使可以,这些3.9G
值也不会增加。基于 RAM 的文件系统取自公共池。向其中一个添加文件会减少其他可用空间。
抽象层
您的案例中,抽象层很少。我们来给它们命名(首先是外层):
- 物理设备
/dev/sda
- 分区,其中包括 LVM 使用的分区:
/dev/sda2
- LVM提供的虚拟设备:
/dev/mapper/fedora-root
- 文件系统
- LVM提供的虚拟设备:
- 分区,其中包括 LVM 使用的分区:
每一层的更改都使用不同的操作/命令进行。一般来说,如果您想要扩展文件系统并且需要修改几层,则从最外层开始;如果您想要缩小,则从最内层(即文件系统本身)开始。
概述
那么您可以使用什么呢?您的扇区为/dev/sda
字节。扇区编号从到。其中包括:52428800
512
0
52428799
- 该扇区
0
是 MBR。 - 扇区
1
-2047
可能保存引导加载程序的(一部分)。您不应该触碰它们。无论如何,它大约有 1 MiB,不是很大的空间。 - 扇区
2048
-52426751
是您的两个分区。稍后我们将回顾它们。 - 扇区
52426752
-52428799
可能未使用。另外 1 MiB,几乎没有。
运行fdisk -l
并lsblk
查看是否还有其他设备可用。这是一般性建议,我想如果它们在那里,您就会知道。
好的,怎么样/dev/sda2
? 告诉Linux LVM
您pvscan
整个空间是分布式的。 它的绝大部分构建/dev/mapper/fedora-root
用于保存您的根文件系统(安装在 下/
)。 文件系统的大小约为 22 GiB。 这小于 报告的 24 GiB pvscan
;可能的原因:
- LVM 保存您的交换分区,大约 2 GiB(可能,运行
lvscan
并swapon
确认); - 或者文件系统小于
/dev/mapper/fedora-root
虚拟设备(不太可能); - 其他(不太可能)。
怎么样/dev/sda1
?它保存挂载在下的文件系统/boot
。很可能你不需要整个 1 GiB,它可以更小。如果你缩小它,你将能够创建一个新分区(如sda3
),将其添加到 LVM 并扩展根文件系统。如果你缩小它太多,你将在操作系统升级期间遇到问题。你大概可以从中获得几百 MiB 并避免将来出现问题,但是
- 它是仅有的几百MiB;
- 如果出现任何问题,您的操作系统可能无法启动。
您的选择(摘要)
- 使用
ncdu
或类似工具来识别根文件系统中的大文件/目录;思考、调查是否可以删除它们。这样或许您无需调整文件系统大小即可获得一些可用空间。 - 减少交换分区(如果有的话)并重新配置 LVM,以便最终能够扩展根文件系统。您还没有告诉我们您的交换分区,很难说您可以获得多少空间,或者首先这样做是否有任何意义。一般来说,您确实需要一定数量的交换空间。
- 缩小当前安装的文件系统
/boot
(如上所述)。 - 物理连接另一个设备(如
/dev/sdb
)并将其或其分区添加到 LVM。您提供的信息让我相信这是显著地增加根文件系统。如果我们讨论的是虚拟机,您可能能够扩展现有设备/dev/sda
(对于真正的物理设备通常不可能),而不是添加单独的新设备。
笔记
- 使用 LVM 很好。它使上述大多数选项变得更简单。
- 扩展文件系统本身将是最后一步。我不知道它是什么类型。一些文件系统类型(ext4, btrfs) 支持在线操作;这意味着您可以在挂载文件系统时扩展它,这对于根文件系统非常有用。
- 为了更详细地指导您(实际命令等),我们需要知道您选择的选项。涵盖所有这些会使问题和答案变得非常广泛,您还需要提供大量其他信息。因此
- (元注释)我建议将这个问题改为“我有哪些方法可以增加根磁盘空间?”做出决定后,您可以提出另一个问题以了解详细信息(或者可能已经有一个类似的问题)。我们可以稍后从这里链接到详细问题。