重新平衡 CentOS / RHEL Ext4 LVM 分配

Thi*_*his 3 partition ext4 hard-drive lvm centos

我们的企业标准是 CentOS(它似乎更喜欢 LVM),而且我主要来自非 LVM 背景,所以我正在处理这个问题。

我继承了一台旧机器作为日志服务器,不得不重新安装 CentOS。由于主板上的 EHCI 问题(通过普通安装 DVD 或通过 LiveCD GUI 安装),我能找到的唯一可以安装 CentOS 6.3 的是 LiveCD 文本安装。LiveCD 文本安装不允许我在磁盘上进行自己的分区设置;它只安装 LVM 并为我的日志服务器分配了错误的空间...

[mpenning@someHost ~]$ cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m

[mpenning@someHost ~]$ df -m
Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/mapper/vg_livecd-lv_root
                         50397      2167     47719   5% /
tmpfs                     1850         0      1850   0% /dev/shm
/dev/md127p1               485        65       395  15% /boot
/dev/mapper/vg_livecd-lv_home
                        227001       188    215283   1% /home
[mpenning@someHost ~]$ sudo lvm vgdisplay
  --- Volume group ---
  VG Name               vg_livecd
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               278.96 GiB
  PE Size               4.00 MiB
  Total PE              71415
  Alloc PE / Size       71415 / 278.96 GiB
  Free  PE / Size       0 / 0
  VG UUID               8qywNz-cmKv-RxAH-WcsV-2nEA-sGg3-fcZ6BU

[mpenning@someHost ~]$
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 如果我需要增加到/257398 个 1-M 块并减少/home到 20000 个 1-M 块,我可以在不重新启动的情况下执行此操作吗?如果可以,执行此操作的具体命令序列是什么?
  2. 如果我想添加一个专用/var分区,不完全重装应该怎么做?

lar*_*sks 5

如果我需要增加 / 以拥有 257398 个 1-M 块并将 /home 减少到 20000 个 1-M 块,是否可以在不重新启动的情况下执行此操作,如果需要,执行此操作的具体命令序列是什么?

您大约有 280GB 的可用空间,其中 50GB 已分配给“/”,230GB 已分配给/home. 因为这代表了您所有的可用空间,所以您必须先释放一些空间。这里有几个选项:

如果您没有在 中放置任何数据/home,最简单的方法是丢弃现有的文件系统并使用适当的大小重新创建它:

可以缩小 /home而不是丢弃它,但这可能有点棘手:

你会注意到我比 LV 减少了一点点文件系统;这是因为我永远不记得他们是否以相同的方式计算事物,所以我试图留出一点回旋余地。

在这两种情况下,此时您的卷组中现在大约有 210GB 的可用空间。现在您可以增加根文件系统的大小:

请注意,由于我在此答案中使用的四舍五入,您可能需要使用略小于 260G 的数字。此外,LVM 实用程序的最新版本包括为您调整文件系统大小的能力,但自从这些选项可用之前我就一直在这样做……所以我不能声称确切知道它们是如何操作的。

如果我想添加一个专用的 /var 分区,我应该如何在不完全重新安装的情况下进行?

首先,您可能希望在单用户模式下执行此操作,否则正在运行的进程可能会打开文件,/var从而难以替换。话说回来...

您将再次需要可用空间。如果您没有在上一步中用完所有可用空间,而是留下几 GB 可用空间,则可以执行以下操作: