kvm虚拟化平台搭建入门

KVM虚拟化有两种网络模式:
1)Bridge网桥模式
2)NAT网络地址转换模式
Bridge方式适用于服务器主机的虚拟化。NAT方式适用于桌面主机的虚拟化。

环境:

本次实验要开启VMWare中对应CentOS6.5虚拟机的虚拟化功能--在虚拟机设置--处理器--虚拟化引擎--勾选虚拟化Intel VT-x/EPT 或 AMD-V/RVI(V)

1、安装方式
图形化安装CentOS6.5--采用最小化安装系统--选择桌面安装--选择虚拟化选项

2,安装kvm所需软件

[[email protected] ~]# yum -y groupinstall "Desktop"
[[email protected] ~]# yum -y install qemu-kvm.x86_64 qemu-kvm-tools.x86_64 python-virtinst.noarch qemu-img.x86_64 bridge-utils.x86_64 libvirt virt-manager

3、验证--安装好以上RPM包后,最好重启一下系统,再查看CPU是否支持虚拟化

1)查看以下两种类型CPU支持虚拟化的相关信息

inter:

[[email protected] ~]# cat /proc/cpuinfo | grep vmx
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 pdpe1gb rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dts tpr_shadow vnmi ept vpid fsgsbase smep

AMD:

[[email protected] ~]# cat /proc/cpuinfo | grep smv   

4、设置KVM网络
在libvirt中运行KVM网络有两种:用户模式-NAT和桥接模式-Bridge,默认是NAT模式
,根据实际的需求我们采用桥接模式。

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0   //修改配置文件ifcfg-eth0

DEVICE=eth0
HWADDR=00:0c:29:8e:ac:f7
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=n0
BOOTPROTO=none
BRIDGE="br0"
~
~
~                         
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0   //新建bro

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=172.16.1.2
NETMASK=255.255.0.0

重启network服务

[[email protected] ~]# service network restart
正在关闭接口 eth0: bridge br0 does not exist!
                                                           [确定]
关闭环回接口:                                             [确定]
弹出环回接口:                                             [确定]
弹出界面 eth0:                                            [确定]
弹出界面 br0: Determining if ip address 172.16.1.2 is already in use for device br0...

                                                           [确定]

确认IP地址信息

[[email protected] ~]# ifconfig
br0       Link encap:Ethernet  HWaddr 00:0C:29:8E:AC:F7
          inet addr:172.16.1.2  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fe8e:acf7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1546 (1.5 KiB)  TX bytes:2546 (2.4 KiB)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:8E:AC:F7
          inet6 addr: fe80::20c:29ff:fe8e:acf7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:550 errors:0 dropped:0 overruns:0 frame:0
          TX packets:457 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:51927 (50.7 KiB)  TX bytes:60623 (59.2 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:1244 (1.2 KiB)  TX bytes:1244 (1.2 KiB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:4D:35:53
          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)

输出以上信息,说明网卡桥接成功了!

5、KVM管理
virt-manager是基于libvirt的图形化虚拟机管理软件,该软件不同的版本,图形界面和操作方法也可能不同,在Shell环境下,以root身份输入命令:virt-manager 即可调出虚拟化管理器。
[[email protected] ~]# virt-manager
Xlib:  extension "RANDR" missing on display "localhost:10.0".

6、虚拟化管理的步骤如下:

1)创建存储池
双击localhost(QEMU)--选择“储存”选项卡--单击“+”新建储存池:名称“baishuchao”;目录

注:这是存储池路径,我现在这里是实验环境选择默认即可,如在实际环境中需要添加到后台存储服务器上

2)再创建一个镜像储存池
双击localhost(QEMU)--选择“储存”选项卡--单击“+”新建储存池:名称“baishuchao_iso”;目录“/data_kvm/iso”--单击“完成”。

上传iso镜像文件

注:这里是利用xftp第三方软件进行网络上传的

3)创建存储卷
单击刚创建好的“bdqn”存储池--单击对话框右下角“新建卷”按钮建立一个储存卷:名称:“baishuchao_kvm”;设置存储卷的最大容量和分配容量“10240MB”--单击“完成”。

