阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

KVM虚拟化平台部署

410次阅读
没有评论

共计 21618 个字符,预计需要花费 55 分钟才能阅读完成。

简介

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

案例:搭建 KVM 虚拟化平台

一、案例分析

1、案例概述

公司部分 Linux 服务器利用率不高,为充分利用这些 Linux 服务器,可以部署 KVM,在物理机上运行多个业务系统。例如,在运行 Nginx 的服务器上部署 KVM,然后在虚拟机上运行 Tomcat

2、案例前置知识点

KVM 自 Linux  2.6.20 版本后就直接整合到 Linux 内核,它依托 CPU 和虚拟化指令集(如 Inter-VT、AMD-V)实现高性能的虚拟化支持。由于与 Linux 内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现

KVM 虚拟化平台部署

    图上简单描述了 KVM 虚拟化架构,在 KVM 环境中运行的每个虚拟化操作系统都将表现为单个独立的系统进程。因此它可以很方便地与 Linux 系统中的安全模块进行整合(SElinux),可以灵活地实现资源的管理及分配

3、案例环境

采用 CentOS  6.6  x86_64,开启 CPU 虚拟化支持

二、案例实施

1、安装方式

(1)最简单的安装方法就是在安装系统的时候,选择桌面安装,然后选择虚拟化选项

安装桌面

KVM 虚拟化平台部署

安装虚拟化平台

(2)在已有系统基础上,安装 KVM 所需软件

yum  -y  groupinstall  “Desktop”                  // 安装 GNOME 桌面环境
    yum  -y  install  qemu-kvm.x86_64                  //KVM 模块
    yum  -y  install  qemu-kvm-tools.x86_64            //KVM 调试工具,可不安装

    yum  -y  install  Python-virtinst.noarch          //python 组件,记录创建 VM 时的 xml 文件

    yum  -y  install  qemu-img.x86_64                  //qemu 组件,创建磁盘、启动虚拟机等

    yum  -y  install  bridge-utils.x86_64              // 网络支持工具

    yum  -y  install  libvirt                          // 虚拟机管理工具

    yum  -y  install  virt-manager                    // 图形界面管理虚拟机

    yum  -y  install  libguestfs*                      //virt-cat 等命令的支持软件包

(3)验证。重启系统后,查看 CPU 是否支持虚拟化,对于 Inter 服务器可以 通过一下命令查看,只要有输出就说明 CPU 支持虚拟化;AMD 服务器可用 cat  /proc/cpuinfo  |  grep  smv 命令查看

[root@localhost ~]# 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 tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid fsgsbase bmi1 avx2 smep bmi2 invpcid

检查 KVM 模块是否安装:

[root@localhost ~]# lsmod  |  grep  kvm
kvm_intel              55496  0
kvm                  337772  1 kvm_intel

2、设置 KVM 网络

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

    关于两种模式的说明:

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

(2)桥接模式,这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持,一般有线网卡都支持

这里以 Bridge(桥接)为例

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:4C:0C:24
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
BRIDGE=”br0″

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

重启 network 服务

[root@localhost ~]# service network restart
正在关闭接口 br0:[确定]
正在关闭接口 eth0:[确定]
关闭环回接口:[确定]
弹出环回接口:[确定]
弹出界面 eth0:[确定]
弹出界面 br0:
正在决定 br0 的 IP 信息 … 完成。[确定]

确认 IP 地址信息                                                         

[root@localhost ~]# ifconfig
br0      Link encap:Ethernet  HWaddr 00:0C:29:4C:0C:24 
          inet addr:192.168.0.106  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe4c:c24/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:70 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:69660 (68.0 KiB)  TX bytes:3066 (2.9 KiB)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:4C:0C:24 
          inet6 addr: fe80::20c:29ff:fe4c:c24/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28413 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20243 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:37239885 (35.5 MiB)  TX bytes:1683986 (1.6 MiB)

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:65536  Metric:1
          RX packets:140 errors:0 dropped:0 overruns:0 frame:0
          TX packets:140 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:12096 (11.8 KiB)  TX bytes:12096 (11.8 KiB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:0B:01:73 
          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)

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

