您的当前位置:首页正文

KVM安装步骤及基本操作

2021-09-05 来源:钮旅网


一、查看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

因篇幅问题不能全部显示,请点此查看更多更全内容