4)创建虚拟机
虚拟系统管理器--右击“Localhost(QEMU)”--单击“新建”选项--虚拟机名称“CentOS6.5”--打击“前进”按钮--分配内存和CPU资源--单击“前进”按钮--勾选“立即分配整个磁盘”,点选“管理的或者其他现有存储”,单击“浏览”按钮选择文件--单击“前进”按钮--勾选“在安装前自定义配置”--单击“完成”。在“Overview”视图,定位到“机器设置”-时钟偏移-改为“localtime”,单击应用;定位到“Boot Option”,勾选“主机引导时启动虚拟机”复选框-单击应用;在“显示VNC”中,将Keymap设置为“Copy Local Keymap”。

设置完毕后,单击“Begin Installation”按钮即可,整个虚拟机配置过程完成。下面就是一步一步安装系统了。

第二部分 使用KVM命令集管理虚拟机
1、安装Linux虚拟机
虚拟机172.16.1.12宿主机(当作物理机)已安装,使用Xshell远程控制该宿主机。

2、KVM基本功能管理
1)查看命令帮助
[root@localhost ~]# ls /etc/libvirt/qemu
autostart  CentOS6.5.xml  networks

2)查看KVM的配置文件存放目录(CentOS6.5.xml是虚拟机系统实例的配置文件)
ls /etc/libvirt/qemu

3)查看虚拟机状态
[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 3     CentOS6.5                      running

4)虚拟机关机与开机
注意:首先要确认acpid服务已安装并运行

[root@localhost ~]# rpm -qa acpid
acpid-1.0.10-2.1.el6.x86_64

[root@localhost ~]# /etc/rc.d/init.d/acpid start
启动 acpi 守护进程:                                       [确定]

[root@localhost ~]# virsh shutdown CentOS6.5
域 CentOS6.5 被关闭

[root@localhost ~]# virsh start CentOS6.5
域 CentOS6.5 已开始

5)强制实例系统关闭电源
[root@localhost ~]# virsh destroy CentOS6.5
域 CentOS6.5 被删除

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     CentOS6.5                      关闭

6)通过配置文件启动虚拟机系统实例
[root@localhost ~]# virsh create /etc/libvirt/qemu/CentOS6.5.xml
域 CentOS6.5 被创建(从 /etc/libvirt/qemu/CentOS6.5.xml)

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 5     CentOS6.5                      running

7)挂起虚拟机
[root@localhost ~]# virsh suspend CentOS6.5
域 CentOS6.5 被挂起

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 5     CentOS6.5                      暂停

8)恢复虚拟机
[root@localhost ~]# virsh resume CentOS6.5
域 CentOS6.5 被重新恢复

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 5     CentOS6.5                      running

9)配置虚拟机实例伴随宿主机自动启动
[root@localhost ~]# virsh autostart CentOS6.5
域 CentOS6.5标记为自动开始

该目录内容为开机自动启动的系统
[root@localhost ~]# ls -hl /etc/libvirt/qemu/autostart/
总用量 0
lrwxrwxrwx 1 root root 31 9月  24 17:18 CentOS6.5.xml -> /etc/libvirt/qemu/CentOS6.5.xml

10)导出虚拟机配置
virsh dumpxml CentOS6.5 >/etc/libvirt/qemu/test02.xml

[root@localhost ~]# ls /etc/libvirt/qemu
autostart  CentOS6.5.xml  networks  test02.xml

11)虚拟机的删除和添加
[root@localhost ~]# virsh shutdown CentOS6.5
域 CentOS6.5 被关闭

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     CentOS6.5                      关闭

[root@localhost ~]# virsh undefine CentOS6.5
域 CentOS6.5 已经被取消定义

[root@localhost ~]# ls /etc/libvirt/qemu
autostart  networks  test02.xml

注意:CentOS6.5的配置文件被删除,但是磁盘文件不会被删除

通过virsh list --all 查看不到CentOS6.5的信息,说明此虚拟机被删除。
[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------

通过备份配置文件重新定义虚拟机
cd /etc/libvirt/qemu
mv test02.xml CentOS6.5.xml
[root@localhost qemu]# virsh define CentOS6.5.xml
定义域 CentOS6.5(从 CentOS6.5.xml)

[root@localhost ~] virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     CentOS6.5                      关闭

12)修改虚拟机的配置信息(可修改系统内存大小、磁盘文件等信息)
vim /etc/libvirt/qemu/CentOS6.5.xml

