如何更改 /home 的挂载点

如何更改 /home 的挂载点

我正在使用 CentOS 5.8 x64bit

我的所有用户目录都在 /home/ 目录中,CentOS 与 /home 一起安装的驱动器位于

/dev/mapper/VolGroup01-LogVol00

而且它快满了,我还剩下 12%。我预计它会在 2 个月内被填满。所以我当时想的是向服务器添加 1TB 驱动器,然后将 /home 重新安装到新驱动器上,例如

/dev/sdd1       917G   1G      916G   1%   /home

但我在这里遇到了一些障碍。

您认为我必须在编辑挂载点之前将所有用户文件夹复制到新驱动器上吗fstab

所以这个过程可能类似于此;

  1. 格式化/分区新驱动器
  2. 将驱动器挂载到临时文件夹 /tempfolder 下
  3. 将 /home 的内容复制到 /tempfolder
  4. 编辑挂载到 /home 的位置而不是 /tempfolder

答案1

您可以使用的一个选项是 LVM(因为您的 /home 似乎已经是 LVM 卷的一部分)。使用它,您只需将新物理磁盘添加到 LVM 卷组,扩展逻辑卷,最后扩展文件系统。

在我的脑海里,

pvcreate /dev/your_new_disk
vgextend VolGroup01 /dev/your_new_disk
lvextend -l+%100FREE VolGroup01/LogVol00
resize2fs /dev/mapper/VolGroup01-LogVol00 

resize2fs如果使用除 ext3/4 以外的其他系统,请用您拥有的文件系统调整大小工具替换。

这种解决方案的缺点是,如果您的原始驱动器坏了,您的数据也会丢失。但是您有定期备份存储在某个地方,对吗?

答案2

您认为我必须在编辑 fstab 中的挂载点之前将所有用户文件夹复制到新驱动器上吗?

是的,我会这样做(就像您建议的那样):

  1. 将新的 1TB 磁盘挂载到/newhome
  2. 用于rsync -auvz --progress /home/ /newhome/复制数据
  3. 交换挂载点
  4. 最后rsync确保所有新数据都被复制

如果您想要额外的保存,请在最后的复制期间以/home只读方式挂载(mount -o remount,ro /home),但这会导致主目录暂时无法写入(如果磁盘很大,则可能需要一段时间)。

答案3

是的,这正是你必须要做的。

复制数据后,将“/home”重命名为“/oldhome”,并创建一个新的空“/home”。如果不这样做,而只是挂载新驱动器,则第一个驱动器仍将已满,但您将无法访问旧“/home”中的驱动器,因为在其上挂载了新驱动器。

PS:复制时,不要忘记保留权限等。我会执行“rsync -a”。

相关内容