3、KVM 管理

[root@localhost ~]# virt-manager

virt-manager 是基于 libvirt 的图像化虚拟机管理软件。请注意,不同的发行版上 virt-manager 的版本可能不同,图形界面和操作方法可能不同。本文使用了 Centos  6 企业版。创建 KVM 虚拟机最简单的方法是通过 virt-manager 接口。从控制台窗口启动这个工具,以 root 身份输入 virt-manager 命令

KVM 虚拟化平台部署

虚拟机管理界面

虚拟机管理步骤如下

(1)创建存储池,双击 localhost(QEMU),选择“存储选项卡”,然后单击“+”按钮新建存储池。单击“前进”按钮,根据提示输入或浏览以设置存储目录,如 /data_kvm/store,最后单击“完成”按钮即可

KVM 虚拟化平台部署

创建存储池

(2)以同样的操作创建一个镜像存储池,命名为 linux_iso,目录为 /data_kvm/iso 即可。在安装操作系统时,我们把镜像上传到服务器目录 /data_kvm/iso

KVM 虚拟化平台部署

创建镜像存储池

 
(3)创建存储卷,单击刚创建好的“linux”,单击对话框右下角的“新建卷”按钮建立一个存储卷,并设置最大容量与分配容量

KVM 虚拟化平台部署

创建存储卷

(4)单击“完成”按钮后,回到虚拟系统管理器。右击“localhost(QEMU)”,然后选择“新建”选项,在弹出的对话框中将虚拟机名称命令为“Centos-6.6”,然后单击“前进”按钮

KVM 虚拟化平台部署

新建虚拟机(1)

单击“浏览”按钮选择镜像文件,再选择操作系统类型及版本

KVM 虚拟化平台部署

新建虚拟机(2)

单击“前进”按钮,在对话框中适当分配内存和 CPU 资源,如 1 核 CPU、512MB 内存

KVM 虚拟化平台部署

 新建虚拟机(3)

 
    单击“前进”按钮,在对话框中勾选“立即分配整个磁盘”复选框,点选“管理的或者其他现有存储”单选按钮,单击“浏览”按钮选择文件,然后单击“前进”按钮

KVM 虚拟化平台部署

新建虚拟机(4)

    在所示的对话框中勾选“在安装前自定义配置”复选框,单击“完成”按钮,弹出对话框

KVM 虚拟化平台部署

新建虚拟机(5)

KVM 虚拟化平台部署

新建虚拟机(6)

在“Overview”视图中,定位到“机器设置”,把机器设置 - 时钟偏移 - 改为“localtime”,单击“应用”按钮即可。定位到“Boot  Options”,勾选“主机引导时启动虚拟机”复选框,这样在物理宿主机启动后,这个 VM 也会启动,最后单击“应用”按钮。如果要远程管理,需要在“显示 VNC”中,将 Keymap 设置为“Copy  Local  Keymap”

KVM 虚拟化平台部署

新建虚拟机(7)

最后单击“Begin  Installation”按钮即可,整个虚拟机配置过程完成。下面就是安装操作系统的工作,和平时安装 Linux 系统一样

KVM 虚拟化平台部署

CentOS 安装界面

案例:使用 KVM 命令集管理虚拟机

一、案例分析

案例环境使用一台物理机器,一台服务器安装 Centos  6.6 的 64 位系统(即 Stranded), Centos-6.6 是在宿主机 Stranded 中安装的虚拟机

主机 操作系统 IP 地址 主要软件
StrandedCentos-6.6  x86_64192.168.1.100Xshell

Centos-6.6

Centos-6.6  x86_64192.168.1.103

Xmanager

