灵活管理虚拟机

2019-06-04 06:01:12河南郭建伟
网络安全和信息化 2019年5期
关键词:快照直通网卡

■ 河南 郭建伟

编者按:随着虚拟化技术的不断发展,越来越多的企业开始使用虚拟机,来为员工提供适宜的工作环境。虚拟机具有配置快捷,易于管理等特点。其中vSphere VMWare提供的虚拟机产品,具有非常强大的功能,在很多企业中得到了广泛应用。仅仅部署了虚拟机是不够的,还需要掌握相关的操作技巧,才可以灵活高效的管理虚拟机。

实现vSphers自动登录

在每次登录vSphere Client时,需要输入账户名和密码。为了实现快速登录,有时希望实现自动登录操作。此外,在有些特殊情况下,管理员并不想告诉用户具体的账户信息,也可以使用自动登录来实现。

在Vmware安装目录(默认 为“C:Programs FilesVMWareInfrastructureVirtual Infrastrycture ClientLauncher”)下打开名为“VpxClient.exe.confi g”文件,在其中添加“”,“”,“yyy”行,其中的“user1”为具体的账户名,“xxx”为ESXi主 机 IP,“yyy”为 登 录 密码。这样,当运行vSphere Client之后,就会使用上述信息自动登录。

利用VNC管理虚拟机

在vSphere中可以利用其内置功能,直接打开目标虚拟机的控制台,实现各种控制操作。不过该功能存在一个不可忽视的安全问题。为了便于使用,管理员需要在vCenter中为用户创建具有一定权限的账户,便于其登录vSphere主页面。

当然,管理员可以针对该账户进行权限的管控。不过凡是具有一定权限的账户,往往存在一定的危险性。利用VNC控制,就可以有效限制用户的访问操作。

运行vSphere Web Clien t实现登录操作,在左侧选择目标主机,在右侧的“配置”面板中点击“安全配置文件”项,点击右侧的“编辑”按钮,在打开窗口中选择“SSH”项,点击“启动”按钮,激活SSH登录功能。

运行SecureCRT程序,点击工具栏上的快速链接按钮,在链接窗口内中选择“SSH2”协议,输入目标主机IP,点击连接按钮,在新建主机密钥窗口中点击“接受并保存”按钮,之后输入Roor账户和密码,并取消选择公钥文件。

当登录到EXSi主机后,在Shell界面中执行“vi/etc/vmware/firewall/vnc.xml”命令,创建名为“vnc.xml”的文件。

输 入“”,“”,“”,“”,“”“tcprotocol>”,“dst”,“”,“”,“”,“

”,“”,“”,“inbound”,“tcp”,“d st”,“”,“”,“”,“”,“”,“”,“”,“”,“” 等内容。

该文件的作用是定义了名为“VNC”的安全策略,设置允许进入/传出的端口范围,这些端口必须是可用的。每个进入的端口号和特定的虚拟机对应。

执 行“esxcli network firewall refresh”命令,来刷新防火墙策略。

执 行“esxcli network firewall ruleset list |grep vnc”命令,会显示该策略已经激活。

图1 配置高级参数信息

在vSphere Web Client中选择对应的虚拟机,在其编辑设置窗口中的“虚拟机选项”面板左侧选择“高级”项,点击“编辑配置”按钮,在打开列表(如图1)中的“RemoteDisplay.vnc.enabled”栏中选择“true”项, 在“RemoteDIsplay.password”栏中输入连接密码, 在“Remote.vnc.port”栏中输入具体的端口号(例如“ TCP 8899”),该端口号必须在上述策论的定义的端口范围内。

这样,就可以使用VNC Viweer,来连接目标ESXi主机的上述特定端口(例如“TCP 8899”),输入密码后就可以访问对应的虚拟机。

实现虚拟机复制粘贴操作

在虚拟机和外界之间复制粘贴数据,可以实现数据的快速交换。在vSphere Web Client中选择对应的虚拟机,在其右键菜单上点击“编辑设置”项,在打开窗口中的额“虚拟机选项”面板左侧选择“高级”项,点击“编辑配置”按钮,在列表中的“isolation.tools.copy.disable”栏中选择“False”项, 在“ioslation.tools.copy.disable”栏中选择“False”项,之后重新加载配置信息,就可以实现上述效果了。

注意:其只能将剪切板中的内容进行复制粘贴,无法实现文件的复制粘贴。

设置虚拟机时间同步

在vSphere中虚拟机会自动和外部的ESXi主机同步时间,在有些情况下,其实用户并不愿意实现时间同步。这样就避免了修改物理ESXi主机时间的问题。

因为在ESXi主机中,往往存在大量的虚拟机。取消某个虚拟机的时间同步功能,就可以在其开机或者恢复开机快照时,就不会从ESXi物理主机同步时间了。这样,在恢复快照时,就会使用与该快照对应的旧的时间信息。

按照上述方法打开对应虚拟机的编辑配置窗口,将其 中 的“tools.syncTime”,“time.synchronize.contin ue”,“time.synchronize.restore”,“time.synchroni ze.resume.disk”,“time.sy nchronize.shrink”,“time.synchronize.tools.startu p”,“time.synchronize.too ls.enable”,“time.synchro nize.resume.host”的项的值全部设置为0,就可以实现时间不同步功能了。

注意:在编辑时需要保证虚拟机处于关机状态。

图2 添加设备信息

实现自适应分辨率

