一、查看cpu是否支持kvm
KVM 需要有 CPU 的支持(Intel vmx 或 AMD svm),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持:
egrep '(vmx|svm)' --color=always /proc/cpuinfo
如果输出的结果包含VMX,它是Intel处理器虚拟机技术标志:如果包含SVM,它是AMD处理器虚拟机技术的标志,如果你什么都没有得到,那应你的系统并没有支持虚拟化的处理,不能使用KVM,另处linux发行版本必须在64bit环境中才能使用KVM。
二、BIOS中开启Virtual Technolege
在主板BIOS中开启CPU的Virtual Technolege(VT,虚化技术),不同主板所在菜单不同
例如:华硕主板开启虚拟化
Intel主板开启虚拟化
三、安装KVM服务器
安装KVM 虚拟机和安装其他服务器一样,在选择操作系统类型是选择“Virtual Host”
即可,其它步骤可参考“AiSchool平台安装指导”中操作系统安装部分。如果使用此服务器管理其他KVM 主机,需要额外安装openssh-askpass 软件包。
注:(已安装好的操作系统,里面有重要资料无法重新安装的可以在已有的系统上安装如下软件包
yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst openssh-askpass
或者如下图,安装需要的组
四、检查kvm模块是否安装
使用以下命令显示两个模块则表示安装完成
[root@vm76 ~]# lsmod | grep kvm
kvm_intel 54285 0
kvm 333172 1 kvm_intel
以上表明安装完成
五、配置宿主机
1、关闭防火墙(如不用)
chkconfig iptables off
service iptables stop
2、执行如下命令打开文件selinux配置文件。
vi /etc/selinux/config
将该文件中的参数SELINUX的取值修改为disabled。
SELINUX=disabled
保存退出。
3、配置yum安装
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
vi CentOS-Media.repo
请修改为红色部分(请根据系统版本进行修改)
baseurl=file:///media/CentOS_6.5_Final/
file:///media/cdrom/
file:///media/cdrecorder/
enabled=1
保存退出,然后插入光盘,正常情况
ls /media/
CentOS_6.5_Final
如出现以上信息则表明已自动加载光驱,如没有则运行以下命令手动加载
mkdir -p /media/CentOS_6.5_Final
mount /dev/cdrom /media/CentOS_6.5_Final
4、配置桥接
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
BOOTPROTO=static
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.111.76
NETMASK=255.255.255.0
GATEWAY=192.168.111.1
DNS1=222.246.129.80
修改以上IP、子网掩码、网关和DNS等
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=D4:3D:7E:72:7F:02
BRIDGE=br0
TYPE=Ethernet
UUID=80df0181-06d4-499c-a69d-2ce5233fa7cb
ONBOOT=yes
NM_CONTROLLED=yes
添加BRIDGE=br0,不在以上的可删除。
重启网络,使配置生效
service network restart
5、配置主机名
vi /etc/hosts
将该文件空行中添加如下内容,配置本地IP(192.168.111.76)和主机名(vm76)。
192.168.111.76 vm76
6、安装安装FTP
yum -y install vsftpd
以上配置完后,重启机器
reboot
六、virt-manager管理界面
KVM管理工具为virt-manager,需要图形化管理。服务器类型“VirtualHost”安装后没有图形化界面,安装虚拟机和管理虚拟机需要在windows pc上远程起图形化界面进行管理。在其他linux服务器上(和KVM宿主机在同一局域网,网络连通)安装或者在KVM宿主机上安装。
yum install virt-manager*
yum install openssh-askpass*
双击启动
windows pc上远程起图形化界面进行管理的操作如下:
1、 CRT配置
2、 pc机上安装xming
Xming-6-9-0-31-setup.exe
下载地址:http://sourceforge.net/projects/xming/
3、CRT退出,再次登录下,使配置生效
在CRT上执行
xhost +
access control disabled, clients can connect from any host
virt-manager
点击 文件---Add Connection
Hypervisor默认QEMU/KVM,勾选Connect to remote host,主机名:输入KVM宿主机IP地址,若需要启动virt-manager自动连接kvm宿主机,需要勾选Autoconnect,如果不需要自动连接则不需要勾选,点击“连接”按钮
输入yes,点击“OK”按钮
输入宿主机root密码,点击“OK”按钮
连接成功,如下:
七、宿主机KVM配置
1、宿主机介绍
1)、在virt-manager界面选择宿主机Ip地址,右键选择“Details”;
2)、当前主机CPU和内存使用情况
3)、虚拟机NAT模式下网络DHCP网络段和起止IP,我们是使用的网桥模式,非NAT模式;
2、虚拟机存储器配置
1、修改虚拟机磁盘的默认格式
默认是raw,修改为qcow2
2. 在storage只有default本地存储器
3. 添加网络存储器,点击“+”按钮,填写添加存储器的名称,选择要添加存储器的类型,这里添加本地磁盘路径(首先到宿主机创建iso目录,mkdir -p /opt/iso),存储iso镜像文件
4. 输入挂在的目录路径
5. 可以看到刚添加的存储器
上传CentOS6.5至/opt/iso目录下,点击Volumes后面刷新按钮,可以看到刚才上传的ISO文件。
八、KVM虚拟机创建
1. 点击左上角“新建”创建虚拟机,在名称后填写新建虚拟机名称,选择安装操作系统方式,本次使用已上传到/opt/iso目录的ISO镜像文件。点击“前进”按钮。
2. 选择使用ISO映像 ,点击“浏览”,在Storage点击ISO,选择CentOS6.5镜像,选择操作系统的类型和操作系统的版本信息,KVM上版本信息较少,选择大致一样即可。点击“前进“。
3. 调整内存大小和虚拟CPU数量,根据虚拟机上服务对实际内存和CPU资源的消耗进
行合理分配(建议所有虚拟机的总资源不大于物理资源)。点击“前进“。
4. 勾选“在计算机硬盘中创建磁盘映像”选择硬盘的大小,根据实际需要选择虚拟硬盘大小;建议勾选立即分配整个磁盘;(选择管理的或者其它现有存储,这个可以在特定的分区先创建映像文件,然后再选择)。点击“前进“。
5. 若在宿主机网络已配置bridge,网络默认选择br0,点击“完成“按钮。
6. 会出现如下安装界面。之后为linux操作系统安装此处不再介绍(请参考“AiSchool平台安装指导”中操作系统安装部分)
7、虚拟机挂载光驱
8、修改IO缓存模式,点击“应用“,关机,启动使配置生效
9、修改虚拟机的UTC时间配置,不然每次重启时间不对
kvm虚拟机采用utc时间,需要先修改配置文件使用KVM虚拟机的时间与虚拟主机同步。
virsh edit aischool_wy_77
把
九、虚拟机维护
1、图形界面
点击虚拟机右键可以看到如下功能
选择“打开“,可以维护虚拟机的各项配置
2、命令行基本维护
virsh命令管理,可交互式或直接运行如下命令(以下以虚拟机centos6.4_77为例)
(注:在宿主机运行下面的命令)
1、列出正运行的虚拟机
virsh list
2、启动一个虚拟机
virsh start centos6.4_77
3、在启动宿主机器时开始[不开始]一个虚拟机
virsh autostart [--disable] centos6.4_77
4、重启一个虚拟机
virsh reboot centos6.4_77
5、虚拟机的状态可被保存到一个文件中以方便稍后恢复。如下命令会将虚拟机的状态保存到一个以日期命名的文件中:
virsh save centos6.4_77 centos77-20140409.state
一旦保存,虚拟机将不再运行。
6、一个经保存后的虚拟机可以用如下命令唤醒:
virsh restore centos77-20140409.state
7、要关闭一个虚拟机,输入:
virsh shutdown centos6.4_77
8、CDROM设备可以通过如下命令挂载到虚拟机上:
virsh attach-disk centos6.4_77 /dev/cdrom /media/cdrom
9、强制关闭电源
virsh destroy centos6.4_77
10、通过配置文件启动虚拟机
virsh create /etc/libvirt/qemu/centos6.4_77.xml
11、导出KVM虚拟机配置文件
virsh dumpxml centos6.4_77 > /etc/libvirt/qemu/centos6.4_77.xml.bak
12、删除kvm虚拟机(该命令只是删除centos6.4_77的配置文件,并不删除虚拟磁盘文件),注意先关闭虚拟机
virsh undefine centos6.4_77
13、重新定义虚拟机配置文件(通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机)
mv
/etc/libvirt/qemu/centos6.4_77.xml
/etc/libvirt/qemu/centos6.4_77.xml.bak
virsh define /etc/libvirt/qemu/centos6.4_77.xml
14、编辑KVM虚拟机配置文件(virsh edit将调用vi命令编辑/etc/libvirt/qemu/centos6.4_77.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。可以但不建议直接通过vi编辑。)
virsh edit centos6.4_77
15、挂起服务器
virsh suspend centos6.4_77
16、恢复服务器
virsh resume centos6.4_77
17、看到虚拟机使用host上的cpu
virsh vcpuinfo centos6.4_77
18、查看虚拟机网卡列表
virsh domiflist centos6.4_77
19、查看虚拟机网卡统计信息
virsh domifstat centos6.4_77 vnet4
20、查看虚拟机磁盘列表
virsh domblklist centos6.4_77
21、查看虚拟机磁盘统计信息
virsh domblkstat centos6.4_77 vnet4
22、查看虚拟机快照列表
virsh snapshot-list centos6.4_77
23、创建快照(建议先关闭虚拟机,然后按照下面的命令进行快照)
virsh shutdown centos6.4_77
virsh snapshot-create-as centos6.4_77 kuaizhao77
或者
virsh snapshot-create-as --domain centos6.4_77 --name kuaizhao77_1 --description \"URL: centos6.4_77\"
24、查看快照配置
virsh snapshot-current centos6.4_77
25、恢复快照(建议先关闭虚拟机,然后按照下面的命令恢复快照)
virsh shutdown centos6.4_77
virsh snapshot-revert centos6.4_77 kuaizhao77
26、删除快照
virsh snapshot-delete centos6.4_77 kuaizhao77_1
27、查看虚拟机ID
virsh domid centos6.4_77
28、查看虚拟机UUID
virsh domuuid centos6.4_77
29、查看虚拟机名称,通过ID或UUID
virsh domname 25
30、查看虚拟机状态
virsh domstate 虚拟机名称或者ID或者UUID
31、查看虚拟机信息
virsh dominfo centos6.4_77
32、查看VNC端口号,通过虚拟机名称或者ID或者UUID
virsh vncdisplay centos6.4_77
33、为虚拟机设定内存上限,先关闭虚拟机
virsh setmaxmem centos6.4_77 5G
34、为虚拟机设定内存,先开启虚拟机
virsh setmem centos6.4_77 5G
35、创建基于文件夹(目录)的存储池,定义存储池opt
virsh pool-define-as opt --type dir --target /opt
或者
virsh pool-create-as --name opt --type dir --target /opt
36、创建基于文件系统的存储池
virsh pool-define-as vmware_pool --type fs --source-dev
/dev/vg_target/LogVol02 --source-format ext4 --target /virhost/vmware
或者
virsh pool-create-as --name vmware_pool --type fs --source-dev
/dev/vg_target/LogVol02 --source-format ext4 --target /virhost/vmware
37、查看存储池信息
virsh pool-info opt
38、启动存储池
virsh pool-start opt
39、查看存储池列表
virsh pool-list
40、销毁存储池
virsh pool-destroy opt
41、取消存储池的定义
virsh pool-undefine opt
42、创建了存储池后,就可以创建一个卷,这个卷是用来做虚拟机的硬盘
virsh vol-create-as --pool default --name centos6.4_72.img --capacity 10G --allocation 1G --format qcow2
#创建卷 centos6.4_72.img,所在存储池为default,容量10G,初始分配1G,文件格式类型qcow2
43、查看卷
virsh vol-info /var/lib/libvirt/images/centos6.4_72.img
44、在存储卷上安装虚拟主机
virt-install --connect qemu:///system \\-n centos6.4_72 \\-r 512 \\-f /var/lib/libvirt/images/centos6.4_72.img
\\--vnc
\\--os-type=linux
\\--os-
variant=rhel6 \\--vcpus=1 \\--network bridge=br0 \\-c /home/CentOS-6.4-x86_64-bin-DVD1.iso
3、克隆虚拟机
(1)KVM主机本机虚拟机直接克隆。
virsh list --all
virsh shutdown centos6.3_78
virsh list --all
virt-clone -o centos6.3_78 -n centos6.3_75 -f
/var/lib/libvirt/images/centos6.3_75.img
virsh start centos6.3_75
到虚拟机上修改相应配置(从/etc/libvirt/qemu/centos6.3_75.xml文件中获取新的MAC地址)
1)修改IP、主机名
vi /etc/hosts
2)修改主机名
vi /etc/sysconfig/network
3)修改IP、MAC地址
vi /etc/sysconfig/network-script/ifcfg-eth0
4)修改网卡、MAC地址
vi /etc/udev/rules.d/70-persistent-net.rules
service network restart
注意克隆的虚拟机“启动宿主机器时开始启动”属性克隆过来,如需要运行以下命令
virsh autostart centos6.3_75
(2)通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移)。
virsh list --all
virsh shutdown centos6.3_78
virsh list --all
virsh dumpxml centos6.3_78 > /etc/libvirt/qemu/centos6.3_74.xml
cp
/var/lib/libvirt/images/centos6.3_74.img
/var/lib/libvirt/images/centos6.3_78.img
直接编辑修改配置文件,修改name,uuid,disk,MAC地址等(此时还是将该配置文件注册进来,无法通过virsh edit进行编辑)
vi /etc/libvirt/qemu/centos6.3_74.xml
virsh define /etc/libvirt/qemu/centos6.3_74.xml
virsh start centos6.3_74
到虚拟机上修改相应配置(从/etc/libvirt/qemu/centos6.3_74.xml文件中获取新的MAC地址)
1)修改IP、主机名
vi /etc/hosts
2)修改主机名
vi /etc/sysconfig/network
3)修改IP、MAC地址
vi /etc/sysconfig/network-script/ifcfg-eth0
4)修改网卡、MAC地址
vi /etc/udev/rules.d/70-persistent-net.rules
service network restart
注意克隆的虚拟机“启动宿主机器时开始启动”属性克隆过来,如需要运行以下命令
virsh autostart centos6.3_74
(3)以上为命令方式,也可以借助virt-manager工具使用图形化界面clone虚拟机。
右键虚拟机,选择“关机”关闭需要克隆的虚拟机;
虚拟机关闭后,右键虚拟机选择“clone”,根据需要修改相应值即可,点击克隆按钮;
克隆完成后,右键克隆出来的虚拟机,选择运行;
到虚拟机上修改相应配置(从/etc/libvirt/qemu/centos6.3_75.xml文件中获取新的MAC地址)
1)修改IP、主机名
vi /etc/hosts
2)修改主机名
vi /etc/sysconfig/network
3)修改IP、MAC地址
vi /etc/sysconfig/network-script/ifcfg-eth0
4)修改网卡、MAC地址
vi /etc/udev/rules.d/70-persistent-net.rules
service network restart
(注意克隆的虚拟机“启动宿主机器时开始启动”属性克隆过来,如需要运行以下命令
virsh autostart centos6.3_75)
4、修改虚拟机磁盘的格式
例如RAW格式不具备快照功能,现在需要快照功能,需要将RAW格式的镜像文件先转换为qcow2格式
qemu-img convert -f raw -O qcow2 centos6.4_77.img centos6.4_77_q.img
virsh edit centos6.4_77
修改以下两行的对应信息
virsh start centos6.4_77
5、备份虚拟机
1)备份xml配置文件
备份以下路径下的xml文件
/etc/libvirt/qemu
2)备份映像文件
备份以下路径下的文件
/var/lib/libvirt/images
因篇幅问题不能全部显示,请点此查看更多更全内容