本文转自:https://wiki.centos.org/zh/HowTos/KVM
CentOS 6 的基本发行版本已提供原生的 KVM 虚拟化支持和工具。Dell 提供了两本关于在 CentOS 6 上运用 KVM 的白皮书:第一册和第二册。
请参阅以下中继组件的内容:
- # yum grouplist | grep -i virt
1. 设置主机
安装你可能需用的组件。
假若你利用 /var/lib/libvirt 以外的目录存放 kvm 文件,请设置 selinux 脉络。在此样例中,我采用 /vm 存放碟盘映像档。
- yum -y install @virt* dejavu-lgc-* xorg-x11-xauth tigervnc \
- libguestfs-tools policycoreutils-python bridge-utils
容许在界面之间转送封包。Allow packet forwarding between interfaces.
- semanage fcontext -a -t virt_image_t "/vm(/.*)?"; restorecon -R /vm
设置 libvirtd 服务自动引导,然后重新开机。
- sed -i 's/^\(net.ipv4.ip_forward =\).*/\1 1/' /etc/sysctl.conf; sysctl -p
你可选择设置桥接,让客端与主机在同一个实体网络上拥有网络卡。在这个样例中,eth0 是支持桥接的设备,而 br0 将会是新的设备。
- chkconfig libvirtd on; shutdown -r now
主机现在已准备好创建 kvm 客端。
- chkconfig network on
- service network restart
- yum -y erase NetworkManager
- @H_301_81@cp -p /etc/sysconfig/network-scripts/ifcfg-{eth0,br0}
- sed -i -e'/HWADDR/d' -e'/UUID/d' -e's/eth0/br0/' -e's/Ethernet/Bridge/' \
- /etc/sysconfig/network-scripts/ifcfg-br0
- echo DELAY=0 >> /etc/sysconfig/network-scripts/ifcfg-br0
- echo 'BOOTPROTO="none"' >> /etc/sysconfig/network-scripts/ifcfg-eth0
- echo BRIDGE=br0 >> /etc/sysconfig/network-scripts/ifcfg-eth0
- service network restart
- brctl show
2. 设置客端
由于设置客端的选项众多,较简单的方法是将所需的数据收集在变量中,继而通过一个指令创建客端。以下列出了数个选项,它们多数可按需要调整。首先查看可选用的操作系统。
选择一个操作系统:
- virt-install --os-variant=list | more
选择一个网络选项,按需要更改 MAC 位置:
- OS="--os-variant=freebsd8"
- OS="--os-variant=win7"
- OS="--os-variant=win7 --disk path=/var/lib/libvirt/iso/virtio-win.iso,device=cdrom"
- OS="--os-variant=win2k8"
- OS="--os-variant=win2k8 --disk path=/var/lib/libvirt/iso/virtio-win.iso,device=cdrom"
- OS="--os-variant=rhel6"
选择一个碟盘选项,更改文件名称及尺寸至所需值:
- Net="--network bridge=br0"
- Net="--network model=virtio,bridge=br0"
- Net="--network model=virtio,mac=52:54:00:00:00:00"
- Net="--network model=virtio,bridge=br0,mac=52:54:00:00:00:00"
选择一个来源地(live cd iso、pxe 或 url):
- Disk="--disk /vm/Name.img,size=8"
- Disk="--disk /var/lib/libvirt/images/Name.img,size=8"
- Disk="--disk /var/lib/libvirt/images/Name.img,sparse=false,size=8"
- Disk="--disk /var/lib/libvirt/images/Name.qcow2,bus=virtio,size=8"
- Disk="--disk vol=pool/volume"
- Disk="--livecd --nodisks"
- Disk="--disk /dev/mapper/vg_..."
按需要为 kickstart 档加入 URL:
- Src="--cdrom=/var/lib/libvirt/iso/iso/..."
- Src="--pxe"
- Src="-l http://alt.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/os/"
- Src="-l http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/os/"
- Src="-l http://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/
- Src="-l http://ftp.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/"
- Src="-l http://download.opensuse.org/distribution/openSUSE-stable/repo/oss/"
- Src="--location=http://mirror.centos.org/centos/6/os/x86_64"
按需选择一个图像界面:
- KS=""
- KS="-x ks=http://ks.example.com/kickstart/c6-64.ks"
选择处理器的数量:
- Gr=""
- Gr="--graphics none"
- Gr="--graphics vnc"
- Gr="--graphics vnc,password=foo"
- Gr="--graphics spice"
选择内存尺寸:
为客端命名:
- Ram="--ram=768"
- Ram="--ram=1024"
- Ram="--ram=2048"
创建客端:
- Name="myguest"
请留意此程序可能需要很长时间才能完成,尤其是当你选用慢硬盘上的巨大、非稀疏文件。如果你选用交互式的安装,你必须连接到终端機才能完成安装。
- virt-install $OS $Net $KS $Disk $Src $Gr $cpu $Ram --name=$Name
以 myhost 作为样例主机,连接到终端機:
要是你较喜欢图像应用程序:@H_781_301@
- virt-viewer --connect qemu_ssh://myhost/$Name
最后,你可以设置这个客端在主机开机时自动引导:
- virt-manager &
- virsh autostart $Name
在 CentOS-5 上使用 KVM 的快速指南
@H_301_328@Contents