溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

KVM虛擬化基本部署

發(fā)布時間:2020-06-10 19:51:10 來源:網(wǎng)絡(luò) 閱讀:169 作者:wx5d2c2cbaaf223 欄目:云計算

KVM虛擬機(jī):

1.KVM是Kernel-based Virtual Machine的簡稱,是一個開源的系統(tǒng)虛擬化模塊,自Linux 2.6.20之后集成在Linux的各個主要發(fā)行版本中。它使用Linux自身的調(diào)度器進(jìn)行管理,所以相對于Xen,其核心源碼很少。KVM已成為學(xué)術(shù)界的主流VMM之一

2.KVM的虛擬化需要硬件支持(如Intel VT技術(shù)或者AMD V技術(shù))。是基于硬件的完全虛擬化。而Xen早期則是基于軟件模擬的Para-Virtualization,新版本則是基于硬件支持的完全虛擬化。但Xen本身有自己的進(jìn)程調(diào)度器,存儲管理模塊等,所以代碼較為龐大。廣為流傳的商業(yè)系統(tǒng)虛擬化軟件VMware ESX系列是基于軟件模擬的Full-Virtualization

虛擬化發(fā)展過程:

IDC數(shù)據(jù)中心設(shè)備租用 → 提出虛擬化方案,出現(xiàn)OpenVZ → 共享優(yōu)化出現(xiàn)Xen,提出半虛架構(gòu),但是操作復(fù)雜 → 進(jìn)入全虛KVM,不需要和內(nèi)核接觸,只需要安裝管理工具

案例概述

1.公司部分Linux服務(wù)器利用率不高,為充分利用這些Linux服務(wù)器,可以部署KVM,在物理機(jī)上運(yùn)行多個業(yè)務(wù)系統(tǒng)
2.例如在運(yùn)行Nginx的服務(wù)器.上部署KVM,然后在虛擬機(jī)上運(yùn)行Tomcat

案例前置知識點(diǎn)

KVM虛擬化架構(gòu)

KVM模塊直接整合在Linux內(nèi)核中

KVM虛擬化基本部署

KVM Driver:

1.虛擬機(jī)創(chuàng)建
2.虛擬機(jī)內(nèi)存分配
3.虛擬CPU寄存器讀寫
4.虛擬CPU運(yùn)行

QEMU (經(jīng)過簡化與修改):

1.模擬PC硬件的用戶控件組件
2.提供I/O設(shè)備模型及訪問外設(shè)的途徑

KVM虛擬化三種模式:

1.客戶模式(虛擬機(jī))
2.用戶模式(工具)
3.內(nèi)核模式

KVM虛擬化基本部署

KVM工作原理:

KVM虛擬化基本部署

Demo:

環(huán)境準(zhǔn)備:

1.需要先添加一塊磁盤:大小為20G

2.處理器的設(shè)置:虛擬化引擎的選項全部勾

KVM虛擬化基本部署


[root@client ~]# cd /dev
[root@client dev]# ls
sda   sda1   sda2    sda3   sda4   sda5   sdb 
#此時有sdb硬盤

[root@client dev]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內(nèi)存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁盤標(biāo)識符 0xba1e8e30 創(chuàng)建新的 DOS 磁盤標(biāo)簽。
命令(輸入 m 獲取幫助):n #輸入n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p #輸入p
分區(qū)號 (1-4,默認(rèn) 1):
起始 扇區(qū) (2048-41943039,默認(rèn)為 2048):
將使用默認(rèn)值 2048
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (2048-41943039,默認(rèn)為 41943039):
將使用默認(rèn)值 41943039
分區(qū) 1 已設(shè)置為 Linux 類型,大小設(shè)為 20 GiB
命令(輸入 m 獲取幫助):w #輸入w保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。

[root@client dev]# mkfs /dev/sdb1 #格式化
mke2fs 1.42.9 (28-Dec-2013)
文件系統(tǒng)標(biāo)簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242624 blocks
262131 blocks (5.00%) reserved for the super user
第一個數(shù)據(jù)塊=0
Maximum filesystem blocks=4294967296
160 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
Allocating group tables: 完成
正在寫入inode表: 完成
Writing superblocks and filesystem accounting information: 完成

[root@client dev]# mkdir /data #創(chuàng)建掛載
[root@client dev]# mount /dev/sdb1 /data/
[root@client data]# df -hT
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
/dev/sdb1 ext2 20G 44M 19G 1% /data
#此時顯示已經(jīng)掛載

#電腦中有CentOS 7鏡像文件的文件夾需要進(jìn)行共享,設(shè)置賬戶Everyone可以進(jìn)行讀取,然后使用smbclient -L查看掛載
[root@client data]# smbclient -L //192.168.10.190/
Enter SAMBA\root's password:
OS=[Windows 10 Home China 18363] Server=[Windows 10 Home China 6.3]

    Sharename       Type      Comment
    ---------       ----      -------
    database        Disk
    F$              Disk      默認(rèn)共享
    gfs             Disk
    IPC$            IPC       遠(yuǎn)程 IPC
    ISO             Disk
    rpm             Disk

#此時顯示ISO文件夾被共享

[root@client data]# mount.cifs //192.168.10.190/ISO /mnt
Password for root@//192.168.10.190/ISO:
[root@client data]# df -h
文件系統(tǒng) 容量 已用 可用 已用% 掛載點(diǎn)
/dev/sdb1 20G 44M 19G 1% /data
//192.168.10.190/ISO 226G 173G 54G 77% /mnt
#此時顯示文件成功掛載在mnt目錄下
[root@client data]# cd /mnt/
[root@client mnt]# ls
CentOS-7-x86_64-DVD-1708.iso


