一、开启cpu虚拟化
首先开启CPU虚拟化支持,通过BIOS设置。之后输入
[root@hostname ~]#egrep '(vmx|svm)' /prov/cpuinfo
如果有输出内容,代表cpu已经开启虚拟化支持。
二、安装kvm相关软件包
[root@hostname ~]#yum install -y libvirt-client #libvirt客户端,最主要的的功能之一就是在宿主机关机时通知虚拟机也关机。 [root@hostname ~]#yum install -y gpxe-roms-qemu #虚拟机iPXE启动固件,支持虚拟机网络启动。 [root@hostname ~]#yum install -y libvirt-python #libvirt为python提供的api。 [root@hostname ~]#yum install -y python-virtinst #一套python的虚拟机安装工具。 [root@hostname ~]#yum install -y qemu-kvm #kvm在用户控件运行的程序。 [root@hostname ~]#yum install -y virt-manager #基于libvirt的图像化虚拟机管理软件。 [root@hostname ~]#yum install -y libvirt #用于管理虚拟机,它提供了一套虚拟机操作api。 [root@hostname ~]#yum install -y virt-viewer #显示虚拟机控制台console [root@hostname ~]#yum install -y virt-top #类似于top命令,查看虚拟机资源使用情况。 [root@hostname ~]#yum install -y virt-what #在虚拟机内部执行,查看虚拟机运行的虚拟化平台。 [root@hostname ~]#yum install -y qemu-img #用于操作虚拟机硬盘镜像的创建、查看和格式转换。
三、安装virt-manager相关组件
virt-manager是一个图形化的虚拟机管理工具,它提供了一个简易的图形化虚拟机操作界面。要是用它,需要安装如下组件。
[root@hostname ~]#yum groupinstall "Desktop" "Desktop Platform" "Desktop Platform Development" "Fonts" "General Purpose Desktop" "General Purpose Desktop" "Graphical Administration Tools" "Graphics Creation Tools" "Imput Methods" "X Window System" "Chinese Support [zh]" "Internet Browser" [root@hostname ~]#service libvirtd start #启动libvirtd守护进程
四、使用virt-install命令创建虚拟机
virt-install是一个在命令行中创建kvm虚拟机的工具,配合一些参数可以生成一个完整的.xml虚拟机配置文件。
[root@hostname ~]#virt-install --name=vmname --ram=1024 --vcpus=1 --os-type=windows --hvm --cdrom=/root/windowsxp.iso --file=/root/xp.img --file-size=10 --network network:default ----graphics vnc,listen=0.0.0.0,port=5925
virt-install部分参数说明如下:
- --name:虚拟机名称。
- --ram:虚拟机内存,单位MB。
- --vcpus:虚拟机cpu个数。
- --os-type:虚拟机操作系统类型。
- --hvm:使用全虚拟化。
- --cdrom:使用cd安装,指定iso位置。
- --file:设置虚拟机硬盘文件位置。
- --file-size:设置虚拟机硬盘大小,单位GB。
- --network:设置网络,默认网络default。
- --graphics:设置图形,允许vnc连接,端口号5925
在配置虚拟机时可能会出现“ERROR internal error Process exited while reading console log output: char device redirected to /dev/pts/1”错误,需要修改qemu.conf 配置,把下面几个地方的注释去掉,然后把 dynamic_ownership 的值改成0,禁止 libvirtd 动态修改文件的归属:
[root@hostname ~]# vi /etc/libvirt/qemu.conf ... user = "root" group = "root" dynamic_ownership = 0 ... [root@hostname ~]# service libvirtd restart
五、qemu-img命令创建虚拟机磁盘镜像
virt-manager默认创建的磁盘格式是raw,如果要是用qcow2格式,需要用qemu-img create命令手工创建
[root@hostname ~]# qemu-img create windowsxp.qcow2 -f qcow2 10G
注意:在使用virt-install命令创建qcow2格式的虚拟机时,要特别指明磁盘格式,否则会出现进项复制之后虚拟机系统不能启动的现象。
[root@hostname ~]# virt-install --name=vmname --ram=256 --vcpus=1 --os-type=windows --os-variant=winxp --hvm --cdrom=/mnt/hgfs/share/windowsxp.iso --disk path=/root/virtualmachine/xp/xp2.qcow2,format=qcow2 --network network:default --graphics vnc,listen=0.0.0.0,port=5921,password=123456