《深入了解OpenStack虛擬機【上】》要點:
本文介紹了深入了解OpenStack虛擬機【上】,希望對您有用。如果有疑問,可以聯系我們。
假如你已經有了一個OpenStack集群,而且創建了一個虛擬機,那么這個虛擬機到底有多少秘密呢?讓我們一起來探索一下.
假如我們沒有使用Cinder的塊存儲,那么這臺虛擬機在物理硬盤上是存放在哪里呢?這個虛擬機的相關描述和配置存放在哪里, 默認情況下,nova.conf配置里面虛擬機的存放路徑為/var/lib/nova/instances.
接下來我們再來看看虛擬機的硬盤,首先我們查看一下大小.
虛擬機硬盤竟然只有2.4M,這不可能吧,一個Linux內核都比這個大.到底是為什么呢?我們使用file命令來一探究竟.
[root@linux-node2 7f94df9a-e547-4f56-9887-bbc52c4e0fff]#file disk
disk: QEMU QCOW Image (v3), has backing file (path/var/lib/nova/instances/_base/564787f2316e4f0baa128b88222464ced), 1073741824bytes
使用的是QCOW的鏡像格式V3版本,QCOW格式的特點之一就是:支持寫時拷貝(COW, copy-on-write),鏡像文件只反映底層磁盤的變化.
qcow 鏡像可以用來保存另一個鏡像文件的變化,它并不去修改原始鏡像文件,只記錄與原始鏡像文件的不同即可,這種鏡像文件就叫做 copy-on-write 鏡像.雖然是一個單獨的文件,但它的大部分的數據都來自原始鏡像,只有跟原始鏡像文件相比有變化的才會被記錄下來.
可以通過qemu-img命令獲取更詳細的內容.
支持寫時拷貝(COW, copy-on-write),鏡像文件只反映底層磁盤的變化;也就是說現在我們看到的disk這個磁盤鏡像,是
/var/lib/nova/instances/_base/564787f2316e4f0baa128b88222464ced基礎上變化的內容.
下面我們來查看這個后端真正鏡像的詳細信息.
可以發現,這是一個raw格式的鏡像,虛擬大小是39M,實際使用是18M.
我們知道OpenStack是使用Nova-compute來創建虛擬機,那么nova-compute是使用的libvirt來創建KVM虛擬機,既然是使用libvirt那么在我們/etc/libvirt/qemu下面就應該能看到相應的xml.
[root@linux-node2 ~]# ls /etc/libvirt/qemu/
instance-00000001.xml? networks
我們查看這個xml的前六行.
[root@linux-node2 ~]# head -6/etc/libvirt/qemu/instance-00000001.xml
<!–
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TOIT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xmlconfiguration should be made using:
virsh editinstance-00000001
or other application using the libvirt API.
–>
和之前我們創建KVM虛擬機一樣,這個xml是自動生成的,提示你不要修改本xml,如果想修改可以使用? virsh edit instance-00000001.好吧,千萬不要使用virsh來試圖修改OpenStack創建的虛擬機的xml,因為你修改了沒有用,為什么呢?我們繼續回到instense目錄下.你可以看到以實例ID命名的目錄下有一個libvirt.xml.
由于篇幅有限,大家自行查看該文件,從CPU、內存、磁盤、PCI設備等都很完善.
雖然OpenStack幫我們想的很周全,但是就算沒有你要的選項也不要試圖修改本xml.就像不要使用virsh修改一樣.他們的原因只有一個,OpenStack會在虛擬機軟重啟或者硬重啟的時候重新動態的生成libvirt.xml.到時候你所有的修改,就會是曾花一現.
小提示: 如果你想添加自定義的選項,可以看看/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py.
明日文章預告
《深入了解OpenStack虛擬機之-Metadata》
分享嘉賓
趙舜東
江湖人稱趙班長,曾在武警某部負責指揮自動化的架構和運維工作,2008年退役后一直從事互聯網運維工作.曾帶團隊負責國內某電商的運維工作,SaltStack中國用戶組發起人、《saltstack入門與實踐》作者,《運維知識體系》作者.
趁現在,關注我們
牛人并不可怕,可怕的是牛人比我們還努力!關注“運維社區(微信ID:cloud-oaas)”公眾號,每天利用空閑時間閱讀一篇技術原創干貨,滿滿的小幸福.
長按圖片,選擇“識別圖中二維碼”,關注我們.
原創聲明:本文為趙班長原創,請必須全文轉載,包括本行.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4434.html