我想购买一个 4TB 的 USB3 或 eSATA 外置硬盘,在外置硬盘上安装 VirtualBox 或 VMWarePlayer 等虚拟化主机,然后将剩余的外置磁盘空间用作虚拟机中的一个卷。我不关心虚拟硬盘是否需要拆分成多个文件。
这可能吗或者可取吗?
答案1
您能创建一个可以访问~4 TB 卷的虚拟机吗?
是的,只要特定的虚拟化平台支持该大小的驱动器,您就可以创建一个大的(~4TB)虚拟磁盘,用作客户机内的单个卷。
如果您的虚拟化平台不是允许单个虚拟磁盘大小为 4 TB,您可以创建多个虚拟磁盘并使用 LVM(Linux)或动态磁盘(Windows)将多个虚拟磁盘组合成客户操作系统内的单个卷。
有什么问题?
这是否可取是一个更复杂的问题,没有直接的答案。简而言之:“视情况而定”。请记住,与对磁盘的本机访问相比,虚拟化层会增加性能损失。此外,典型的外部硬盘驱动器的性能相对较慢,它们的设计更多是容量和功率效率,而不是性能。您可能会发现您的客户虚拟机的响应速度比您希望的要慢。但话又说回来,如果您的虚拟机只是运行一个主要驻留在 RAM 中的文件服务器,您可能不会遇到问题。
如果您的客户机要用作交互式台式计算机,我会将您的 VM 放在一个小型便携式 SSD 上,并将大数据(如果您真的需要那么大的容量)保存在单独的驱动器上 - 最好是网络共享,您可以使用 Windows 文件共享/Samba 或 NFS 直接在 VM 内安装它。
可移植虚拟机
回答关于您在 Colyn1337 的回答中概述的更具体的用例的问题:是的,您可以在外部驱动器上创建一个可移植的虚拟机,然后从一台机器移动到另一台机器,但虚拟机管理程序可移植性是一个更复杂的问题,可能可行也可能不可行,甚至可能实现,这取决于您的虚拟化解决方案。由于您计划在 Linux 和 Windows VM 之间移动驱动器,因此请确保使用可以在两个平台下读写的顶级文件系统格式化外部驱动器(例如 NTFS、exFAT——而不是 FAT32,因为它仅支持最多 4 GB)。
VMware 曾经有一款名为 VMware ACE 的产品,就是为此目的而设计的(并且具有许多额外的安全功能),但他们已停产2011 年 ACE。
我使用 VMware Workstation/VMware Player,并将多个虚拟机存储在 SSD 上,该 SSD 通过 SATA 硬盘扩展坞或 2.5 英寸 SeaGate GoFlex 驱动器的 SATA-USB 适配器连接。每次我在不同的机器上启动虚拟机时,我都必须告诉 VMware 我移动了虚拟机(另一个选项是“我复制了它”)。为了使 VMware 在这种情况下正常工作,我必须在运行我的虚拟机的每台主机上安装 VMware Workstation 或 Player。我还必须小心地完全关闭虚拟机客户端,而不是在将其移动到另一台机器甚至不同的 USB 集线器之前将其挂起。为方便起见,我使用 Windows 磁盘管理将 V: 分配给便携式 SSD,无论我将其连接到哪台机器,它都会保留该驱动器号。唯一的警告是,如果我将它连接到已经具有 V: 驱动器(真实卷或映射的网络驱动器)的机器,其中一个 V: 驱动器将被另一个隐藏。
您还可以查看vbox.me,这是一个基于 VirtualBox 构建的便携式 VM 解决方案。
答案2
有可能吗?是的。问题是操作系统执行的磁盘读取/写入次数太多,很可能很快就会损坏您的备份驱动器。这并不是说驱动器本身会出现故障,而是备份驱动器通常有特殊的芯片组,位于驱动器和端口之间,很快就会烧坏。西部数据尤其因这一点而臭名昭著。
如果您有物理驱动器(而不是备份驱动器),并将其与 usb/sata 套件(通常称为硬盘适配器)连接,则应该完全没问题。但是,VirtualBox 的驱动器大小限制为 2TB,因此您需要在该磁盘上创建 2 个虚拟硬盘。我不熟悉 VMware 的规格。
现在,通过在该驱动器上运行虚拟软件,您可能会遇到需要不断重新连接虚拟硬盘的问题。vbox 首选项文件存储了软件将查找硬盘文件的位置,并且它不会通过驱动器 GUID 来执行此操作。它通过文字路径 c:\somewhere\overhere\isthefile.vhd 来记住
您的外部驱动器将获得可用的字母方案。因此,如果您在构建虚拟机时备份驱动器为 E:\,然后稍后将其移至另一台计算机,并且该计算机发出 F:\ 指定(因为另一个内部驱动器是 E:),则您需要重新连接该驱动器。
编辑:
来源: http://www.virtualbox.org/manual/ch05.html#vdidetails
“磁盘映像文件驻留在主机系统上,并被客户系统视为具有特定几何形状的硬盘。当客户操作系统读取或写入硬盘时,VirtualBox将请求重定向到图像文件“”。