KVM虛擬化使用部署步驟詳解

2021-02-21    分類: 網(wǎng)站建設(shè)

KVM介紹

Kernel-based Virtual Machine的簡(jiǎn)稱,是一個(gè)開(kāi)源的系統(tǒng)虛擬化模塊,自Linux 2.6.20之后集成在Linux的各個(gè)主要發(fā)行版本中。

KVM的虛擬化需要硬件支持(如Intel VT技術(shù)或者AMD V技術(shù))。是基于硬件的完全虛擬化。

虛擬化是云計(jì)算的基礎(chǔ)。虛擬化可以滿足在一臺(tái)物理的服務(wù)器上運(yùn)行多個(gè)虛擬機(jī)。虛擬機(jī)共享物理機(jī)的 CPU、內(nèi)存、IO 硬件資源,但邏輯上虛擬機(jī)之間是相互隔離的。

物理機(jī)我們一般稱為宿主機(jī)(Host),宿主機(jī)上面的虛擬機(jī)稱為客戶機(jī)(Guest)。

虛擬化分類

虛擬化分為兩種:1型虛擬化和2型虛擬化。

1型虛擬化

Hypervisor 直接安裝在物理機(jī)上,多個(gè)虛擬機(jī)在 Hypervisor 上運(yùn)行。Hypervisor 實(shí)現(xiàn)方式一般是一個(gè)特殊定制的 Linux 系統(tǒng)。Xen 和 VMWare 的 ESXi 都屬于這個(gè)類型。


2型虛擬化

物理機(jī)上首先安裝常規(guī)的操作系統(tǒng),比如 Redhat、Ubuntu 和 Windows。Hypervisor 作為 OS 上的一個(gè)程序模塊運(yùn)行,并對(duì)管理虛擬機(jī)進(jìn)行管理。KVM、VirtualBox 和 VMWare Workstation 都屬于這個(gè)類型。


理論上講:

1型虛擬化一般對(duì)硬件虛擬化功能進(jìn)行了特別優(yōu)化,性能上比2型要高;

2型虛擬化因?yàn)榛谄胀ǖ牟僮飨到y(tǒng),會(huì)比較靈活,比如支持虛擬機(jī)嵌套。嵌套意味著可以在KVM虛擬機(jī)中再運(yùn)行KVM。

部署KVM

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


確認(rèn)開(kāi)啟虛擬化


[root@ken ~]# grep -E "(vmx)|(svm)" /proc/cpuinfo 
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl tsc_reliable nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw retpoline_amd vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap xsaveopt clzero irperf xsaveerptr ibpb arat nptsvm_lock nrip_save vmcb_clean flushbyasid decodeassists

第一步:下載相關(guān)軟件

[root@ken ~]# yum install libvirt virt-install qemu-kvm -y

libvirt : KVM 的管理工具。Libvirt 包含 3 個(gè)東西:后臺(tái) daemon 程序 libvirtd、API 庫(kù)和命令行工具 virsh

qemu-kvm:KVM 和 QEMU 的核心包,提供 CPU、內(nèi)存和 IO 虛擬化功能

virt-install是一個(gè)命令行工具,它能夠?yàn)镵VM、Xen或其它支持libvrit API的hypervisor創(chuàng)建虛擬機(jī)并完成GuestOS安裝

第二步:?jiǎn)?dòng)libvirt

[root@ken ~]# systemctl restart libvirtd

第三步:創(chuàng)建磁盤

[root@ken ~]# qemu-img create -f raw /ken/centos7-x86_64.raw 10G
Formatting '/ken/centos7-x86_64.raw', fmt=raw size=10737418240 

第四步:創(chuàng)建虛擬機(jī)

[root@ken ~]# virt-install --virt-type kvm --name Centos7-x86_64 --ram 1024 --cdrom=/tmp/CentOS-7.3-x86_64-Minimal-1511.iso --disk path=/ken/centos7-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

