全面监控ESX/ESXi服务器教程(多图)(1)

摘要
本文旨在介绍与建立ESX/ESXi监控机制有关的最重要内容,以及与在被管理虚拟机里面运行的应用程序有关的内容本教程使用了MySQL数据库)。

现在的ESXi有3个版本,ESXi
Free才是那个免费的版本,当然,免费的版本有很多限制和局限,对于小企业或许是个好的起步,但是对于想要构建高可用性的生产环境虚拟平台来说,就显得很不合适。ESXi的另外2个版本是Embedded和Installable。Embedded版本是和硬件厂商合作,安装在Flash中的ESXi版本,通常Flash都是集成在主板上,或者是USB
Flash。ESXi Installable则是安装版本的ESXi,是最common的一个ESXi版本。

迁移 VMware 虚拟机到 KVM

如何迁移 VMware 上的 Windows 及 Linux 虚拟机到基于 KVM 的虚拟机

目前 x86 平台上最流行的虚拟化软件是 VMware
公司的系列产品,而基于开源技术的 KVM
虚拟化软件也得到了广泛的应用。本文是虚拟化迁移技术系列文章的第三部分,详细介绍了如何使用
virt-v2v 开源工具或者手动方法迁移创建在 VMware 软件上的 Window 及 Linux
虚拟机到基于 KVM
的虚拟机,并且从功能上比较了虚拟机系统迁移前后的变化,最后总结了 VMware
虚拟机到 KVM 迁移的不足和注意事项。


晋兵,
高级软件工程师, IBM


超凤,
软件工程师, IBM


彬彬,
高级软件工程师, IBM

2011 年 11 月 02 日

  • 图片 1

内容

  • 前言
  • VMware 虚拟机迁移到 KVM
    的方式
  • VMware
    虚拟化产品及虚拟机文件
  • virt-v2v 迁移 VMware ESX
    虚拟机
  • 手动迁移 VMware Workstation/Player 上的虚拟机到
    KVM
  • 小结
  • 参考资料
  • 评论

监控ESX/ESXi服务器所用的工具:

VMware vSphere 5.0
以后版本,所有底层虚拟化产品都改为ESXi产品,本文主要比较了ESXi与ESX的各自特点,以便对大家是否要把现有的ESX升级为ESXi
5.0 或把ESXi 4.1升级为ESX5.0 有个借鉴。

前言

随着虚拟化技术的不断发展,虚拟机的应用也越来越广泛。日常应用中可能出现资源不足,系统管理调整或者系统备份等原因,希望将某一虚拟机从原来物理主机迁移到另一个物理主机上,即
V2V(Virtual-to-Virtual)迁移。虚拟机的迁移需要物理主机上 VMM(Virtual
Machine Monitor)的支持。相同类型 VMM 之间,使用相同的 API
接口,通常具有强大的迁移能力。例如本系列第二篇文章介绍的 KVM
虚拟机之间的迁移,它支持三种迁移方式:离线迁移、在线共享存储迁移和在线块迁移。而不同的
VMM 之间,由于虚拟化实现技术的不同、开发厂商的不同、API
接口的不同,使虚拟机迁移困难重重。本文分别介绍如何静态迁移 VMware
ESX/ESXi、VMware Workstation 及 VMware Player 上的虚拟机到 KVM 主机。

回页首

·VMware
vSphere虚拟机管理程序ESXi),链接:
·MySQL,链接:
·监控工具,链接:

ESXi 和 ESX
体系结构比较

VMware 虚拟机迁移到 KVM 的方式