二、案例实施

1、安装 Linux 虚拟机

安装过程同上一案例,使用 Xshell 远程控制 Stranded 主机

2、KVM 基本功能管理

(1)查看命令帮助

[root@localhost ~]# virsh  -h
……      // 省略输出内容

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

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

(3)查看虚拟机状态

[root@localhost ~]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 2    Centos-6.6                  running

(4)虚拟机关机与开机

首先要确认 acpid 服务安装并运行

[root@localhost ~]# virsh  shutdown  Centos-6.6
[root@localhost ~]# virsh  start  Centos-6.6

(5)强制实例系统关闭电源

[root@localhost ~]# virsh  destroy  Centos-6.6

(6)通过配置文件启动虚拟机系统实例

[root@localhost ~]# virsh  create  /etc/libvirt/qemu/Centos-6.6.xml
[root@localhost ~]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 3    Centos-6.6                  running

(7)挂起虚拟机

[root@localhost ~]# virsh  suspend  Centos-6.6

查看虚拟机状态

[root@localhost ~]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 3    Centos-6.6                  暂停

(8)恢复虚拟机

[root@localhost ~]# virsh  resume  Centos-6.6

[root@localhost ~]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 3    Centos-6.6                  running

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

[root@localhost ~]# virsh  autostart  Centos-6.6

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

(10)导出虚拟机配置

[root@localhost ~]# virsh  dumpxml  Centos-6.6 >/etc/libvirt/qemu/Centos-02-6.6.xml

(11)虚拟机的删除与添加

删除虚拟机

[root@localhost ~]# virsh  shutdown Centos-6.6
[root@localhost ~]# virsh  undefine Centos-6.6

查看删除结果,Centos-6.6 的配置文件被删除,但磁盘文件不会被删除

[root@localhost ~]# ls  /etc/libvirt/qemu
autostart  Centos-02-6.6.xml  networks

通过 virsh  list  -all 查看不到 Centos-6.6 的信息,说明此虚拟机被删除

[root@localhost ~]# virsh  list –all
 Id    名称                  状态
—————————————————-

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

[root@localhost ~]# cd  /etc/libvirt/qemu
[root@localhost qemu]# mv  Centos-02-6.6.xml  Centos-6.6.xml

重新定义虚拟机

[root@localhost qemu]# virsh  define Centos-6.6.xml

查看虚拟机信息

[root@localhost qemu]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 –    Centos-6.6                  关闭

(12)修改虚拟机配置信息(用来修改系统内存大小、磁盘文件等信息)

直接通过 vim 命令修改

[root@localhost ~]# vim  /etc/libvirt/qemu/Centos-6.6.xml

通过 virsh 命令修改

[root@localhost ~]# virsh  edit  Centos-6.6

3、KVM 文件管理

通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件有 raw 与 qcow2 格式,KVM 虚拟机默认使用 raw 格式,raw 格式性能最好,速度最快,其缺点是不支持一些新的功能,如镜像、Zlib 磁盘压缩、AES 加密等,针对两种格式的文件有不同的工具可供选择。这里介绍本地 YUM 安装 libguestfs-tools 后产生的命令行工具(这个工具可以直接读取 qcow2 格式的磁盘文件,因此需要将 raw 格式的磁盘文件转换成 qcow2 的格式)

(1)转换 raw 格式磁盘至 qcow2 格式

查看当前磁盘格式

[root@localhost ~]# qemu-img  info  /data_kvm/store/linux_kvm.img
image: /data_kvm/store/linux_kvm.img
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 10G

关闭虚拟机

[root@localhost ~]# virsh  shutdown  Centos-6.6

转换磁盘文件格式

[root@localhost ~]# qemu-img  convert  -f  raw  -O  qcow2  /data_kvm/store/linux_kvm.img  /data_kvm/store/linux_kvm.qcow2

(2)修改 Centos-6.6 的 xml 配置文件

