网站搜索

如何在Linux中扩展根分区的空间


作为一个Linux用户,您最终可能会遇到一个情况,即您的根分区(/)用尽了空间,这可能会导致错误,阻止软件安装,甚至会使您的系统无法正常运作。

扩展根分区听起来可能很棘手,特别是对于初学者,但只要有一点指导和耐心,这绝对是可以做到的,正如本文所解释的那样。

理解根分区

根分区 (/) 是您的 Linux 操作系统所在的位置,包含所有系统文件、已安装的应用程序、配置设置,有时还包括用户数据(如果 /home 不在单独的分区上)。

根分区可能因多个原因而满。

  • 安装很多应用程序。
  • 大型日志文件占用了空间。
  • 未被自动清理的临时文件。
  • 数据库或开发工具将数据存储在/上。

当根分区空间不足时,Linux 可能开始出现不可预测的行为。扩展它有助于防止这些问题,并保持系统运行顺利。

如何检查当前磁盘使用情况

第一步是使用以下 df 命令查看您当前的分区布局以及您拥有多少空间。

df -h

上述命令以人类可读的格式显示磁盘使用情况,您可以看到 / 几乎已满(使用率90%)。

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G   18G  2G  90% /
tmpfs           2.0G  1.2M 2.0G 1% /dev/shm

接下来,使用以下 fdisk 命令检查您的分区布局:

fdisk -l

上述命令将列出系统上的所有磁盘分区。

NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda      8:0    0  50G  0 disk 
├─sda1   8:1    0  20G  0 part /
├─sda2   8:2    0  10G  0 part /home
└─sda3   8:3    0  20G  0 part

请注意,/ 只有 20GB,而 /home 是 10GB。我们可能希望利用磁盘上未使用的空间或缩小其他分区。

重要:备份您的根分区

在对您的分区进行任何更改之前,请务必备份您的重要数据,因为在分区过程中确实可能发生错误,这可能导致数据丢失,因此最好小心为上。

要备份您的根分区,我们将使用如图所示的rsync命令,或者您可以使用其他您喜欢的备份工具。

rsync -av --progress / /path/to/backup/

增加根分区空间有几种方法,您选择的方法取决于您的设置。

方法 1:使用 GParted 扩展根分区

如果您使用的是桌面计算机或者有一个Live CD/USB,GParted是最简单的工具。

  • 从 Live USB/CD 启动 – 你无法调整已挂载的根分区的大小,所以首先要进入一个 live Linux 环境。
  • 启动 GParted – 从菜单中打开 GParted,查看所有分区的列表。
  • 调整根分区的大小 – 确定 /(根)分区,检查旁边是否有未分配的空间,右键单击该分区并选择 调整大小/移动。
  • 应用更改 – 点击勾号按钮以应用更改,请耐心等待;这可能需要几分钟。

重启后,运行 df -h 来确认根分区的大小是否增加。

方法2:使用LVM(逻辑卷管理器)

如果您的根分区在LVM上(许多现代Linux发行版,如CentOS、RHEL和Ubuntu支持LVM),扩展更加安全,并且不需要从Live CD启动。

首先,检查根是否在LVM上。

lsblk

您可能会看到类似的内容,这里,/ 是一个LVM逻辑卷(lv_root),位于卷组vg_root中。

NAME                 MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                    8:0    0  50G  0 disk 
└─sda2                 8:2    0  50G  0 part
  ├─vg_root-lv_root   253:0  0  20G  0 lvm  /
  └─vg_root-lv_home   253:1  0  30G  0 lvm  /home

如果卷组中有可用空间,您可以扩展逻辑卷。

sudo lvextend -L +10G /dev/vg_root/lv_root
  • +10G 意味着添加 10GB 到根目录。
  • 将 /dev/vg_root/lv_root 替换为您的路径。

接下来,调整文件系统的大小。

sudo resize2fs /dev/vg_root/lv_root  #for ext3
sudo xfs_growfs /                    #for xfs

调整大小后,运行以下命令以确认根分区已增加大小。

df -h

方法3:缩小另一个分区

如果未使用 LVM 并且没有未分配的空间,您可以缩小另一个分区,例如 /home,以创建空间:

  • 备份 /home – 确保您所有重要文件都保存在安全的地方。
  • 从 Live USB 启动 – 从 Linux USB 启动你的电脑,这样分区就不会被使用。
  • 使用GParted缩小/home – 使用GParted来减小/home分区的大小并释放空间.
  • 移动根分区 - 小心地将根分区移到未使用空间。这一步是高级和有风险的。
  • 调整文件系统大小 – 扩展根文件系统,以便它可以使用新空间。

提示:这对初学者来说很棘手。如果可能的话,请使用LVM或处理已经有未分配空间的分区。

结论

在根分区空间不足时可能会感到压力,但一旦你了解自己的系统并遵循正确的步骤,扩展它是完全可行的。

对于初学者来说,通过Live USB使用GParted是扩展根分区最安全的方法,而LVM用户则可以灵活地安全执行此操作而无需重启。

在进行任何更改之前,请始终记得备份您的重要数据,并在调整分区大小之前仔细检查您的分区。