虚拟机 V2V(Virtual-to-Virtual)迁移是在虚拟机之间移动操作系统和数据,
照顾主机级别的差异和处理不同的虚拟硬件。V2V
的迁移方法有两种,静态迁移和在线迁移。静态迁移(offline
migration)也叫做常规迁移、离线迁移。在迁移之前将虚拟机暂停,同时拷贝虚拟机镜像和状态到目的主机。相比较于在线迁移(online
migration),其缺点是静态迁移方式的过程需要显式的停止虚拟机的运行,而在线迁移的过程仅有非常短暂的停机时间,保证迁移过程中虚拟机服务的持续可用;优点是兼容性强,不需要
VMM 的有统一的 API 接口,可以借助第三方工具辅助迁移。由于目前 VMM
的开发没有统一的标准,不同的虚拟化厂商,尤其是闭源的商业厂商开发的 VMM
各成一套,静态迁移是解决不同类型虚拟机之间迁移的有效办法。本文采用 V2V
静态迁移的方法实现 VMware 虚拟机到 KVM 的迁移,同时介绍开源迁移工具
virt-v2v 的使用。

回页首

步骤:
一、为NMS里面的一系列被监控设备添加ESX/ESXi服务器。
二、为服务器配置可用性传感器和性能计数器。
三、配置如何监控在服务器上虚拟机中运行的应用程序这里是MySQL数据库)。
四、为应用程序设置传感器和计数器。
五、设置警报和通知策略。

 

VMware 虚拟化产品及虚拟机文件

一、为设备库存添加VMware服务器
为了给Verax NMS设备库存添加VMware ESX/ESX服务器,须执行下列步骤:

一、ESX与ESXi概念定义
VMware ESX 体系结构:
在原始 ESX 体系结构中,虚拟化内核(称为
vmkernel)使用称为控制台操作系统(简称 COS
或服务控制台)的管理分区来扩充。
控制台操作系统的主要用途是提供主机的管理界面。
在控制台操作系统中部署了各种 VMware
管理代理,以及其他基础架构服务代理(例如名称服务、时间服务和日志记录等)。
在此体系结构中,许多客户都会部署来自第三方的其他代理以提供特定功能,例如硬件监控和系统管理。
而且,个别管理用户还会登录控制台操作系统运行配置和诊断命令及脚本。
VMware ESXi
体系结构:
在 ESXi
体系结构中,移除了控制台操作系统,所有 VMware 代理均直接在 vmkernel
上运行。 基础架构服务通过 vmkernel 附带的模块直接提供。
其他获得授权的第三方模块(例如硬件驱动程序和硬件监控组件)也可在
vmkernel 中运行。 只有获得 VMware
数字签名的模块才能在系统上运行,因此形成了严格锁定的体系结构。
通过阻止任意代码在 ESXi 主机上运行,极大地改进了系统的安全性。
 

VMware 产品简介

VMware
是全球虚拟化解决方案的领导厂商,提供了一套虚拟机解决方案,按产品特点可分为如下四类。
 

  • VMware
    ESX/ESXi:这个产品不需要安装任何操作系统,它本身就是一个用来管理硬件资源的特殊的操作系统,所有的虚拟机都安装在它的上面。ESX
    Server 带有远程 web 管理和客户端管理功能。
  • VMware Server、Workstation 和 Fusion:与 ESX
    相比,这三个产品都是要安装在操作系统上的。Server 和 Workstation
    运行在 Windows 和 Linux 上,Fusion 运行在苹果的 Mac OS 上。
  • VMware VMotion:是 VMware
    开发出的一项独特技术,它将服务器、存储和网络设备完全虚拟化,使得正在运行的整个虚拟机能够在瞬间从一台服务器移到另一台服务器上。
  • Virtual Center、Importer、Convertor、P2V、Player:这些是为了配合
    VMware 虚拟引擎,主要是为了配合 ESX
    开发的管理软件和工具,这些工具中很多是免费的。

本文主要迁移创建在 VMware ESX/ESXi、VMware Workstation 和 VMware Player
上的虚拟机到 KVM 主机上,迁移后的虚拟机可以被开源的 libvirt 软件管理。

  1. 登录进入到Verax NMS,选择主菜单中的Home主视图)。
  2. 选择左边要件视图中的All devices所有设备)节点。
  3. 选择Add device添加设备)操作在右边设备列表下方),点击Go。

 

VMware 虚拟机文件介绍

