1. 程式人生 > >別以為真懂Openstack: 虛擬機器建立的50個步驟和100個知識點(5)

別以為真懂Openstack: 虛擬機器建立的50個步驟和100個知識點(5)

八、KVM

image

這一步,像virsh start命令一樣,將虛擬機器啟動起來了。虛擬機器啟動之後,還有很多的步驟需要完成。

步驟38:從DHCP Server獲取IP

有時候往往資料庫裡面,VM已經有了IP,很多人就認為虛擬機器就得到了IP,可是總是連不進去,不知從何入手,其實介面上能看到VM的IP和VM真正從DHCP獲得IP是兩回事情。

步驟39:cloud-init連線Metadata Server,並注入Key

Metadata Server有很複雜的架構,cloud-init連線Metadata Server,很容易就會不成功,如果不成功,Key無法注入,所有常出現IP能夠ping通,但是就是ssh不上去的情況。

../../_images/metadata_workflow.png

另外推薦孔令賢的blog

步驟40:通過VNC可以看到啟動過程

VNC是一個很好的東西,尤其是在VM沒有得到IP的時候,你可以通過VNC連進去,用使用者名稱密碼登陸,然後除錯為什麼DHCP失敗。

VNC也是比較複雜的東西,推薦文章

nova vnc proxy

步驟41:新增一個FLoating IP,可以通過Floating IP SSH進去。

要想Floating IP成功,除了IPTables NAT要正確,br-ex也需要正確配置。

步驟42:在VM裡面可以訪問外網

要做到這一點,除了gateway要配置正確,dns server也需要正確配置。

如果虛擬機器網路有問題,那是很頭疼的時候,建議通過下面的流程進行除錯:

  1. Security Group全部開啟,這是最基本的,但是很多人容易忘記,結果tcpdump了半天,發現security group沒開啟,真的很冤
  2. 通過介面檢視虛擬機器的log,也可以在compute節點上檢視console.log檔案,看看裡面是否有DHCP獲取IP成功的日誌,如果有,還不錯,如果沒有就慘了
  3. 如果虛擬機器連不上DHCP Server,則需要準備一個不使用metadata server,而是用使用者名稱密碼可以登入的image,通過VNC登入進去,如果VNC也不通,就需要先除錯VNC,這是訪問虛擬機器最後的方法了。
  4. 通過VNC登入進去後,就可以通過命令列執行dhclient,來重啟連線DHCP Server
  5. 在執行dhclient之前,需要通過ovs-vsctl show和brctl來檢視,各個網絡卡和bridge之間關係是否正確,tunnel之間是否能夠通,網絡卡是否都處於up的狀態
  6. 如果從虛擬機器的虛擬網絡卡到DHCP Server的網絡卡一路都是正確的,則需要檢視br-tun上ovs-ofctl dumpflows檢視flows規則,是否對包的改寫正確,是否有正確的規則
  7. 可以再dhclient執行的時候,從compute節點上的網絡卡和bridge,一個個進行tcpdump,看到底哪個網絡卡或者bridge沒有收到包,收到的包裡面的VLAN ID等是否正確,問題往往就是這裡
  8. 如果VM能從DHCP Server獲得IP,則好事成了一半,接下來換一個有cloud-init的image,看metadata server能夠連線成功,能夠注入key,也是通過console.log來看
  9. 如果metadata server不能連線成功,就需要順著metadata server的整個流程,一個一個模組看,看每個模組的log,埠是否正確,是否收到請求,也可以在VM裡面用curl來模擬metadata server的請求
  10. 如果metadata server能夠連線成功,key成功注入,下一步需要從namespace裡面看是否能夠ping通,能夠ssh
  11. 如果namespace裡面能夠成功,則在network節點上,ping floating ip和ssh,是否能夠成功,如果不成功,看br-ex的網絡卡是否新增正確,是否配置了ip,路由表是否正確,namespace裡面floating ip的iptables規則是否新增正確
  12. 在network節點上能夠ssh到floating ip,則需要從其他節點上ssh,如果不成功,可能br-ex的網址配置有問題,很可能是br-ex新增的物理網絡卡不是混合狀態,也可能是路由配置有問題,對於floating ip所在的網段,不指向network節點
  13. 如果floating ip能夠成功,則需要進去VM裡面執行apt-get update,如果不可以,看能否ping通openstack裡面的gateway,然後看能否ping通物理網路環境的gateway
  14. 最後要看DNS Server是否配置正確,是否能夠ping通,如果能,apt-get update執行成功,則虛擬機器才叫基本可用。

