您好,登錄后才能下訂單哦!
如何進行VMware接入Openstack方案的分析 ,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
在Openstack中Nova項目中目前有兩個VMware相關的Driver(ESXDriver,VCDriver)。
從名字上可以清楚的看出來,一個是涉及ESX的Driver,一個是涉及VCenter的Driver。
ESXDriver最早是由Citrix貢獻的,VCDriver由Vmware提供。
ESXDriver將ESX作為Hypervisor接入Openstack, VCDriver將Vcenter集群做為Hypervisor接入Openstack。
ESXDriver方式導致的Vmware一些集群特性的丟失,VCDriver方式則解決了這些未能,當然也引入了一些新的問題(后續再說)。
VCDriver更多的體現了Vmware與Openstack的互補,一方面是VMware現有的存量很大,而且很多企業應用并非按照云的思想開發;另一方面新的應用多以云的思想開發。兩者互補滿足用戶需求,這也符合當前各廠商對混合云趨勢的共識。
ESXDriver與其他Hypervisor的接入方式略有差別。
主要有以下缺點:
與KVM等不同,VM跑在ESXi上,并非nova-compute所在節點。
ESXDriver限制,每個nova-compute服務僅支持一臺ESXi主機。
不支持VCenter上高級特性,比如DRS。
介紹本文主要介紹VCDriver方式接入。這種方式將集群作為Hypervisor接入,自然就擁有了HA,DRS,VMotion能力。
目前每個compute節點只能同時支持一種hypervisor。Grizzly每個compute服務只能支持一個VCenter集群,Havana版本已經去除了這個限制。
VCDriver中每個cluster都要有一個Datastore進行配置和使用。
由于cluster作為一個hypervisor整體呈現,也帶來了資源跨ESXi節點的問題,具體來說就是作為Hypervisor整體呈現的CPU、內存資源很充足,但是創建虛擬機是發現任何一個節點的資源都不滿足虛擬機需要的情況。
接入圖示
接入方法
nova.conf文件的配置。(使用VCDriver將c1集群接入)
[DEFAULT] compute_driver = vmwareapi.VMwareVCDriver [vmware] host_password = Huawei-123 host_username = Administrator@vsphere.local host_ip = 186.100.21.221 #datastore_regex = NOT DEFINED cluster_name = c1 #可以支持配置多個cluster
解釋:
compute_driver指定所使用的Driver。
host_password/username/ip 用于連接vcenter server。cluseter_name 指定所管理的Vmware集群,從Havana版開始可以指定多個。
datastore_regex datastore配置格式,指定可以使用的datastore。
鏡像的使用
從上邊圖示部分可以看出,鏡像從Glance上下載到Vmware的datastore上。
過程是在compute節點上調用glance API下載鏡像然后使用VMware的API將鏡像寫到datastore上。
這樣一個傳輸過程無疑是耗費compute資源并且低效的。
Cinder中基于鏡像創建卷過程與此類似,這里不再贅述。
#virt/vmwareapi/vmware_images.pydef fetch_image(context, image, instance, **kwargs):"""Download image from the glance image server."""LOG.debug(_("Downloading image %s from glance image server") % image, instance=instance)(image_service, image_id) = glance.get_remote_image_service(context, image)metadata = image_service.show(context, image_id)file_size = int(metadata['size'])read_iter = image_service.download(context, image_id)read_file_handle = read_write_util.GlanceFileRead(read_iter)write_file_handle = read_write_util.VMwareHTTPWriteFile(kwargs.get("host"),kwargs.get("data_center_name"),kwargs.get("datastore_name"),kwargs.get("cookies"),kwargs.get("file_path"),file_size)start_transfer(context, read_file_handle, file_size, write_file_handle=write_file_handle)LOG.debug(_("Downloaded image %s from glance image server") % image, instance=instance)
更加理想的方式,是將datastore作為glance的后端,這些創建虛擬機時就不用如此下載鏡像。
關于如何進行VMware接入Openstack方案的分析 問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。