部署KVM虛擬化平臺

KVM虛擬化架構

•KVM模塊直接整合在Linux內核中

部署KVM虛擬化平臺

KVM的組成

KVM Driver

•虛擬機創建
•虛擬機內存分配
•虛擬機CPU寄存器讀寫
•虛擬CPU運行 

QEMU(經過簡化與修改)

•模擬PC硬件的用戶控件組件
•提供I/O設備模型及訪問外設的途徑 

KVM虛擬化三種模式

•客戶模式: 虛擬機
•用戶設置: 設置
•內核模式: KVM Driver 內核態

部署KVM虛擬化平臺

KVM工作原理

部署KVM虛擬化平臺

實驗操作

1、在虛擬機開機前,先在虛擬機上添加一個硬盤,並將硬盤格式化,並掛載到/data/目錄下

開啓虛擬機的虛擬化

部署KVM虛擬化平臺

[root@localhost ~]# fdisk -l

磁盤 /dev/sdb:107.4 GB, 107374182400 字節,209715200 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節

磁盤 /dev/sda:42.9 GB, 42949672960 字節,83886080 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x000be35b

   設備 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    12584959     6291456   83  Linux
/dev/sda2        12584960    54527999    20971520   83  Linux
/dev/sda3        54528000    62916607     4194304   82  Linux swap / Solaris
/dev/sda4        62916608    83886079    10484736    5  Extended
/dev/sda5        62918656    83886079    10483712   83  Linux
[root@localhost ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。

Device does not contain a recognized partition table
使用磁盤標識符 0xc2432934 創建新的 DOS 磁盤標籤。

命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分區號 (1-4,默認 1):
起始 扇區 (2048-209715199,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-209715199,默認爲 209715199):
將使用默認值 209715199
分區 1 已設置爲 Linux 類型,大小設爲 100 GiB

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@localhost ~]# 

[root@localhost ~]# mkfs /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214144 blocks
1310707 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=4294967296
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成   

