我目前有一台运行 Gentoo Linux 的专用服务器,只有 SSH 访问权限,我想知道是否可以使用 VirtualBox 从命令行创建和设置虚拟机?(就像安装另一个 Linux 或 Windows 服务器一样。)
我的专用服务器有 4 个不同的 IP 地址,可以将其中一个分配给虚拟机吗?
谢谢 !
答案1
是的,您可以使用 Virtualbox Headless。我将为您提供一个示例配置:
VBoxManage createvm --name "ubuntu-server" --register
VBoxManage modifyvm ubuntu-server --memory 1000 --vram 64 --acpi on --cpus 1 --ostype Ubuntu_64 --pae on --hwvirtex on --vtxvpid on
VBoxManage modifyvm ubuntu-server --nic1 bridged --bridgeadapter1 eth1 --nic1 bridged -- bridgeadapter2 eth0
VBoxManage createhd --filename ubuntu-server-disk.vdi --size 2000
VBoxManage storagectl ubuntu-server --name "IDE Controller" --add ide --controller PIIX4
VBoxManage modifyvm ubuntu-server --hda ubuntu-server-disk.vdi
VBoxManage storageattach "ubuntu-server" --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /home/mydir/ubuntu-10.04-server-amd64.iso
此示例是从我自己的虚拟服务器上的上一个配置复制粘贴的。然后,您可以像这样启动服务器:
VBoxHeadless -s "ubuntu-server"
您将获得一个可连接的端口,也可以使用 NXclient/server 之类的程序通过 ssh 以图形方式连接。请注意,我的某些命令可能不正确,因为我真的不记得创建机器时使用了哪个版本的 Virtualbox(它已经运行了 2 年了),但可以从 virtualbox 网站下载它们的 pdf 手册,它非常非常有用,所有选项都很好地呈现在那里。
至于稳定性和可用性,我运行无头虚拟机 Debian Lenny、Ubuntu 和 Windows,Linux 机器可以持续使用 100 多天而不会出现任何问题,没有对 Windows 进行过太多测试,但我确信它应该也不会太差。
至于分配给不同机器的 4 个不同 IP,我认为这更多的是网络设置的问题,如果设置为桥接模式,则每个虚拟机都在 LAN 中,这意味着您需要从外部将流量路由到这些机器,就像在一个 LAN 中连接几台真实的计算机一样。由于我不知道您的网络设置,所以我真的不能说,而且可能无法说太多,因为我从来没有幸运地拥有多个外部 IP。
答案2
您可以使用 VBoxManage 命令创建 VM,甚至插入虚拟媒体进行安装。如果您看到的是非免费版本(根据以前的 Sun PEUL 发布),您可以设置 RDP 连接来驱动安装。在此处阅读有关 VBoxManage 命令的更多信息:
答案3
你可能会调查流浪汉:Vagrant 是一个用于构建和分发虚拟化开发环境的工具。
一个很好的起点可以找到“开始使用 Vagrant“。
仅供参考 - 还有一个 Gentoo 基础盒 VM 可用Vagrantbox.es。