在实时 RHEL/cPanel 服务器上调整分区大小

在实时 RHEL/cPanel 服务器上调整分区大小

多年来,我在 Linux、Windows 和 Mac OS X 上调整过许多分区的大小——但总是使用 GUI。然而,数据中心在服务器上设置的预设分区大小不合适,我需要调整生产服务器的磁盘大小。我可以摆弄它,可能没问题,但考虑到它是一台生产服务器,我想得到一些关于如何正确执行此操作的建议。我确实有 KVM over IP 访问权限,所以如果最好让服务器脱机并从救援分区启动,我可以这样做。

root [/var/lib/mysql]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       9.9G  2.1G  7.3G  23% /
tmpfs           7.8G     0  7.8G   0% /dev/shm
/dev/sda1        99M   77M   18M  82% /boot
/dev/sda8       884G  463G  376G  56% /home
/dev/sda3       9.9G  8.0G  1.5G  85% /usr
/dev/sda5       9.9G  9.1G  308M  97% /var
/usr/tmpDSK     2.0G   38M  1.8G   3% /tmp

如您所见,/var 和 /usr 几乎已满,实际上我不得不将 /usr 上的一些日志符号链接到 /home 中的目录以平衡空间。我想要做的是为 /usr 和 /var 分别添加 6-10 GB,大概会占用 /home 中的空间。

当我考虑磁盘的排列方式时,我想到最好的办法是将 /home 减少 16 GB,然后将 /var 移动到释放的位置,然后将 /var 的空间分配给 /usr。但是,这会将 /var 放在磁盘的最远端,这似乎不太可行,因为 MySQL 的所有数据都位于该分区上。我很想从 /usr 较近的一端取出空间,但我认为这将需要一个非常艰巨(甚至可能很危险)的过程来移动 /usr 中的所有数据。我似乎记得过去在计算机上执行此过程时失败了。

另一个选择可能是合并 / 和 /usr,因为 / 未得到充分利用,但我不确定这是否是个好主意。

您对最佳重新分配计划以及实现该计划的命令有什么建议吗?

更新:我应该补充一下——这是分区表。有一个未使用的分区,如果我没记错的话,它是我在创建临时映像之前的原始临时位置:

    Name        Flags      Part Type  FS Type          [Label]      Size (MB)
 ------------------------------------------------------------------------------
                                      Unusable                      1.05*
    sda1        Boot        Primary   Linux ext2                    106.96*
    sda2                    Primary   Linux ext3                    10737.42*
    sda3                    Primary   Linux ext3                    10737.42*
    sda5        NC          Logical   Linux ext3                    10738.47*
    sda6        NC          Logical   Linux swap / Solaris          2148.54*
    sda7        NC          Logical   Linux ext3                    1074.80*
    sda8        NC          Logical   Linux ext3                    964098.53*

答案1

在实时系统上重新调整 /var 和 /home 以及 /usr 的大小是个坏主意。我建议停机进行此维护。

对于未来,我还建议您扩大范围并研究在服务器上设置 LVM,这样您就有机会在需要时进行实时调整,而不必担心数据在磁盘上的实际分配位置。这里是一个有关如何做到这一点的详细教程的链接。

如果您决定在没有 LVM 的情况下调整分区大小,则从恢复磁盘运行的命令大致如下:

  • 卸载 [fs]
  • resize2fs [fs] [缩小尺寸]
  • fdisk /dev/sda
  • resize2fs [fs]
  • fsck [文件系统检查]
  • 挂载 [fs]

上面的关键命令是fdisk /dev/sda。您将在此处执行的操作是删除并根据需要重新创建分区以进行调整。只需确保您在操作过程中观察文件系统的实际存储位置,并准备好备份即可。

相关内容