扩展 /home 分区

扩展 /home 分区

我目前已将所有备份保存在 中/home。我在机器中添加了一个新的 2 TB 磁盘,并希望扩展我的当前的 /home按 2 TB 进行分区(可能使用 LVM)。但是,出于显而易见的原因,我不想丢失数据/home

最好的方法是什么?在 2 TB 磁盘上创建一个新的 LVM 组,然后将旧/home分区添加到其中?或者还有其他方法吗?

编辑

我当前的分区表:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              39G   11G   27G  28% /
/dev/sda2              99M   31M   64M  33% /boot
/dev/sda5             2.0G   68M  1.9G   4% /tmp
/dev/sda6             876G  474G  357G  58% /home

答案1

假设您的 2 TB 驱动器是/dev/sdb

  1. 从中创建一个物理卷:pvcreate /dev/sdb
  2. 创建卷组:vgcreate <name of the VG> /dev/sdb
  3. 从 VG 创建 LV lvcreate --extents %FREE --name <name of the LV> <name of the VG>:。
  4. 假设您的首选文件系统类型是 ext4 mkfs.ext4 -m 0 /dev/mapper/<name of the VG>-<name of the LV>:。
  5. 将新创建的 LV 挂载到某个位置(例如/mnt):mount /dev/mapper/<name of the VG>-<name of the LV> /mnt并从那里复制内容/home。我将使用 rsync 来实现此目的:rsync -av /home/ /mnt/。这会花费您一些时间,并且您希望 /home 保持挂载状态,以便您的每日备份能够顺利运行。rsync 完成后,重新运行它以捕获更改。要绝对确保将所有数据从 /home 复制到 /mnt,您可以将 /dev/sda6 重新挂载为只读,然后再次运行 rsync。
  6. rsync完成后:umount /dev/sda6,,并相应地修复 /etc/fstab(运行以测试它)。umount /dev/mapper/<name of the VG>-<name of the LV>mount /dev/mapper/<name of the VG>-<name of the LV> /homemount -a
  7. 此时,新驱动器上会有 /home,而 /dev/sda6 可以自由加入 LVM 配置。您需要将其添加到 LVM。更改分区的系统类型:fdisk /dev/sda,然后t-6-L-8e-w-q(我相信这是顺序,但不确定现在是否需要它)。
  8. 将 /dev/sda6 添加到 VG:pvcreate /dev/sda6、vgextend、lvextend resize2fs -p /dev/mapper/<name of the VG>-<name of the LV>、。
  9. 完毕!

答案2

您可以将主目录移至额外的分区,而不是扩展主文件夹。这也使得迁移到新系统变得容易得多,而无需移动主目录。

创建一个新分区并使用您选择的文件系统(即 ext4)对其进行格式化。将主文件夹中的所有内容复制到新分区,然后通过在 /etc/fstab 中添加相应的行来告诉系统在启动时将新分区挂载到主目录中:

UUID=<some UID of your new partition>  /home/username  ext4  nodev,nosuid  0  1

根据文件系统和挂载选项,您可能需要更改此行。

编辑 - 啊,明白了。您确实需要两个驱动器。在这种情况下,LVM 可以做到,但您必须在创建分区时将数据存储在某个地方...

sudo vgcreate vol_grp1 /dev/sda7
sudo lvcreate -n logical_vol1 vol_grp1
sudo  mkfs.ext3 /dev/vol_grp1/logical_vol1

然后将其安装到某个地方并将数据复制到其中。卸载当前主磁盘并在其位置安装新的 VG 磁盘。之后,您将能够使用 lvextend 将其扩展到原始驱动器。

vgextend logical_vol1 /dev/sda?
lvextend  /dev/logical_vol1/logical_vol1

相关内容