注意:需要上傳一個(gè)鏡像到/tmp目錄下,其他目錄也可以,上面指定即可

第五步:快速使用VNC進(jìn)行連接

ip地址輸入虛擬機(jī)ip


開(kāi)始安裝系統(tǒng)


定制化系統(tǒng)


開(kāi)始安裝


第六步:查看已經(jīng)創(chuàng)建的虛擬機(jī)

[root@ken ~]# virsh list --all

Id Name State

----------------------------------------------------

- Centos7-x86_64 shut off

第七步:?jiǎn)?dòng)虛擬機(jī)


[root@ken ~]# virsh start Centos7-x86_64
Domain Centos7-x86_64 started
[root@ken ~]# virsh list --all
 Id Name State
----------------------------------------------------
 2 Centos7-x86_64 running

第八步:使用VNC再次連接

現(xiàn)在就可以登錄進(jìn)去我們創(chuàng)建的虛擬機(jī)里面去了


第九步:ssh連接

宿主機(jī)上連接

首先查看新建虛擬機(jī)IP地址


宿主機(jī)進(jìn)行連接


[root@ken ~]# ssh 192.168.122.198
The authenticity of host '192.168.122.198 (192.168.122.198)' can't be established.
ECDSA key fingerprint is SHA256:t+jpHwwHJk8mo2XZB93H9afhSVy7BCMvLsvqsUF+Obg.
ECDSA key fingerprint is MD5:48:d5:9e:db:f8:bb:5e:56:c1:c8:1d:a2:4b:45:d6:fc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.122.198' (ECDSA) to the list of known hosts.
root@192.168.122.198's password: 
Last login: Mon Mar 18 21:06:27 2019
[root@localhost ~]# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 52:54:00:89:17:d7 brd ff:ff:ff:ff:ff:ff
 inet 192.168.122.198/24 brd 192.168.122.255 scope global dynamic eth0
 valid_lft 3510sec preferred_lft 3510sec
 inet6 fe80::5054:ff:fe89:17d7/64 scope link 
 valid_lft forever preferred_lft forever

登錄退出虛擬機(jī)

第一步:在創(chuàng)建的KVM虛擬機(jī)里面執(zhí)行如下的命令

[root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0"

第二步:重啟KVM虛擬機(jī)


第三步:使用virsh console登錄登錄虛擬機(jī)

執(zhí)行virsh console 虛擬機(jī)名稱


[root@ken ~]# virsh console Centos7-x86_64
Connected to domain Centos7-x86_64
Escape character is ^] #到這步再次按回車
CentOS Linux 7 (Core)
Kernel 3.10.0-327.el7.x86_64 on an x86_64
localhost login: root #輸入用戶
Password: #密碼
Last login: Mon Mar 18 22:19:47 on ttyS0
[root@localhost ~]# 

第四步:退出KVM虛擬機(jī)

按這兩個(gè)組合鍵,按ctrl加上中括號(hào)的右邊: ctrl+]


[root@ken ~]# virsh console Centos7-x86_64
Connected to domain Centos7-x86_64
Escape character is ^]
CentOS Linux 7 (Core)
Kernel 3.10.0-327.el7.x86_64 on an x86_64
localhost login: root
Password: 
Last login: Mon Mar 18 22:20:44 on ttyS0
[root@localhost ~]# 
[root@ken ~]# 

克隆虛擬機(jī)

第一步:關(guān)閉虛擬機(jī)


[root@ken ~]# virsh shutdown Centos7-x86_64
Domain Centos7-x86_64 is being shutdown
[root@ken ~]# virsh list --all
 Id Name State
----------------------------------------------------
 - Centos7-x86_64 shut off

第二步: 創(chuàng)建磁盤位置

[root@ken ~]# mkdir /ken/img

第三步:使用virt-clone克隆新的虛擬機(jī)

