CentOS 6 安装配置KVM小记

作为一名半调子系统管理员,XEN那dom0,domU还要编译内核,这简直要了我的亲命,KVM作为一个CentOS 6开始唯一内置支持的虚拟化,安装配置简单,很适合我。

安装:

KVM需要CPU支持vmx(Intel)或svm(AMD)。

$ cat /proc/cpuinfo | egrep 'vmx|svm'
flags: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36
clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm
3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor
cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a
misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save
flags: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36
clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm
3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor
cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a
misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save

安装KVM组件

# yum groupinstall Virtualization
# yum groupinstall "Virtualization Platform"

重启后检查是否安装成功,若使用Intel CPU会显示 kvm_intel。

# lsmod | grep kvm
kvm_amd                37434  4 
kvm                   292815  1 kvm_amd

OK,就这么简单,KVM安装完成。

周边工具:

virt-manger与virt-viewer是基于X Window的图形化管理工具,优点呢就是操作简单、鼠标点点,坏处自然就是要装一堆图形组件,对于服务器来说这些东西有些太多余。
服务器上最好用的当然是命令行工具

yum install libvirt-client python-virtinst

libvirt-client 提供了 virsh,主要功能为:启动、重启、停止等管理功能。
python-virtinst 提供了 virt-install 安装工具。

安装虚拟机

# virt-install \
--name gentoo6 \
--ram 512 \
--vcpus=1 \
--disk path=/var/vps/gentoo6.img,size=4 \
--network network:default \
--os-variant=generic26 \
--accelerate \
--cdrom /var/vps/install-amd64-minimal-20111201.iso \
--vnc \
--vncport=5911 \
--vnclisten=0.0.0.0

–name 指定虚拟机名称,virsh操作指定虚拟机时所需要的参数,不可以重复。
–ram 分配内存大小,安装完成后可以用 virsh 调整。
–vcpus 分配CPU核心数,最大与实体机CPU核心数相同,安装完成后也可以用 virsh 调整。
–disk 指定虚拟机镜像, size 指定分配大小单位为G。
–network 网络类型,此处用的是默认,一般用的应该是 bridge 桥接,这个下次再说。
–os-variant 指定操作系统类型,此处使用的是标准Linux 2.6,其他的可以通过 man virt-install 详细查看。
–accelerate 呃,加速,具体什么原理还不太清楚。
–cdrom 指定安装镜像所在。
–vnc 启用VNC远程管理,一般安装系统都要启用。
–vncport 指定 VNC 监控端口,默认端口为 5900。
–vnclisten 指定 VNC 绑定IP,默认绑定127.0.0.1,这里将其改为 0.0.0.0 以便可以通过外部连接。
执行后如果没有安装 virt-viewer 或没有 X Window 系统可能会提示 virt-viewer 启动失败,不过没关系,使用 VNC Viewer 或者 MAC 下使用Chicken of the VNC连接到实体机,端口使用上面指定的就可以操作安装过程。另外需要注意的是,某些系统安装盘有等待输入时间,超过时间会自动使用硬盘启动,所以VNC连接一定要快,否则就需要 virsh destroy 然后 virsh start 再启动,因为系统尚未安装成功,此时的 virsh reboot 执行是无效的。

virsh 常用命令

virsh list 列出当前虚拟机列表,貌似不包括未启动的。
virsh start domain-name 启动指定虚拟机。
virsh shutdown domain-name 停止指定虚拟机,执行此命令后 virsh list 里将不出现。
virsh reboot domain-name 重新启动指定虚拟机,这个命令貌似必须系统安装完成后才有效。
virsh autostart domain-name 指定虚拟机开机自动启动,需要 libvirtd 服务默认启动。
还有更多,一时也没全搞明白,全写出来估计可以写本手册了。

其他

虚拟机配置存储在 /etc/libvirt/qemu 目录,配置文件为XML格式。
自动启动的虚拟机在 /etc/libvirt/qemu/autostart 目录。

发表评论

电子邮件地址不会被公开。 必填项已用*标注