[root@localhost ~]# virsh  edit  Centos-6.6
……            // 省略部分内容
    <disk type=’file’ device=’disk’>
      <driver name=’qemu’ type=’qcow2′ cache=’none’/>
      <source file=’/data_kvm/store/linux_kvm.qcow2’/>
      <target dev=’vda’ bus=’virtio’/>
      <address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x06′ function=’0x0’/>
    </disk>
……            // 省略部分内容

(3)virt-cat 命令,类似于 cat 命令

[root@localhost ~]# virt-cat  -a  /data_kvm/store/linux_kvm.qcow2  /etc/sysconfig/network
NETWORINT=yes
HOSTNAME=localhost.localdomain

(4)virt-edit 命令,用于编辑文件,用法与 vim 基本一致

[root@localhost ~]# virt-edit  -a  /data_kvm/store/linux_kvm.qcow2  /etc/resolv.conf
nameserver  8.8.8.8

(5)virt-df 命令用于查看虚拟机磁盘信息

[root@localhost  ~]# virt-df  -h  Centos-6.6
Filesystem                                    Size        Used      Available    Use%
Centos-6.6:/dev/sda1                          476M        32M        419M        7%
Centos-6.6:/dev/sdb1                          4.3G        4.3G          0          100%
Centos-6.6:/dev/VolGroup/lv_root              8.3G        620M        7.2G        8%

4、虚拟机克隆

(1)查看虚拟机状态

[root@localhost  ~]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 –    Centos-6.6                  关闭

(2)从 Centos-6.6 克隆 Centos-02-6.6

[root@localhost  ~]# virt-clone  -o  Centos-6.6  -n  Centos-02-6.6  -f  /data_kvm/store/Centos-02-6.6.qcow2

(3)查看虚拟机状态

[root@localhost  ~]# virsh  list  –all
 Id    名称                      状态
—————————————————-
 –    Centos-02-6.6              关闭
 –    Centos-6.6                关闭

(4)启动虚拟机

[root@localhost  ~]# virsh  start  Centos-02-6.6

5、虚拟机快照

KVM 虚拟机要使用快照功能,磁盘格式必须是 qcow2,之前已经将 Centos-6.6 的磁盘格式转换成了 qcow2

    下面介绍 KVM 虚拟机快照备份的过程

(1)对 Centos-6.6 创建快照

[root@localhost  ~]# virsh  snapshot-create  Centos-6.6
Domain snapshot 1440950172 created

(2)查看虚拟机快照版本信息

[root@localhost ~]# virsh  snapshot-current  Centos-6.6
<domainsnapshot>
  <name>1440950172</name>      // 快照版本号
  <state>shutoff</state>
……            // 省略部分内容

(3)查看快照信息

[root@localhost ~]# virsh  snapshot-list  Centos-6.6
 名称            Creation Time              状态
————————————————————
 1440950172      2015-08-30 23:56:12  +0800  shutoff

(4)创建新快照

[root@localhost ~]# virsh  snapshot-create  Centos-6.6
Domain snapshot 1440950433 created

(5)查看快照信息

[root@localhost ~]# virsh  snapshot-list  Centos-6.6
 名称              Creation Time              状态
————————————————————
 1440950172        2015-08-30 23:56:12  +0800  shutoff
 1440950433        2015-08-31 00:00:33  +0800  shutoff

(6)回复虚拟机状态至 1440950172

[root@localhost ~]# virsh  snapshot-revert  Centos-6.6  1440950172

(7)查看虚拟机快照版本信息

[root@localhost ~]# virsh  snapshot-current  Centos-6.6
<domainsnapshot>
  <name>1440950172</name>              // 快照版本号
  <state>shutoff</state>
……            // 省略部分输出

(8)删除快照

[root@localhost ~]# virsh  snapshot-delete  Centos-6.6  1440950172
Domain snapshot 1440950172 deleted

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-10/136164.htm