[root@ken ~]# virt-clone -o Centos7-x86_64 -n centos7_test -f /ken/img/centos7_test.img
Allocating 'centos7_test.img' | 10 GB 00:00:36 
Clone 'centos7_test' created successfully.

第四步:查看虛擬機(jī)

[root@ken ~]# virsh list --all
 Id Name State
----------------------------------------------------
 - Centos7-x86_64 shut off
 - centos7_test shut off

第五步:?jiǎn)?dòng)虛擬機(jī)


[root@ken ~]# virsh start centos7_test 
Domain centos7_test started
[root@ken ~]# virsh list --all
 Id Name State
----------------------------------------------------
 3 centos7_test running

第六步:進(jìn)入虛擬機(jī)


[root@ken ~]# virsh console centos7_test
Connected to domain centos7_test
Escape character is ^]
CentOS Linux 7 (Core)
Kernel 3.10.0-327.el7.x86_64 on an x86_64
localhost login: root
Password: 
Last login: Mon Mar 18 22:21:24 on ttyS0
[root@localhost ~]# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 52:54:00:cc:69:f8 brd ff:ff:ff:ff:ff:ff
 inet 192.168.122.161/24 brd 192.168.122.255 scope global dynamic eth0
 valid_lft 3597sec preferred_lft 3597sec
 inet6 fe80::5054:ff:fecc:69f8/64 scope link 
 valid_lft forever preferred_lft forever

xshell連接虛擬機(jī)

現(xiàn)在物理主機(jī)是ping不通KVM虛擬機(jī)的,只有宿主機(jī)可以和KVM通信

第一步:創(chuàng)建腳本并執(zhí)行


[root@ken ~]# cat bridg.sh 
#!/bin/bash
brctl addbr br0 #創(chuàng)建橋接網(wǎng)卡
brctl addif br0 eth0 #把eth0加入到br0中
ip a d 192.168.4.190/24 dev eth0 #刪除eth0的IP地址
ifconfig br0 192.168.4.190/24 up #啟動(dòng)br0網(wǎng)絡(luò)
route add default gw 192.168.4.1 #添加網(wǎng)關(guān)

第二步:查看網(wǎng)絡(luò)


第三步:測(cè)試外網(wǎng)連通性


[root@ken ~]# ping www.baidu.com
PING www.a.shifen.com (119.75.217.26) 56(84) bytes of data.
64 bytes from 119.75.217.26 (119.75.217.26): icmp_seq=1 ttl=54 time=6.08 ms
64 bytes from 119.75.217.26 (119.75.217.26): icmp_seq=2 ttl=54 time=9.20 ms
64 bytes from 119.75.217.26 (119.75.217.26): icmp_seq=3 ttl=54 time=8.58 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 6020ms
rtt min/avg/max/mdev = 6.087/7.957/9.201/1.346 ms

第四步:編輯虛擬機(jī)

修改如下的三處位置即可

[root@ken ~]# virsh edit Centos7-x86_64

第五步: 啟動(dòng)KVM虛擬機(jī)并進(jìn)入KVM虛擬機(jī)編輯網(wǎng)卡

配置一個(gè)與物理主機(jī)同網(wǎng)段的網(wǎng)絡(luò)


[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE="Ethernet"
BOOTPROTO="static"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR=192.168.4.165
NETMASK=255.255.255.0
GATEWAY=192.168.4.1
DNS1=8.8.8.8
[root@localhost ~]# systemctl restart network

第六步:xshell連接KVM虛擬機(jī)


Connecting to 192.168.4.165:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Mon Mar 18 23:33:21 2019
[root@localhost ~]# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 52:54:00:89:17:d7 brd ff:ff:ff:ff:ff:ff
 inet 192.168.4.165/24 brd 192.168.4.255 scope global eth0
 valid_lft forever preferred_lft forever

文章標(biāo)題:KVM虛擬化使用部署步驟詳解
網(wǎng)站URL:http://muchs.cn/news/102130.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、虛擬主機(jī)、軟件開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站、微信小程序、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司