EL6.6 x64 下部署 KVM虚拟化

EL6.6 x64 下部署 KVM虚拟化

 

KVM Kernel Virtual Machine的简写,目前RedHat只支持在RHEL5.4及以上的64位系统平台上运行,同时需要硬件(CPU)支持VT技术,KVM的前身是QEMU2008年被RedHat收购并获得一项hypervisor技术,不过RedHatKVM被认为将成为未来的Linux hypervisor的主流,准确的来说,KVM仅仅是linux内核的一个模块,管理和创建完整的KVM虚拟机需要更过的辅助工具。

 

KVM 2.6.20版本后就直接整合到linux 内核,它依托CPU虚拟化指令集(如Inter-VT AMD-V)实现高性能的虚拟化支持,由于与Linux内核高度整合,因此在性能,安全性,兼容性,稳定性上有很好的实现,每个虚拟化操作系统表现为单个系统进程并与linux安全模块(selinux)有很好的整合。

KVM架构图

 

KVM虚拟化硬性条件:

1、真机64位操作系统,RHEL5.4及以上的系统平台

2CPU支持VT技术(BIOS中开启)

 

注:VMware 虚拟机中 linux 开启前需要勾选Inter VT-x/EPT AMD/RVI(v)

 

安装前要查看CPU是否支持虚拟化

Inter CPU

cat /proc/cpuinfo |grep vmx

 

AMD CPU

cat /proc/cpuinfo |grep smv

 

[root@Localhost ~]# cat /proc/cpuinfo |grep vmx –color=auto

flags         : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ida arat dts tpr_shadow vnmi ept vpid

KVM安装方式

 

安装前关闭iptables防火墙与selinux

[root@localhost ~]# service iptables stop

[root@localhost ~]# setenforce 0

 

1、可在安装系统时选择桌面与虚拟化选项

2、在已有的系统上安装KVM软件

可用yum源安装以下软件包:配置yum源

[root@localhost ~]# mount /dev/cdrom  /media

[root@localhost ~]# cd /etc/yum.repos.d/

[root@localhost yum.repos.d]# mkdir bak

[root@localhost yum.repos.d]# mv *.repo bak/

[root@localhost yum.repos.d]# vim yum.repo

[base]

name=base

baseurl=file:///media/cdrom/

gpgcheck=1

 

[root@localhost ~]# yum -y groupinstall “Desktop”                        #安装GNOME桌面环境

[root@localhost ~]# yum -y install qemu-kvm.x86_64                   #KVM模块

[root@localhost ~]# yum -y install qemu-kvm-tools.x86_64         #KVM调试工具,可不安装

[root@localhost ~]# yum -y install python-virtinst.noarch        #python组件,记录创建VM时的xml文件

[root@localhost ~]# yum -y install qemu-img.x86_64                    #qemu组件,创建磁盘,启动虚拟机

[root@localhost ~]# yum -y install bridge-utils.x86_64             # 络支持工具

[root@localhost ~]# yum -y install libvirt                                           #虚拟机管理工具

[root@localhost ~]# yum -y install virt-manager                              #图形界面管理虚拟机

 

检测安装是否成功

[root@Localhost ~]# lsmod | grep kvm

kvm_intel              55496  0

kvm                   337772  1 kvm_intel

 

设置KVM

宿主服务器安装完成KVM,首先要设定 络,在libvirt中运行KVM 络有两种方法,NATBridge,默认是NAT

 

1、用户模式,即NAT方式,这种方式是默认 络,数据包由NAT方式通过主机接口进行传送,可以访问外 ,但是无法从外部访问虚拟机 络

 

Bridge案例:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

NM_CONTROLLED=no

ONBOOT=yes

TYPE=Ethernet

HWADDR=00:0c:29:3c:f7:d9

BRIDGE=”br0″

 