[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/sdb1 /data/
[root@localhost ~]# df -hT
文件系統       類型      容量  已用  可用 已用% 掛載點
/dev/sda2      xfs        20G  3.3G   17G   17% /
devtmpfs       devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs          tmpfs     1.9G  9.0M  1.9G    1% /run
tmpfs          tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5      xfs        10G   37M   10G    1% /home
/dev/sda1      xfs       6.0G  174M  5.9G    3% /boot
tmpfs          tmpfs     378M   12K  378M    1% /run/user/42
tmpfs          tmpfs     378M     0  378M    0% /run/user/0
/dev/sdb1      ext2       99G   60M   94G    1% /data
[root@localhost ~]# 

2、在宿主機共享所需鏡像,並掛載到虛擬機上

部署KVM虛擬化平臺

[root@localhost ~]# mount.cifs //192.168.100.100/tools /mnt/
Password for root@//192.168.100.100/tools:  
[root@localhost ~]# 

3、配置KVM必須環境包

[root@localhost ~]# yum groupinstall "GNOME Desktop" -y  ##安裝桌面環境

[root@localhost ~]# yum install qemu-kvm  -y  ##KVM模塊

[root@localhost ~]# yum install qemu-kvm-tools -y   ##KVM調試工具

[root@localhost ~]# yum install virt-install -y   ##構建虛擬機的命令行工具

[root@localhost ~]# yum install qemu-img -y   ##qemu組件,創建磁盤,啓動虛擬機

[root@localhost ~]# yum install bridge-utils -y   ##網絡支持工具

[root@localhost ~]# yum install libvirt -y   ##虛擬機管理工具

[root@localhost ~]# yum install virt-manager -y   ##圖像化管理虛擬機

4、判斷cpu是否支持虛擬化。並查看虛擬機模塊

[root@localhost ~]# lsmod | grep kvm
kvm_intel             170086  0 
kvm                   566340  1 kvm_intel
irqbypass              13503  1 kvm
[root@localhost ~]# 
cat /proc/cpuinfo | grep svm   ##AMD服務器可用

cat /proc/cpuinfo | grep vmx   ##inter服務器可用

egrep '(vmx|svm)' /proc/cpuinfo   ##兩者都可用

5、開啓服務,並設置開機自啓動

#開啓服務
[root@localhost ~]# systemctl start libvirtd
#開機自啓動
[root@localhost ~]# systemctl enable libvirtd

6、將所需鏡像,將掛載的軟件包移動到/data/目錄下

[root@localhost ~]# cd /data/
#創建兩個文件
[root@localhost data]# mkdir vdisk viso
#複製並調到後臺運行
[root@localhost data]# cp -r /mnt/CentOS-7-x86_64-DVD-1708.iso /data/viso &
[1] 29318
[root@localhost data]# 
[1]+  完成                  cp -i -r /mnt/CentOS-7-x86_64-DVD-1708.iso /data/viso
[root@localhost data]# ls viso/
CentOS-7-x86_64-DVD-1708.iso
[root@localhost data]# 

7、配置虛擬機的橋接網卡

#進入網卡文件
[root@localhost data]# cd /etc/sysconfig/network-scripts/
#複製創建br0網卡
[root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-br0
#進入ens33網卡,設置橋接命令
[root@localhost network-scripts]# vim ifcfg-ens33
##末行添加
#橋接命令
BRIDGE=br0

#配置橋接網卡,將橋接網卡設置爲靜態的地址
[root@localhost network-scripts]# vim ifcfg-br0 
TYPE=bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.52.134
NETMASK=255.255.255.0
GATEWAY=192.168.52.1
[root@localhost network-scripts]# systemctl restart network   ##重啓網卡
[root@localhost network-scripts]# ifconfig     ##查看網卡信息
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.134  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::69d9:68eb:e59e:c66f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:eb:34:07  txqueuelen 1000  (Ethernet)
        RX packets 14  bytes 1274 (1.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 29  bytes 4473 (4.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:eb:34:07  txqueuelen 1000  (Ethernet)
        RX packets 3356082  bytes 4925169168 (4.5 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 227829  bytes 18565675 (17.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

8、進入圖形化管理界面

[root@localhost ~]# virt-manager

部署KVM虛擬化平臺

選擇存儲,單擊選擇,進入存儲控制界面

部署KVM虛擬化平臺

選擇創建新的存儲池,然後輸入名稱

部署KVM虛擬化平臺

然後選擇前進,然後在裏邊跳出的頁面,單擊瀏覽。進入下列界面

部署KVM虛擬化平臺

進入選擇data目錄下的vdisk文件夾,然後選擇點擊打開

部署KVM虛擬化平臺

退出界面後點擊完成,就完成新的存儲池的創建

部署KVM虛擬化平臺

在data上選擇添加新加捲,點擊進入後輸入名稱,並且在下邊的存儲卷配額上輸入要分配的區間大小

部署KVM虛擬化平臺

部署KVM虛擬化平臺

跟上邊一樣的步驟,創建一個iso存儲池,在這裏選擇/data/中的viso/中的/鏡像,然後點擊打開

部署KVM虛擬化平臺

然後點擊完成,就完成了地址池的添加,查看創建好的存儲池,創建好之後,點擊文件中的關閉

部署KVM虛擬化平臺

部署KVM虛擬化平臺

點擊文件,選擇生成新的虛擬主機

部署KVM虛擬化平臺

在上述選擇前進,之後,在選擇要安裝的系統鏡像的時候,選擇iso中的鏡像

部署KVM虛擬化平臺

鏡像選擇完成,點擊前進

部署KVM虛擬化平臺

分派內存的大小,一般根據自己的實際內存的大小分派

部署KVM虛擬化平臺

選擇創建自定義存儲,選擇自己剛纔的vdisk中創建的Centos7文件

部署KVM虛擬化平臺

點擊選擇,在安裝前自定義配置,然後點擊完成

部署KVM虛擬化平臺

在引導選項中,選擇主機引導時啓動虛擬機

部署KVM虛擬化平臺

點擊開始安裝,後邊就跟我們安裝CentOS的步驟一樣了

部署KVM虛擬化平臺

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