成功迁移虚拟机的一个重要的验证标准就是文件的正确性和完整性。下图中列出与
VMware 虚拟机相关的文件,但是迁移 VMware 虚拟机到 KVM
并不需要用到所有的文件。

图片 2 
图1:要件层次体系树

图片 3

图 1. VMware 虚拟机文件

VMware 虚拟机的文件主要包括 .nvram 文件,.vmx 文件,vmdk 文件,.vswp
文件,.vmss 文件,.vmsd 文件,.vmsn 文件,.log 文件,.vmxf
文件。与迁移相关的最主要的是 .vmx 文件和 .vmdk 文件。

  • .vmx
    文件:包括虚拟机所有配置信息与硬件设置。不管你对虚拟机的设置做了何种编辑,所有的信息都会以文本形式保存在这个文件里。如特殊硬件配置(例如
    RAM
    大小,网络接口信息,硬盘驱动信息,串行与并行信息),高级能源与资源配置、VMware
    工具选项及能源管理选项。迁移虚拟机时,需要更改这个文件的格式到 KVM
    支持的 xml 文件,并且重新确认文件信息的有效性。
  • .vmdk 文件:包含虚拟磁盘的信息。虚拟机的文件系统就建立在 .vmdk
    文件上。迁移时需要拷贝这个文件到 KVM 主机,并且转换成能够被 libvirt
    识别的文件格式。

以下的虚拟机文件有些只在虚拟机处于的某种状态时出现,迁移过程中不会用到。例如当虚拟机开启时出现
.vswp 文件,当虚拟机暂停时出现 .vmss 文件。

  • .nvram 文件:包括虚拟机启动过程一部分的 Phoenix BIOS。它类似于拥有
    BIOS
    芯片的物理服务器,能够设置硬件配置选项。如果删除的话,在虚拟机启动时会自动地重新创建。
  • .vswp
    file:这些文件的大小等于分配给虚拟机的内存大小,再减去任何内存预留(默认是
    0)。这些文件通常创建在虚拟机里,但是只有当 ESX
    主机耗尽所有物理内存时才使用。当虚拟机关闭或暂停时,这些文件将删除。
  • .vmss
    文件:这个文件用于虚拟机暂停时,保存虚拟机的存储内容,以便在重新开始时继续运行。
  • .vmsd
    文件:这个文件与快照一起使用,用于存储元数据和其他活动在虚拟机里的每个快照的信息。这个文本文件在创建快照之前的初始大小是
    0 字节,并在每次创建或删除快照时更新信息。
  • .vmsn
    文件:这个文件与快照一起使用,用于存储虚拟机在进行快照时的状态。每在虚拟机上创建一个快照就会生成一个
    .vmsn 文件,在删除快照时,文件自动删除。
  • .log
    文件:这些文件创建来用于存储虚拟机的日志信息,并常常用于故障检查。在虚拟机目录里,有大量的这样的文件。当前的日志文件通常命名为
    vmware.log。
  • .vmxf 文件:这是一个附加配置文件,不用于 ESX,用于与 Workstation
    兼容的目的。这个文件是文本格式,Workstation 用来聚合虚拟机(VM
    teaming),将多个虚拟机分配成一组,作为一个单一对象开启或关闭、暂停或恢复它们。

回页首

  1. 显示弹出式对话窗口。 
     

 

virt-v2v 迁移 VMware ESX 虚拟机

从 RHEL6(Red Hat Enterprise Linux 6)开始,RHEL 发行版中包含了 Red Hat
公司开发的 virt-v2v 工具。它是由 perl
语言编写的脚本,可以自动化的将创建在 Xen,KVM 和 VMware ESX
上的虚拟机拷贝到 virt-v2v 的主机,并且自动的更改配置,使之能够被 libvirt
进行管理。目前,virt-v2v 支持静态迁移下列虚拟机:RHEL4、RHEL5,
RHEL6,Windows XP,Windows Vista, Windows 7, Windows Server 2003 和
Windows Server 2008。

图片 4 
图2:添加一个新设备

二、ESX和ESXi比较