[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

BOOTPROTO=static

NM_CONTROLLED=no

ONBOOT=yes

TYPE=Bridge

IPADDR=192.168.200.200

NETMASK=255.255.255.0

 

[root@localhost ~]# service network restart

 

[root@localhost ~]# ifconfig

br0       Link encap:Ethernet  HWaddr 00:0C:29:3C:F7:D9 

          inet addr:192.168.200.211  Bcast:192.168.200.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe3c:f7d9/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:0 (0.0 b)  TX bytes:496 (496.0 b)

 

eth0      Link encap:Ethernet  HWaddr 00:0C:29:3C:F7:D9 

          inet6 addr: fe80::20c:29ff:fe3c:f7d9/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:236 errors:0 dropped:0 overruns:0 frame:0

          TX packets:171 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:29331 (28.6 KiB)  TX bytes:16011 (15.6 KiB)

 

lo        Link encap:Local Loopback 

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:16 errors:0 dropped:0 overruns:0 frame:0

          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:1072 (1.0 KiB)  TX bytes:1072 (1.0 KiB)

 

virbr0    Link encap:Ethernet  HWaddr 52:54:00:0F:9C:6B 

          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

 

出现以上信息说明 卡桥接成功。

 

 

KVM管理工具virt-manager

virt-manager是基于libvirt 的图形化虚拟机管理软件,不同版本的virt-manager的界面和操作方法可能不同,是使用KVM虚拟机最简单的方法

配置linux的图形窗口转移到windows上:

[root@Localhost ~]# tail -1 /etc/profile

export DISPLAY=192.168.200.1:0.0               #192.168.200.1为windows主机IP地址

[root@Localhost ~]# source /etc/profile

windows开启 Xmanager 中的 Passive

 

创建虚拟机:

1、创建存储池并创建存储卷:

双击localhost(QEMU)–> 存储–> 单击 + 按钮新建存储池,创建两个存储池 KVM ISO 将RHEL6.6安装镜像上传到服务器目录/virtual/ISO中

 

2、创建存储卷,单击KVM,单击对话框右下角的新建卷,设置最大容量与分配容量。

3、回到虚拟机系统管理器,右键localhost(QEMU),新建–> 设置相应的名字,浏览镜像位置,选择操作系统类型及版本

4、分配内存和CPU资源,选择立即分配整个磁盘,选择管理或其他现有存储,选择文件

 

勾选 在安装前自定义配置

在Overview视图中:

机器设置                 把机器设置-时钟偏移-改为localtime 应用

 

Boot Options 主机引导时启动虚拟机,宿主机启动后,vm也会启动

显示VNC   将Keymap设置为Copy Local Keymap  单击 Begin Installation

 

安装操作系统

 

 

KVM基本功能管理

1、查看命令帮助

[root@localhost ~]# virsh -h

 

virsh [options]… [<command_string>]

virsh [options]… <command> [args…]

 

  options:

    -c | –connect=URI      hypervisor connection URI

    -r | –readonly         connect readonly

    -d | –debug=NUM        debug level [0-4]

    -h | –help             this help

    -q | –quiet            quiet mode

    -t | –timing           print timing information

 

2、查看KVM的配置文件存放目录(KVM01.xml是虚拟系统实例的配置文件)

[root@Localhost ~]# ls /etc/libvirt/qemu

autostart  KVM01.xml  networks

 

3、查看虚拟机状态

[root@Localhost ~]# virsh list –all

 Id    名称                         状态

—————————————————-

 7     KVM01                          running

4、虚拟机的关机与开机,首先确保acpid服务安装并运行,在虚拟机中

 

[root@Localhost ~]# virsh shutdown KVM01

域 KVM01 被关闭

[root@Localhost ~]# virsh list –all

 Id    名称                         状态

—————————————————-

 –     KVM01                          关闭

 

[root@Localhost ~]# virsh start KVM01

域 KVM01 已开始

[root@Localhost ~]# virsh list –all

 Id    名称                         状态

—————————————————-

 9     KVM01                          running

 

5、强制实例系统关闭电源

[root@Localhost ~]# virsh destroy KVM01

域 KVM01 被删除

 

6、通过配置文件启动虚拟机系统

[root@Localhost ~]# virsh create /etc/libvirt/qemu/KVM01.xml

域 KVM01 被创建(从 /etc/libvirt/qemu/KVM01.xml)

 

[root@Localhost ~]# virsh list –all

 Id    名称                         状态

—————————————————-                

 10    KVM01                          running

 

7、挂起虚拟机

[root@Localhost ~]# virsh suspend KVM01

域 KVM01 被挂起

 

[root@Localhost ~]# virsh list –all

 Id    名称                         状态

—————————————————-

 10    KVM01                          暂停

 

8、恢复虚拟机

[root@Localhost ~]# virsh resume KVM01

域 KVM01 被重新恢复

 

[root@Localhost ~]# virsh list –all

 Id    名称                         状态

—————————————————-

 10    KVM01                          running

 

9、配置虚拟机实例伴随宿主机自动启动

[root@Localhost ~]# virsh autostart KVM01

域 KVM01标记为自动开始

 

上述命令将创建 /etc/libvirt/qemu/autostart/ 目录,目录内容为开机自动启动的系统

[root@Localhost ~]# ls /etc/libvirt/qemu/autostart/

KVM01.xml

 

10、导出(备份)虚拟机配置

[root@Localhost ~]# virsh dumpxml KVM01 > /etc/libvirt/qemu/KVM02.xml

[root@Localhost ~]# ls /etc/libvirt/qemu

autostart  KVM01.xml  KVM02.xml  networks
 

11、虚拟机的删除与添加,删除虚拟机:

[root@Localhost ~]# virsh destroy KVM01

域 KVM01 被删除

[root@Localhost ~]# virsh undefine KVM01

域 KVM01 已经被取消定义

 

[root@Localhost ~]# ls /etc/libvirt/qemu

autostart  KVM02.xml  networks

[root@Localhost ~]# ls /virtual/KVM/

KVM01.img

 

查看删除结果,KVM01的配置文件被删除,但是磁盘文件不会被删除

 

 

通过virsh list –all 查看不到centos6.5的信息,说明此虚拟机被删除

[root@localhost ~]# virsh list –all

 Id    名称                         状态

—————————————————-

 

12、通过备份的配置文件重新定义虚拟机:

[root@Localhost ~]# ls /etc/libvirt/qemu

autostart  KVM02.xml  networks

[root@Localhost ~]# mv /etc/libvirt/qemu/KVM02.xml /etc/libvirt/qemu/KVM01.xml

 

重新定义虚拟机

[root@Localhost ~]# cd /etc/libvirt/qemu

[root@Localhost qemu]# virsh define KVM01.xml

定义域 KVM01(从 KVM01.xml)

 

[root@Localhost qemu]# virsh list –all

 Id    名称                         状态

—————————————————-

 –     KVM01                          关闭

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年10月12日
下一篇 2018年10月12日

相关推荐