简介

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

案例:搭建 KVM 虚拟化平台

一、案例分析

1、案例概述

公司部分 Linux 服务器利用率不高,为充分利用这些 Linux 服务器,可以部署 KVM,在物理机上运行多个业务系统。例如,在运行 Nginx 的服务器上部署 KVM,然后在虚拟机上运行 Tomcat

2、案例前置知识点

KVM 自 Linux  2.6.20 版本后就直接整合到 Linux 内核,它依托 CPU 和虚拟化指令集(如 Inter-VT、AMD-V)实现高性能的虚拟化支持。由于与 Linux 内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现

KVM 虚拟化平台部署

    图上简单描述了 KVM 虚拟化架构,在 KVM 环境中运行的每个虚拟化操作系统都将表现为单个独立的系统进程。因此它可以很方便地与 Linux 系统中的安全模块进行整合(SElinux),可以灵活地实现资源的管理及分配

3、案例环境

采用 CentOS  6.6  x86_64,开启 CPU 虚拟化支持

二、案例实施

1、安装方式

(1)最简单的安装方法就是在安装系统的时候,选择桌面安装,然后选择虚拟化选项

安装桌面

KVM 虚拟化平台部署

安装虚拟化平台

(2)在已有系统基础上,安装 KVM 所需软件

yum  -y  groupinstall  “Desktop”                  // 安装 GNOME 桌面环境
    yum  -y  install  qemu-kvm.x86_64                  //KVM 模块
    yum  -y  install  qemu-kvm-tools.x86_64            //KVM 调试工具,可不安装

    yum  -y  install  Python-virtinst.noarch          //python 组件,记录创建 VM 时的 xml 文件

    yum  -y  install  qemu-img.x86_64                  //qemu 组件,创建磁盘、启动虚拟机等

    yum  -y  install  bridge-utils.x86_64              // 网络支持工具

    yum  -y  install  libvirt                          // 虚拟机管理工具

    yum  -y  install  virt-manager                    // 图形界面管理虚拟机

    yum  -y  install  libguestfs*                      //virt-cat 等命令的支持软件包

(3)验证。重启系统后,查看 CPU 是否支持虚拟化,对于 Inter 服务器可以 通过一下命令查看,只要有输出就说明 CPU 支持虚拟化;AMD 服务器可用 cat  /proc/cpuinfo  |  grep  smv 命令查看

[root@localhost ~]# 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 tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid fsgsbase bmi1 avx2 smep bmi2 invpcid

检查 KVM 模块是否安装:

[root@localhost ~]# lsmod  |  grep  kvm
kvm_intel              55496  0
kvm                  337772  1 kvm_intel

2、设置 KVM 网络

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

    关于两种模式的说明:

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

(2)桥接模式,这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持,一般有线网卡都支持

这里以 Bridge(桥接)为例

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:4C:0C:24
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
BRIDGE=”br0″

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

重启 network 服务

[root@localhost ~]# service network restart
正在关闭接口 br0:[确定]
正在关闭接口 eth0:[确定]
关闭环回接口:[确定]
弹出环回接口:[确定]
弹出界面 eth0:[确定]
弹出界面 br0:
正在决定 br0 的 IP 信息 … 完成。[确定]

确认 IP 地址信息                                                         

[root@localhost ~]# ifconfig
br0      Link encap:Ethernet  HWaddr 00:0C:29:4C:0C:24 
          inet addr:192.168.0.106  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe4c:c24/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:70 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:69660 (68.0 KiB)  TX bytes:3066 (2.9 KiB)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:4C:0C:24 
          inet6 addr: fe80::20c:29ff:fe4c:c24/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28413 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20243 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:37239885 (35.5 MiB)  TX bytes:1683986 (1.6 MiB)

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:65536  Metric:1
          RX packets:140 errors:0 dropped:0 overruns:0 frame:0
          TX packets:140 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:12096 (11.8 KiB)  TX bytes:12096 (11.8 KiB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:0B:01:73 
          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)

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

