继续与前进的XenServer系列 ,本文将接近实际的客人自理(通常称为虚拟机)的创建。
更新: 在2016年5月,思杰发布了7的XenServer平台的新版本。 对于安装如下: XenServer的7全新安装 。
在XenServer中创建和安装访客虚拟机
本文将假设所有以前的文章涵盖网络,修补和存储已经完成。 幸运的是,没有更多的新术语真的需要讨论,客人的创作可以开始!
系统审查
此时,已在此XenServer主机上配置了很多。 这将用来快速查看已配置的内容以及讨论主题的文章。
- XenServer 6.5已安装到服务器
- 已应用所有XenServer 6.5修补程序
- 已创建网络接口分组和VLAN
- 创建了iSCSI和ISO存储库,用于存放操作系统安装文件和guest虚拟机使用的虚拟硬盘
在XenServer中创建虚拟客户端
本指南的这一部分将依靠ISO安装程序来实际引导新创建的客机并安装操作系统。 请务必查看第四篇文章,了解有关创建ISO存储库的信息。
XenServer附带了一系列可用于快速调配虚拟客户机的模板。 这些模板为所选操作系统提供常见选项。 选项包括诸如硬盘空间,CPU架构和可用的RAM数量等其他选项。
这些选项可以稍后手动修改,但现在将使用一个简单的模板来说明它们的用法。 为了获得可用模板列表中,传统的'xe'
命令可以传递不同的参数提示系统返回可用模板。
# xe template-list
这个命令很可能返回很多输出。 以使输出更容易阅读,故建议输出可以如下管道输送到“少”:
# xe template-list | less
这将允许的可用模板容易解析来定位所需的UUID信息。 本文将与Debian 8 杰西工作,但需要使用旧版本的Debian 7Wheezy的模板,直到思杰发布了新的模板。
选择的Debian 7不会影响实际的操作系统的动作任何东西。 (下面的屏幕截图中使用的UUID的命令来修剪出一些正常输出)。
检查XenServer模板列表
# xe sr-list name-label=”youcl iSCSI Storage”
列出XenServer存储标签名称
使用此UUID,已获取设置此guest虚拟机的所有初始信息。 与几乎所有XenServer中,另一个'XE'命令将被用来提供新的客人。
# xe vm-install template=”Debian Wheezy 7.0 (64-bit)” new-name-label="youclVM" sr-uuid=bea6caa4-ecab-8509-33a4-2cda2599fb75
XenServer访客模板创建
突出显示的UUID是新提供客人的UUID。 有几个房子保持步骤,可以使事情更容易在未来。 第一个是为新创建的VDI提供名称标签,第二个是修改模板提供的任何默认硬件规范。
要知道为什么用下面的'XE'命令配置的时候会来命名VDI,看看什么系统会自动分配到VDI是很重要的:
# xe vbd-list vm-name-label=youclVM – Used to get the VDI UUID # xe vdi-list vbd-uuids=2eac0d98-485a-7c22-216c-caa920b10ea9 [Used to show naming issue]
检查XenServer VDI名称和UUID
另一个可用的选项是收集两个信息是以下命令:
# xe vm-disk-list vm=youclVM
列出虚拟机磁盘信息
黄色的部分是关注。 对许多人来说,这个问题很小,但是为了保存目的,需要一个更具描述性的名称来跟踪这个特定VDI的目的。 要重命名这个特殊的VDI,需要在上面的输出的UUID,另一个'XE'命令需要创建。
# xe vdi-param-set uuid=90611915-fb7e-485b-a0a8-31c84a59b9d8 name-label="youclVM Disk 0 VDI" # xe vm-disk-list vm=youclVM
重命名VDI名称标签
这可能看起来微不足道,但从经验,这已经防止了一个严重的问题,当从一个XenServer分离存储库并尝试将其附加到另一个XenServer。 这种特殊情况下,所有guest虚拟机信息的元数据备份无法在新的XenServer上恢复,并且幸运的是,通过命名每个guest虚拟机上的VDI,guest虚拟机与其VDI的正确映射可以简单地通过名称标签。
这篇文章的下一个房子保持步骤是为这个特定的客人提供更多的资源。 由于配置的这间将只有内存约256 MIB(Mebibytes)的价值。 大多数客人这是不够的,所以知道如何增加客人的可用内存是有益的。 与XenServer中这个东西可以用'XE'的命令来实现。
# xe vm-param-list uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e | grep -i memory
检查XenServer访客内存列表
上面绿色框表示最内存,这个特殊的客人所能拥有约256 MIB。 为了测试的目的,这将是好的,但对于任何重型使用系统,这将证明是不够的。
要修改这个值,以便向客人获得更多的RAM,一个简单的'XE'命令可以与客人断电发行。 在这个例子中,冲头的量给予本机将字节表示,但将等于2 Gibibytes值得的RAM。
# xe vm-memory-limits-set dynamic-max=2147483648 dynamic-min=2147483648 static-max=2147483648 static-min=2147483648 name-label=youclVM
请注意 ,这将保留RAM两个吉布为此来宾所有的时间。
提高XenServer访客内存限制
现在这个特定的客人准备安装操作系统。 大约从以前的文章存储库 ,Samba共享加入到这一版XenServer存储ISO安装程序文件。 这可以用下面的'XE'命令来确认:
# xe sr-list name-label=Remote\ ISO\ Library\ on:\ //<servername>/ISO
列出XenServer Samba共享目录
一定要替换<servername>
与适当的Samba服务器在此配置中正在发生的环境的名称。 确认XenServer已查看ISO存储库后,需要将一个虚拟CD-ROM添加到guest虚拟机,以便引导ISO文件。 本指南将假设Debian的网络安装程序ISO的ISO存储库中存在。
# xe cd-list | grep debian
在XenServer ISO存储中检查Guest ISO
# xe vm-cd-add vm=youclVM cd-name=debian-8-netinst.iso device=3 # xe vbd-list vm-name-label=youclVM userdevice=3
将Guest ISO添加到XenServer
上面的命令首先列出了名称为Debian ISO。 下一个命令将虚拟CD-ROM设备添加到来宾youclVM,并指定其为3的设备ID。
第三个命令是用来确定新添加的CD-ROM中的UUID继续设置设备引导Debian的ISO。
下一步是使CD-ROM可引导,并指示客户机从CD-ROM安装操作系统。
# xe vbd-param-set uuid=3836851f-928e-599f-dc3b-3d8d8879dd18 bootable=true # xe vm-param-set uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e other-config:install-repository=cdrom
上面的第一个命令设置CD-ROM使用其UUID是引导绿色突出显示在上面的屏幕截图。 第二个命令指示客人使用CD-ROM作为安装操作系统的方法。 对于youcl客人的UUID是在上面的屏幕截图中黄色亮点。
在XenServer中安装客户操作系统
在建立客户的最后一个步骤是附加一个虚拟网络接口 (VIF)。 以来所使用的Debian的网络安装程序安装这种方法需要从Debian仓库拉包这一点尤其重要。
在回首XenServer的网络文章,一个特殊的VLAN已经为此来宾创建,它是VLAN 10。使用'XE'必要的网络接口,可以创建并分配给该客人。
# xe network-list name-description="youcl test VLAN 10" # xe vif-create vm-uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e network-uuid=cfe987f0-b37c-dbd7-39be-36e7bfd94cef device=0
所述第一命令是用于获得此位中创建的网络的UUID。 下一个命令用于为来宾创建网络适配器,并将网络适配器连接到正确的网络。
将网络适配器添加到XenServer客户操作系统
恭喜!此时,虚拟机已准备好引导和安装! 要启动来宾,发出以下'XE'命令。
# xe vm-start name-label=youclVM
如果终端没有产生任何错误,则客户端成功启动。 来宾的正确起点可以用下面的'XE'命令予以确认:
# xe vm-list name-label=youclVM
检查XenServer Guest操作系统运行状态
现在的大问题。 如何访问安装程序? 这是一个有效的问题。 Citrix的认可的方法是使用XenCenter。 这里的问题是,XenCenter不会在Linux上运行! 因此,存在一种解决方法,以便用户不必创建一个特殊的Windows站只是访问一个正在运行的客人的控制台。
这个过程涉及到创建从Linux计算机的SSH隧道到XenServer主机,然后端口转发通过隧道VNC连接。 它非常聪明,工作奇妙,但这种方法假设用户可以通过SSH访问XenServer。
第一步是确定XenServer上客户的域号。 这是通过使用几个不同的命令来完成的。
# xe vm-list params=dom-id name-label=youclVM # xenstore-read /local/domain/1/console/vnc-port
这些命令的顺序很重要! 第一个命令将返回第二个命令所需的数字。
查找XenServer域名号
两个命令的输出很重要。 第一个输出状态来宾在运行域ID; 1
在这种情况下。 下一个命令要求,以确定VNC端口为来宾控制台会话该号码。 此命令的输出提供可用于连接到此特定客户机的视频的VNC端口。
获得上述信息后,即可切换到Linux工作站并连接到XenServer以查看此guest虚拟机的控制台会话。 为此,将创建SSH隧道并设置端口转发,以通过SSH隧道引导本地VNC连接。 此连接将从Linux Mint的17.2工作站来完成,但应该是其他分布类似。
第一步是确保OpenSSH客户端和xtightnvcviewer安装在Linux主机上。 在Linux Mint中,这可以使用以下命令完成:
$ sudo apt-get install openssh-client xtightvncviewer
此命令将安装必要的实用程序。 下一步是创建一个SSH隧道到XenServer主机并设置端口转发到VNC端口确定早期XenServer主机(5902)上。
# ssh -L <any_port>:localhost:<VM_Port_Above> root@<server> -N # ssh -L 5902:localhost:5902 root@<servername> -N
在“-L”选项告诉ssh来端口转发。 第一端口可以是1024以上的任何端口不是在Linux薄荷机上使用。 该'本地主机:5902'表示的流量应在这种情况下,它是youclVM的XenServer的VNC端口被转发到远程本地主机端口5902。
在“根@ <服务器>'是登录凭据SSH到XenServer主机。 最后,“-N'告诉SSH只需打开一个端口转发连接。 使用'lsof的'命令隧道可以在输出中查看。
$ sudo lsof -i | grep 5902
检查端口号监听
这里隧道是建立和监听连接。 现在是到XenServer上打开与guest虚拟机的VNC连接的时候了。 安装该实用程序“xvncviewer”和ssh连接转发流量到XenServer是在听的'localhost:5902',因此相应的命令可以建成。
$ xvncviewer localhost:5902
通过VNC连接连接XenServer
Voila! 有运行Debian的网络安装等待安装过程开始youclVM控制台会话。 此时,安装过程就像任何其他Debian安装一样。
到目前为止,XenServer的一切都是通过命令行界面(CLI)完成的。 虽然许多Linux用户喜欢CLI,但有些实用程序可以简化管理XenServer主机和池的过程。 本系列的下一篇文章将介绍那些希望使用图形系统而不是CLI的用户安装这些工具。