centos KVM 搭建

如何在Centos上搭建kvm虚拟化环境,示例虚拟机的创建,安装,快照,删除等管理操作

KVM介绍

KVM 是 kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
KVM (全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.ko 提供和虚拟化核心架构和处理器规范模块。
使用 KVM 可允许运行多个虚拟机,包括 Linux 和 Windows操作系统。每个虚拟机有私有的硬件,包括网卡、磁盘以及图形适配卡等。

环境需求

1
2
3
4
5
#演示环境
Centos6.5 minimal x86_64 CPU开启虚拟化支持
#确认支持CPU支持虚拟化
grep 'vmx|svm' /proc/cpuinfo
#vmx是INTEL,svm是AMD

安装依赖环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#KVM内核模块
qemu-kvm
#KVM调试工具
qemu-kvm-tools
#qemu组件
qemu-img
#python组件
python-virtinst.noarch
#网络桥接工具
bridge-utils
#虚拟机管理工具
libvirt-devel
#如果需要桌面环境想看到界面(本文档是全命令操作,没有用到界面)
#安装GNOME桌面环境,已经有就不用装了
yum -y groupinstall “Desktop”
#图形界面管理虚拟机
yum -y install virt-manager
1
2
3
#安装依赖组件
yum -y install qemu-kvm qemu-kvm-tools qemu-img python-virtinst.noarch bridge-utils libvirt-devel
yum -y upgrade device-mapper-libs

配置网卡桥接

1
2
3
4
#复制网卡配置文件
cd /etc/sysconfig/network-srtipts/
cp ifcfg-eth0 ifcfg-eth0.bak
cp ifcfg-eth0 ifcfg-br0
1
2
3
4
5
6
7
8
#修改 ifcfg-eth0 文件
DEVICE=eth0
HWADDR=00:0C:29:5E:F9:9A
TYPE= Ethernet
UUID=c97c8098-21d4-4f3a-ac85-a18a8a0edd3d
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
1
2
3
4
5
6
7
8
9
10
11
12
#修改 ifcfg-br0 文件
DEVICE=br0
#HWADDR=00:0C:29:5E:F9:9A
TYPE=Bridge
#UUID=c97c8098-21d4-4f3a-ac85-a18a8a0edd3d
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.5.40
NETMASK=255.255.255.0
GATEWAY=192.168.5.1
DNS1=222.85.85.85
DNS2=222.88.88.88
1
2
3
4
5
6
7
8
9
#配置完成后建议直接重启
reboot
#或者通过以下方式启动和重启相关服务
#重启网络服务
service network restart
#启动libvirtd
/etc/init.d/libvirtd start
#查看kvm模块是否加载到内核
lsmod | grep kvm

创建虚拟机

1
2
#创建qcow2磁盘文件,kvm只支持这种格式来使用快照功能
qemu-img create -f qcow2 -o preallocation=metadata /data/annda.img 10G
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#虚拟机名称
--name annda
#虚拟机内存(单位:MB)
--ram 1024
#虚拟机CPU
--vcpus 2
#虚拟机磁盘文件路径,格式,大小,总线类型
--disk path=/data/annda.img,format=qcow2,size=10,bus=virtio
#系统类型(支持类型: linux,unix,windows)
--os-type linux
#系统版本(查看详细支持的版本: virt-install --os-variant list)
--os-variant rhel6
#网卡桥接
--network bridge=br0
#图形化界面(linux:none,windows:vnc)
--graphics none
#镜像源
--pxe 网络启动
--cdrom 光驱/光盘
--location 本地数据源
#虚拟机配置文件路径
/etc/libvirt/qemu/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#创建Linux虚拟机
virt-install \
--name annda \
--ram 512 \
--disk path=/data/annda.img,format=qcow2,size=10,bus=virtio \
--vcpus 2 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location /opt/CentOS-6.5-x86_64-bin-DVD1.iso \
--extra-args 'console=ttyS0,115200n8 serial'
#执行命令后会通过当前SSH开启一个console窗口
#退出console窗口的快捷键: CTRL+]
#连接console的命令: virsh console annda (虚拟主机名)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#创建Windows虚拟机
virt-install \
--name annda \
--ram 2048 \
--disk path=/data/annda.img,format=qcow2,size=10,bus=ide \
--vcpus 2 \
--os-type windows \
--os-variant win2k8 \
--network bridge=br0 \
--graphics vnc,port=5910,listen=0.0.0.0 \
--cdrom /opt/win2008.iso \
--noautoconsole
#然后通过VNC连接上述配置中的5910端口,IP是KVM主机的地址
#如果VNC出现连接闪退现象解决方法如下:
#在VNC高级选项中expert-->ColorLevel的值为“full”即可
#注:rgb111--8 colors,rgb222--64 colors,pal8--256 colors,full--full colors

管理虚拟机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#查看所有虚拟机
virsh list --all
#查看指定虚拟机
virsh dominfo annda
#查看虚拟机CPU
virsh vcpuinfo annda
#查看虚拟机状态
virsh domstate annda
#查看虚拟机网卡状态
virsh domifstat annda vnet0
#查看虚拟机XML文件
virsh dumpxml annda
#主机ID转换UUID
virsh domuuid annda
#编辑虚拟机配置
virsh edit annda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#随系统自动启动虚拟机
virsh autostart annda
#启动虚拟机
virsh start annda
#关闭虚拟机(要使用此功能需要在虚拟机安装:acpid)
virsh shutdown annda
#重新虚拟机
virsh reboot annda
#挂起虚拟机
virsh suspend annda
#恢复虚拟机
virsh resume annda
#编辑虚拟机参数
virsh edit annda
#强制关闭虚拟机
virsh destroy annda
#删除虚拟机(该命令只是删除了虚拟主机文件,磁盘文件需要手动删除)
virsh undefine annda
1
2
3
4
5
6
7
8
9
10
#创建快照
virsh snapshot-create-as annda annda_backup
#查看快照
virsh snapshot-list annda
#查看快照详细信息
virsh snapshot-info annda annda_backup
#恢复快照
virsh snapshot-revert annda annda_backup
#删除快照
virsh snapshot-delete annda annda_backup
Author:  Annda
Link:  https://www.annda.cn/2017/04/12/linux-centos-kvm-simple-install-manage/
Copyright Notice:  All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

猜你喜欢

转载自blog.csdn.net/qq_37897490/article/details/79461610
今日推荐