#### 安裝KVM:

```bash
[root@client mnt]# yum list         #進(jìn)行自檢
[root@client mnt]# yum groupinstall "GNOME Desktop" -y      #桌面環(huán)境
[root@client mnt]# yum install qemu-kvm -y      #KVM模塊
[root@client mnt]# yum install qemu-kvm-tools -y        #KVM調(diào)試工具
[root@client mnt]# yum install virt-install -y      #構(gòu)建虛擬機(jī)的命令工具
[root@client mnt]# yum install qemu-img -y      #qemu組件,創(chuàng)建磁盤,啟動虛擬機(jī)
[root@client mnt]# yum install bridge-utils -y      #網(wǎng)絡(luò)支持工具
[root@client mnt]# yum install libvirt -y       #虛擬機(jī)管理工具
[root@client mnt]# yum install virt-manager -y      #圖像化管理虛擬機(jī)
[root@client mnt]# egrep '(vmx|svm)' /proc/cpuinfo      #查看是否支持虛擬化

[root@client mnt]# lsmod | grep kvm     #檢查KVM是否安裝
kvm_intel             170086  0
kvm                   566340  1 kvm_intel
irqbypass              13503  1 kvm

[root@client mnt]# systemctl start libvirtd
[root@client mnt]# systemctl enable libvirtd        #開機(jī)自啟動
配置橋接實例:
[root@client mnt]# cd /data/
[root@client data]# mkdir vdisk viso
[root@client data]# ls
lost+found  vdisk  viso
[root@client data]# cp -r /mnt/CentOS-7-x86_64-DVD-1708.iso /data/viso/
[root@client data]# ls viso/
CentOS-7-x86_64-DVD-1708.iso
[root@client data]# cd /etc/sysconfig/network-scripts/
[root@client network-scripts]# cp -p ifcfg-ens33 ifcfg-br0
[root@client network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.18.145  netmask 255.255.255.0  broadcast 192.168.18.255
        inet6 fe80::6a0c:e6a0:7978:3543  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:a4:cb:c7  txqueuelen 1000  (Ethernet)
        RX packets 6559352  bytes 9624037086 (8.9 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 364406  bytes 30690747 (29.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
......此處省略多行
[root@client network-scripts]# vim ifcfg-ens33
#在末行按o轉(zhuǎn)下行插入
BRIDGE=br0
#插入完成后按Esc退出插入模式,輸入:wq保存退出
[root@client network-scripts]# vim ifcfg-br0
TYPE="bridge"               #Ethernet改為bridge
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"          #dhcp改為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"                  #ens33改為br0
DEVICE="br0"                #ens33改為br0
ONBOOT="yes"
IPADDR=192.168.18.145       #輸入ens33的IP地址
NETMASK=255.255.255.0       #輸入子網(wǎng)掩碼
GATEWAY=192.168.18.1        #輸入網(wǎng)關(guān)
#修改退出插入模式,輸入:wq保存退出
[root@client network-scripts]# service network restart      #重啟網(wǎng)絡(luò)服務(wù)
Restarting network (via systemctl):                        [  確定  ]

[root@client network-scripts]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.18.145  netmask 255.255.255.0  broadcast 192.168.18.255
        inet6 fe80::e169:c641:eeea:50f7  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:a4:cb:c7  txqueuelen 1000  (Ethernet)
        RX packets 20  bytes 1298 (1.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 35  bytes 4588 (4.4 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:a4:cb:c7  txqueuelen 1000  (Ethernet)
        RX packets 6559967  bytes 9624087097 (8.9 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 364793  bytes 30733147 (29.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
......以下省略多行
#橋接之后原來ens33的網(wǎng)卡IP到br0上了

回到圖形化界面輸入:

[root@client ~]# virt-manager 
此時會跳出虛擬系統(tǒng)管理器界面,我們需要添加存儲池
自定義池名稱后點(diǎn)擊瀏覽目錄,選擇目錄為/data/vdisk,查找到我們掛載CentOS7的文件夾目錄,點(diǎn)擊完成
然后點(diǎn)擊添加新卷
添加鏡像存儲池:iso,點(diǎn)擊前進(jìn),選擇路徑為/data/viso

KVM虛擬化基本部署

創(chuàng)建完畢后可以點(diǎn)擊左上角的文件 → 關(guān)閉
在虛擬系統(tǒng)管理器左上角文件選擇新建虛擬機(jī)
安裝操作系統(tǒng)為本地安裝,點(diǎn)擊前進(jìn)

KVM虛擬化基本部署

使用ISO鏡像:點(diǎn)擊瀏覽,選擇iso存儲池,找到鏡像,點(diǎn)擊選擇卷

KVM虛擬化基本部署

再點(diǎn)擊前進(jìn),內(nèi)存輸入2048,再點(diǎn)擊前進(jìn)

KVM虛擬化基本部署

選擇或創(chuàng)建自定義存儲,點(diǎn)擊管理,選擇disk存儲池,點(diǎn)擊之前的卷,點(diǎn)擊選擇卷

KVM虛擬化基本部署

再點(diǎn)擊前進(jìn),再點(diǎn)擊完成,此時會進(jìn)入Centos7的安裝界面:

KVM虛擬化基本部署

此時KVM虛擬化部署試驗成功!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI