我们已经在之前的文章中了解了安装逻辑域和创建来宾域,接下来我们要进行的讨论有关主要域和来宾域间的网络连接,还涉及到Oracle Solaris系统的安装。谈到Solaris,你的应用与Solaris 11兼容吗?
主要域和来宾域间的网络连接
默认情况下,连接控制域和来宾域的虚拟网络是禁用的。该方法通过隔离控制域到来宾域的网络流量来提供一个额外的安全层。当然,如果您不想这样, 例如,如果对于来宾域来说,控制域是作为Jumpstart服务器使用, 则虚拟交换机能配置成一个网络设备,然后可作为主要接口来代替相关的物理交换机。
为了把虚拟交换机配置成一个网络设备,首先输入命令ifconfig –a来得到物理设备的所有网络参数(在下面的例子,e1000g0)。然后断开设备,并用相同的信息重新连接虚拟交换机(如例子中,vsw0)。当这个过程完成,来宾域就能通过此网络连接与控制域通信。
重要注意事项!
在您尝试重新配置虚拟交换机前,您必须从控制域的控制台或者从一个不同的界面登录,而不是现在使用的界面;否则就会突然终止您的对话!谁也可不愿意看到因为登录导致正在访问的网络界面终止。
这些改变仅在控制域重启前有效,所以您必须更新etc/hostname.* 和 /etc/dhcp/*来保存这些改变。在本例子中,您将通过使用如下命令来重命名文件e1000g0为vsw0。
# mv /etc/hostname.e1000g0 /etc/hostname.vsw0 # mv /etc/dhcp.e1000g0 /etc/dhcp.vsw0
创建一个域并安装Oracle Solaris系统
在下面的例子中,我们创建一个虚构的来宾域ldom1,无加密加速器、单一虚拟网络设备和单一虚拟硬盘。接下来的命令定义一个ZFS文件系统,同时分配一个10GB的空文件作为Solaris系统磁盘:
# zfs create rpool/ldoms # zfs set mountpoint=/ldoms rpool/ldoms # zfs set compression=on rpool/ldoms # zfs create rpool/ldoms/ldom1 # mkfile -n 10g /ldoms/ldom1/disk0.img
在前面的命令行中,启动ZFS压缩以节省磁盘空间。使用mkfile命令创建一个空文件 再写入数据,不分配任何磁盘块。所以文件不占用的任何磁盘空间,即使它的确是10 GB 的大小:
虚拟磁盘也可以从其它终端分配,如物理磁盘,但 ZFS 的好处是使用起来更加灵活。
以下命令将创建域。第2 、 3 行规定CPU 和加密加速器的数量。第4 行规定域的内存大小。第5行使用之前已经定义好的2层虚拟交换机来创建虚拟网络。如果我们想该域使用独立网络,我们可以创建另外一个网络设备。第6行将从虚拟磁盘服务中导出一个空的磁盘镜像作为虚拟卷vol10@primary-vds0。第 7 行把该卷作为虚拟磁盘vdisk10导入到来宾域中。较之其它的命令,添加虚拟磁盘的命令是稍微有点负载 ;首先使用这些命令去定义从虚拟磁盘服务器导出的资源,然后,导入该资源到相应的域中。***,第8和9行用于生成一个包含Oracle Solaris 安装 DVD 格式的 ISO 镜像文件。
至此,域的定义操作已经完成。我们要设置OpenBoot Prom (OBP)变量来强制域进入ok提示状态,而不是使用autoboot?变量来自动引导操作系统,所以让我们来看看OBP命令。在此命令行中的"\"是转义字符,这样我们就可以输入"?"字符作为文本值。然后,在给域分配指定的资源之前,我们需要先绑定域。这包括分配一个端口供虚拟控制台集线器使用 — — 在该示例中端口为 5000。***,我们启动此域,类似于在物理服务器上执行开机操作:域首先会加载 OBP,然后进入ok提示状态。
使用另一个终端窗口来观察这个过程是一个不错的办法。在ldm bind命令执行后,输入telnet命令打开一个终端窗口。最初,使用telnet命令本身是不会有任何输出的(命令行以“Press ~?”开始)。在输入ldm staty ldom1后,OpenBoot被载入,同时输出 {0}ok。
【编辑推荐】