cloudstack xenserver逻辑组织有几级,管理单位分别是什么

用户名:perofu
文章数:42
访问量:13210
注册日期:
阅读量:1297
阅读量:3317
阅读量:440796
阅读量:1127221
51CTO推荐博文
CloudStack 4.4学习总结之添加区域(zone)&1、添加区域(zone):&&&& 区
域是 CloudStack
部署中最大的组织单位。虽然允许一个数据中心中存在多个区域,但是一个区域通常与一个数据中心相对应。将基础架构编组到区域中的好处是可以提供物理隔离和
冗余。例如,每个区域都可以拥有各自的电源供应和网络上行方案,并且各区域可以在地理位置上相隔很远(虽然并非必须相隔很远)。&①、创建区域(zone):&&&& 【基础架构】--&【查看区域】--&【添加区域】&650) this.width=650;" src="http://static.oschina.net/uploads/space/0824_CPSQ_727880.png" alt="150824_CPSQ_727880.png" />②、选择添加基本区域:&&&& 【基本】--&【Next】650) this.width=650;" src="http://static.oschina.net/uploads/space/0524_QaNV_727880.png" style="float:" alt="150524_QaNV_727880.png" />③、设置区域:&&&& 【输入区域名称】--&【DNS】--&【选择虚拟机管理程序】--&【Next】只填写:【区域名称】、【DNS】、【虚拟机管理程序】650) this.width=650;" src="http://static.oschina.net/uploads/space/0524_YqnG_727880.png" style="float:" alt="150524_YqnG_727880.png" />④、设置物理网络:&&&& 直接下一步,即可。【Next】650) this.width=650;" src="http://static.oschina.net/uploads/space/0525_E2ox_727880.png" style="float:" alt="ox_727880.png" />⑤、设置提供点:&&&& 配置pod, 可以简单理解是给CloudStack内部系统用的IP,如系统VM使用的IP, 管理IP,创建的虚拟机ip。&&&&&& Pod对应着一个机架。同一个pod中的机器在同一个子网(网段)中。650) this.width=650;" src="http://static.oschina.net/uploads/space/0525_Xjji_727880.png" style="float:" alt="150525_Xjji_727880.png" />⑥、设置来宾网络:&&&& 创建的虚拟机需要使用的IP段。650) this.width=650;" src="http://static.oschina.net/uploads/space/_727880.png" style="float:" alt="P3_727880.png" />&⑦、配置集群:&&&& 给kvm的集群命名。650) this.width=650;" src="http://static.oschina.net/uploads/space/0525_IU9K_727880.png" style="float:" alt="150525_IU9K_727880.png" />&⑧、添加第一台主机:&&&& 填写节点主机的登陆用户和密码,推荐使用root账户。650) this.width=650;" src="http://static.oschina.net/uploads/space/0526_iNGj_727880.png" style="float:" alt="150526_iNGj_727880.png" />⑨、设置主存储:&650) this.width=650;" src="http://static.oschina.net/uploads/space/0526_ns1E_727880.png" style="float:" alt="150526_ns1E_727880.png" />&⑩、设置辅助存储:&650) this.width=650;" src="http://static.oschina.net/uploads/space/0526_4jJv_727880.png" style="float:" alt="jJv_727880.png" />11、准备启动区域:&650) this.width=650;" src="http://static.oschina.net/uploads/space/0526_VKXE_727880.png" style="float:" alt="150526_VKXE_727880.png" />12、启动区域:&650) this.width=650;" src="http://static.oschina.net/uploads/space/0527_p4RL_727880.png" style="float:" alt="RL_727880.png" />&13、查看基础架构:&&&& 系统VM,刚创建时为0,过段时间可以看到为2了。650) this.width=650;" src="http://static.oschina.net/uploads/space/0527_35cq_727880.png" style="float:" alt="cq_727880.png" />&14、查看系统VM:&&&& 添加过程中最大的问题可能在系统VM无法创建及启动, 并且日志一直显示在创建系统VM,这时需要,确保节点的资源充足。650) this.width=650;" src="http://static.oschina.net/uploads/space/0527_mOnJ_727880.png" style="float:" alt="150527_mOnJ_727880.png" />系统VM,不同于普通的 hypervisor host 上的虚拟机,它是 CloudStack 自带的用于完成自身系统相关的一些任务的vm。它有两种:二级存储虚拟机(Secondary Storage VM):下载上传模板、下载镜像,第一次创建虚拟机时从二级存储拷贝模板到一级存储并且自动创建快照等。&&& 控制台代理虚拟机(Console Proxy VM):用于在 web 界面上展示控制台。需要注意的是,系统虚拟机为 Debian 32 位操作系统,CloudStack 管理员可以用 SSH 登录。同时,能在主机的 /var/lib/libvirt/images 查看到它们。&15、查看节点状态:&&&& 在节点上查看挂载的NFS目录及系统虚拟机启动情况如下,由管理程序自动挂载,无需要手动去挂载干预,但要确保【/mnt】目录为空。650) this.width=650;" src="http://static.oschina.net/uploads/space/0527_rZl6_727880.png" style="float:" alt="150527_rZl6_727880.png" />本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)CloudStack接管vCenter已有集群的方法
CloudStack接管vCenter已有集群的方法
【专利摘要】本发明公开了一种CloudStack接管vCenter已有集群的方法,属于云计算平台管理领域,本发明获取vCenter集群中的所有虚拟机,并与CloudStack的数据进行校对,获得需要接管的虚拟机列表,并生成相应的服务方案或存储方案;根据虚拟机信息生成SQL,将虚拟机数据插入到CloudStack数据库中;根据虚拟机使用的卷、网卡信息,生成插入卷和网卡所需的SQL语句,插入到CloudStack数据库中,最终将虚拟机的计算、存储、网络等所有资源接管到CloudStack中。本发明简化了管理员的操作,降低了管理成本,最终能够有效提高整个云环境的生产效率。
【专利说明】0 I 01^?接管^06111:6「已有集群的方法
【技术领域】
[0001]本发明属于云计算平台管理领域,特别是涉及一种接管已有集群的方法。
【背景技术】
[(181:80^是一个开源的具有高可用性及扩展性的云计算平台,它支持管理大部分主流的(即虚拟机管理程序),如XVI,3,^6, 0X0.01& VI,父611等。同时是一个开源云计算解决方案,可以加速高伸缩性的公共和私有云(1^8)的部署、管理、配置。以作为基础,数据中心操作者可以快速方便的通过现存基础架构创建云服务。形成的基础设施云和数据中心运营商可以快速,轻松地建立在其现有的基础设施提供云服务的需求,弹性云计算服务。用户可以充分利用云计算提供更高的效率,无限的规模和更快地部署新服务和系统的最终用户。它可以帮助用户利用自己的硬件提供类似于八III狀011 £(:2那样的公共云服务。
可以通过组织和协调用户的虚拟化资源,构建一个和谐的环境。具有许多强大的功能,可以让用户构建一个安全的多租户云计算环境。兼容八胍2011八?I接口。可以让用户快速和方便地在现有的架构上建立自己的云服务。^可以帮助用户更好地协调服务器、存储、网络资源,从而构建一个1现3平台。同时由于采用細%116 2.0开源协议,对商业应用很友好,可以在需要的时候通过修改代码将进行二次开发,然后在进行发布或销售。
[:61'指 71冊1~6 ^ 361^61~。71冊1~6 ^~^61~ 提供了一个可伸缩、可扩展的平台,为虚拟化管理奠定了基础。^1^61'(以前称为^11-1:-),可集中管理穩冊1~6 ^8^1161~6环境,与其他管理平台相比,极大地提高了IX管理员对虚拟环境的控制。'可以在各个级别提供集中控制能力和可见性,并通过主动管理发挥^^1161*6潜能,是一个具有广泛合作伙伴体系支持的可伸缩、可扩展平台。此外31--% ^1^61'的开放式插件体系结构可支持来自及其合作伙伴的各种附加功能。超过300个合作伙伴直接与361^61~集成,这使您可以轻松地扩展平台,从而在多个方面实现更先进的管理功能,例如容量管理、遵从性管理、业务连续性和存储监控等。861-^61-八?I还允许客户集成物理管理工具和虚拟管理工具,通过使用他们选择的企业管理工具连接到861-^61-0
[0004]随着云计算平台开源社区的繁荣发展,^的开源出身和商业化成熟度较高的优势赢得了越来越多的关注,越来越多的企业开始使用部署它们自己的1现3云。有时候,某些企业出于降低成本的考虑,打算使用部署1现3云,但有受限于原有的^06111:61'环境。如果使用部署新的1现3云,就需要同时使用
和两套管理体系,不仅浪费了管理员的精力,而且容易造成混乱,严重的甚至可能造成较大的经济损失。
[0005]传统技术中,使用管理有以下三个缺点:
[0006]其一、CloudStack只能管理由CloudStack主动创建的虚拟机,对直接用vCenter创建的虚拟机,无法使用CloudStack进行管理,并且在早期版本的CloudStack中还会干扰vCenter虚拟机的使用。
[0007]其二、虚拟机无法使用vCenter或CloudStack进行统一管理,管理员需要来回在CloudStack界面和vCenter上切换工作平台,很浪费管理员的精力。
[0008]其三、即使单个虚拟机通过其他数据库操作等方式接管到CloudStack中,当vCenter中已有虚拟机很多时,造成管理员大量重复操作,并且很容易造成遗漏等问题。
[0009]其四、CloudStack添加vCenter集群时,需要根据CloudStack的逻辑约束,将vCenter中的存储、网络等资源逐步添加到CloudStack中,步骤较多,浪费了较多的时间。
【发明内容】
[0010]有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种能够有效提高整个云环境生产效率的CloudStack接管vCenter已有集群的方法。
[0011]为实现上述目的,本发明提供了一种CloudStack接管vCenter已有集群的方法,包括以下步骤:
[0012]步骤一、将待接管的vCenter集群信息插入到CloudStack中;
[0013]步骤二、获取vCenter集群中的所有主机,根据这些主机在vCenter上的信息生成相应SQL,然后将所有主机信息插入到CloudStack数据库中,最终将这些主机接管到CloudStack 中;
[0014]步骤三、获取vCenter集群中的所有数据存储,根据数据存储的类型的不同,生成相应SQL,然后将所有可接管的数据存储插入到CloudStack数据库中,最终将这些数据存储接管到CloudStack中,成为可用的主存储;
[0015]步骤四、获取vCenter集群中的所有虚拟机,并与CloudStack的数据进行校对,获得需要接管的虚拟机列表,并生成相应的服务方案或存储方案;根据虚拟机信息生成SQL,将虚拟机数据插入到CloudStack数据库中;根据虚拟机使用的卷、网卡信息,生成插入卷和网卡所需的SQL语句,插入到CloudStack数据库中,最终将虚拟机的计算、存储、网络等所有资源接管到CloudStack中。
[0016]采用以上技术方案,本发明能够将vCenter中的计算、存储、网络等资源,包括所有主机、虚拟机等资源接管到CloudStack中。实现了 CloudStack与vCenter已有环境的兼容,使管理员能够在CloudStack这个统一平台上对云进行统一管理,简化了管理员的操作,降低了管理成本,最终能够有效提高整个云环境的生产效率。
[0017]进一步的,所述步骤一之前,还包括校验待接管vCenter集群中的所有网络信息的步骤。
[0018]较佳的,所述校验待接管vCenter集群中的所有网络信息按以下步骤进行:
[0019]获取待接管vCenter集群中的所有网络信息,并对CloudStack中的所有已有网络进行校验,如果校验失败,将相应网络添加到CloudStack中。
[0020]本发明的有益效果是:本发明能够将vCenter中的计算、存储、网络等资源,包括所有主机、虚拟机等资源接管到CloudStack中。实现了 CloudStack与vCenter已有环境的兼容,使管理员能够在CloudStack这个统一平台上对云进行统一管理,简化了管理员的操作,降低了管理成本,最终能够有效提高整个云环境的生产效率。
【专利附图】
【附图说明】
[0021]图1是本发明一【具体实施方式】的流程示意图。
【具体实施方式】
[0022]下面结合附图和实施例对本发明作进一步说明:
[0023]如图1所示,一种接管已有集群的方法,包括以下步骤:
[0024]步骤一、校验待接管集群中的所有网络信息。
[0025]步骤二、将待接管的集群信息插入到中,并对集群中的所有网络进行重命名处理,供接管虚拟机使用。
[0026]步骤三、获取集群中的所有主机,根据这些主机在上的信息生成相应3亂,然后将所有主机信息插入到数据库中,最终将这些主机接管到^ 中。
[0027]步骤四、获取社61'集群中的所有数据存储,根据数据存储的类型(如嫩3、乂班^)的不同,生成相应3亂,然后将所有可接管的数据存储插入到数据库中,最终将这些数据存储接管到(:101:(13仏4中,成为可用的主存储。
[0028]步骤五、获取^06111:61'集群中的所有虚拟机,并与的数据进行校对,获得需要接管的虚拟机列表,并根据所述集群中的虚拟机的0^、内存、磁盘的大小规格,生成相应的服务方案或存储方案;根据虚拟机信息生成3亂,将虚拟机数据插入到数据库中;根据虚拟机使用的卷、网卡信息,生成插入卷和网卡所需的3亂语句,插入到数据库中,最终将虚拟机的计算、存储、网络等所有资源接管到^ 中。
[0029]本实施例中,所述校验待接管集群中的所有网络信息按以下步骤进行:
[0030]获取待接管^061^61'集群中的所有网络信息,并对中的所有已有网络进行校验,如果校验失败,将相应网络添加到中。
[0031]校验集群网络时,对待接管的'集群中的所有网络进行校验,当所有网络都已经被管理时,才可以继续接管。
[0032]具体的,通过本身提供的和操作者提供的待接管集群的信息,连接上相应乂仏!!?!',然后通过^061^61'的301(八?I获得集群中的所有主机端口组(即集群中的网络),只有所有端口组对应都已经被管理起来时,才可以继续接管。
[0033]添加集群信息时,根据操作者输入的待接管集群信息,如数据中心名称、连接^06111:61~的用户名、密码等信息,生成插入集群所需的3亂,并在数据库中执行。具体涉及到对中和(^(161^118表的插入30匕
[:61-表的插入3亂示例如下:
[^ ¢11181:61-' (1(1, ~ 打咖一',~ 11111(1 ~~~~ 如七&―(1 , 117? 61-V1 801^^1:7? 6 , 0 :7?6 , : : 6 , (1^
, ~ 1-^) 7^11128 (1, ’ 192.168.6.77/(1^:^/01081:61'’,’ 6^-41
0^-’,’ ¢4(^-(^-491^,1,1,’,’ 2叉ternalManagecf,J Enabled’,J Managed’,NULL);
[0036]对cluster—details表的插入SQL示例如下:
[0037]INSERT INTO'cluster—details' ('id','cluster—id',name','value') VALUES (1,1,J username’,J administrator’);
[0038]INSERT INTO'cluster—details' ('id','cluster—id',name','value') VALUES (2,1,’ password’,’ QhJIXQ8ZqvnWElElkG5YGyJ9Vhcd+RQP’);
[0039]INSERT INTO'cluster—details' ('id','cluster—id',name','value')VALUES(3,1,,url,,,http://192.168.6.77/datacenter/cluster,);
[0040]INSERT INTO'cluster—details' ('id','cluster—id',name','value') VALUES (49,1,’ NativeHAi,’ false’);
[0041]接管vCenter集群主机时,根据操作者提供的vCenter服务器地址、用户名等信息连接到vCenter上,获得待接管集群中的所有主机信息,使用这些主机信息生成插入主机所需的SQL,并在CloudStack数据库中执行。具体涉及到对CloudStack数据库的host和host—details 表的插入 SQL。
[0042]host表的插入SQL示例如下:
[0043]INSERT INTO' host' ('id',name',uuid',status',' type' , ' pr i vate_ip_address , private_netmask , private_mac_address , storage_ip_address , storage_netmask , storage_mac_address , storage_ip_address_2 , storage—mac_address_2 , storage—netmask_2 , cluster_id , public_ip_address , public_netmask , public—mac_address , proxy_port , data—center_id,pod—id,cpus,speed,url,fs_type,hypervisor_type,hypervisor_vers1n , ram , resource , vers1n , parent , total_size , capabilities , guid ,
available , setup , domO—memory , last—ping , mgmt_server_id , disconnected,'created','removed','update_count','resource_state') VALUES(1,’ 192.168.6.76’,
’ e62-467d-8d36-ed75b467b82d’,’ Up’,’ Routing’,’ 192.168.6.76,,’ 255.255? 255.0,,,00:0c:29:21:ac:ab’,,192.168.6.76,,,255.255.255.0,,,00:0c:29:21:ac:ab’,NULL, NULL, NULL, 1,NULL, NULL, NULL, NULL, 1,1,32,2400, NULL, NULL, ’ VMwarei,NULL, ,’ com.cloud, hypervisor, vmware.resource.VmwareResourcei,’ 5.0’,NULL, NULLj ’ hvm’,’ HostSystem:host-.6.77’,1,0,0,,,’ 9:07:07’,’ 6:25:15’,NULL, 1359,’ Enabled’);
[0044]host—details表的插入SQL示例如下:
[0045]INSERT INTO'host —details' (' id',host —id',name',' value' )VALUES (3, 1,’ com.cloud, network.Networks.RouterPrivateIpStrategyi,’ DcGlobali);
[0046]INSERT INTO'host—details' (' id',host—id',name',' value') VALUES (I, 1,’ guid,,,HostSystem:host-.6.77,);
[0047]INSERT INTO'host—details' (' id',host—id',name',' value')VALUES(4, 1,,pBsswordi,’ DDFEf43oI2HHPZDdL9TlY86Jt40PmR9/’);
[0048]INSERT INTO'host—details' (' id',host—id',name',' value')VALUES(5, 1,’ url’,’ 192.168.6.76,);
[0049]INSERT INTO' host_details' ('id', 'host_id', 'name', 'value') VALUES (2,I,,username',' administrator');
[0050]接管vCenter集群数据存储时,根据操作者提供的vCenter服务器地址、用户名等信息连接到vCenter上,获得待接管集群中的所有数据存储信息,使用这些数据存储信息生成插入存储所需的SQL,并在CloudStack数据库中执行。在这里,需要注意的是NAS和VMFS等不同格式的数据存储生成的存储SQL不同。具体涉及到对CloudStack数据库的storage_pool表的插入SQL,其示例如下:
[0051 ] INSERT INT0'storage_pool' ('id', name', 'uuid', pool_type , port , data_center_id , pod_i d , cluster_i d , available —bytes , capacity_bytes , host_address , path , created , removed , update_time', 'status') VALUES(200, ’ primary',’ 0e553c04-5bcl-304f-9d72-5blef5dff568’
,’ NetworkFilesystem',2049, I, I, I, ,, ’ 192.168.7.222’,’ /export/primary6.78’,’ 6:25:21’,NULL, NULL, ’Up’);
[0052]接管vCenter集群中的虚拟机时,根据操作者提供的vCenter服务器地址、用户名等信息连接到vCenter上,获得待接管集群中的所有虚拟机,使用这些虚拟机信息生成插入虚拟机所需的SQL。同时在必须要的时候,还需要根据虚拟机的CPU、内存规格生成相应服务方案SQL,根据虚拟机磁盘的大小生成磁盘方案SQL。然后根据虚拟机的网络和磁盘配置,生成插入虚拟机网卡和卷的SQL。这些SQL语句在CloudStack数据库执行,最终将虚拟机的存储、网络等资源完整接管到CloudStack中。主要涉及到对disk_offering、service_offering、vm_instance、user_vm、nics和volumes等几个数据库表的插入操作同时,需要对user_ip_addres和sequence表进行更新,维护CloudStack中的资源占用状态和数据完整性。当执行上述SQL语句时,如果需要创建新的服务方案、磁盘方案,首先执行对disk_offering、service_offering这两个表的插入,如果不需要,按照vm_instance、 user—vm、nics、volumes表的顺序逐个插入。在每次插入vm—instance的一条记录后,都对user—ip—address 表和
[0053]sequence表进行更新。
[0054]vm—instance表的插入语句示例如下:
[0055]INSERT INTO' vm_ instance' ('id',name','uuid', instance —name , state , vm—template」d , guest_os_id , private—mac_address , private_ip_address , pod_id , data_center_id , host_id , last_host_id , proxy_id , proxy_assign_time , vnc—password , ha—enabled , limit_cpu_use , update—count,update_time,created,removed,type,vm_type,account_id,domain_id, service_offering_id,reservat1n_id,hypervisor_type')VALUES (3,’ 1-2_3_VM’,’ fcb5b5fa_9ae卜45da-b9fd_b9d4’,’ i_2-3-VM’,’ Expunging’,7,12,’ 06: 51: a8: 00: 00:1f’,’ 192.168.123.219’,1,1,NULLj2,2,,1:21:56,,,F46voDD/c6FD5aMbEVqxuMsqv5L28h4xBupDsmT/Gy8=,,0,0,9,,2:01:55,,,1:08:00,,NULL,,User,,,User,,2,1,1,NULL, ’ VMwarei);
[0056]user—vm表的插入语句示例如下:
[ 尺丁 1~丁011861' —乂爪' 土己',^ 1 50^1 (1 ^^ ^18 口 1&7 —几&爪已',11861' —如七&',^ 即己&七6」^!'應6七已!^') #[1133 (3,順11,’ 1-2-3~\^1’,順11,1);
[表的插入语句如下所示:
[尺丁 1^10^ 11105^ (^ 1(1^ , ^ 11111(1^ , ^ ^1(1 ^^ (11-6 5 5^,^ 1^)4^8(1(1^655 , 116 七 11188 垃,, 土口 —七 7口6 , 131^0 8(10 8 5^^11^1 , 116^^01^1 (1 ,
1110(16 , 8 七&七 6 , 8 七 I'&七 6 尽7 , 1*6 861^ , ^1^1(1 , ^6^106^1 (1 , 11^(18^6^^11116 , 1 5 0 18 ^ 101 , 1^)6^8(1(1^655 , ^6^ , ^111^七7口日,01*68^6(1,)^^1,1128(8,? 1 ^0~~(10^, 3,?06:51:^8:00:00:1^,,192.168.123.219,,,255.255.255.0,,,192.168.123.254,,,1口4,,
’,204,’ 011叩’,’ 0扮 110。故 1叫’,’ 0^社6’,’ 011^(^化切01^0111*11’,冊II,0,’ 2
014-10-’,’VI仙://123,,^1^, 1,,? 1:08:00^^11);
[165表的插入语句如下所示:
[^ 卩01鹽6^^ 狀⑶皿七―1?^,^ 如舰 111—1?^,^ 口001—1?^,^ 1^5^¢)001^1(1 , ^1(1 , (16^106^1(1 , 1181116 , 11111(1 , 5126 , ^01^611 , 口&七匕
,¢)0^1(1 ,, 15 0 51^1181116 , 1105^^1^) , V。1111116 —七 7口 6 , ¢)001^
1^0 , (115^0^^6^111^1(1 , 1:^1(1 ,
8^16 , 01*68^6(1 , 8^^80116(1 , &七6己,1* , 8七&七6 , ¢^0 , &七6—
⑶ 11帥'2,1,200,顯 1,3,0,’ 6001-3,,’ 05^32-1^61-己9’,,’ 76X1)01/^’,’ 尺001'-3’,1,1,顯 1,顯 1,’ 尺001'’,’ ^6^’,1,7,順沈,0,’1:08: 00’,肌[[/ 2:01: 55’,順1,’尺6吻,,
[0062]顯1,5);
[0063]对11861'—10—8(1(11*688表的更新语句如下所示:
[八丁2 (1(11-6 5 5 82X(1 = 2, ^(1 = 1, 3,=’ 1:08:00’,8七故6 ="八 11〇0故日己",116^01^—1(1 = 204^2^2^(1^655 = ’ 192.168.123.219’ 3,11(1 4= 1
[0065]对86叫611。6表的更新语句如下所示:
[八丁2 56^ 乂已1116 = ^116 = ’
[0067]通过上述五个步骤,根据一的一!'中已有集群的各种信息,生成需要的3乩语句,并在数据库中执行,最终将中的已有集群接管到¢1()11(13仏4中,实现(:对^(^一的一!'已有集群的完整兼容,使管理员能够在一个统一平台上对云环境统一管理,降低了管理成本,简化了管理员的日常工作。
[0068]以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本【技术领域】中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
【权利要求】
1.一种CloudStack接管vCenter已有集群的方法,其特征在于包括以下步骤:
步骤一、将待接管的vCenter集群信息插入到CloudStack中;
步骤二、获取vCenter集群中的所有主机,根据这些主机在vCenter上的信息生成相应SQL,然后将所有主机信息插入到CloudStack数据库中,最终将这些主机接管到CloudStack 中;
步骤三、获取vCenter集群中的所有数据存储,根据数据存储的类型的不同,生成相应SQL,然后将所有可接管的数据存储插入到CloudStack数据库中,最终将这些数据存储接管到CloudStack中,成为可用的主存储;
步骤四、获取vCenter集群中的所有虚拟机,并与CloudStack的数据进行校对,获得需要接管的虚拟机列表,并生成相应的服务方案或存储方案;根据虚拟机信息生成SQL,将虚拟机数据插入到CloudStack数据库中;根据虚拟机使用的卷、网卡信息,生成插入卷和网卡所需的SQL语句,插入到CloudStack数据库中,最终将虚拟机的计算、存储、网络等所有资源接管到CloudStack中。
2.如权利要求1所述的CloudStack接管vCenter已有集群的方法,其特征是:所述步骤一之前,还包括校验待接管vCenter集群中的所有网络信息的步骤。
3.如权利要求2所述的CloudStack接管vCenter已有集群的方法,其特征是:所述校验待接管vCenter集群中的所有网络信息按以下步骤进行:
获取待接管vCenter集群中的所有网络信息,并对CloudStack中的所有已有网络进行校验,如果校验失败,将相应网络添加到CloudStack中。
【文档编号】G06F9/455GKSQ
【公开日】日
申请日期:日
优先权日:日
【发明者】冯建建
申请人:北京天云融创软件技术有限公司浅谈 CloudStack 与 ZStack 架构与性能
本文将对CloudStack与ZStack功能与架构进行浅析,探讨这两个开源IaaS方案的特点,同时提供两者使用模拟器的方式,并在模拟器的场景做一些性能测试。
众所周知,云计算提供三种服务模式:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。当前IaaS相关技术热火朝天,一大批商业和开源的公有云和私有云解决方案相继涌现。笔者从大学时代开始接触GNU/Linux,学习LFS/Gentoo源码编译的发行版,构建科研计算HPC集 群。2012年开始从事IaaS领域,接触CloudStack和OpenStack,由于工作的原因使用CloudStack较为深入。在学习过程中常常在CloudStack社区发邮件提问,同时也参与邮件讨论。实践上,部署过若干套KVM+Ceph的私有云方案并交付应用,积累一定调试和故障排错经验。然而,ZStack成为当前较为耀眼的开源IaaS方案,其开发者张鑫(Frank Zhang)就曾在<和Citrix从事CloudStack架构设计和开发工作。正所谓“青出于蓝而胜于蓝”,ZStack能不能超越IaaS前辈们成为“最后”一个Stack?(ZStack的“Z”取义字母表最后一个字母,意为“最后”,与ZFS意思相似。)本文将对CloudStack与ZStack功能与架构进行浅析,探讨这两个开源IaaS方案的特点,同时提供两者使用模拟器的方式,并在模拟器的场景做一些性能测试。CloudStack架构介绍根据CloudStack官网()介绍“Apache CloudStack is open source software designed to deploy and manage large networks of&virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS)cloud computing platform”,可以了解到,CloudStack是一个开源的提供IaaS服务的解决方案,强调的是高可用和高扩展的能力。CloudStack前身是,2011年7月被Citrix思杰收购并100%开源。2012年4月,Citrix思杰宣布把CloudStack交给Apache软件基金会管理以及开发。目前CloudStack采用Apache License v2.0开源许可证发布源码,源码托管:/apache/cloudstack/。当前CloudStack最新版本为4.5.1,支持虚拟化解决方案: XenServer,KVM/LXC,VMware vShpere和Hyper-V(OVM3将在4.6版本支持,即目前的master分支)。存储方面,CloudStack从功能上将存储设施分为主存储(Primary Storage)和备份存储(Secondary Storage)。其中,主存储存放虚拟机当前挂载的虚拟 磁盘(虚拟卷Volume,不同的虚拟化支持的主存储类 型略有不同,具体情况如表1所示:结合实际部署方案,采用VMware ESXi和XenServer虚拟化场景较多使用iSCSI和FC存储,而采用KVM虚拟化场景较多使用ShareMountpoint和NFC。CloudStack在备份存储方面,支持NFS、SMB/CIFS、兼容S3和Swift(Ceph&RGW可提供接口访问)。表1 CloudStack不同虚拟化支持的主存储类型以上简单介绍了虚拟化和存储支持方面,接下来了解网络结构。CloudStack网络模式分为简单网络(Basic Networking)和高级网络(Advanced Networking),其中前者提供在一个区域(Zone)内无隔离的网络环境,后者能够在一个区域内提供隔离的网络环境。这里要注意的是,在建立一个区域时就需要选择网络模式,而且选择后不能变更,除非要重新部署。对于隔离方案,CloudStack支持了三种不同的二层隔离:VLAN、GRE和VXLAN。CloudStack在简单网络和高级网络中均可支持安全组功能。CloudStack网络功能的实现是通过虚拟路由的方式提供服务(Service VM),提供网络三层、负载均衡服务和VPN接入等服务,实现类似AWS VPC的网络功能。除此之外,CloudStack还接收来自BigSwitch、Cisco、F5、Juniper、Netscaler、Nicira和OpenDayLight等网络解决方案商(组织)提供的插件服务,通过自身产品或解决方案提供上述的网络服务,提高网络性能和组网灵活性。顺带一句,当前CloudStack已经实现通过Open vSwitch的分布式路由功能。实际上,笔者遇到很多朋友在私有云环境下部署CloudStack采用“高级网络+VLAN”的方案(可选安全组)。首先,高级网络能够支持网络隔离,是多租户和VPC方案的必然选择。其次,VLAN是最为简单的隔离方案,在小规模私有云情况下能够满足需求,并能与企业内部原有的网络互访。至于VXLAN Overlay和Open vSwitch实现分布式路由功能,在一定的规模下会考虑,但需要网络研发人员介入才能保障稳定运行。图1是CloudStack高级网络场景下VLAN网络隔离示意图:图中的计算节点有两块物理网卡,NIC1是管理和存储网络,NIC2是业务网络。如果计算节点同时具有三个物理网卡的时候,用户可以将存储网络和管理网络分离到不同的物理网络上,通过设置Jumbo Frame巨型帧,实现一般意义上的“三网分离”。实际生产环境中,由于对网络带宽和高可用的要求,用户常做双网口绑定,笔者建议选用mode 1(master-backup)或者mode 4(LACP)的模式。在一般场景下,mode 4模式也适合在Ceph分布式存储环境下使用;但是,在iSCSI场景中,由于应用级别已经具备多路径选择(主备或轮询模式),所以不需要进行网络绑定了,如果绑定,甚至可能造成性能下降。图1 CloudStack高级网络场景下VLAN网络隔离示意图另外,CloudStack是采用VM as a Service的方案, SSVM和CPVM提供了备份存储服务(Secondary Storage Service)和控制台服务(Console Proxy Service),而虚拟路由(Virtual Router)提供灵活的DHCP,Gateway,DNS和VPN等三层服务。图1中的VR就是一个路由器,形成VPC网络结构。ZStack架构介绍ZStack是一个全新的开源IaaS解决方案,发布于2015年4月,主要开发者为张鑫和尤永康。根据官方网站()介绍,ZStack is open source&IaaS(infrastructure as a service) software aiming to automate data centers, managing resources of&compute, storage, and networking all by APIs,可以了解到ZStack目标是解决数据中心自动化问题,并能通过API实现对计算、存储和网络资源的分配。CSDN上有一篇张鑫撰写的文章《直戳OpenStack痛处?IaaS开源新兵ZStack架构设计全解析》(csdn.net/article//2824443),同时也有一篇用户文档《ZStack深度试用:部署、架构与网络及其与OpenStack的对比》,(article//2824690)。关于ZStack架构设计可品读官方博客()。在ZStack官方公布的技术文档中,用户可以发现有很多不同于现有IaaS产品的架构设计,其主要特色为全异步架构、微服务和一致性哈希,可承载高并发的API请求,具备稳定的架构、非常简化的部署和升级的特点。ZStack同样采用Apache License v2.0发布源码,源码托管:/zstackorg/zstack。图2为ZStack架构图。图2 & ZStack架构图当前ZStack最新版本为0.8.0,暂时只支持KVM虚拟化。存储方面和CloudStack类似,逻辑上分为主存储(Primary Storage)和备份存储(Backup Storage)。
人力资源师
(责任编辑:sunning)
------分隔线----------------------------
报名咨询方式
原标题:27个!一英国退休女士眼中被取出27个被遗忘隐形眼镜(图)【环球网综合报道】俄...
内蒙古公务员局8月14日发布消息称,自治区公务员局决定开展2016年第三次公开遴选公务...
2:3输球后拒绝参加颁奖,理由啼笑皆非,这样的美国女排太小气...
苹果的一举一动,都牵动着富士康,是幸福也是危机。但是收购负债100亿美元的夏普,对...
海南省考试局: 探索和实施招生新模式...
2016年4月安徽省高等教育自学考试阅卷工作已经结束,安徽4月份自考成绩于4月28日9:00公...
谷歌人工智能算法RankBrain运行原理解析

我要回帖

更多关于 cloudstack api 的文章

 

随机推荐