1+X 云计算运维与开发(中级)案例实战——使用KVM服务创建虚拟机

传送门
教育部职业教育将启动“1+X”证书制度改革
职业教育改革1+X证书制度试点启动
1+X成绩/证书查询入口

1. 什么是KVM???

KVM(Kernel-based Virtual Machine)是一个开源软件,基于内核的虚拟化技术,实际是嵌入系统的一个虚拟化模块,通过优化内核来使用虚拟技术,该内核模块使得Linux变成了一个Hypervisor,虚拟机使用 Linux 自身的调度器进行管理。
KVM 是基于虚拟化扩展(Intel VT或者AMD-V)的X86硬件的开源的Linux原生的全虚拟化解决方案。KVM中,虚拟机被实现为常规的Linux进程,由标准Linux调度程序进行调度;虚机的每个虚拟CPU被实现为一个常规的Linux进程。这使得KVM能够使用 Linux内核的已有功能。但是,KVM本身不执行任何硬件模拟,需要客户空间程序通过/dev/kvm接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是QEMU。

2. 案例目标

  • 使用命令安装KVM组件
  • 掌握NAT启动脚本的编写和使用
  • 掌握在NAT模式下启动虚拟机

2.1 案例分析

2.2 规划节点

IP 主机名 节点
192.168.200.9 localhost KVM

2.3 基础准备

使用VMWare Workstation软件安装CentOS 7.2操作系统,镜像使用提供的CentOS-7-x86_64-DVD-1511.iso,关闭防火墙并且配置SELinux规则,配置IP地址。YUM源使用提供的kvm_yum文件夹。

3. 案例实施

3.1 查看CPU是否支持虚拟化

grep -E '(svm|vmx)' /proc/cpuinfo

在这里插入图片描述

找到flags部分,如果其中输出有SVM或VMX,表明CPU支持虚拟化技术
svm Secure virtual machine, AMD的虚拟化技术AMD-V
vmx Intel的虚拟化技术Intel-VT

如果无输出结果,需要在BIOS中开启VT,然后在vmware workstation中开启,如下图所示

3.2 安装KVM

配置本地YNM安装源,将提供的kvm_yum文件夹上传至/opt目录,并配置本地YNM源,命令如下:

[root@localhost ~]# vi /etc/yum.repos.d/yum.repo
[kvm]
name=kvm
baseurl=file:///opt/kvm_yum
gpgcheck=0
enabled=1

使用YUM安装KVM的主要组件及工具。命令如下:

[root@localhost ~]# yum install qemu-kvm openssl libvirt -y 

命令解释:

qemu-kvm qemu-img (qcow2,raw)作用:管理虚拟机的虚拟磁盘
openssl: 进行安全通信,避免窃听,同时确认另一端连接者的身份
libvirt 作用: 虚拟机的管理软件
libvirt: kvm,xen,qemu,lxc…

启动libvirtd服务,命令如下:

[root@localhost ~]# systemctl start libvirtd

将/usr/libexec/qemu-kvm链接为/usr/bin/qemu-kvm。命令如下:

ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

3.3 创建NAT模式KVM虚拟机

cirros-0.3.3-x86_64-disk.img镜像qemu-ifup-NAT.txt脚本文件上传到系统/root目录下

[root@localhost ~]# ls
cirros-0.3.3-x86_64-disk.img  qemu-ifup-NAT.txt

给脚本赋予执行权限。命令如下:

[root@localhost ~]# chmod +x /root/qemu-ifup-NAT.txt

通过qemu-kvm命令启动KVM虚拟机。命令如下:

[root@localhost ~]# qemu-kvm -m 1024 -drive file=/root/cirros-0.3.3-x86_64-disk.img,if=virtio -net nic,model=virtio -net tap,script=/root/qemu-ifup-NAT.txt -nographic -vnc :1

在这里插入图片描述

4. 验证

创建虚拟机完成后,cirros用户登录虚拟机,输入用户名为cirros,密码为cubswin:)。然后输入ip a命令查询IP地址,最后输入route -n命令查询路由表。命令如下:

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.89/24 brd 192.168.122.255 scope global eth0
    inet6 fe80::5054:ff:fe12:3456/64 scope link tentative flags 08 
       valid_lft forever preferred_lft forever
$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.122.1   0.0.0.0         UG    0      0        0 eth0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

至此,使用KVM服务创建虚拟机完毕

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章