所謂基本可用,就是能執行簡單的命令沒有問題,但是,如果想裡面執行程式,則需要保證kvm的效能

而且虛擬機器之間是共享物理機的資源的,我們必須對虛擬機器的QoS進行控制,可用通過cgroup來進行控制

推薦文章

虛擬機器在一個物理機上執行,當資源緊張的時候,可能需要live migration到另外的機器上

九、Cinder

image

虛擬機器建立完畢,我們常會attach一個volume,當然也可以boot from volume,這樣volume裡面的資料不會隨著VM的消失而消失。

步驟44:Cinder API請求建立一個Volume

步驟45: Cinder Scheduler在多個Cinder Volume裡面選擇一個,也是先Filter再weighting的過程,可以根據總空間的大小,也可以根據分配的情況

步驟46:Cinder Volume建立一個iscsi target

步驟47:Cinder Volume建立一個LVM volume,加入iscsi target

步驟48:compute節點連線iscsi target,從而volume出現在compute節點上

步驟49:將compute節點上的volume attach到虛擬機器上

對於Cinder

Cinder架構

image

對於LVM,推薦文章

image

image

對於ISCSI

推薦

image

image

Cinder跟其他的儲存

image

image

相關推薦

以為Openstack: 虛擬機器建立50步驟100知識點(5)

八、KVM 這一步,像virsh start命令一樣,將虛擬機器啟動起來了。虛擬機器啟動之後,還有很多的步驟需要完成。 步驟38:從DHCP Server獲取IP 有時候往往資料庫裡面,VM已經有了IP,很多人就認為虛擬機器就得到了IP,可是總是連不進去,不知從

Openstack虛擬機器建立中的RPC呼叫

虛擬機器建立過程如圖1-1 圖1-1 如上圖,nova-api在收到客戶端建立虛擬機器的HTTP請求後,通過RPC呼叫nova.conductor.manager.ComputeTaskManager中的build_instances()

openstack-nova原始碼虛擬機器建立流程

nova-api接收到訊息後,呼叫nova\api\openstack\compute\servers.py 中ServersController類的create()方法, 部分程式碼: try:             inst_type = flavors.get_f

OpenStack部署應用第七篇:虛擬機器建立流程(轉)

1、虛擬機器建立流程 2、深入理解虛擬機器的磁碟、網路及Metadata 3、OpenStack虛擬機器生產映象構建實踐 1.建立虛擬機器硬碟 qemu-img create -f qcow2 /tmp/centos.qcow2 10G 2.建立虛擬機器 virt-install --virt-type

伺服器建立虛擬機器並開啟ssh服務修改ip

我是通過VMware Workstation Pro 連線的公司伺服器,然後開始建立虛擬機器 然後就建立了一個Ubuntu系統的虛擬機器 首先,檢視是否有網路,開始安裝ssh服務,這樣就可以連線xshell遠端操作 安裝openssh-server。

『中級篇』docker之虛擬機器建立vagrant技巧(番外篇)(81)

原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝! 原文連結地址:『中級篇』docker之虛擬機器建立vagrant技巧(番外篇)(81) 之前一直用的原生的centos7的源映象安裝虛擬機器,然後在這個基礎執行shell指令碼,經常出

Openstack虛擬機器關機後無法啟動(start).md

Openstack虛擬機器關機後無法啟動(start) #現象 執行啟動虛擬機器(nova start)之後,虛擬機器並未啟動,到該計算節點母機檢視/var/log/nova/nova-compute.log日誌發現如下報錯 2018-09-30 02:31:

openstack虛擬機器resize原始碼分析(更新至排程計算節點執行任務)

openstack虛擬機器resize原始碼分析 resize過程python-client端debug [[email protected] ~(keystone_admin)]# nova --debug resize 2001bdd5-8a2e

VMware虛擬機器建立Ubuntu16.04映象

1.安裝VMware Workstation 12pro 軟體破解版:連結:https://pan.baidu.com/s/1u3v1JmGInzGLmiETsg9wWg   提取碼:h1du 百度網盤地址:連結:https://pan.baidu.com

虛擬機器建立以及管理

