部署kvm虚拟化平台及功能管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署kvm虚拟化平台及功能管理相关的知识,希望对你有一定的参考价值。

公司部分Linux服务器利用率不高,为充分利用这些Linux服务器,可以部署KVM,在物理机上运行多个业务系统

在运行nginx的服务器上部署KVM,然后在虚拟机上运行Tomcat

KVM虚拟化架构
KVM模块直接整合在Linux内核中

技术分享图片

主机要求
采用CentOS 6.5 x86_64
开启CPU虚拟化支持

安装方式

全新安装,选择虚拟化选项


设置KVM网络

采用桥接模式


KVM图形化管理

创建存储池

创建存储卷

创建虚拟机

安装虚拟机操作系统

-

在安装操作系统的时候,选择桌面安装,并选择“现在自定义”,下一步之后选择“虚拟化”,并勾选右侧的所有功能。但是如果安装系统的时候没有选择也没关系,可以使用yum安装

[[email protected] /]# rm -rf /etc/yum.repos.d/*
[[email protected] /]# vim /etc/yum.repos.d/index.repo
[[email protected] /]# yum -y install qemu-kvm.x86_64
[[email protected] /]# vim /etc/yum.repos.d/index.repo
[[email protected] /]# mount /dev/cdrom /media/
[[email protected] /]# yum -y install qemu-kvm.x86_64
[[email protected] /]# yum -y install qemu-kvm-tools.x86_64
[[email protected] /]# yum -y install python-virtinst.noarch
[[email protected] /]# yum -y install qemu-img.x86_64
[[email protected] /]# yum -y install bridge-utils.x86_64
[[email protected] /]# yum -y install libvirt
[[email protected] /]# yum -y install virt-manager
验证cpu是否支持虚拟化,如果有输出代表没问题.
[[email protected] /]# cat /proc/cpuinfo | grep vmx
然后检查kvm模块是否安装好
[[email protected] /]# lsmod | grep kvm

-
设置kvm网络
在libvirt中运行kvm网络有两种方法:nat和bridge,默认是nat(用户模式),用户模式可以访问外网,但是无法从外部访问虚拟机网络,所以用的不是很多,一般做的服务器都需要外网的访问,所有多数情况采用桥接模式(bridge),这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机,下面以桥接模式为例:
修改网卡配置文件

[[email protected] /]#  vim /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
BRIDGE="br0"
[[email protected] /]# vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=static
NM_CONTROLLED=no
TYPE=Bridge
IPADDR=192.168.1.1
NETMASK=255.255.255.0
[[email protected] /]# rm -rf /etc/udev/rules.d/70-persistent-net.rules 
[[email protected] /]# reboot

如果重启服务不生效那么重启电脑

因为新增加了一块硬盘所以去添加分区,分区具体流程不演示
[[email protected] /]# fdisk /dev/sdb
格式化分区
[[email protected] /]# mkfs -t ext4 /dev/sdb1
查看
[[email protected] /]# fdisk -l
同于存储之后创建的虚拟机。
[[email protected] /]# mkdir -p /data_kvm/store
将磁盘挂载到store
[[email protected] /]# mount /dev/sdb1 /data_kvm/
[[email protected] /]# cd /data_kvm/
[[email protected] /data_kvm/]# mkdir store
在创建一个用于存放镜像的
[[email protected] /data_kvm/]# mkdir iso
打开图形化管理虚拟里的软件进行管理
[[email protected] /]# virt-manager

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

-
kvm功能管理

查看命令帮助
[[email protected] data_kvm] virsh -h

-

查看KVM配置文件存放目录
[[email protected] data_kvm]#ls /etc/libcirt/qwmu
-

autostart  networks centos6.xml

-

查看虚拟机状态
[[email protected] data_kvm]# virsh list --all
-
 Id    Name                           State
-
 2     centos6                        running

-

首先要开启acpid服务安装并运行在执行开机关机

[[email protected] data_kvm]# virsh shutdown centos6
Domain centos6 is being shutdown

[[email protected] data_kvm]# virsh start centos6
error: Domain is already active

-

强制系统关闭电源
[[email protected] data_kvm]# virsh destroy centos6
Domain centos6 destroyed

-

通过配置文件启动虚拟机
[[email protected] data_kvm]# virsh create /etc/libvirt/qemu/centos6.xml 
Domain centos6 created from /etc/libvirt/qemu/centos6.xml

查看

[[email protected] data_kvm]# virsh list --all
 Id    Name                           State
-
 3     centos6                        running

-

挂起虚拟机

[[email protected] data_kvm]# virsh suspend centos6
Domain centos6 suspended

[[email protected] data_kvm]# virsh list --all
 Id    Name                           State
-
 3     centos6                        paused

