本文从个人角度上分析虚拟化的意义
1. 虚拟化对成本的影响
A. 节约采购成本:
提高 PC 的 CPU ,内存,硬盘和网络使用效率,同时降低了电力消耗
B. 节约了维护的成本:
i. PC 少了,维护工作自然少了
ii. 集中化的管理 , 减轻维护人员工作压力
iii. 可以弹性的资源调配
2. 虚拟化前的资源使用分析
下面场景是最直观的资源闲置
下面场景是利用率不高
3. 如何部署虚拟化主机
3.1 水平划分
对大公司来说,云太大了,将会导致管理的混乱,所以我们要进行一定的水平划分。
水平划分有很多方法,比如按照业务的敏感度,或者部门,业务的开放性(对内还是对外等),轻重分离。如果划分后还是太大了,可以继续 2 级, 3 级划分。
3.2 资源的最大利用
划分完以后,我们可以部署我们的虚拟集群了。
针对 2 节中的分析, 可以对我们的场景进行分类和部署
|
场景 |
CPU |
MEN |
NET |
IO |
业务特点 |
部署 |
A |
主备功能 |
M |
M |
M |
M |
要求主备隔离 |
不同应用的主备混搭,可以把 A 进程的主和 B 进程的背搭在同一机器上的不同虚拟机上 |
B |
UI 测试和工作 PC |
M |
M |
L |
L |
资源要求不高,大部分时间是闲置 |
通过 XEN 底层预销售尽量多的工作单元 |
C |
前端网络接入机 |
L |
L |
H |
L |
网络内外网资源占用高,其他低 |
可以跟一些网络要求不高的混搭,比如 D |
D |
应用 1 |
L |
L |
H |
H |
存储应用一般只对 IO 和 NET 要求高 |
混搭 |
E |
应用 2 |
H |
H |
L |
L |
后台运行应用,比如生成静态化报表等 |
|
F |
应用 3 |
H |
H |
H |
L |
如缓存或者主控应用 |
相对独立,可以部署那些不活跃的备份日志混搭 |
G |
应用 4 |
L |
L |
L |
H |
备份存储应用 |
|
H |
都高 |
H |
H |
H |
H |
如 DB 等, |
不适合虚拟化 |
通过虚拟化的资源池,我们可以对上表的场景 追求资源的最大化利用
下面是使用视图
上图显示,虚拟化起码可以帮我们节省 80% 以上 的 PC 资源,如果预销售越多,或者应用对资源要求越低,我们将会节省更多。
4. 虚拟化主机和多进程的区别
很多时候,做分布式应用时,感觉多虚拟机和多进程部署有一定的雷同
实际上还是差别非常大的: