当前位置: > 虚拟化 Virtualization > KVM >

KVM 与 CentOS-6

时间:2016-05-23 17:20来源:wiki.centos.org 作者:it

CentOS 6 的基本发行版本已提供原生的 KVM 虚拟化支持和工具。Dell 提供了两本关于在 CentOS 6 上运用 KVM 的白皮书:第一册和第二册。

请参阅以下中继组件的内容:

# yum grouplist | grep -i virt 

 

1. 设置主机

安装你可能需用的组件。

yum -y install @virt* dejavu-lgc-* xorg-x11-xauth tigervnc \
libguestfs-tools policycoreutils-python bridge-utils 

假若你利用 /var/lib/libvirt 以外的目录存放 kvm 文件,请设置 selinux 脉络。在此样例中,我采用 /vm 存放碟盘映像档。

semanage fcontext -a -t virt_image_t "/vm(/.*)?"; restorecon -R /vm 

容许在界面之间转送封包。 Allow packet forwarding between interfaces.

sed -i 's/^\(net.ipv4.ip_forward =\).*/\1 1/' /etc/sysctl.conf; sysctl -p 

设置 libvirtd 服务自动引导,然后重新开机。

chkconfig libvirtd on; shutdown -r now

你可选择设置桥接,让客端与主机在同一个实体网络上拥有网络卡。 在这个样例中,eth0 是支持桥接的设备,而 br0 将会是新的设备。

chkconfig network on
service network restart
yum -y erase NetworkManager
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

主机现在已准备好创建 kvm 客端。

 

2. 设置客端

由于设置客端的选项众多,较简单的方法是将所需的数据收集在变量中,继而通过一个指令创建客端。以下列出了数个选项,它们多数可按需要调整。

首先查看可选用的操作系统。

virt-install --os-variant=list | more

选择一个操作系统:

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"

选择一个网络选项,按需要更改 MAC 位置:

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"

选择一个碟盘选项,更改文件名称及尺寸至所需值:

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,sparse=false,bus=virtio,size=8"
Disk="--disk vol=pool/volume"
Disk="--livecd --nodisks"
Disk="--disk /dev/mapper/vg_..."

选择一个来源地(live cd iso、pxe 或 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"

按需要为 kickstart 档加入 URL:

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"

选择处理器的数量:

Cpu="--vcpus=1"
Cpu="--vcpus=2"
Cpu="--vcpus=4"

选择内存尺寸:

Ram="--ram=768"
Ram="--ram=1024"
Ram="--ram=2048"

为客端命名:

Name="myguest"

创建客端:

virt-install $OS $Net $KS $Disk $Src $Gr $Cpu $Ram --name=$Name

请留意此程序可能需要很长时间才能完成,尤其是当你选用慢硬盘上的巨大、非稀疏文件。如果你选用交互式的安装,你必须连接到终端機才能完成安装。

以 myhost 作为样例主机,连接到终端機:

virt-viewer --connect qemu_ssh://myhost/$Name

要是你较喜欢图像应用程序:

virt-manager &

最后,你可以设置这个客端在主机开机时自动引导:

virsh autostart $Name


https://wiki.centos.org/zh/HowTos/KVM




(责任编辑:IT)
------分隔线----------------------------