通过virsh命令修改
virsh edit CentOS6.5

第三部分 KVM文件的管理

注意:首先安装文件格式转换的命令行工具
[root@localhost Packages]# yum -y install libguestfs-tools

1、转换raw格式磁盘文件至qcow2格式
查看当前磁盘文件格式
[root@localhost ~] qemu-img info /data_kvm/store/baishuchao_kvm.img
image: /data_kvm/store/baishuchao_kvm.img
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 10G

关闭虚拟机CentOS6.5
[root@localhost qemu]# virsh shutdown CentOS6.5
域 CentOS6.5 被关闭

转换磁盘文件格式
qemu-img convert -f raw -O qcow2 /data_kvm/store/baishuchao_kvm.img /data_kvm/store/baishuchao_kvm.qcow2

2、修改CentOS6.5的xml配置文件
[root@localhost ~]# virsh edit CentOS6.5
<disk type=‘file‘ device=‘disk‘>
      <driver name=‘qemu‘ type=‘qcow2‘ cache=‘none‘/>
      <source file=‘/data_kvm/store/baishuchao_kvm.qcow2‘/>
      <target dev=‘vda‘ bus=‘virtio‘/>
      <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x05‘ function=‘0x0‘/>
    </disk>

编辑了域 CentOS6.5 XML 配置。

3、virt-cat命令,类似于cat命令
virt-cat -a /data_kvm/store/baishuchao_kvm.qcow2 /etc/sysconfig/network

4、virt-edit命令,用于编辑文件,用法与vim基本一致。
virt-edit -a /data_kvm/store/baishuchao_kvm.qcow2 /etc/resolv.conf

5、virt-df命令查看虚拟磁盘信息
virt-df -h
[root@localhost ~]# virt-df -h CentOS6.5
Filesystem                                Size       Used  Available  Use%
CentOS6.5:/dev/sda1                      1008M        57M       900M    6%

第四部分 虚拟机的克隆
1、查看虚拟机的状态
[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     CentOS6.5                      关闭

2、从CentOS6.5克隆test01
virt-clone -o CentOS6.5 -n test01 -f /data_kvm/store/baishuchao_kvm.qcow2
[root@localhost ~]# virt-clone -o CentOS6.5 -n test01 -f /data_kvm/store/test01.qcow2
正在分配 ‘test01.qcow2‘                                          |  10 GB     00:05     

Clone ‘test01‘ created successfully.

3、查看虚拟机状态
[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     CentOS6.5                      关闭
 -     test01                         关闭

4、启动虚拟机
[root@localhost ~]# virsh start test01
域 test01 已开始

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 7     test01                         running
 -     CentOS6.5                      关闭

第五部分 虚拟机快照

KVM虚拟机要使用镜像功能,磁盘格式必须为qcow2.
[root@localhost ~]# qemu-img info /data_kvm/store/test01.qcow2
image: /data_kvm/store/test01.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 607M
cluster_size: 65536

KVM虚拟机快照备份过程如下:
1)对CentOS6.5创建快照
[root@localhost ~]virsh snapshot-create CentOS6.5

2)查看虚拟机快照版本信息
[root@localhost ~]virsh snapshot-current CentOS6.5

3)查看快照信息
[root@localhost ~]virsh snapshot-list CentOS6.5

4)创建新快照
[root@localhost ~]virsh snapshot-create CentOS6.5

5)查看快照信息
[root@localhost ~]virsh snapshot-list CentOS6.5

6)恢复虚拟机至某个快照状态
[root@localhost ~]virsh snapshot-revert CentOS6.5 1282572963

7)查看虚拟机快照版本信息
[root@localhost ~]virsh snapshot-current CentOS6.5 

8)删除快照
[root@localhost ~]virsh snapshot-delete CentOS6.5 1282572963
时间: 2024-10-06 11:10:21

kvm虚拟化平台搭建入门的相关文章

部署KVM虚拟化平台------搭建