图 2. virt-v2v 迁移 VMware/Xen/KVM 虚拟机示意图

本节中,将分别介绍如何使用 virt-v2v 工具迁移 Vmware ESXi 上的 RHEL
虚拟机和 Windows 7 虚拟机到 KVM 主机。

  1. 填好要求填写的字段,点击Add添加)。注意:API
    URL字段特定参数选项卡)必须填写;不过,系统会根据所提供的IP地址,自动填写该字段。
  2. SNMP重新发现选项选择No不)。 

 

迁移前的环境设置

本文的 KVM 主机安装最新的 RHEL6.1 操作系统(发布于 2011 年 5 月 19
日)。这样,最基本的支持 KVM 虚拟机的软件
qemu-kvm、libvirt、virt-manager 和 virt-v2v 工具都在发行版中安装了。

图片 5 
图3:配置对话窗口

VMware ESXi 是 VMware 最高级的虚拟化管理程序体系结构。
ESXi不同版本之间的差异: 

清单 1. 支持 KVM 虚拟机的软件包
 [root@localhost ~]# rpm -qa qemu-kvm 
 qemu-kvm-0.12.1.2-2.160.el6.x86_64 
 [root@localhost ~]# rpm -qa libvirt 
 libvirt-0.8.7-18.el6.x86_64 
 [root@localhost ~]# rpm -qa virt-manager 
 virt-manager-0.8.6-4.el6.noarch 
 [root@localhost ~]# rpm -qa virt-v2v 
 virt-v2v-0.7.1-3.el6.x86_64

为了使 virt-v2v 工具能够自动化的迁移 VMware ESX
虚拟机,尽量减少手动干预,还需要在 KVM 主机上做一些设置。

1. 安装支持 Windows 虚拟机迁移的软件。

对于 Windows 虚拟机的迁移需要安装 libguestfs-winsupport 包来支持 NTFS
文件系统和 virtio-win 包来支持 Windows para-virtualized
存储和网络设备驱动。

  1. 刚添加的设备现在出现在要件树和设备列表中Network视图)。
    为了显示服务器,选择要件树中的设备,点击Show advanced
    view显示高级视图)。就会显示附有详细信息的弹出窗口。

 

清单 2. 安装 Windows 虚拟机迁移的支持包
 [root@victory4 v2v]# rpm -ivh libguestfs-winsupport-1.0-7.el6.x86_64.rpm  \
 virtio-win-1.2.0-1.el6.noarch.rpm 
 Preparing...                ########################################### [100%] 
   1:virtio-win             ########################################### [ 50%] 
   2:libguestfs-winsupport  ########################################### [100%]

2. 创建 KVM 主机存储域

virt-v2v 在迁移虚拟机的过程中,需要拷贝被迁移虚拟机到 KVM
主机预先定义的存储池中。存储池可以用 libvirt
工具创建。最简单的方法就是使用 virt-manager
来创建新的存储池。本文中创建了一个文件目录类型的存储池,位置在 KVM
主机系统的 /homemigration 目录。

图片 6 
图4:设备属性窗口

 

图 3. 使用 virt-manager 创建本地存储域

3. 创建 KVM 主机网络接口

虚拟机在迁移之后将连接 KVM 主机网络,
因此主机必须有一个与之相匹配的网络接口,比如说网桥。Linux
系统上有很多工具可以创建网桥,其中 RHEL6.1 发行版上的 virt-manager
已经支持创建和管理网桥。本文创建了网桥 br0,并且绑定在 eth0
的接口上,具体配置如下图。

在该示例中,系统发现了分别名为test1、test2和apini的三个虚拟机。点击某虚拟机,就会显示其配置和性能指标方面的更多详细信息。

功能

ESX 4.1

ESXi 4.1

ESXi 5.0

服务控制台

目前

已移除

已移除

管理/配置 CLI

COS + vCLI

PowerCLI + vCLI

PowerCLI + vCLI(已增强)

高级故障排

COS

技术支持模式

ESXi Shell

脚本化安装

支持

支持

支持

从 SAN 启动

