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服務創建虛擬機完畢

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