一 .部署KVM虚拟化平台 hyper-v是windows中的虚拟化1.KVM模块直接整合在Linux内核中,kvm是内核模块,虚拟机与kvm模块之间为管理工具2.KVM组成1.KVM Driver---虚拟机创建---虚拟机内存分配---虚拟CPU寄存器读写---虚拟CPU运行 2.QEMU (经过简化与修改)---模拟PC硬件的用户控件组件---提供I/O设备模型及访问外设的途径 二.虚拟化的三种模式 **1.客户模式:典型的虚拟机环境(虚拟网卡.内存.硬盘): 2.用户模式:工具层,下面是

kvm虚拟化平台搭建

一.虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率. 物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest).那么 Host 是如何将自己的硬件资源虚拟化,并提供给 Guest 使用的呢?这个主要是通过一个叫做 Hypervisor 的

CentOS 7中搭建KVM虚拟化平台

什么是虚拟化 虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破原有物理结构,使用户可以灵活管理这些资源,并且允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术. 虚拟化的优势 减少服务器数量,降低硬件采购成本. 资源利用率最大化 降低机房空间.散热.用电消耗的成本. 硬件资源可动态调整,提高企业IT业务灵活性. 高可用性. 在不中断服务的情况下进行物理硬件调整. 降低管理成本. 具备更高效的备灾能力. KVM虚拟化 KVM自linux2.6.20版本后就直接整合到

在 CentOS 7 上搭建 KVM 虚拟化平台

KVM 简介 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少.KVM目前已成为学术界的主流VMM之一. KVM的虚拟化需要硬件支持(如IntelVT技术或者AMDV技术).是基于硬件的完全虚拟化.而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化.但Xen本身有

Linux之部署KVM虚拟化平台

Linux之部署KVM虚拟化平台 案例需求: 1.安装KVM所需软件,验证. 2.设置KVM网络,将网络设置为桥接模式. 3.使用virt-manager安装linux系统. 4.kvm基本管理的命令 (1)查看虚拟机的状态 (2)虚拟机的关机,强制关机和开机 (3)虚拟机的挂起和恢复 (4)配置虚拟机实例伴随宿主机自动启动 (5)导出虚拟机配置 5.kvm文件管理 (1)将raw格式磁盘转换为qcow2格式 (2)转换后,修改xml配置文件 (3)查看虚拟机磁盘信息 6.虚拟机克隆 7.虚拟机

部署KVM虚拟化平台

防伪码:一场秋雨一场寒,十场秋雨穿上棉. 第四章 部署KVM虚拟化平台 前言:我们在以前学习过vsphere虚拟化平台,安装过esxi5.5,在esxi5.5上安装过虚拟机,使用vcenter管理esxi,从而实现了虚拟机的迁移,备份,高可用等操作,但是安装成本很高,需要购买正版.今天这一章内容是利用linux内核的一个模块kvm,并使用一些辅助工具来搭建虚拟机,完成和esxi类似的操作,实现linux虚拟化.KVM直接整合到了linux内核,因此在性能.安全性.兼容性.稳定性上都有好的表现.我

Centos 6.5 KVM 虚拟化平台部署

KVM简介 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少.KVM目前已成为学术界的主流VMM之一. KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术).是基于硬件的完全虚拟化.而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化.但Xen本身

centos7部署KVM虚拟化平台详解

KVM自Linux 2.6.20版本后就直接整合到Linux内核,它依托CPU虚拟化指令集实现高性能的虚拟化支持.它与Linux内核高度整合,因此在性能.安全性.兼容性.稳定性上都有很好的表现.在KVM环境中运行的每个虚拟化操作系统都将表现为单个独立的系统进程.因此它可以很方便地与Linux系统中的安全模块进行整合(SELinux),可以灵活的实现硬件资源的管理和分配,KVM虚拟化的架构图如下: 话不多说,开始搭建KVM虚拟化平台: 1.安装: [[email protected] media]

KVM虚拟化平台部署及管理

前言 KVM即Kernel Virtual Machine,最初是由以色列公司Qumranet开发.2007年2月被导入Linux 2.6.20核心中,成为内核源代码的一部分.2008年9月4日,Redhat收购了Qumranet,至此Redhat拥有了自己的虚拟化解决方案,之后便舍弃Xen开始全面扶持KVM,从RHEL6开始KVM便被默认内置于内核中.本文介绍KVM虚拟化平台部署及管理. KVM简介 KVM特点 KVM必须在具备Intel VT或AMD-V功能的x86平台上运行.KVM包含一个