3、KVM 管理

[root@localhost ~]# virt-manager

virt-manager 是基于 libvirt 的图像化虚拟机管理软件。请注意,不同的发行版上 virt-manager 的版本可能不同,图形界面和操作方法可能不同。本文使用了 Centos  6 企业版。创建 KVM 虚拟机最简单的方法是通过 virt-manager 接口。从控制台窗口启动这个工具,以 root 身份输入 virt-manager 命令

KVM 虚拟化平台部署

虚拟机管理界面

虚拟机管理步骤如下

(1)创建存储池,双击 localhost(QEMU),选择“存储选项卡”,然后单击“+”按钮新建存储池。单击“前进”按钮,根据提示输入或浏览以设置存储目录,如 /data_kvm/store,最后单击“完成”按钮即可

KVM 虚拟化平台部署

创建存储池

(2)以同样的操作创建一个镜像存储池,命名为 linux_iso,目录为 /data_kvm/iso 即可。在安装操作系统时,我们把镜像上传到服务器目录 /data_kvm/iso

KVM 虚拟化平台部署

创建镜像存储池

 
(3)创建存储卷,单击刚创建好的“linux”,单击对话框右下角的“新建卷”按钮建立一个存储卷,并设置最大容量与分配容量

KVM 虚拟化平台部署

创建存储卷

(4)单击“完成”按钮后,回到虚拟系统管理器。右击“localhost(QEMU)”,然后选择“新建”选项,在弹出的对话框中将虚拟机名称命令为“Centos-6.6”,然后单击“前进”按钮

KVM 虚拟化平台部署

新建虚拟机(1)

单击“浏览”按钮选择镜像文件,再选择操作系统类型及版本

KVM 虚拟化平台部署

新建虚拟机(2)

单击“前进”按钮,在对话框中适当分配内存和 CPU 资源,如 1 核 CPU、512MB 内存

KVM 虚拟化平台部署

 新建虚拟机(3)

 
    单击“前进”按钮,在对话框中勾选“立即分配整个磁盘”复选框,点选“管理的或者其他现有存储”单选按钮,单击“浏览”按钮选择文件,然后单击“前进”按钮

KVM 虚拟化平台部署

新建虚拟机(4)

    在所示的对话框中勾选“在安装前自定义配置”复选框,单击“完成”按钮,弹出对话框

KVM 虚拟化平台部署

新建虚拟机(5)

KVM 虚拟化平台部署

新建虚拟机(6)

在“Overview”视图中,定位到“机器设置”,把机器设置 - 时钟偏移 - 改为“localtime”,单击“应用”按钮即可。定位到“Boot  Options”,勾选“主机引导时启动虚拟机”复选框,这样在物理宿主机启动后,这个 VM 也会启动,最后单击“应用”按钮。如果要远程管理,需要在“显示 VNC”中,将 Keymap 设置为“Copy  Local  Keymap”

KVM 虚拟化平台部署

新建虚拟机(7)

最后单击“Begin  Installation”按钮即可,整个虚拟机配置过程完成。下面就是安装操作系统的工作,和平时安装 Linux 系统一样

KVM 虚拟化平台部署

CentOS 安装界面

案例:使用 KVM 命令集管理虚拟机

一、案例分析

案例环境使用一台物理机器,一台服务器安装 Centos  6.6 的 64 位系统(即 Stranded), Centos-6.6 是在宿主机 Stranded 中安装的虚拟机

主机 操作系统 IP 地址 主要软件
StrandedCentos-6.6  x86_64192.168.1.100Xshell

Centos-6.6

Centos-6.6  x86_64192.168.1.103

Xmanager

二、案例实施

1、安装 Linux 虚拟机

安装过程同上一案例,使用 Xshell 远程控制 Stranded 主机