在vSphere 6.5版本中,已经可以自动实现屏幕分辨率自适应。

例如,在其提供的VMWare Remote Console中,就可以让虚拟机窗口自动适应外部的变化。

但是在之前的vSphere版本中,却没有提供该自动功能。

例如,可以在老版本的vSphere Web Client中点击菜单“视图”→“立即匹配客户机”或者“立即匹配窗口”项,就可以实现分辨率匹配操作。

开启USB直通功能

在ESXi主机中存在多个虚拟机,有时为了便于使用,需要为每个虚拟机配置一个虚拟网卡,将外部的不同的无线直通到内部的虚拟机之中,让虚拟机可以使用无线网卡。

在vSphere Client中选择对应的虚拟机,在其右键菜单中点击“编辑配置”项,在打开窗口中的“硬件”面板中点击“添加”按钮,在向导窗口(如图2)中选择“USB控制器”项,点击下一步按钮,选择“EHCI+UHCI”或者“xHCI”项,分别支持不同的USB版本。

将实际的无线网卡连接到ESXi主机上,之后再次添加USB设备,就可以添加所需的USB无线网卡设备。

进入目标虚拟机,执行“ifconfig -a”命令,即可看到添加的无线网卡设备。

实现网卡直通功能

在虚拟机中虽然存在网卡,不过其并非真实的网卡。按照传统方式,虚拟机上的虚拟网卡连接到虚拟交换机,之后桥接到物理网卡。

但是,在很多情况下,需要将外部的真实网卡直通到内部的虚拟机中,这样可以实现更加真实的功能,而不是桥接的效果。

例如,对于数据中心来说,可能希望使用一张FC卡,让该卡不同的端口连接不同的虚拟机,使其可以分别连接到交换机上,实现对存储网络的访问。

在vSphere Client中选择某台ESXi主机,在右侧的“配置”面板中选择“硬件”→“高级设置”项,在右侧点击“编辑”项,在列表中选择所需的网卡设备,点击确定按钮后,重启ESXi主机。这样,这些网卡设备就会被直通到虚拟机中。

在对应虚拟机中点击“编辑配置”项,在打开窗口中的“硬件”面板中点击“添加”按钮,在向导界面中选择“PCI”设备箱,在下一步窗口中的“指定要连接的物理PCI/PCIe设备”列表中选择直通进来的网卡。这样,该虚拟机就可以使用ESXi主机中的真实网卡进行连接了。

使用脚本实现自动化管理

利用Python等脚本,可以更加高效的管理虚拟机。

例如,对于大型数据中心来说,在其中存在大量的虚拟机,很多用户在使用之后,并没有关闭虚拟机的操作,造成大量的虚拟机处于空转状态,白白的浪费资源。

利用预设的脚本,就就可以实现自动关机操作。

出于安全性考虑,很多管理员会根据需要执行快照创建操作,而开机快照比较占用资源,大量的快照管理起来比较繁琐,利用脚本可以快速清除无关的快照,而只保留最新的快照。

这里就以自动关闭虚拟机为例进行说明,虽然在vSphere中利用“已调度任务”功能,可以实现自动关机操作,但是其针对的是单台的虚拟机,无法对多台虚拟机进行操作。

在 某 个 目 录(例 如“/opt/pyfile”)下创建名为“vmbh.py”的文件,其作用是获取需要关闭指定ESXi主机所有的虚拟机ID信息,其核心是利用了“vimcmd vmsvc/getallvms|grep xxx”指令,来获取名称中包含“xxx”的虚拟机的ID。

创建名为“vmstatus.py”的Python脚本,主要用来获取哪些虚拟机属于开机状态,其核心是利用了“vimcmd /vmsvc/power.getstate x”命令,来获取指定的ID的虚拟机是否处于开机状态,其中的“x”表示具体的虚拟机ID。

创建名为“vmshutdown.py”的文件,其作用是关闭指定的的虚拟机,其核心是利用了“vim-cmd vmsvc/power.off x”指令,来关闭指定的虚拟机。

创建名为“autoshutdown.py”的文件,其作用是针对指定的IP列表的ESXI主机中的执行检测特定虚拟机ID,判断其是否处于开机状态,并执行具体的关机操作。

限于篇幅这里就不列出具体的Python代码了。

上述方法的核心思想是利用SSH登录到指定的ESXi主机上,利用这些脚本来执行搜索合乎要求的虚拟机,如果其处于开机状态,就对其进行关机操作。

为了便于执行,可以在Linux中执行“crontab -e”命令,输入“0 1 * * * pyth on /pyfile/ shutdown_vm_daily.py”行,创建所需的计划任务。

在执行的时间(例如每日凌晨一点)执行指定的Python脚本,来执行关机操作。

猜你喜欢
快照直通网卡
在DDS 中间件上实现双冗余网卡切换的方法
EMC存储快照功能分析
天津科技(2022年5期)2022-05-31 02:18:08
浅析西藏卫视《直通藏晚》的叙事结构
江苏兴化:培训提级从课堂直通赛场
今日农业(2020年20期)2020-12-15 15:53:19
Server 2016网卡组合模式
创建磁盘组备份快照
2015年直通苏州世乒赛选拔赛樊振东技战术分析
体育科技(2016年2期)2016-02-28 17:06:01
挑战Killer网卡Realtek网游专用Dragon网卡
数据恢复的快照策略
一张“快照”搞定人体安检