Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to CloudStack’s System VM

Similar presentations


Presentation on theme: "Introduction to CloudStack’s System VM"— Presentation transcript:

1 Introduction to CloudStack’s System VM
Mice Xia

2 Outline Overview System VM role&function System VM template
System VM internals Q&A

3 Overview CloudStack使用系统虚拟机完成系统自身的功能 占用用户的物理资源 精简高效 对最终用户透明 高可用性 无状态
可线性扩展

4 CPVM Web VNC console 后端 每zone至少一个 网络配置 Public Control Management 自动扩展

5 SSVM 实现二级存储相关功能 每zone至少一个 网络配置 Public Control Management storage 自动扩展

6 VR 实现网络相关功能 每network至少一个 网络配置 DHCP/DNS/防火墙 端口转发NAT 负载均衡 VPN VPC
Public (adv.) Control Guest

7 System VM template Spec (CS 4.2) 所有的系统虚拟机使用同一个模板 Debian Linux 7.0
只装需要的工具, SSHd, Apache, iptables, ipsec, haproxy… SSH通过3922访问 预装JRE 所有的系统虚拟机使用同一个模板 不同hypervisor不同的模板VMware/Xenserver/KVM/HyperV 格式不同,但内容完全一样

8 How to build SyetemVM Template
Build from scratch 4.2标准方式 使用VirtualBox & veewee 安装系统 下载debian 7 iso 根据预定义的参数安装 更新debian Copy 各类CS的shell脚本到系统内 后续工作,建账户,chkconfig等 转换为其他格式,ova, qcow2等

9 How to patch SyetemVM Template
单独升级某个工具、软件 模板作为卷挂载到VM Mount, chroot 升级所需的软件 卸载卷,创建为模板 替换系统虚拟机模板 更新数据库,删除template_spoof_ref表中的systemVM 删除所有系统虚拟机

10 System VM initialization
CPVM/SSVM/VR创建时使用相同的模板 启动后挂载systemVM.iso或者patchdisk(KVM) 通过boot cmdline向VM传入参数, e.g. type=secstorage VM启动时检查参数,根据类型的不同 从systemvm.iso拷贝不同的文件 配置对应的网络 启动相应的服务

11 System VM initialization cont.
Authorized_key , mgmt server访问systemVM的ssh key cloud-scripts.tgz, 各类shell脚本,主要是VR使用 systemvm.zip 包括CPVM和SSVM的agent jar包 CPVM和SSVM中的agent java进程启动后,会连接mgmt server 8250,创建成功后,agent state Up

12 CPVM work flow ① 用户发起请求到mgmt server,查看web console
mgmt server选择合适的CPVM,返回public ip ② 用户浏览器访问CPVM ③ CPVM向mgmt server 发请求进行验证 ④ 验证通过,CPVM访问VM所在的hypervisor对应的端口,获取console信息 经CPVM转换成浏览器可接受的格式,返回用户浏览器图像数据

13 SSVM workflow (upload template)
① 用户发起上传模板请求到mgmt server ② mgmt srv选择合适的SSVM,发送命令进行下载 ③ SSVM通过外网NIC下载指定的模板 ④ SSVM 通过storage network mount上二级存储,写入模板。 SSVM 下载的同时会向mgmt srv报告下载的进度(百分比)

14 SSVM workflow (vmware snapshot)
① 用户发起卷快照请求到mgmt server, Mgmt server发送请求到对应的ESXI,对虚拟机进行快照 ② mgmt srv选择合适的SSVM,发送命令备份快照 ③ SSVM调用ESXI (VC) API导出虚拟机快照的卷为OVF ④ SSVM 通过storage network mount上二级存储,写入快照。

15 VR workflow ① 用户发起卷快照请求到mgmt server,例如添加端口转发规则
② mgmt srv选择合适的VR,通过control network发送命令,执行VR上的sh脚本,更新iptables,端口转发规则生效

16 System VM auto scaling Ssvm和cpvm根据负载情况自动scale up
consoleproxy.capacity.standby 待机session数量 consoleproxy.session.max 一个CPVM可服务的session数量 consoleproxy.session.timeout session超时时间 E.g. standby = 30 , max = 50 , 当用户session超过20后,CS会自动创建第二个CPVM

17 Redundant VR Active-standby的VR,高可用性场景使用,通过VRRP协议同步TCP session

18 QuickCloud Cpvm和ssvm作为单独运行的程序,可运行在其他机器上,例如mgmt-srv
Debug & production (since 4.2)

19 Q&A


Download ppt "Introduction to CloudStack’s System VM"

Similar presentations


Ads by Google