在 CentOS 6 中修改分区

在 CentOS 6 中修改分区

女士们先生们,我目前正在运行 CentOS6 6,存储空间为 300 GB。目前,/dev/sda 如下所示(通过 parted):

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  525MB  524MB  primary  ext4         boot
 2      525MB   322GB  322GB  primary               lvm

我正在修改该系统以符合 CIS 基准,并且我需要为 /tmp、/var、/var/log、/var/log/audit 和 /home 创建单独的分区。

有什么建议么???

编辑:添加了 PVS 和 LVS

# pvs
  PV         VG         Fmt  Attr PSize   PFree
  /dev/sda2  vg_ts0     lvm2 a--  299.51g    0


# lvs
  LV      VG         Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  lv_home vg_ts0    -wi-ao 239.68g
  lv_root vg_ts0    -wi-ao  50.00g
  lv_swap vg_ts0    -wi-ao   9.83g

答案1

如果您可以创建 Kickstart 脚本或在安装阶段以其他方式执行此操作,这将变得容易得多。我在这里假设您有一个安装到根目录的大逻辑卷。

您首先需要启动到救援模式(不挂载本地文件系统)并缩小根逻辑卷。如果物理卷上的所有可用空间都已用完,则无法创建任何新逻辑卷。

  1. 启动到救援模式
  2. lvm vgchange -a y
  3. e2fsck -f /dev/vg0/root(或者您的根逻辑卷在此处的任何名称。)
  4. resize2fs /dev/vg0/root <targeted size -10MB or so>您的目标大小不能小于数据量,否则您将截断文件系统!
  5. lvm lvreduce -L <targeted size>
  6. resize2fs /dev/vg0/root

我将文件系统缩小到略低于目标大小,然后将其扩大到逻辑卷容量,以节省古怪的块大小/舍入/数学废话。如果我擅长数学,我就会完成我的计算机科学学位,而不是成为系统管理员。

然后,您需要移动目标挂载点的当前目录,以使其不妨碍运行。(移动/var/var2/home/home2等)

然后,您可以创建新的逻辑卷、新的挂载点和/etc/fstab条目、挂载所有内容,然后将数据同步回/var2新的/var逻辑卷。(根据需要重复。)

这部分假设根文件系统(包含 /tmp)已挂载。您可以手动挂载,mount或者重新启动,然后让救援模式执行此操作。

基本上:

  1. lvcreate -ntmp -L<size> /dev/vg0(像上面那样将 vg0 替换为您的卷组。)
  2. mkfs.ext3 -L tmp /dev/vg0/tmp
  3. mv /tmp /tmp2
  4. mkdir /tmp
  5. /etc/fstab为您的新挂载点添加条目。
  6. mount -a
  7. 将 /tmp2 的数据移回新的 /tmp。删除 /tmp2。

答案2

你走对了路。只需为所有这些目录创建单独的逻辑卷。它们不必是物理分区。

由于 lv_home 包含最多的空间,您应该能够远程执行此操作。

  1. /home备份您想要保存的任何内容。
  2. umount /home
  3. lvremove /dev/vg_ts0/lv_home或者lvreduce -L200G /dev/vg_ts0/lv_home
  4. lvcreate -nlv_tmp -L<size> vg_ts0
  5. lvcreate -nlv_var -L<size> vg_ts0
  6. lvcreate -nlv_varlog -L<size> vg_ts0
  7. 对剩余的挂载点重复上述操作。
  8. lvcreate -nlv_home -L<size> vg_ts0

这还将在卷组中留下一些空间,以便以后扩展其他逻辑卷。

相关内容