深入了解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),镜像文件只反映底层磁盘的变化. Copy-on-Write镜像文件qcow 镜像可以用来保存另一个镜像文件的变化,它并不去修改原始镜像文件,只记录与原始镜像文件的不同即可,这种镜像文件就叫做 copy-on-write 镜像.虽然是一个单独的文件,但它的大部分的数据都来自原始镜像,只有跟原始镜像文件相比有变化的才会被记录下来. 可以通过qemu-img命令获取更详细的内容. 支持写时拷贝(COW,镜像文件只反映底层磁盘的变化;也就是说现在我们看到的disk这个磁盘镜像,是 /var/lib/nova/instances/_base/564787f2316e4f0baa128b88222464ced基础上变化的内容. 下面我们来查看这个后端真正镜像的详细信息. 可以发现,这是一个raw格式的镜像,虚拟大小是39M,实际使用是18M. ?Libvirt.xml我们知道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》 分享嘉宾
趁现在,关注我们 牛人并不可怕,可怕的是牛人比我们还努力!关注“运维社区(微信ID:cloud-oaas)”公众号,每天利用空闲时间阅读一篇技术原创干货,满满的小幸福. 长按图片,选择“识别图中二维码”,关注我们. 原创声明:本文为赵班长原创,请必须全文转载,包括本行. (编辑:ASP站长网) |