规划设计
规划前的需求调研
在做规划之前,或者说一个准备实施微分区的服务器来说,至少需要调查了解各个分区系统的以下相关情况,这些都可能影响到微分区的配置和划分。
" 各个微分区负载应用特点
如 CPU、内存、网络等特别是 I/O 的负载的侧重。
" 各个微分区网络需求
包括网段的划分、路由、网络设备的冗余等等在系统上线前的状况和可提供条件,以及实施运行过程中可能出现的变更。
" 各个微分区存储需求
包括存储的大小,性能的要求,以后扩展的需要。
微分区的设计
本文由于是实验室环境,性能要求不高,所以网卡和 HBA 卡设备都由 VIO server 共享出来。实际使用时,对于性能要求较高的微分区,网卡和 HBA 卡可以单独划分给某个分区。当然需要设计和购买相应的卡。
1. 分区规划
考虑到实验室实际情况,本次实施只划分了 10 个微分区,但实际可以更多,可以事后再追加。
分区名 名称
ss55aa01 vio server
ss55aa11 微分区 1
ss55aa12 微分区 2
ss55aa13 微分区 3
ss55aa14 微分区 4
ss55aa15 微分区 5
ss55aa16 微分区 6
ss55aa17 微分区 7
ss55aa18 微分区 8
ss55aa19 微分区 9
ss55aa20 微分区 10
2. CPU 的设计
这些微分区为开发测试分区,开发测试的人员为同一批人,所以不太可能所有的分区都同时繁忙,所以做了如下设计:
分区名 | min | desire | max | v_min | v_desire | v_max | share_mode | 权重 |
ss55aa01 | 0.3 | 0.5 | 1 | 1 | 2 | 4 | uncapped | 128 |
ss55aa11 | 0.1 | 0.3 | 4 | 1 | 2 | 4 | uncapped | 64 |
ss55aa12 | 0.1 | 0.3 | 4 | 1 | 2 | 4 | uncapped | 64 |
ss55aa13 | 0.1 | 0.3 | 4 | 1 | 2 | 4 | uncapped | 64 |
ss55aa14 | 0.1 | 0.3 | 4 | 1 | 2 | 4 | uncapped | 64 |
ss55aa15 | 0.1 | 0.3 | 4 | 1 | 2 | 4 | uncapped | 64 |
ss55aa16 | 0.1 | 0.3 | 4 | 1 | 2 | 4 | uncapped | 64 |
ss55aa17 | 0.1 | 0.3 | 4 | 1 | 2 | 4 | uncapped | 64 |
ss55aa18 | 0.1 | 0.3 | 4 | 1 | 2 | 4 | uncapped | 64 |
ss55aa19 | 0.1 | 0.3 | 4 | 1 | 2 | 4 | uncapped | 2 |
ss55aa20 | 0.1 | 0.3 | 4 | 1 | 2 | 4 | uncapped | 2 |
注意,此处 VIO server 的 CPU 也为共享,优先级最高,基于以下原因:
o CPU 数量有限,专有 CPU 至少为 1 颗,有些浪费。
o 这是由于该机器为实验室用途,性能要求不高,对 VIO server 的压力不大。
o 此 powerVM 实际为 power5 的 APV,不能实现 power6 的 Multiple Shared Processor Pools 功能 , 设为专有 CPU 后,将不能自动调整实际 CPU 的使用。
o 实际使用过程中,如果 CPU 宽裕,对性能有要求,建议采用专有 CPU 模式。
另外,设计虚拟 CPU 时需注意,由于在微分区实际使用时,实际可使用物理 CPU 的个数受限于虚拟 CPU 的个数,即虽然你物理 CPU 的最大值为 16,但如果虚拟 CPU 个数为 4,实际能使用的 CPU 个数即为 4,所以其最大值最好接近于整个机器的物理 CPU 个数。
3. 内存的设计
考虑到实际情况,前 8 个分区为开发测试环境,后 2 个为学习环境,具体调整根据实际运行后再修正。
分区名 | min | desire | max |
ss55aa01 | 512M | 768 | 1G |
ss55aa11 | 1G | 3G | 6G |
ss55aa12 | 1G | 3G | 6G |
ss55aa13 | 1G | 3G | 6G |
ss55aa14 | 1G | 3G | 6G |
ss55aa15 | 1G | 3G | 6G |
ss55aa16 | 1G | 3G | 6G |
ss55aa17 | 1G | 3G | 6G |
ss55aa18 | 1G | 3G | 6G |
ss55aa19 | 128M | 512M | 1G |
ss55aa20 | 128M | 512M | 1G |
4. 网络的设计
由于开发测试也需要模拟运行环境,有可能 2 个网段,并可能做 HA,所以做以下设计:
" 2 个网段 4 块的千兆网卡 ent0-ent3
" 可以互联也可以外部连接其他测试机。
" ent0,ent1 一个 vlan,ent2、ent3 一个 vlan。以下为 VLAN 号
所有微分区网卡可设计成一样,当然也可不同 :
SCSI ID | VLAN | IEEE 802.1q 兼容适配器 | 访问外部网干线优先级 | 连接外网 |
4 | 1 | 无 | 无 | 否 |
5 | 1 | 无 | 无 | 否 |
6 | 98 | 无 | 无 | 否 |
7 | 98 | 无 | 无 | 否 |
5. 存储的设计
这里可以看到,每个微分区的 SCSI 存储卡实际是可以对应 VIO server 上的 profile 里一个虚拟 SCSI 卡,即 VIO Server 操作系统里的 vhost。
分区名 | 微分区 SCSI ID:2 | 微分区 SCSI ID:3 |
ss55aa11 | 111 | 112 |
ss55aa12 | 121 | 122 |
ss55aa13 | 131 | 132 |
ss55aa14 | 141 | 142 |
ss55aa15 | 151 | 152 |
ss55aa16 | 161 | 162 |
ss55aa17 | 171 | 172 |
ss55aa18 | 181 | 182 |
ss55aa19 | 191 | 192 |
ss55aa20 | 201 | 202 |
分区名 | rootvg1 | rootvg2 | datavg | tempvg |
ss55aa01 | 139G | 139G | ||
ss55aa11 | 20G | 20G | 50G | 100G |
ss55aa12 | 20G | 20G | 50G | 100G |
ss55aa13 | 20G | 20G | 50G | 100G |
ss55aa14 | 20G | 20G | 50G | 100G |
ss55aa15 | 20G | 20G | 50G | 100G |
ss55aa16 | 20G | 20G | 50G | 100G |
ss55aa17 | 20G | 20G | 50G | |
ss55aa18 | 20G | 20G | 50G | |
ss55aa19 | 20G | 20G | 50G | |
ss55aa20 | 20G | 20G | 50G |
1. 磁盘和 VG 规划设计:
由于通常 rootvg 对磁盘读写性能要求不高,为了便于管理,将 rootvg 放在 2 个大的 vg,然后划分出 lv 来对应,其他划分磁盘 hdisk 一一对应。
lun_id | vg | disk | 大小 |
0x000 | 55a01_rootvg1 | hdisk2 | 200G |
0x001 | 55a11_datavg | hdisk3 | 50G |
0x002 | 55a12_datavg | hdisk4 | 50G |
0x003 | 55a13_datavg | hdisk5 | 50G |
0x004 | 55a14_datavg | hdisk6 | 50G |
0x005 | 55a15_datavg | hdisk7 | 50G |
0x006 | 55a16_datavg | hdisk8 | 50G |
0x007 | 55a17_datavg | hdisk9 | 50G |
0x008 | 55a18_datavg | hdisk10 | 50G |
0x009 | 55a19_datavg | hdisk11 | 50G |
0x00A | 55a20_datavg | hdisk12 | 50G |
0x00B | ss55a01_tempvg1 | hdisk13 | 100G |
0x00C | ss55a01_tempvg2 | hdisk14 | 100G |
0x00D | ss55a01_tempvg3 | hdisk15 | 100G |
0x00E | ss55a01_tempvg4 | hdisk16 | 100G |
0x00F | ss55a01_tempvg5 | hdisk17 | 100G |
0x010 | ss55a01_tempvg6 | hdisk18 | 100G |
0x011 | ss55a01_rootvg2 | hdisk19 | 200G |
rootvg 设计
考虑到空间的原因,rootvg 尽量节省,所以保留的 20G 一个,对于磁盘紧张的机器,可以放在内置盘。如果配置 146G 一个内置盘,取出 VIO server 自身使用约 30G,可以配置 5 个分区,如果配置目前常见的 300G 一个内置盘,也是一个不错的选择。
55aa01_rootvg1:
LV | TYPE | SIZE |
rootvg1_55a11 | jfs2 | 20G |
rootvg1_55a12 | jfs2 | 20G |
rootvg1_55a13 | jfs2 | 20G |
rootvg1_55a14 | jfs2 | 20G |
rootvg1_55a15 | jfs2 | 20G |
rootvg1_55a16 | jfs2 | 20G |
rootvg1_55a17 | jfs2 | 20G |
rootvg1_55a18 | jfs2 | 20G |
rootvg1_55a19 | jfs2 | 20G |
rootvg1_55a20 | jfs2 | 20G |
LV | TYPE | SIZE |
rootvg2_55a11 | jfs2 | 20G |
rootvg2_55a12 | jfs2 | 20G |
rootvg2_55a13 | jfs2 | 20G |
rootvg2_55a14 | jfs2 | 20G |
rootvg2_55a15 | jfs2 | 20G |
rootvg2_55a16 | jfs2 | 20G |
rootvg2_55a17 | jfs2 | 20G |
rootvg2_55a18 | jfs2 | 20G |
rootvg2_55a19 | jfs2 | 20G |
rootvg2_55a20 | jfs2 | 20G |
o 网卡 :
对于微分区,内部网卡此处设计为 2 个网段,即 2 个 VLAN,一个为 1,一个为 98,和 VIO server 内部 vlan 一一对应;对于 VIO server 对外,可以互通,都是新 vlan 为 1。即此处 2 和 99 留有今后扩充,没有使用。因为事后添加需要重起 VIO server。
SCSI ID | VLAN | IEEE 802.1q 兼容适配器 | 新 VLAN 标示 | 访问外部网干线优先级 | 连接外网 |
11 | 1 | 是 | 1 | 1 | 是 |
12 | 2 | 是 | 1 | 2 | 是 |
13 | 98 | 是 | 1 | 3 | 是 |
14 | 99 | 是 | 1 | 4 | 是 |
此处设置为任意分区,这样今后方便变化,可根据实际情况加以调整。这里只设计 20 个 vhost,但建议可以设计更多,因为事后添加需要重起 VIO server。
SCSI ID | vhost | 规划微分区 | 任意插槽任意分区 | rootvg | data vg |
111 | vhost0 | ss55aa11 | 是 | rootvg1_55a11 | 55a11_datavg |
112 | vhost1 | ss55aa11 | 是 | rootvg1_55a11 | 55a11_tempvg |
121 | vhost2 | ss55aa12 | 是 | rootvg1_55a12 | 55a11_datavg |
122 | vhost3 | ss55aa12 | 是 | rootvg2_55a12 | 55a11_tempvg |
131 | vhost4 | ss55aa13 | 是 | rootvg1_55a13 | 55a11_datavg |
132 | vhost5 | ss55aa13 | 是 | rootvg2_55a13 | 55a11_tempvg |
141 | vhost6 | ss55aa14 | 是 | rootvg1_55a14 | 55a11_datavg |
142 | vhost7 | ss55aa14 | 是 | rootvg2_55a14 | 55a11_tempvg |
151 | vhost8 | ss55aa15 | 是 | rootvg1_55a15 | 55a11_datavg |
152 | vhost9 | ss55aa15 | 是 | rootvg2_55a15 | 55a11_tempvg |
161 | vhost10 | ss55aa16 | 是 | rootvg1_55a16 | 55a11_datavg |
162 | vhost11 | ss55aa16 | 是 | rootvg2_55a16 | 55a11_tempvg |
171 | vhost12 | ss55aa17 | 是 | rootvg1_55a17 | 55a17_datavg |
172 | vhost13 | ss55aa17 | 是 | rootvg2_55a17 | |
181 | vhost14 | ss55aa18 | 是 | rootvg1_55a18 | 55a18_datavg |
182 | vhost15 | ss55aa18 | 是 | rootvg2_55a18 | |
191 | vhost16 | ss55aa19 | 是 | rootvg1_55a19 | 55a19_datavg |
192 | vhost17 | ss55aa19 | 是 | rootvg2_55a19 | |
201 | vhost18 | ss55aa20 | 是 | rootvg1_55a20 | 55a20_datavg |
202 | vhost19 | ss55aa20 | 是 | rootvg2_55a20 |
3. 网卡设计
根据微分区的 4 块网卡 2 个网段的需求,并考虑可靠性,VIO server 将主板的网卡和外置 PCI 网卡绑成 2 块对外聚合网卡,设计如下:
phy ent | ethernet_Channel | visual ent | vadapter id | SEA |
ent0 | ent8 | ent4 | 11 | ent10 |
ent2 | ent8 | ent4 | 11 | ent10 |
ent1 | ent9 | ent5 | 12 | ent11 |
ent3 | ent9 | ent5 | 12 | ent11 |
总结
以上我们讨论了服务器虚拟化的诸多概念,完成了规划设计。后面的部分中,我们就按照上述设计来实施,由于微分区需要使用 VIO server,为清晰明了,我们先从 VIO server 开始实施,再实施微分区,实际没有先后顺序,但互有关联。