使用BixData管理VMWare和Xen主机

使用BixData管理VMWare和Xen主机

赵珂 cn.zhaoke.com
http://blog.zhaoke.com/18.html


BixData是一个用于系统, 应用程序和网络的监视工具. 你可以方便监视服务器的各种资源. 最新发布的2.6版可以同时控制Xen和VMWare虚拟机. 你也可以同时控制VM主机(运行VM软件)和VM客户机(运行在主机上).


安装
第一件事情是安装BixServer到机器上. 这里把BixServer安装到一台不运行任何VM软件的Linux机器, 仅用于监视.

wget http://www.bixdata.com/files/BixServer-2.6-linux-1-DB.tar.gz
tar -zxvf BixServer-2.6-linux-1-DB.tar.gz
cd bixdata
nohup ./runserver.sh >out &
(下载, 解压, 后台运行BixServer服务端程序)

把BixAgent安装到两台机器, 一台运行Xen, 另一台运行VMWare.

wget www.bixdata.com/files/BixAgent-2.6-linux-1.tar.gz
tar -zxvf BixAgent-2.6-linux-1.tar.gz
cd bixdata/bixagent
(下载, 解压BixAgent代理端程序)

编辑bixdata/bixagent/data/xml/xen_cfg.xml和vmware_cfg.xml文件, 确认路径指向到VM客户机文件. Xen需要以root身份运行(如不考虑运行Xen, 可用普通用户).

sudo su nohup ./bixagent >out &
(用root后台运行bixagent代理端程序)

因为需要从VM客户机获得一些系统数据, 所以安装BixAgent到VM客户机.

wget www.bixdata.com/files/BixAgent-2.6-linux-1.tar.gz
tar -zxvf BixAgent-2.6-linux-1.tar.gz
cd bixdata/bixagent
nohup ./bixagent >out &
(下载, 解压, 后台运行BixAgent代理端程序)

现在BixServer在linux系统上运行, BixAgent在VM客户机上运行.

操作虚拟机(VMs)

BixDesktop是BixData套件的桌面部分(用户接口). 它通过连接BixServers或BixAgents来监视和控制虚拟机. 下面安装和运行BixDesktop:

wget www.bixdata.com/files/BixDesktop-2.6-linux-1.tar.gz
tar -zxvf BixDesktop-2.6-linux-1.tar.gz
cd bixdata ./rundesktop.sh
(下载, 解压, 后台运行BixDesktop桌面程序)

首先连上BixServer. 我们可在下图看到首页(Home)连接(connections)配置中, server填入192.168.1.203(BixServer的ip地址). 右边蓝色星号指示连通BixServer.

http://blog.zhaoke.com/data/2006/1125/1.1.png
屏幕连接

然后看状态室(Situation Room, 图片有点模糊, 在Home下面). 它提供了BixSever所有运行机器的基本状况. 这些机器可以是BixAgents或者任何其它主机(web服务器, 等). 我们使用了2台VM主机和4台VM客户机. 你可以通过点击’Machines(机器)’的左侧”+”来添加一个机器(为了跟VM host 区别开来, 文章中叫host 为机器). (Machines窗口显示了192.168.1.203主机上运行了6个机器, 其中3个用Zen, 另外3个用VMWare, 最上面两台是VM主机, 下面四台是VM客户机).

http://blog.zhaoke.com/data/2006/1125/2.png
状态室(添加VMs后)

现在把4台将要用到的VM客户机标识(tag)为”VMTest”, 点击User条(User Bar, 用户条)右边的”+”符号, 选择VM主机(高亮状态), 右击选择Tags给它们添加标识. 下图可看到Agent检测出它们是VMs(需要几分钟时间).

http://blog.zhaoke.com/data/2006/1125/3.png
给VMs打标识

现在BixServer建立好了, 下图可以查看所有VMs的状况. 左边主机(Hosts)窗口显示的是所有VM主机, 右边客户机(Selected Guests)窗口显示的是已选择的VM客户机. 我们可以一次点击同时关闭多个VM客户机. 也可以同时操作运行Xen和VMWare的客户机.

http://blog.zhaoke.com/data/2006/1125/4.1.png
虚拟视图(Virtualization View)

VM报告
我们可以在指定的时间间隔自动生成VM报告并发送到网站. 点击”+”按钮增加新的一行, 然后在BixDesktop的Report(报告)窗口生成了一个简单的Unix负载报告(所有被标识tag的机器).

http://blog.zhaoke.com/data/2006/1125/5.1.png
新创建的报告

几分钟后我们看到下面图表:

http://blog.zhaoke.com/data/2006/1125/6.png
示例图表(Unix平均负载)

VM行动
BixServer能就VM主机/客户机的状态做出回应和行动. 你可以通过BixDesktop的Notification(提示)视图来实现.

我们的设定是Agents发现自身所在主机的CPU利用率超过50%, 然后马上关闭机器. 首先执行一个服务检查, 然后选择远程代理CPU(Remote Agent CPU)监视BixAgent所在主机的CPU使用情况.

http://blog.zhaoke.com/data/2006/1125/7.png
创建一个新的服务检查

检查所有标识为VMTest的机器, 其它设置不动.

http://blog.zhaoke.com/data/2006/1125/8.png
选择需检查的机器

现在如果服务检查失败, 我们将采取一个行动. 任何VM客户机的CPU使用率超过50%, 它们将自动关闭.
http://blog.zhaoke.com/data/2006/1125/9.1.png

创建一个新行动

接着给希望采取的行动(与服务检查对应)创建一个提示. 一个服务检查要么是运行或停止状态. 我们的设定是, 如果CPU使用率超过50%, 服务检查立即停止. (当服务检查停止, 它的状态从”While Up’到”Up->Down”, 最后”While Down”). 所以把”关闭计算机的行动”放到”Up ->Down”过程. 当然也可以放到”While Down”状态, 通过设置一个定时器, 当机器CPU利用率超过50%, 持续10分钟后自动关闭机器.

http://blog.zhaoke.com/data/2006/1125/11.png
创建一个提示

现在我们可以方便监视所有VMs机器, 我们也可以就某些情况采取行动. 你可以从www.bixdata.com下载最新的BixData软件和获得更多的信息.

注解:
在系统上, 数据的时间和日期设置很重要. 特别是VMWare虚拟机的系统时钟设置, Linux系统更正日期和时间最常用的命令是rdate和ntpdate
rdate -s time.nist.gov
ntpdate ntp.ubuntu.com

Xen
在Ubuntu和一些系统上, 你需要运行下面命令:
mkdir /var/run/xenstored

在启动xend之前, 因为一些系统自动删除了/var/run里面的数据. 如果你遇到错误”Device could not be connected. Backend device not found”, 可以运行下面命令:
modprobe loop

如果你遇到错误”Unable to open hypervisor connection”, 可以编辑/etc/xen/xend-config.sxp文件:
(xend-http-server yes)
然后重启xend
xend restart

BixServer
如果你有libstdc++的问题, 请参考下面连接:
http://www.bixdata.com/node/56

参考:
VMWare and Xen Management with BixData

备注:
转载请保持文章完整性, 欢迎交流.