在博客VMware Linux VDI安装步骤中我们介绍了VMware Linux VDI的安装步骤。在本篇博客中,我们来详细介绍如何批量部署VMwareLinux VDI,并讲解在碰到一些常规问题时如何解决。
VMware Linux VDI支持四种Linux系统,RHEL,CentOS,Ubuntu,中标麒麟,这里所有的步骤都以中标麒麟为例。
前提条件:
1. 请参考VMware Linux VDI安装步骤中列出的前提条件。
2. 准备Linux虚拟机,安装中标麒麟操作系统。这里我们称该机器为模板机。
3. 在模板机上重新安装VMware Tools, 请参考VMware Linux VDI安装步骤中步骤一。
4. 在模板机上配置防火墙,请参考VMware Linux VDI安装步骤中步骤三。
5. 下载并安装vSphere PowerCLI 5.5 Release 2到你的工作机上,下载链接:https://my.vmware.com/web/vmware/details?productId=353&downloadGroup=PCLI550R2
6. 下载VMware Linux View Agent到你的工作机上。
步骤:
一. 在模板机安装JRE包
二.配置用户权限并打快照
三. 创建自定义规范管理器
四.使用脚本批量创建VM并安装View Agent
一、在模板机安装JRE包
在中标麒麟操作系统上,View Agent需要Oracle jre-7u75 (1.7.0_75), 下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html
尽管View Agent在安装过程中会自动检测JRE的版本并且下载更新,但是这个过程可能会花比较长的时间而导致后面的脚本失败。所以好的办法是预先在模板机上装好对应的JRE。
安装JRE的命令如下:
sudorpm -i jre-7u75-linux-i586.rpm
或者
sudorpm -i jre-7u75-linux-x64.rpm
二、配置用户权限并打快照
配置用户权限
由于在克隆虚机之后需要使用脚本安装ViewAgent,所以需要一个在运行sudo命令时不需要输入密码的用户。
给模板机配置用户权限分两步,第一步就是你要有个用户。正常你在安装中标麒麟操作系统的时候就会创建一个,用那个用户即可。
第二步就是修改文件/etc/sudoers,将“YourUsernameALL=(ALL) NOPASSWD: ALL”加入其中,然后注释掉Defaultsrequiretty。
注意:
・ 请将YourUsername替换成实际的用户名
・ 强烈推荐使用命令visudo来修改文件/etc/sudoers。
・ 如果在将“YourUsernameALL=(ALL) NOPASSWD: ALL”加入到文件/etc/sudoers之后,用户在运行sudo命令时仍然被要求输入密码。请将“YourUsername ALL=(ALL) NOPASSWD:ALL”放到/etc/sudoers的末尾,也就是“#includedir /etc/sudoers.d”之后
打快照
将模板机关机,然后执行快照。
三、创建自定义规范管理器
1. 使用vSphere 客户端连接到vCenter服务器上。或者用浏览器连接到vCenter服务器也可以。这里以vSphere客户端为例。在主页上点击自定义规范管理器。
2. vSphere客户端跳转到自定义规范管理器界面。单击新建。
在打开的对话框里,选择Linux作为目标虚拟机操作系统,并输入自定义规范的名称。
点击下一步。
3. 在计算机名称页面里,选择使用虚拟机名称,并输入域名。点击下一步。
4. 在时区页面里选择时区。点击下一步。
5. 在网络页面里选择典型配置。点击下一步。
6. 在DNS和域设置页面里配置DNS和域。点击下一步。
请将相应的值换成实际环境中的值。点击下一步。
7. 点击完成。
四、使用脚本批量创建VM并安装View Agent
如果你参加了我们的Early Access Program(链接:http://www.surveymethods.com/EndUser.aspx?DFFB978FDE988B88D4),你可以在下载安装文件的同时下载到说明文档horizon-6-for-linux-v1.0.pdf。该文档介绍了相关的PowerCLI脚本。这里我们用到两个脚本和一个CSV文件。下面详细介绍。
或者你可以去这里(https://communities.vmware.com/thread/506874)下载包DeployLinuAgent.zip.
完成以下三个步骤来准备脚本和CSV文件:
1.Sample PowerCLI Script to Clone Linux Desktop Machines:克隆机器的脚本。保存为CloneVMs.ps1。
2.Sample PowerCLI Script to Install View Agent on LinuxDesktops:在虚机上批量安装View Agent的脚本。保存为InstallAgent.ps1。
3. 上述两个脚本都需要一个CSV文件,其中列出了需要克隆的机器的相关信息。如果你没有修改脚本,那么这个CSV文件的文件名必须是CloneVMs.csv。下面是一个例子:
各列涵义如下:
・ VMName:新建虚机的名字。
・ Parentvm:模板机的名字。
・ CustomSpec:前面创建的自定义规范管理器
・ Datastore:模板机所在的ESXi所挂的存储器。新建的虚机会被存放到这个存储器上。
・ Host:模板机所在ESXi的IP地址
・ FromSnaphot:模板机的快照
・ DeletedPresent:如果当前要创建的虚机已存在,是否要删除。
到此为止,一切就绪!下面开始克隆虚机并安装View Agent。
克隆虚机
在你的工作机上,打开VMware vSphere PowerCLI,运行脚本CloneVMs.ps1。根据提示输入参数。
>.\CloneVMs.ps1
Your vCenter address: 10.111.x.x
Your vCenter admin user name: root
Your vCenter admin user password: ******
Clone Type (“linked” or “full”): full
请将上面四个参数换成实际值。vCenter指管理模板机所在的ESXi的vCenter。
关于克隆速度。在我的环境中,模板机的大小为10G,在全克隆的模式下,大概3分钟内可以克隆完成。
另外该脚本是串行进行克隆虚机的。你可以手动多起几个命令行来达到并行的目的。方式就是多存几份脚本CloneVMs.ps1和CloneVMs.csv并修改CloneVMs.ps1将其指向对应的CSV文件。要注意各个CSV文件的虚机名应该不相同。
在我的环境里,我同时起了5个克隆虚机的脚本。速度大概提高50%。
想要提高速度的另外一个方法就是可以采用链接克隆。
克隆完成,等到虚机的VMwareTools跑起来之后就可以开始使用脚本安装View Agent了。
安装View Agent
打开VMware vSphere PowerCLI,运行脚本InstallAgent.ps1。根据提示输入参数。要注意该脚本所指向的CSV文件应该与前面克隆虚机时所使用的CSV文件相同。
>.\InstallAgent.ps1
YourvCenter address: 10.111.x.x
YourvCenter admin user name: root
YourvCenter admin user password: *******
--------------------------------------------------
YourESXi host admin user name, such as root: root
YourESXi host admin user password: *******
--------------------------------------------------
YourVM guest OS user name: euc
YourVM guest OS user password: *******
--------------------------------------------------
Typethe View Agent tar ball path. Please take care of the installer arch:.\VMware-viewagentlinux-x86_64-1.0-1234567.tar
--------------------------------------------------
Typethe View Connection Server address: 10.117.x.x
Typethe View Connection Server Admin user name: viewadmin
Pleasetype the View Connection Server Admin user password. Please note that specialcharacter in password may not work with the script
Yourbroker admin password: *******
Typethe View Connection Server Admin user domain name: ad-euc
请将上面所有参数换成实际值。
vCenter指管理模板机所在的ESXi的vCenter。
ESXi指模板机所在ESXi
VM guest OS username指在第二步中配置了权限用户
View Agent tarball path指存放在运行该脚本的机器上的Linux View Agent安装文件。
命令行运行结束之后,所有的Linux虚机就都注册到连接服务器上了。可以紧接着创建Linux桌面池了。
这次我们就写到这里,以后我们会继续更新的!