2024年5月26日发(作者:)

Linux虚拟化——KVM安装步骤

1、先查看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。

2、BIOS中开启Virtual Technolege

在主板BIOS中开启CPU的Virtual Technolege(VT,虚化技术),不同主板所在菜单不

例如:华硕主板开启虚拟化

Intel主板开启虚拟化

3、安装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

或者如下图,安装需要的组

4、检查kvm模块是否安装

使用以下命令显示两个模块则表示安装完成

[root@vm76 ~]# lsmod | grep kvm

kvm_intel 54285 0

kvm 333172 1 kvm_intel

以上表明安装完成

5、配置宿主机

1、关闭防火墙(如不用)

chkconfig iptables off

service iptables stop

2、执行如下命令打开文件selinux配置文件。

vi /etc/selinux/config

将该文件中的参数SELINUX的取值修改为disabled。

SELINUX=disabled

保存退出。

3、配置yum安装

cd /etc/.d/

mv

vi

请修改为红色部分(请根据系统版本进行修改)

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

6、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

下载地址:/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”按钮

连接成功,如下:

7、宿主机KVM配置

a、宿主机介绍

1)、在virt-manager界面选择宿主机Ip地址,右键选择“Details”;

2)、当前主机CPU和内存使用情况

3)、虚拟机NAT模式下网络DHCP网络段和起止IP,我们是使用的网桥模式,非NAT

模式;

b、虚拟机存储器配置

1、修改虚拟机磁盘的默认格式

默认是raw,修改为qcow2

2. 在storage只有default本地存储器

3. 添加网络存储器,点击“+”按钮,填写添加存储器的名称,选择要添加存储器的

类型,这里添加本地磁盘路径(首先到宿主机创建iso目录,mkdir -p /opt/iso),存储iso

镜像文件

4. 输入挂在的目录路径

5. 可以看到刚添加的存储器

上传CentOS6.5至/opt/iso目录下,点击Volumes后面刷新按钮,可以看到刚才上传

的ISO文件。

8、KVM虚拟机创建

a. 点击左上角“新建”创建虚拟机,在名称后填写新建虚拟机名称,选择安装操作系统

方式,本次使用已上传到/opt/iso目录的ISO镜像文件。点击“前进”按钮。

b. 选择使用ISO映像 ,点击“浏览”,在Storage点击ISO,选择CentOS6.5镜像,选

择操作系统的类型和操作系统的版本信息,KVM上版本信息较少,选择大致一样即可。点

击“前进“。

c. 调整内存大小和虚拟CPU数量,根据虚拟机上服务对实际内存和CPU资源的消耗进

行合理分配(建议所有虚拟机的总资源不大于物理资源)。点击“前进“。

d. 勾选“在计算机硬盘中创建磁盘映像”选择硬盘的大小,根据实际需要选择虚拟硬

盘大小;建议勾选立即分配整个磁盘;(选择管理的或者其它现有存储,这个可以在特定的

分区先创建映像文件,然后再选择)。点击“前进“。

e. 若在宿主机网络已配置bridge,网络默认选择br0,点击“完成“按钮。

f. 会出现如下安装界面。之后为linux操作系统安装此处不再介绍(请参考“AiSchool

平台安装指导”中操作系统安装部分)

g、虚拟机挂载光驱

h、修改IO缓存模式,点击“应用“,关机,启动使配置生效

i、修改虚拟机的UTC时间配置,不然每次重启时间不对

kvm虚拟机采用utc时间,需要先修改配置文件使用KVM虚拟机的时间与虚拟主机同

步。

virsh edit aischool_wy_77

修改为

9、虚拟机维护

a、图形界面

点击虚拟机右键可以看到如下功能

选择“打开“,可以维护虚拟机的各项配置

b、命令行基本维护

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

一旦保存,虚拟机将不再运行。

6、一个经保存后的虚拟机可以用如下命令唤醒:

virsh restore

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_

11、导出KVM虚拟机配置文件

virsh dumpxml centos6.4_77 > /etc/libvirt/qemu/centos6.4_

12、删除kvm虚拟机(该命令只是删除centos6.4_77的配置文件,并不删除虚拟磁

盘文件),注意先关闭虚拟机

virsh undefine centos6.4_77

13、重新定义虚拟机配置文件(通过导出备份的配置文件恢复原KVM虚拟机的定义,

并重新定义虚拟机)

mv

/etc/libvirt/qemu/centos6.4_

/etc/libvirt/qemu/centos6.4_

virsh define /etc/libvirt/qemu/centos6.4_

14、编辑KVM虚拟机配置文件(virsh edit将调用vi命令编辑

/etc/libvirt/qemu/centos6.4_配置文件。也可以直接通过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_ --capacity 10G

--allocation 1G --format qcow2

#创建卷 centos6.4_,所在存储池为default,容量10G,初始分配1G,文件

格式类型qcow2

43、查看卷

virsh vol-info /var/lib/libvirt/images/centos6.4_

44、在存储卷上安装虚拟主机

virt-install --connect qemu:///system -n centos6.4_72 -r 512 -f

/var/lib/libvirt/images/centos6.4_

--os-variant=rhel6 --vcpus=1

--vnc

--network

--os-type=linux

bridge=br0 -c

/home/CentOS-6.4-x86_

c、克隆虚拟机

(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_

virsh start centos6.3_75

到虚拟机上修改相应配置(从/etc/libvirt/qemu/centos6.3_文件中获取新的

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/

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_

cp

/var/lib/libvirt/images/centos6.3_

/var/lib/libvirt/images/centos6.3_

直接编辑修改配置文件,修改name,uuid,disk,MAC地址等(此时还是将该配置文件注

册进来,无法通过virsh edit进行编辑)

vi /etc/libvirt/qemu/centos6.3_

virsh define /etc/libvirt/qemu/centos6.3_

virsh start centos6.3_74

到虚拟机上修改相应配置(从/etc/libvirt/qemu/centos6.3_文件中获取新的

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/

service network restart

注意克隆的虚拟机“启动宿主机器时开始启动”属性克隆过来,如需要运行以下命令

virsh autostart centos6.3_74

(3)以上为命令方式,也可以借助virt-manager工具使用图形化界面clone虚拟机。

右键虚拟机,选择“关机”关闭需要克隆的虚拟机;

虚拟机关闭后,右键虚拟机选择“clone”,根据需要修改相应值即可,点击克隆按钮;

克隆完成后,右键克隆出来的虚拟机,选择运行;

到虚拟机上修改相应配置(从/etc/libvirt/qemu/centos6.3_文件中获取新的

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/

service network restart

(注意克隆的虚拟机“启动宿主机器时开始启动”属性克隆过来,如需要运行以下命

virsh autostart centos6.3_75)

d、修改虚拟机磁盘的格式

例如RAW格式不具备快照功能,现在需要快照功能,需要将RAW格式的镜像文件

先转换为qcow2格式

qemu-img convert -f raw -O qcow2 centos6.4_ centos6.4_77_

virsh edit centos6.4_77

修改以下两行的对应信息

virsh start centos6.4_77

e、备份虚拟机

1)备份xml配置文件

备份以下路径下的xml文件

/etc/libvirt/qemu

2)备份映像文件

备份以下路径下的文件

/var/lib/libvirt/images