基于VMware的虚拟机资源池实现(上)-创建资源池
大家将要读到的是如何使用VMware技术完成一个自动化/流程化(企业内部流程)的虚拟机资源池,这一方案是已经在大型金融企业管理了数千台虚拟机的实际方案。在大多数做云的甲方企业或乙方集成商看来,这就是云计算了,对此,个人稍有保留意见,容后写务虚文章时再聊。本文适合有系统运维经验的系统管理员使用,如果实施过程中有不清楚的地方,欢迎Email。个人不喜欢截图,因为读起来太费劲,能看懂图的人其实只要知道输
·
大家将要读到的是如何使用VMware技术完成一个自动化/流程化(企业内部流程)的虚拟机资源池,这一方案是已经在大型金融企业管理了数千台虚拟机的实际方案。在大多数做云的甲方企业或乙方集成商看来,这就是云计算了,对此,个人稍有保留意见,容后写务虚文章时再聊。本文适合有系统运维经验的系统管理员使用,如果实施过程中有不清楚的地方,欢迎Email。个人不喜欢截图,因为读起来太费劲,能看懂图的人其实只要知道输入的内容就够了,看不懂的人贴100张图也是白搭。。。
1 准备
1.1 选择服务器
如果机房的承重、电源、空调能承受高密度的刀片服务器,就用刀片吧,主流厂商Cisco,HP,IBM的所谓云箱整柜往回买就行,买回来啥网络、存储就都OK了,准备的步骤就简单多了。如果不能,就按照下面的步骤选择机架式服务器吧。
机架式x86服务器选择的基本原则是在可接受的故障转移成本下,密度越高越好。最佳性价比实践是2路服务器,配2颗Intel当前核数最多的CPU(http://ark.intel.com/#@Processors),256G内存,8个千兆以太网口,2个光纤存储网口,2块300G的15k硬盘,至于品牌的选择,主要就是在考虑功耗、散热和故障率,回头我会另写一篇博客专门说这个比较,现在只说结论,性价比肯定是HP最好,DELL也OK,如果单纯要省钱,事实上联想和浪潮做VMware虚拟化也与进口服务器没原则差别。
另外有一点,如果明确的知道虚拟机上将运行的都是高性能计算类应用,可将服务器改为4路服务器,配4颗Intel当前核数最多的CPU,当然Intel2路和4路服务器的CPU是不同产品序列的。事实上,绝大多数计算机系统都是内存敏感的,而且VMware的CPU弹性做的很好,所以内存决定了一台服务器上VM数量,256G内存能支持大概20-30个VM,当一台服务器发生故障时,这些VM切换到(这一切换在绝大多数故障前提下都是需要重启VM的OS的)其他服务器的时间成本可以在10分钟以内,而内存升级到512G时,虚拟机的切换成本并不是20分钟,而是1小时以上。8个千兆网口和2个8Gb光纤口是足够支撑20-30VM的管理和业务带宽需求的。
这里补充一句关于虚拟化是否省钱的说明:在现有x86技术下,虚拟化是绝对会省下非常多的钱的,之前有个说法:算上VMware的license,虚拟化与物理服务器成本大致相当。这个说法是有前提的,就是每台2路服务器上的VM在8个左右。VMware是按照CPU数(不是核数)收费的,现在Intel技术+应用的内存敏感特性使这一说法不再成立,简单的计算就是1台服务器8个VM成本持平,那如果是24个,意味着白捡了16台VM,成本将下降至少2/3。实际环境中的成本计算中,对使用数千台虚拟机的企业来说,每年剩个3,5千万绝对不是问题。这个成本问题我回头也会专门写一篇博客给出计算的办法。
1.2 服务器上架
服务器的机柜安排主要考虑功耗、散热、高可用。虚拟机资源池的服务器通常比同样配置的安装普通OS的服务器耗更多电(因为资源利用率高,通常普通物理服务器CPU平均利用率过3%的都少,高性能计算除外),当然也就散更多热,如果在一个标准机柜里放满(比如12台2路服务器)虚拟化的服务器,单个机柜应该有承受20A负载的能力。高可用的考量其实就是单个服务器的冗余电源平均分布在不同的电路上,同一群集的服务器应平均分布在至少两个机柜中。如果计划将机柜专用于虚拟化,应将接入层交换机部署在机柜内。
1.3 网络规划、跳线和配置
在网络拓扑二层打通的网络环境中,可以使用在虚拟交换机进行vLAN的隔离,这意味着在接入层物理交换机上,将端口设置为trunk,使其可联通此网络区域中的任一vLAN。
对于同一台服务器,需9个千兆接入层交换机接口,其中一个为远程控制端口(条件允许的话,应尽量配置)。其他的8个端口中,2个作为管理端口(使用一个管理IP,对应此服务器的主机名),6个作为业务端口,管理端口连接的物理交换机端口应设置为固定vLAN,业务端口连接的物理交换机端口应设置为trunk。这八个端口应对称的分布在两台接入层交换机上。
1.4 存储规划、跳线和配置
服务器的两个光纤接口应连接到SAN存储网络的两个互为冗余的光纤交换机上,每台光纤交换机应分别有两条链路连接到互为冗余的两台存储设备的两个SP上,并在交换机上为此服务器的两个端口配置到两台存储的各4条链路,关于存储阵列的部署和SAN网络的规划,我回头会再单写一篇博客。
1.5 dns配置
将规划好的服务器主机名和对应的管理IP添加到DNS中,以便进行配置的时候可以根据域名解析ESX主机。
1.6 防火墙开通
如果可能的话,应使VC使用的IP、VC的SQL Server数据库使用的IP、ESX的管理IP均处于一个vLAN中,如果不行,需要开通VC到VC数据库的1433端口,VC与全部ESX之间的IP级互相访问(其实也有端口列表,但是非常多,还不如直接开IP级访问关系)
2 安装
2.1 ESXi安装
对于HP、DELL、IBM这样的大品牌服务器,应使用客制化的特定ESX安装盘,可大大降低操作系统出现紫屏的概率,联想和浪潮这样的服务器就只能用标准版本的ESX安装盘了,现提供 5.5版本的安装文件和keygen,生产环境验证可用。
1.1 选择服务器
如果机房的承重、电源、空调能承受高密度的刀片服务器,就用刀片吧,主流厂商Cisco,HP,IBM的所谓云箱整柜往回买就行,买回来啥网络、存储就都OK了,准备的步骤就简单多了。如果不能,就按照下面的步骤选择机架式服务器吧。
机架式x86服务器选择的基本原则是在可接受的故障转移成本下,密度越高越好。最佳性价比实践是2路服务器,配2颗Intel当前核数最多的CPU(http://ark.intel.com/#@Processors),256G内存,8个千兆以太网口,2个光纤存储网口,2块300G的15k硬盘,至于品牌的选择,主要就是在考虑功耗、散热和故障率,回头我会另写一篇博客专门说这个比较,现在只说结论,性价比肯定是HP最好,DELL也OK,如果单纯要省钱,事实上联想和浪潮做VMware虚拟化也与进口服务器没原则差别。
另外有一点,如果明确的知道虚拟机上将运行的都是高性能计算类应用,可将服务器改为4路服务器,配4颗Intel当前核数最多的CPU,当然Intel2路和4路服务器的CPU是不同产品序列的。事实上,绝大多数计算机系统都是内存敏感的,而且VMware的CPU弹性做的很好,所以内存决定了一台服务器上VM数量,256G内存能支持大概20-30个VM,当一台服务器发生故障时,这些VM切换到(这一切换在绝大多数故障前提下都是需要重启VM的OS的)其他服务器的时间成本可以在10分钟以内,而内存升级到512G时,虚拟机的切换成本并不是20分钟,而是1小时以上。8个千兆网口和2个8Gb光纤口是足够支撑20-30VM的管理和业务带宽需求的。
这里补充一句关于虚拟化是否省钱的说明:在现有x86技术下,虚拟化是绝对会省下非常多的钱的,之前有个说法:算上VMware的license,虚拟化与物理服务器成本大致相当。这个说法是有前提的,就是每台2路服务器上的VM在8个左右。VMware是按照CPU数(不是核数)收费的,现在Intel技术+应用的内存敏感特性使这一说法不再成立,简单的计算就是1台服务器8个VM成本持平,那如果是24个,意味着白捡了16台VM,成本将下降至少2/3。实际环境中的成本计算中,对使用数千台虚拟机的企业来说,每年剩个3,5千万绝对不是问题。这个成本问题我回头也会专门写一篇博客给出计算的办法。
1.2 服务器上架
服务器的机柜安排主要考虑功耗、散热、高可用。虚拟机资源池的服务器通常比同样配置的安装普通OS的服务器耗更多电(因为资源利用率高,通常普通物理服务器CPU平均利用率过3%的都少,高性能计算除外),当然也就散更多热,如果在一个标准机柜里放满(比如12台2路服务器)虚拟化的服务器,单个机柜应该有承受20A负载的能力。高可用的考量其实就是单个服务器的冗余电源平均分布在不同的电路上,同一群集的服务器应平均分布在至少两个机柜中。如果计划将机柜专用于虚拟化,应将接入层交换机部署在机柜内。
1.3 网络规划、跳线和配置
在网络拓扑二层打通的网络环境中,可以使用在虚拟交换机进行vLAN的隔离,这意味着在接入层物理交换机上,将端口设置为trunk,使其可联通此网络区域中的任一vLAN。
对于同一台服务器,需9个千兆接入层交换机接口,其中一个为远程控制端口(条件允许的话,应尽量配置)。其他的8个端口中,2个作为管理端口(使用一个管理IP,对应此服务器的主机名),6个作为业务端口,管理端口连接的物理交换机端口应设置为固定vLAN,业务端口连接的物理交换机端口应设置为trunk。这八个端口应对称的分布在两台接入层交换机上。
1.4 存储规划、跳线和配置
服务器的两个光纤接口应连接到SAN存储网络的两个互为冗余的光纤交换机上,每台光纤交换机应分别有两条链路连接到互为冗余的两台存储设备的两个SP上,并在交换机上为此服务器的两个端口配置到两台存储的各4条链路,关于存储阵列的部署和SAN网络的规划,我回头会再单写一篇博客。
1.5 dns配置
将规划好的服务器主机名和对应的管理IP添加到DNS中,以便进行配置的时候可以根据域名解析ESX主机。
1.6 防火墙开通
如果可能的话,应使VC使用的IP、VC的SQL Server数据库使用的IP、ESX的管理IP均处于一个vLAN中,如果不行,需要开通VC到VC数据库的1433端口,VC与全部ESX之间的IP级互相访问(其实也有端口列表,但是非常多,还不如直接开IP级访问关系)
2 安装
2.1 ESXi安装
对于HP、DELL、IBM这样的大品牌服务器,应使用客制化的特定ESX安装盘,可大大降低操作系统出现紫屏的概率,联想和浪潮这样的服务器就只能用标准版本的ESX安装盘了,现提供 5.5版本的安装文件和keygen,生产环境验证可用。
- 标准ESX5.5安装盘:VMware-ESXi-5.5U1-RollupISO.iso
- HP OEM ESX5.5安装盘:VMware-ESXi-5.5.0-Update1-1746018-HP-5.75.4-Dec2014.iso
- IBM OEM ESX5.5安装盘:ESXi-5.5u1-1746018-IBM_20140522.iso
- 标准VC5.5安装盘:VMware-vCenter-5.5.0-1891310-20140201-update01.iso
- VC和ESX5的keygen:VCVMwareESXI5keygen.zip
ESX的安装过程基本就是下一步,对于所有的提问给出肯定答复即可,截这些屏实在是没有意义,安装过程遇到错误的概率也挺大,比如光盘问题、兼容性问题、网络问题、RIAD问题、驱动问题等,如果需要,可以将问题EMail给我。稍微需要注意下的是安装完成后的配置,点击F2进入配置界面,选择配置网络,每个条目都进去一下,分别选择连接了固定vLAN端口的网卡(具体的网卡名字与连线的物理位置不见得对的上,只能一个一个试),禁用IPv6,输入管理IP/网管/掩码,输入DNS服务器和本机域名(要把后缀也输入,比如,esxbjf20322.mydomain.com),输入搜索域(比如,mydomain.com),esc退出选择保存,需重启服务器,然后,进入管理界面进行测试,如果ping都OK的话,就完工了。
安装完ESX后,存储阵列上就能识别到这主机了,在存储阵列上为其划分相应的LUN,每个2T,多少个就看需要了,更多的情况是看你有多少存储。
2.2 vc安装
vc的安装其实就是安装两台win2008 r2x64服务器(可以使用虚拟机,不要把它们加到AD域中),一个装上sql server 2008 r2 x64,一个装上vc系统,这些安装过程基本都是一路回车,不一一截屏了。如果想使用刚装好的esx来提供虚拟机安装vc,可使用vsphere client(使用http://esxip就可以下载安装)连接任一台esx(IP输入esx的管理IP,用户名root,密码为你安装过程中输入的root密码),创建虚拟机就行。在安装过程中所有涉及到密码的地方都输入同一个密码,这样无论如何你都不回弄混。安装包可从上文地址下载。
3 配置
VC安装完毕后,就可以使用vsphere client连接VC(IP输入VC所在的虚拟机IP,用户名为administrator@vpshere.local,密码是安装VC过程中输入的),VC是可以与LDAP和AD集成的,回头单独写一篇博客来说明做法。连接后在系统管理->vCenterServer设置->许可中,输入VC的许可证号,可从上文中的云盘下载keygen,然后生成vCenter Server 5 Standard类型的key,或者直接输入MA69T-A8345-1ZRT1-FC3NK-8AL7X。
3.1 群集
首先,右键点击VC树根节点创建数据中心(按地域命名,如bj),在右键点击此数据中心创建集群(按地域加功能命名,如bjoa),右键单击集群,选择编辑设置,将界面上的两个勾都勾上,以打开HA(高可用,硬件故障时自动vMotion)和DRS(动态资源共享,将虚拟机自动迁移到负载小的ESX上)。再右键点击群集,添加主机,输入主机的域名(如esxbjf20322.mydomain.com),输入root和root密码,然后一路回车。过程中需要输入key,可从上文中的云盘下载keygen,然后生成VMware vSphere 5 Enterprise Plus (unlimited CPU)类型的key,或者直接输入1F4J3-0030K-CZT21-D1272-2CF3W。
安装完ESX后,存储阵列上就能识别到这主机了,在存储阵列上为其划分相应的LUN,每个2T,多少个就看需要了,更多的情况是看你有多少存储。
2.2 vc安装
vc的安装其实就是安装两台win2008 r2x64服务器(可以使用虚拟机,不要把它们加到AD域中),一个装上sql server 2008 r2 x64,一个装上vc系统,这些安装过程基本都是一路回车,不一一截屏了。如果想使用刚装好的esx来提供虚拟机安装vc,可使用vsphere client(使用http://esxip就可以下载安装)连接任一台esx(IP输入esx的管理IP,用户名root,密码为你安装过程中输入的root密码),创建虚拟机就行。在安装过程中所有涉及到密码的地方都输入同一个密码,这样无论如何你都不回弄混。安装包可从上文地址下载。
3 配置
VC安装完毕后,就可以使用vsphere client连接VC(IP输入VC所在的虚拟机IP,用户名为administrator@vpshere.local,密码是安装VC过程中输入的),VC是可以与LDAP和AD集成的,回头单独写一篇博客来说明做法。连接后在系统管理->vCenterServer设置->许可中,输入VC的许可证号,可从上文中的云盘下载keygen,然后生成vCenter Server 5 Standard类型的key,或者直接输入MA69T-A8345-1ZRT1-FC3NK-8AL7X。
3.1 群集
首先,右键点击VC树根节点创建数据中心(按地域命名,如bj),在右键点击此数据中心创建集群(按地域加功能命名,如bjoa),右键单击集群,选择编辑设置,将界面上的两个勾都勾上,以打开HA(高可用,硬件故障时自动vMotion)和DRS(动态资源共享,将虚拟机自动迁移到负载小的ESX上)。再右键点击群集,添加主机,输入主机的域名(如esxbjf20322.mydomain.com),输入root和root密码,然后一路回车。过程中需要输入key,可从上文中的云盘下载keygen,然后生成VMware vSphere 5 Enterprise Plus (unlimited CPU)类型的key,或者直接输入1F4J3-0030K-CZT21-D1272-2CF3W。
至于每个集群应该多少台主机,实话实说企业是绝对达不到ESX的技术上限的,通常群集里主机数目就是一次采购中的ESX的数量(需要按分离的网络功能区进行分散),每个群集2,3,4,7,8,10台不等,没有原则影响,每个群集的n台主机内存总和的利用率理论上不高于(n-1)/n,实际上最好别超过60%。
3.2 ESX主机
对每台ESX,需在配置tab上做如下配置:
3.2.1 时间
时间配置中,点击属性,勾选NTP客户端已启用,点击选项,选择与主机一起启动和停止,点击NTP设置,点击添加,输入NTP服务器地址,如果企业内没有,就搭建一个,回头单写一篇讲如何建时间服务器。勾选重启NTP服务器以应用更改,点击确定,点击确定。
3.2.2 管理网络
网络中,点击标准交换机的属性,选择vSwitch,点击编辑,网卡绑定,选择,将固定vLAN的两个网卡都变成活动适配器,注意,上面网络准备中的网络连接方式决定了负载均衡策略只能使用基于源虚拟端口ID的路由。点击Manangement Network,选择编辑,勾选vMotion,点击确定,点击关闭。
3.2.3 存储
存储器中,点击全部重新扫描,然后点击添加存储器,下一步,选择一个LUN,然后一路回车,当然包含一个起名字的过程建议按规则起名(比如,bjoalun001),重复直至所有的lun都添加完毕,在一个ESX里做完这些操作后,其他ESX属于存储阵列上同一个storage group的,应该自动识别这些datastore,如果哪台没有,就到它的存储器界面点击全部重新扫描就可以。
3.2.4 本地存储
在清单里切换到数据存储和数据存储群集,将每台主机的本地硬盘改成规范的名字(如localesxbjf20322),可通过点击datastore,然后切换到主机tab,确定该本地存储属于哪台主机。
3.2.5 分布式虚拟交换机
在清单里切换到网络,右键单击数据中心,新建vShpere Distributed Switch,下一步,选择最高版,下一步,起个规范的名字(如dvsbjoa),端口数改为6,下一步,选择所有在同一二层网络中的ESX的6个业务网卡,下一步,点击完成。右键单击这个dvs,新建端口组,名称使用该vlan的IP前缀(如20-33-230),VLAN类型选择VLAN,VLAN ID输入这个端口组支持的VLAN ID,此ID对应着物理网络里20.33.230.0/24这个vLAN对应的ID,下一步,点击完成,即可。
下面我们就可以在这个资源池中创建虚拟机了,可以通过模板、模板内自动化脚本、PowerCLI、VBS实现管理员自动管理,可以通过企业内部流程系统实现资源池的流程化管理,这些将在《基于VMware的虚拟机资源池实现(下)-运营资源池》中进行介绍。
3.2 ESX主机
对每台ESX,需在配置tab上做如下配置:
3.2.1 时间
时间配置中,点击属性,勾选NTP客户端已启用,点击选项,选择与主机一起启动和停止,点击NTP设置,点击添加,输入NTP服务器地址,如果企业内没有,就搭建一个,回头单写一篇讲如何建时间服务器。勾选重启NTP服务器以应用更改,点击确定,点击确定。
3.2.2 管理网络
网络中,点击标准交换机的属性,选择vSwitch,点击编辑,网卡绑定,选择,将固定vLAN的两个网卡都变成活动适配器,注意,上面网络准备中的网络连接方式决定了负载均衡策略只能使用基于源虚拟端口ID的路由。点击Manangement Network,选择编辑,勾选vMotion,点击确定,点击关闭。
3.2.3 存储
存储器中,点击全部重新扫描,然后点击添加存储器,下一步,选择一个LUN,然后一路回车,当然包含一个起名字的过程建议按规则起名(比如,bjoalun001),重复直至所有的lun都添加完毕,在一个ESX里做完这些操作后,其他ESX属于存储阵列上同一个storage group的,应该自动识别这些datastore,如果哪台没有,就到它的存储器界面点击全部重新扫描就可以。
3.2.4 本地存储
在清单里切换到数据存储和数据存储群集,将每台主机的本地硬盘改成规范的名字(如localesxbjf20322),可通过点击datastore,然后切换到主机tab,确定该本地存储属于哪台主机。
3.2.5 分布式虚拟交换机
在清单里切换到网络,右键单击数据中心,新建vShpere Distributed Switch,下一步,选择最高版,下一步,起个规范的名字(如dvsbjoa),端口数改为6,下一步,选择所有在同一二层网络中的ESX的6个业务网卡,下一步,点击完成。右键单击这个dvs,新建端口组,名称使用该vlan的IP前缀(如20-33-230),VLAN类型选择VLAN,VLAN ID输入这个端口组支持的VLAN ID,此ID对应着物理网络里20.33.230.0/24这个vLAN对应的ID,下一步,点击完成,即可。
下面我们就可以在这个资源池中创建虚拟机了,可以通过模板、模板内自动化脚本、PowerCLI、VBS实现管理员自动管理,可以通过企业内部流程系统实现资源池的流程化管理,这些将在《基于VMware的虚拟机资源池实现(下)-运营资源池》中进行介绍。
更多推荐
已为社区贡献11条内容
所有评论(0)