如何在两个 VirtualBox 虚拟机之间复制大型数据集?

如何在两个 VirtualBox 虚拟机之间复制大型数据集?

我有两个独立的 CentOS 7 虚拟机,它们在安装在 Windows 8.1 主机上的 VirtualBox 中运行。如何将大量数据从其中一个 CentOS 7 虚拟机传输到另一个?

以下屏幕截图显示了两个虚拟机的桌面:

在此处输入图片描述

右侧虚拟机挂载了两个磁盘分区,分别为45GB分区和54GB分区,分区中实际的数据量远小于分区大小。 但是,如何将右侧显示的虚拟机中 45GB 磁盘分区的内容传输到左侧虚拟机中的 45GB 文件夹中? 然后对 54GB 磁盘分区重复此操作。

正确的答案需要一步一步的工作指导。

答案1

答案应该很复杂,我希望不要太复杂,但你读得越多,它就越复杂;对于大量数据,我可以建议你使用数字 1 或数字 5 和 6:

  1. 如果您不同时使用两个虚拟机,则可以将相同的虚拟磁盘安装到每个虚拟机上:无需复制。

  2. 你可以使用以下命令复制几行(或更多行)或文件复制粘贴机制。

    为此你需要在主机操作系统和客户操作系统之间共享剪贴板,安装增加客人在两个虚拟机上(可能设置双向并重新启动它们)。
    复制客户操作系统在与主机操作系统
    然后你粘贴来自主机操作系统到第二个客户操作系统

  3. 您可以启用拖放用同样的方法(点击机器,设置,常规,高级,拖放:设置为双向

  4. 你可以有常见的 共享文件夹在两台虚拟机上,使用其中一个共享目录作为缓冲区进行复制。

    安装新增嘉宾 你可以设置共享文件夹. 当您将文件放入共享文件夹时主机操作系统或来自客户操作系统,对另一个来说是立即可见的。(请记住,当不同的虚拟机上有不同的时钟设置时,文件的日期/时间可能会出现一些问题)。
    如果您在多台机器上使用共享的同一个文件夹,则可以通过直接在此文件夹中复制文件来交换文件。

  5. 您可以使用在两台不同的计算机之间复制文件的常用方法使用客户端-服务器应用程序。(例如,scp使用sshd适用于 Linux 的活动应用程序……你可以在这里获取有关 SSH 服务器的一些信息

    您需要在接收机器上安装一个活动服务器 ( sshd),在发送机器上安装一个客户端。当然,您需要设置授权(通过密码,或者更好的方式是通过自动认证方法)。

    笔记:许多 Linux/Ubuntu 发行版sshd默认安装:您可以pgrep sshd从 shell 查看它是否正在运行。您可以使用 安装sudo apt-get install openssh-server

  6. 你可以挂载部分文件系统通过虚拟机NFS或者SSH文件系统或者你也可以共享文件和目录使用 Samba。
    您可能会对这篇文章感兴趣无需 VirtualBox 共享文件夹即可在客户机和主机之间共享文件提供详细的分步说明。

您应该记住,您正在使用一个小型机器网络进行拨号,在这种情况下使用相同的操作系统,特别是:

  • 每个虚拟机都有自己的操作系统运行,并充当物理机的角色。
  • 每个虚拟机都是一个程序的一个实例拥有用户在托管操作系统中,并应受到用户在里面托管操作系统

  • Windows 喜欢鼠标,而 Linux 喜欢手指。:-)
    我的意思是我建议你启用拖放与 Windows 机器和共享文件夹或者熟悉 Linux。
    当你需要快速使用 Linux 时你会觉得需要ssh-keygen生成一次 SSH 密钥无需输入密码即可在远程机器上/从远程机器复制文件。这样它bash也可以远程自动完成!

参考

  • 您可以在以下位置找到一些其他详细信息或评论类似的答案针对两个分别以 Windows 和 Linux 为操作系统的虚拟机提出同样的问题。

相关内容