2、KVM 基本功能管理

(1)查看命令帮助

[root@localhost ~]# virsh  -h
……      // 省略输出内容

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

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

(3)查看虚拟机状态

[root@localhost ~]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 2    Centos-6.6                  running

(4)虚拟机关机与开机

首先要确认 acpid 服务安装并运行

[root@localhost ~]# virsh  shutdown  Centos-6.6
[root@localhost ~]# virsh  start  Centos-6.6

(5)强制实例系统关闭电源

[root@localhost ~]# virsh  destroy  Centos-6.6

(6)通过配置文件启动虚拟机系统实例

[root@localhost ~]# virsh  create  /etc/libvirt/qemu/Centos-6.6.xml
[root@localhost ~]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 3    Centos-6.6                  running

(7)挂起虚拟机

[root@localhost ~]# virsh  suspend  Centos-6.6

查看虚拟机状态

[root@localhost ~]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 3    Centos-6.6                  暂停

(8)恢复虚拟机

[root@localhost ~]# virsh  resume  Centos-6.6

[root@localhost ~]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 3    Centos-6.6                  running

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

[root@localhost ~]# virsh  autostart  Centos-6.6

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

(10)导出虚拟机配置

[root@localhost ~]# virsh  dumpxml  Centos-6.6 >/etc/libvirt/qemu/Centos-02-6.6.xml

(11)虚拟机的删除与添加

删除虚拟机

[root@localhost ~]# virsh  shutdown Centos-6.6
[root@localhost ~]# virsh  undefine Centos-6.6

查看删除结果,Centos-6.6 的配置文件被删除,但磁盘文件不会被删除

[root@localhost ~]# ls  /etc/libvirt/qemu
autostart  Centos-02-6.6.xml  networks

通过 virsh  list  -all 查看不到 Centos-6.6 的信息,说明此虚拟机被删除

[root@localhost ~]# virsh  list –all
 Id    名称                  状态
—————————————————-

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

[root@localhost ~]# cd  /etc/libvirt/qemu
[root@localhost qemu]# mv  Centos-02-6.6.xml  Centos-6.6.xml

重新定义虚拟机

[root@localhost qemu]# virsh  define Centos-6.6.xml

查看虚拟机信息

[root@localhost qemu]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 –    Centos-6.6                  关闭

(12)修改虚拟机配置信息(用来修改系统内存大小、磁盘文件等信息)

直接通过 vim 命令修改

[root@localhost ~]# vim  /etc/libvirt/qemu/Centos-6.6.xml

通过 virsh 命令修改

[root@localhost ~]# virsh  edit  Centos-6.6

3、KVM 文件管理

通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件有 raw 与 qcow2 格式,KVM 虚拟机默认使用 raw 格式,raw 格式性能最好,速度最快,其缺点是不支持一些新的功能,如镜像、Zlib 磁盘压缩、AES 加密等,针对两种格式的文件有不同的工具可供选择。这里介绍本地 YUM 安装 libguestfs-tools 后产生的命令行工具(这个工具可以直接读取 qcow2 格式的磁盘文件,因此需要将 raw 格式的磁盘文件转换成 qcow2 的格式)

(1)转换 raw 格式磁盘至 qcow2 格式

查看当前磁盘格式

[root@localhost ~]# qemu-img  info  /data_kvm/store/linux_kvm.img
image: /data_kvm/store/linux_kvm.img
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 10G

关闭虚拟机

[root@localhost ~]# virsh  shutdown  Centos-6.6

转换磁盘文件格式

[root@localhost ~]# qemu-img  convert  -f  raw  -O  qcow2  /data_kvm/store/linux_kvm.img  /data_kvm/store/linux_kvm.qcow2

(2)修改 Centos-6.6 的 xml 配置文件