支持

支持

支持

SNMP

支持

支持(有限)

支持

Active Directory

集成

集成

集成

硬件监控

COS 中的第三方代理

CIM 提供商

CIM 提供商

串行端口连接

支持

不支持

不支持

巨型帧

支持

支持

支持

通过自动部署实现主机的快速部署和集中管理

不支持

不支持

支持

自定义映像创建和管理

不支持

不支持

支持

安全 syslog

不支持

不支持

支持

管理界面防火墙

支持

不支持

支持

图 4. 使用 virt-manager 创建网桥

\4. 创建配置文件 virt-v2v.conf

在 virt-v2v.conf 文件中设置 virt-v2v
迁移的规则,包括网络接口迁移后的映射,迁移的方式,存储的位置,输出的格式等等。这些规则也能以命令行参数的方式输入,如

    • network,-o,-os,-of 等。

本文旨在介绍与建立ESX/ESXi监控机制有关的最重要内容,以及与在被管理虚拟机里面运行的应用程序有关的内容本教程使用了MySQL数据…

 

virt-v2v 迁移 VMware 虚拟机的步骤

在 KVM 主机上完成上节的准备工作后,可以正式开始迁移 VMware ESX
上的虚拟机了。下面是迁移的具体步骤:

\1. 如果虚拟机上安装了 VMware Tools,必须先卸载它。因为 KVM
的虚拟机不支持 VMware Tools 里面的虚拟驱动。

\2. 在 VMware ESX 上停止等待迁移的虚拟机,因为 virt-v2v
只支持静态迁移。

\3. 为自动登录 VMware ESX 服务器创建 .netrc 文件。VMware ESX
服务器的连接需要授权,virt-v2v 支持密码方式的授权连接,可以从
$HOME/.netrc
文件中读取密码并自动登录。如果主机系统没有这个文件,就手动创建它。并且
.netrc 文件需要 0600 权限,使 virt-v2v 工具可以正确读取它。

 

清单 3. .netrc 文件的格式
 machine esx.example.com login root password xxxxxx

\4. 使用 virt-v2v 命令进行迁移。VMware ESX 服务器采用 HTTPS
连接方式,连接时需要配置 SSL 证书。本文通过添加’?no_verify=1′; 到
VMware 服务器的 URI 连接中,来关闭证书检查。

 

清单 4. virt-v2v 迁移命令及参数
 virt-v2v -ic esx://esx.example.com/?no_verify=1 -os pool --bridge brname vm-name 

 esx.example.com – 是 ESX 服务器主机名或 IP Address 
 pool – 本地主机存储池,用来保存镜像
 brname – 本地主机网桥名字,用来连接迁移后的虚拟机网络
 vm-name – 虚拟机的名字

\5. 迁移成功后,虚拟机出现在 virt-manager 管理的虚拟机列表中。通过
virt-manager 工具启动虚拟机。

\6. 检查迁移后的虚拟机的设备驱动。如果需要,重新安装虚拟设备驱动。

\7. 验证迁移后的虚拟机的配置和系统是否和迁移之前一致。

三、VMware ESXi 虚拟化管理程序体系结构的优点 VMware vSphere
的虚拟化管理程序体系结构在虚拟基础架构的管理中起关键作用。 2001
年推出的裸机 ESX
体系结构大幅增强了性能和可靠性,客户因此可将虚拟化的优势扩展到他们的关键任务应用程序上。
同样,ESXi 体系结构的推出也代表着可靠性和虚拟化管理方面的飞跃。 VMware
ESXi 的大小不到 ESX 的
5%,它独立于操作系统运行,并改进了虚拟化管理程序在安全性、部署和配置以及持续管理方面的管理操作。
**1、提高可靠性和安全性较早的 VMware ESX 体系结构依赖基于 Linux
的控制台操作系统 (OS) 来提供服务和基于代理的合作伙伴集成。
在新的、独立于操作系统的 ESXi 体系结构中,去除了将近 2 GB
的控制台操作系统,直接在核心内核中实现必备的管理功能。
去除控制台操作系统将使 ESXi 的代码库大小急剧减小到约 100
MB,从而因去除了与通用操作系统相关的安全漏洞而提高了安全性和可靠性。

