映像选择
您选择的VM映像类型会影响正在使用的存储量和VM的性能。 手册页(http://linux.die.net/man/1/qemu-img)中提供的一些可用图像类型包括以下内容:
Raw
Qcow2
QCOW
Cow
VDI
VMDK
VPC
CLOOP
列表中最受欢迎的是Qcow / Qcow2和Raw。 已经对一种与另一种的性能和存储使用进行了大量研究。 原始映像比Qcow2映像具有更好的性能; 但是,您无法“快照”原始映像。 获取VM快照的一个优点是,您可以在代码部署之前拍摄快照,如果部署不顺利,您可以简单地恢复到以前版本的快照(清单3-13)。
清单3-13。 快照管理
# Creating a snapshot# virsh snapshot-create vm1.example.comDomain snapshot 1407102907 created# Viewing a list of snapshots# virsh snapshot-list vm1.example.com Name Creation Time State------------------------------------------------------------ 1407102907 2014-08-03 14:55:07 -0700 shutoff# Getting snapshot information# virsh snapshot-info vm1.example.com --currentName: 1407102907Domain: vm1.example.comCurrent: yesState: shutoffLocation: internalParent: -Children: 0Descendants: 0Metadata: yes# View XML information about snapshot# virsh snapshot-dumpxml vm1.example.com 14071029071407102907shutoff1407102907vm1.example.comba292588-6570-2674-1425-b2ee6a4e7c2b104857610485761hvm[SNIP] # Revert to a snapshot.# virsh snapshot-revert vm1.example.com –current# Delete a snapshot.# virsh snapshot-delete vm1.example.com --currentDomain snapshot 1407102907 deleted
文件系统选择
由于VM映像基本上是文件,因此会出现问题:您使用哪个文件系统来放置文件? 一些选项是
使用文件系统,如ext3,ext4,XFS或类似系统
将VM放在Linux逻辑卷管理器(LVM)分区上
在管理程序上使用文件系统放置VM文件时,访问VM会产生开销。 这种开销并不多,但是通过将VM置于例如未格式化的LVM上,您可以获得更好的性能。
文件系统的布局也很重要,不仅在虚拟机管理程序上,而且在虚拟机上。 清单3-14和清单3-15显示了用于最小安装的VM磁盘分区。
清单3-14。 VM磁盘分区
# Disk partition layout# We reserve 500MB for boot and the rest for an LVM physical volume.# This is based on an 80GB disk size for a VM.# parted -l /dev/sda2Model: XX (scsi)Disk /dev/sda: 85.9GBSector size (logical/physical): 512B/512BPartition Table: msdosNumber Start End Size Type File system Flags 1 1049kB 538MB 537MB primary ext4 boot 2 538MB 85.9GB 85.4GB primary lvm[SNIP]Using LVM we create on the physical volume.Size is based on what is left over after allocating 500MB for boot.# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg0 lvm2 a-- 79.50g 0# One volume group that covers the entire disk# vgs VG #PV #LV #SN Attr VSize VFree vg0 1 4 0 wz--n- 79.50g 0# I have created logical volumes with names that are self-descriptive.# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lv_home vg0 -wi-ao---- 20.00g lv_root vg0 -wi-ao---- 47.50g lv_swap vg0 -wi-ao---- 2.00g lv_var vg0 -wi-ao---- 10.00g
使用LVM的一个明显优势是您可以按需增长磁盘分区。 引导分区不能在LVM上,因为LVM内核模块未加载到initrd RAM磁盘中的引导引导。 但是,所有其他分区都可以是LVM分区。 关于命名卷组,我选择了一些简单的,这是顺序的。 你可以选择适合你的任何东西。 对于每个逻辑卷的大小,我基于VM磁盘大小(80GB)。 RedHat的适用于CentOS的交换大小建议见表3-1。
清单3-15。 VM文件系统布局
# cat /etc/fstab/dev/mapper/vg0-lv_root / ext4 noatime,nodiratime,relatime 1 1UUID=141c589e-a255-4cfd-b1bc-8fd337c22cd5 /boot ext4 defaults 1 2/dev/mapper/vg0-lv_home /home ext4 noatime,nodiratime,relatime 1 2/dev/mapper/vg0-lv_var /var ext4 noatime,nodiratime,relatime 1 2/dev/mapper/vg0-lv_swap swap swap defaults 0 0tmpfs /dev/shm tmpfs defaults 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0