将 /home 重新挂载到新卷中

将 /home 重新挂载到新卷中

在安装了主要使用/home.该应用程序需要利用额外的存储空间,因此我想重新挂载该卷,以便 /home 目录使用它。谁能确认我下面的步骤吗?

umount -v /mnt/volume_nyc1_01
# Edit /etc/fstab 
# Replace the second field of the mountpoint's entry with /home
mount -av

我很感激您的反馈。我这样问是希望避免因忽视重要的考虑因素而弄乱我的系统。

答案1

我假设这/mnt/volume_nyc1_01是新 ext4 卷的安装点。有一行/etc/fstab将该卷安装在 上/mnt/volume_nyc1_01

您提到的步骤在技术上并没有错误,但如果您遵循它们,您最终会得到一个空/home目录 - 因为它只是一个新的 ext4 fslost+found才会在那里。

我针对此类情况采取的步骤是:

  • 使用 停止任何服务、守护进程、应用程序/home
    lsof |grep "/home"可以帮助你。
  • /etc/fstab暂时保持原样,并将所有数据从 复制/home/mnt/volume_nyc1_01
    我会使用这个命令:
    sudo rsync -aHAXS /home/* /mnt/volume_nyc1_01
  • 成功复制所有内容后,您可以继续执行您所描述的步骤。新卷将安装/home并包含您的所有数据。

如果一切正常并正在运行,在将来的某个时刻,您可以从挂载点卸载新卷,并删除目录中仍存在的/home文件,并回收第一个卷上的空间。/home请小心,/home它仍然是第一个卷上的目录,它也用作第二个卷的挂载点。因此/home,如果您先卸载第二卷,则可以从目录中删除文件,而无需删除第二卷中的文件。如果这一切看起来很复杂,那就把旧文件放在那里吧。

答案2

我对此的第一个回答是:不要。如果您不知道自己在做什么,则可能会丢失您(以及任何其他)的主目录。尤其是你上面提到的方式。

由于您没有提到您使用的应用程序,我只会提供一些通用建议:

  1. 检查应用程序的首选项,看看是否可以将其数据指向所需的位置,然后您可以在任何新的安装点安装新驱动器,将应用程序的当前数据复制到那里,然后向 fstab 添加一行以将驱动器永久安装到那里:

       find the app's current data storage dir, then
     $mkdir <app mount point>
     $mount </dev/sdX> <app mount point> (where </dev/sdX> is the new drive)
     $cp -pr <current app data> <app mount point>
       using your favorite text editor, add a new line to "/etc/fstab" that looks like this:
    
       </dev/sdX>   <app mount point>    ext4    defaults   1 1  
    
     finally, change the app's data storage preference to <app mount point>
    

    (检查man fstab该行条目的格式和含义)

当您启动应用程序时,一切看起来都应该和以前一样。正如我上面提到的,在不了解该应用程序的情况下,我无法告诉您如何更改首选项 - 如果可以的话。在执行此操作之前,请检查应用程序的帮助页面以获取更多信息。

  1. 更危险的是,您可以将新驱动器安装为您的主目录:

            using your favorite text editor, add a new line to "/etc/fstab" that looks like this:
    
         </dev/sdX>   <app mount point>    ext4    defaults   1 1
    
           Mount the drive /dev/sdX at some temporary point and copy your currrent home dir to the new mount point:
    
         $mount </dev/sdX>  /mnt
         $cp -pr /home/you/* /mnt/.
           reboot, and you should be able to login as before, and nothing else would have (should have?) changed.
    

正如我一直说的,如果你不知道自己在做什么,这是很危险的。

相关内容