2、简化部署和配置:ESXi 拥有的配置项比
ESX
少得多,因此可以极大地简化部署和配置,并且更容易保持一致性。

3、减少管理开销:ESXi 采用基于 API
的合作伙伴集成模型,因此不需要安装和管理第三方管理代理。
利用远程命令行脚本编写环境(例如 vCLI 或
PowerCLI),可以自动执行日常任务。

4、简化虚拟化管理程序修补和更新:由于
ESXi 的体积更小,组件更少,因此所需的补丁程序比 ESX
少得多,从而缩短了维护时段,并减少了安全漏洞。 在其生命周期中,ESXi 3.5
所需的补丁程序约为 ESX 3.5 的 1/10。

四、ESXi 5.0 中的新增功能
在 vSphere 5.0 版本中,VMware 对 ESXi 增加了一些重要的增强功能。 1、全新 Image Builder :一套新的命令行实用程序,管理员可以使用这些实用程序创建包含用于专用硬件的第三方组件(例如驱动程序和
CIM 提供程序)的自定义 ESXi 映像。 Image Builder
可以用于创建适合不同部署类型的映像,例如基于 ISO 的安装、基于 PXE
的安装以及自动部署。 它被设计成一个 Power Shell 管理单元组件,并与
PowerCLI 捆绑在一起。

2、全新 ESXi 防火墙:ESXi 5.0
管理界面通过一种面向服务和无状态的防火墙加以保护,您可以使用 vSphere
Client 或带 esxcli 接口的命令行对该防火墙进行配置。
一种新型防火墙引擎消除了使用 iptable
和规则集为每个服务定义端口规则的情况。
对于远程主机,您可以指定允许访问每个服务的 IP 地址或 IP
地址范围。

3、全新 更强大的 SNMP 支持:ESXi 5.0
扩展了 SNMP v.2 支持,现在您可以全面监控主机上的所有硬件。 

4、全新 安全 Syslog: ESXi 5.0 对系统消息日志记录增加了一些增强功能。
现在所有日志消息都由 syslog
生成,而且现在消息可以记录到本地和/或一个或多个远程日志服务器中。
可以使用安全套接字层 (SSL) 或 TCP 连接远程记录日志消息。 使用 vSphere
5.0,可以将来自不同来源的日志消息配置为记录到不同的日志中,以提供更多方便。
除了 vSphere Client 之外,还可以使用 ESXCLI
完成消息日志记录的配置。

5、全新通过自动部署集中管理主机映像和配置的功能:**与主机配置文件、Image Builder 和 PXE
配合使用,VMware vSphere 自动部署能够简化管理数百台计算机的 ESXi
安装和升级的任务。 ESXi 主机映像集中存储在自动部署库中。
新主机可以根据用户自定义的规则自动实现部署。
全新重建服务器就好像重新启动一样简单。 要在各个 ESXi
版本之间迁移,您需要使用自动部署 PowerCLI
来更新规则,并执行测试遵从性和修复操作。 

virt-v2v 迁移实例:Linux 虚拟机 RHEL5.5

本例将迁移创建在 VMWare ESXi 服务器上的 RHEL5.5 虚拟机到 KVM
主机上,并使迁移后的虚拟机被 libvirt 管理。本例的环境中,VMware ESXi
服务器和 KVM 主机通过网络连接,虚

拟机镜像被各自的存储管理。

 

图 5. virt-v2v 迁移 RHEL5 虚拟机的环境

下面就开始正式的迁移 :

\1. 在 VMware ESXi 上检测 RHEL5.5 虚拟机,如果安装了 VMware
Tools,先卸载它。

\2. 在 VMware ESXi 上关闭 RHEL5.5 虚拟机。

\3. 在 KVM 主机上创建或修改 $HOME/.netrc 文件,添加 VMware ESXi
服务器的用户名和密码。