-

恢复虚拟机
[[email protected] data_kvm]# virsh resume centos6
Domain centos6 resumed

[[email protected] data_kvm]# virsh list --all
 Id    Name                           State
-
 3     centos6                        running

-

配置虚拟机实例伴随宿主机自动启动
[[email protected] data_kvm]# virsh autostart centos6
Domain centos6 marked as autostarted

-

备份
[[email protected] 123]# virsh dumpxml centos6 > /etc/libvirt/qemu/centos6-1.xml

-

删除虚拟机线关机
[[email protected] 123]# virsh shutdown centos6
Domain centos6 is being shutdown

-

强制切断电源
[[email protected] 123]# virsh destroy centos6
Domain centos6 destroyed

-

删除
[[email protected] 123]# virsh undefine centos6
Domain centos6 has been undefined

-

查看删除结果
[[email protected] 123]# ls /etc/libvirt/qemu
autostart  centos6-1.xml  networks

[[email protected] 123]# virsh list --all
 Id    Name                           State

-

通过配置文件重新定义虚拟机
[[email protected] 123]# cd /etc/libvirt/qemu
[[email protected] qemu]# mv centos6-1.xml centos6.xml

-

重新定义虚拟机
[[email protected] qemu]# virsh define centos6.xml
Domain centos6 defined from centos6.xml

-

查看虚拟机信息
[[email protected] qemu]# virsh list --all
 Id    Name                           State
-
 -     centos6                        shut off

-

修改虚拟机配置信息
[[email protected] qemu]# vim /etc/libvirt/qemu/centos6.xml 
通过命令修改配置信息
[[email protected] qemu]# virsh edit centos6

-

-

kvm文件管理

转换raw格式从磁盘至qcow2格式
[[email protected] qemu]# qemu-img info /data_kvm/store/google_kvm.img 
image: /data_kvm/store/google_kvm.img
file format: raw
virtual size: 9.8G (10485760000 bytes)
disk size: 9.8G

-

关闭虚拟机
[[email protected] qemu]# virsh shutdown centos6

-

转换磁盘文件格式
[[email protected] qemu]# qemu-img convert -f raw -O qcow2
/data_kvm/store/google_kvm.img /data_kvm/store/centos6-2.qcow2

-
注;下面两个qcow2 是修改后的

修改xml配置文件
[[email protected] qemu]# virsh edit centos6

    <disk type=‘file‘ device=‘disk‘>
      <driver name=‘qemu‘ type=‘qcow2‘ cache=‘none‘/>
      <source file=‘/data_kvm/store/google_kvm.qcow2‘/>
      <target dev=‘vda‘ bus=‘virtio‘/>

-

想使用virt-cat更多命令先安装libguestfs-tools
[[email protected] qemu]# yum -y install libguestfs-tools

-

类似于cat命令
[[email protected] media]# virt-cat -a /data_kvm/store/centos6-2.qcow2
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain

-

用于编辑文件用法与vim基本一致
[[email protected] media]# virt-edit  -a /data_kvm/store/centos6-2.qcow2
/etc/resolv.conf 

-

-

虚拟机克隆

查看虚拟机状态
[[email protected] /]# virt-df -h centos6
Filesystem                                Size       Used  Available  Use%
centos6:/dev/sda1                         484M        33M       427M    7%
centos6:/dev/VolGroup/lv_root             8.2G       735M       7.0G    9%

-

从centos6克隆到centos7
[[email protected] /]# virt-clone -o centos6 -n centos7 -    f /data_vkm/store/centos7.qcow2

-

查看抓状态
[[email protected] /]#virsh list --all

Id    Name                           State
-
 -     centos6                        shut off
 -     centos7                        shut off

-

启动虚拟机
[[email protected] /]virsh start centos7

-

-

虚拟机快照

对contos6创建快照
[[email protected] /] virsh snapshot-create centos6
Domain  snapshot 1382572463 created

-

查看快照版本信息
[[email protected] /] cirsh snapshot-current centos6
<domainsnapshot>
   <name>1382572463</name>
   <state>running</state>

-

查看快照信息
[[email protected] /] virsh snapshot-list centos6

-

恢复快照
[[email protected] /] virsh snapshot-servert centos6 1382571463

-

查看快照版本信息
[[email protected] /] virsh snapshot-current centos6

-

删除快照
[[email protected] /] virsh snapshot-delete centos6  1381571463

以上是关于部署kvm虚拟化平台及功能管理的主要内容,如果未能解决你的问题,请参考以下文章

部署及命令行管理KVM

虚拟化技术之KVM平台部署及简单应用

部署及管理KVM虚拟化平台

部署KVM虚拟化平台

2. kvm虚拟化管理平台WebVirtMgr部署

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