创建虚拟机测试网络,宿主系统 Windows XP,客户系统 Redhat Enterprise Linux
Gary Griffin 贡献, 2007/03/17
场景
您有一个宿主 Windows XP 系统和一个作为 Redhat Enterprise Linux 的主虚拟机镜像,您会定期更新该镜像,并希望创建多个实例并将它们连接到私有测试网络中。一个例子是测试用的 MySQL 集群,它有一个管理节点和两个数据节点。由于主镜像会定期更新,因此我们需要一种快速克隆和创建测试环境的流程。
- 克隆主虚拟机镜像
vboxmanage clonevdi Master.vdi node1.vdi vboxmanage clonevdi Master.vdi node2.vdi vboxmanage clonevdi Master.vdi mgmt.vdi
- 将 VDI 附加到已创建的虚拟机。
vboxmanage modifyvm Node1 -hda node1.vdi vboxmanage modifyvm Node2 -hda node2.vdi vboxmanage modifyvm Mgmt -hda mgmt.vdi
- 创建网络
现在,将新虚拟机的网络重置为使用内部私有网络。这将允许三个客户虚拟机相互通信,但不能与宿主系统通信。intnet 网络类型无法通过 GUI 使用,并且如果更改任何虚拟机设置,GUI 会将其重置。因此,这必须通过命令行执行。我们选择使用网络名称 'testnet' 仅为了方便。它是一个任意名称,但必须保持一致。
vboxmanage modifyvm Node1 -nic1 intnet vboxmanage modifyvm Node1 -intnet1 testnet vboxmanage modifyvm Node2 -nic1 intnet vboxmanage modifyvm Node2 -intnet1 testnet vboxmanage modifyvm Mgmt -nic1 intnet vboxmanage modifyvm Mgmt -intnet1 testnet
- 单个虚拟机的定制
由于这些虚拟机将位于私有网络中,因此每个虚拟机都有一个固定 IP 地址。它们应该使用宿主 IP 地址作为网关 IP 地址。ifcfg.eth0 文件的示例如下,其中宿主 IP 地址为 192.168.1.101,客户 IP 地址为 192.168.10.200:
DEVICE=eth0 ONBOOT=yes BOOTPROTO=none NETMASK=255.255.255.0 IPADDR=192.168.10.200 USERCTL=no PEERDNS=yes GATEWAY=192.168.1.101 TYPE=Ethernet IPV6INIT=no
每个客户系统都应有一个唯一的 IP 地址。
注意: 查看 TracWiki 获取使用维基的帮助。