《深入了解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.vephp.com/jiaocheng/4434.html