如何为 Google Cloud Compute Engine 挂载磁盘以与 /home 一起使用?

JV8*_*88V 5 cloud centos google-compute-engine google-cloud-platform

我有一个虚拟机实例,带有一个运行 CentOS 7 的小型 10GB 启动磁盘,并且想要安装一个更大的 200GB 持久磁盘来包含与以前的专用服务器中的 /home 目录相关的数据(可能通过 scp)。\n以下是我的尝试:

\n\n

尝试#1,符号链接可能有效,但有一些问题。

\n\n
    \n
  • 将磁盘安装到 /mnt/disks/my-persistent-disk
  • \n
  • 在永久磁盘上创建文件夹来镜像旧服务器的 /home 目录中的文件夹。
  • \n
  • 在 /home 目录中为每个文件夹创建一个符号链接,指向永久磁盘。
  • \n
  • scp 从旧服务器到第一个帐户的 VM /home/example_account。意识到 scp 不遵循符号链接 (oops),因此文件转到启动驱动器而不是磁盘。
  • \n
  • 我想我可以 scp 到 /mnt/disks/my-persistent-disk 并管理符号链接和文件夹。这会带来问题吗?使用此配置制作虚拟机映像是否会延续到新实例(使用自动缩放等)?
  • \n
\n\n

尝试#2,安装到 /home。\n为了寻找与 ftp、scp 等一起使用的更“自然”的配置,我将磁盘安装在 /home/example_account 中

\n\n
$ sudo mkdir -p /home/example_account\n$ sudo mount -o discard,defaults /dev/sdc /home/example_account\n$ sudo chmod a+w /home/example_account\n#set the UUID for mounting at startup\n$ sudo blkid /dev/sdc\n$ sudo nano /etc/fstab\n$ lsblk\nNAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT\nsda      8:0    0   10G  0 disk \n\xe2\x94\x94\xe2\x94\x80sda1   8:1    0   10G  0 part /\nsdc      8:32   0  200G  0 disk /home/example_account\n
Run Code Online (Sandbox Code Playgroud)\n\n
    \n
  • 从旧服务器到 /home/example_account 中的 VM 的 scp 工作正常。耶。但是,我希望 /home 目录中不止有 1 个文件夹。我想我可以对磁盘进行分区,但这感觉有点麻烦,而且我不确定将来会使用多少个帐户。
  • \n
\n\n
\n\n

尝试 #3,挂载为 /home \n我认为最好的解决方案是将永久磁盘挂载为 /home 目录。这将允许在 /home 中轻松添加新帐户,而无需符号链接或磁盘分区。

\n\n
    \n
  • 尝试将 /home 目录移动到 /home.old,但意识到 Google Cloud Compute Engine 不允许这样做,因为我已登录系统。
  • \n
  • 更改为 root 用户,但仍然显示 myusername@instance 已登录并使用 /home 目录。作为 root,我发出了 pkill -KILL -u myusername 并且 SSH 终止了——显然 Google 云计算引擎是如何与他们的 SSH 窗口一起工作的。

  • \n
  • 由于我无法更改 /home 目录,因此除非有解决方法,否则此方法似乎不可行。

  • \n
\n\n

我的想法:\n理想情况下,我认为#3是最好的解决方案,但也许我缺少一些东西(#4解决方案)或者上述情况之一是更好的想法,但也许有更好的执行。

\n\n

我的问题:\n简而言之,如何将旧服务器的数据移动到具有永久性磁盘的 Google Cloud 虚拟机?

\n