##通過滑鼠操作建立一個虛擬機器## virt-manager //進入虛擬機器操作頁面 //建立一個新虛擬機器,找到之前下載的包,然後進入安裝頁面// //選擇安裝語言// //選擇安裝時間,虛擬機器型別,分盤// //root使用者密碼,建

深入理解OpenStack虛擬機器之Metadata

前言: 剛接觸OpenStack的朋友都知道,我們在建立虛擬機器的時候選擇金鑰對,虛擬機器建立完畢後,直接使用ssh無密碼就可以登入到虛擬機器,那麼我們建立的my-key如何就這麼神奇的被放到了虛擬機器中呢? OpenStack metadata 要理解如何實現的,我們需要先了解OpenStack

深入瞭解OpenStack虛擬機器【上】

前言 假如你已經有了一個OpenStack叢集,而且建立了一個虛擬機器,那麼這個虛擬機器到底有多少祕密呢?讓我們一起來探索一下。 虛擬機器存放在哪裡? 假如我們沒有使用Cinder的塊儲存,那麼這臺虛擬機器在物理硬碟上是存放在哪裡呢?這個虛擬機器的相關描述和配置存放在哪裡, 預設情況下,nova.c

當發現你的OpenStack虛擬機器網路有問題,不妨先試一下這16步驟

1. Security Group全部開啟,這是最基本的,但是很多人容易忘記 其實遇到過無數這種場景了,Debug了半天網路問題,各種手段都用上了,最後發現安全組竟然沒有開啟。   2. 通過介面檢視虛擬機器的log,也可以在compute節點上檢視console.log檔案,看看裡面是否有DHCP

利用vmware虛擬機器建立一個軟盤映像檔案

很多同學在做軟盤linux系統實驗時,大都為第一步操作發愁,這什麼是軟盤從來沒有見過。沒有軟盤,如何建立一個軟盤映像檔案呢?這是個問題。 但是我們可以利用vmware虛擬機器軟體提供的一個功能很容易的建立一個軟盤映像檔案,作為軟盤來使用。很方便的。 具體步驟如下: 1.關閉虛擬機器,注意不是關閉vm

openstack虛擬機器掛載塊裝置

概述 libvirt可以方便定義,啟動虛擬機器例項,也可以輕鬆的給虛擬機器例項掛載塊裝置, 比如硬碟,光碟機等 型別 光碟 在xml檔案中,配置如下: <disk type='file' device='cdrom'> &

VMware8 打不開高版本的虛擬機器建立的系統解決方案

想用VM開啟別人的一個虛擬機器系統,無奈,我的是VM8,對方用的是更高版本的VM,本以為是得重灌VM了,但想著折騰一下,試著低版本VM能不能開啟這個虛擬機器系統。在網上搜到一些資源之後,就進行了下總結。凡事試試嘛,說不定會有收穫呢。 開啟虛擬機器系統後,顯示結果是這樣的:

kvm虛擬機器建立:使用qemu-img建立img基礎映象以及增量映象

最近在學習虛擬化方面的知識,也只是剛剛入門階段,這裡把學習的一些筆記貼出來:qcow2和raw區別https://www.ibm.com/developerworks/cn/linux/1409_qiaoly_qemuimgages/建立kvm虛擬機器映象:基礎映象qemu-

關於OpenStack虛擬機器啟動卷備份

在OpenStack虛擬機器使用映象啟動,啟動卷會存放在宿主機本地檔案系統 並且nova會快取一份映象到宿主機本地(_base),然後建立一個qcow2檔案,此檔案依賴_base內的映象檔案 所以針對

[管理篇5]OpenStack虛擬機器動態遷移——共享儲存遷移

前面我們介紹了有關OpenStack的熱遷移包括塊遷移和共享儲存遷移,對於快遷移可能有一個致命的缺點,就是他相當於一個物理物件的遷移,如果虛擬機器例項比較大或者網路頻寬有所限制,這可能會讓使用者感覺不是非常友好,雖然他也是一個不宕機的遷移。 今天就給大家介紹另一種方式,也

OpenStack虛擬機器的Live Migration調整大小

OpenStack icehouse虛擬機器的Live Migration和調整大小 一、雲機的動態遷移 OpenStack雲平臺基本部署完成後,為了實現系統的高可用和負載均衡等,接下來就可以開始部署虛擬機器的動態遷移工作,OpenStack虛擬機器的動態遷移方式有三種