[root@localhost ~]# virsh  edit  Centos-6.6
……            // 省略部分内容
    <disk type=’file’ device=’disk’>
      <driver name=’qemu’ type=’qcow2′ cache=’none’/>
      <source file=’/data_kvm/store/linux_kvm.qcow2’/>
      <target dev=’vda’ bus=’virtio’/>
      <address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x06′ function=’0x0’/>
    </disk>
……            // 省略部分内容

(3)virt-cat 命令,类似于 cat 命令

[root@localhost ~]# virt-cat  -a  /data_kvm/store/linux_kvm.qcow2  /etc/sysconfig/network
NETWORINT=yes
HOSTNAME=localhost.localdomain

(4)virt-edit 命令,用于编辑文件,用法与 vim 基本一致

[root@localhost ~]# virt-edit  -a  /data_kvm/store/linux_kvm.qcow2  /etc/resolv.conf
nameserver  8.8.8.8

(5)virt-df 命令用于查看虚拟机磁盘信息

[root@localhost  ~]# virt-df  -h  Centos-6.6
Filesystem                                    Size        Used      Available    Use%
Centos-6.6:/dev/sda1                          476M        32M        419M        7%
Centos-6.6:/dev/sdb1                          4.3G        4.3G          0          100%
Centos-6.6:/dev/VolGroup/lv_root              8.3G        620M        7.2G        8%

4、虚拟机克隆

(1)查看虚拟机状态

[root@localhost  ~]# virsh  list  –all
 Id    名称                        状态
—————————————————-
 –    Centos-6.6                  关闭

(2)从 Centos-6.6 克隆 Centos-02-6.6

[root@localhost  ~]# virt-clone  -o  Centos-6.6  -n  Centos-02-6.6  -f  /data_kvm/store/Centos-02-6.6.qcow2

(3)查看虚拟机状态

[root@localhost  ~]# virsh  list  –all
 Id    名称                      状态
—————————————————-
 –    Centos-02-6.6              关闭
 –    Centos-6.6                关闭

(4)启动虚拟机

[root@localhost  ~]# virsh  start  Centos-02-6.6

5、虚拟机快照

KVM 虚拟机要使用快照功能,磁盘格式必须是 qcow2,之前已经将 Centos-6.6 的磁盘格式转换成了 qcow2

    下面介绍 KVM 虚拟机快照备份的过程

(1)对 Centos-6.6 创建快照

[root@localhost  ~]# virsh  snapshot-create  Centos-6.6
Domain snapshot 1440950172 created

(2)查看虚拟机快照版本信息

[root@localhost ~]# virsh  snapshot-current  Centos-6.6
<domainsnapshot>
  <name>1440950172</name>      // 快照版本号
  <state>shutoff</state>
……            // 省略部分内容

(3)查看快照信息

[root@localhost ~]# virsh  snapshot-list  Centos-6.6
 名称            Creation Time              状态
————————————————————
 1440950172      2015-08-30 23:56:12  +0800  shutoff

(4)创建新快照

[root@localhost ~]# virsh  snapshot-create  Centos-6.6
Domain snapshot 1440950433 created

(5)查看快照信息

[root@localhost ~]# virsh  snapshot-list  Centos-6.6
 名称              Creation Time              状态
————————————————————
 1440950172        2015-08-30 23:56:12  +0800  shutoff
 1440950433        2015-08-31 00:00:33  +0800  shutoff

(6)回复虚拟机状态至 1440950172

[root@localhost ~]# virsh  snapshot-revert  Centos-6.6  1440950172

(7)查看虚拟机快照版本信息

[root@localhost ~]# virsh  snapshot-current  Centos-6.6
<domainsnapshot>
  <name>1440950172</name>              // 快照版本号
  <state>shutoff</state>
……            // 省略部分输出

(8)删除快照

[root@localhost ~]# virsh  snapshot-delete  Centos-6.6  1440950172
Domain snapshot 1440950172 deleted

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-10/136164.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计21618字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7973876
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...