首頁 > 軟體

CentOS 7.1下KVM的安裝與設定

2020-06-16 17:14:48

由於沒有物理機可用,在自己的VMware Workation中CentOS 7搭建完成

首先檢視VMware Workation是否支援虛擬化,把紅框內打鉤即可。

虛擬化開啟並安裝CentOS系統,建議CentOS安裝64bit。我的環境用的是CentOS 7。進入系統,首先檢視伺服器版本以及是否支援虛擬化,可以使用如下命令:

###檢視系統版本
# cat /etc/RedHat-release CentOS Linux release 7.1.1503 (Core)
###檢視伺服器是否支援虛擬化
# cat /proc/cpuinfo |grep vmx

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid
###出現該資訊證明伺服器支援虛擬化

安裝kvm以及需要的依賴包,使用如下命令。

# yum install -y qemu-kvm qemu-key-tools virt-manager libvirt virt-install   python-virtinst bridge-utils

以上安裝完畢後,我們檢測KVM模組是否安裝,可以使用如下命令:

# lsmod |grep kvm
kvm_intel             148081  0 
kvm                   461126  1 kvm_intel
###證明kvm模組已安裝成功

kvm,只是Linux核心的一個模組,不需要安裝,只需要載入。載入命令如下

# modprobe kvm
# modprobe kvm_intel

也可以如下載入KVM模組,可以使用如下命令:

# virsh -c qemu:///system list       ###此命令需要重新啟動伺服器後使用,否則會報錯
error: failed to connect to the hypervisor
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
# reboot
# virsh -c qemu:///system list
Id Name State
---------------------------------------------------- ###證明kvm安裝成功

以上是KVM的安裝。下面我們開始來設定KVM並安裝一個虛擬機器。

因為虛擬機器中網路,我們一般都是和公司的其他伺服器是同一個網段,所以我們需要把KVM伺服器的網絡卡設定成橋接模式。這樣的話KVM的虛擬機器就可以通過該橋接網絡卡和公司內部分其他伺服器處於同一網段。

有關網絡卡的橋接模式,查詢相關資料如下:

其實我們在虛擬機器搭建的時候,我們最終關心的網絡卡是: eth0, br0, vnet0,vnet1…

其中eth0是我們伺服器原來的物理網絡卡,而br0是我們虛擬出來的網橋裝置,而vnetXXX就是橋接對映到虛擬機器裡面用到的網絡卡。

當設定完畢之後,我們使用ifconfig命令檢視起來的話,會發現eth0是沒有IP地址,而br0彷彿是虛擬出來的一個原來eth0的存取介面,它具有IP地址,可以代替原來的eth0被存取。

而vnetXX的地址可以在建立虛擬機器之後在虛擬機器裡面設定,橋接後可以被外部存取。

注意:將已有的物理網絡卡新增到網橋,此時物理網絡卡eth0工作於混雜模式,所以不需要IP地址,因為網橋是工作在鏈路層的。br0就提供了IP地址,用來模擬原來的物理網絡卡的存取介面.

關於混雜模式:

根據乙太網的原理,包是在整個子網裡面廣播傳送的,當網絡卡發現這個資料框不是發給自己的也不是廣播包的時候,就直接把它丟掉,而不傳送到上層核心去處理;

而當網絡卡處於混雜模式的時候,網絡卡就不會丟掉幀,而是全部向上提交到核心,讓核心處理這些幀結構。通常的,混雜模式使用來進行網路偵錯的,不是正常的工作狀態。

設定橋接網絡卡,我們可以通過現在伺服器的網絡卡eth0來設定。把eth0網絡卡的組態檔複製一份並命令為br0,可以通過如下命令進行。

編輯網絡卡:

# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0
# vim
/etc/sysconfig/network-scripts/ifcfg-br0 TYPE=Bridge DEVICE=br0 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=10.0.0.90 GATEWAY=10.0.0.2 NETMASK=255.255.255.0 # vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BRIDGE=br0
ONBOOT=yes
TYPE=Ethernet

重新啟動網絡卡使之生效。

# systemctl restart network.service

開啟轉發功能並修改ulimit引數

# echo 1 > /proc/sys/net/ipv4/ip_forward
# /bin/echo "* soft nproc 65500" >>/etc/security/limits.conf
# /bin/echo "* hard nproc 65500" >>/etc/security/limits.conf
# /bin/echo "* soft nofile 65500" >>/etc/security/limits.conf
# /bin/echo "* hard nofile 65500" >>/etc/security/limits.conf

建立ISO映象:

# dd if=/dev/cdrom of=/opt/CentOS-7.1.iso

建立虛擬機器硬碟:

# qemu-img create -f qcow2 /kvmdir/test.img 4G

建立虛擬機器:

# virt-install --name Centos --virt-type kvm --ram 1024 --cdrom=/opt/CentOS-7.1.iso --disk path=/kvmdir/test.img  --network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

Starting install...
Creating domain...                                                                                                                                                         |    0 B  00:00:07     
Domain installation still in progress. You can reconnect to 
the console to complete the installation process.

各引數說明:

--name Centos                    ###虛擬機器名字
--virt-type kvm                  ###虛擬機器型別
--ram 1024                       ###虛擬機器記憶體
--cdrom=/opt/CentOS-7.1.iso      ###映象地址
--disk path=/kvmdir/test.img     ###虛擬機器安裝位置
--network=default                ###預設網路設定
--graphics vnc,listen=0.0.0.0    ###監聽所有IP
--vcpus 5                        ###可以使用cpu個數
--vcpus 5,maxcpus=10             ###可以使用5顆cpu,最大支援10顆cpu

開啟VNC用戶端,輸入本機ip:5900(第一個預設就是5900,第二個是5901,以此類推),可連線到所通過vmvare建立的kvm虛擬機器上,然後就是安裝Centos7的過程。 

 

到此,KVM虛擬機器安裝完成。

CentOS7.2部署KVM虛擬機器  http://www.linuxidc.com/Linux/2017-01/140007.htm

Linux入門學習教學:虛擬機器體驗之KVM篇  http://www.linuxidc.com/Linux/2015-03/114462.htm 

KVM 虛擬機器在物理主機之間遷移的實現  http://www.linuxidc.com/Linux/2017-03/141274.htm

CentOS6.5部署KVM及實現線上遷移  http://www.linuxidc.com/Linux/2017-03/141273.htm

CentOS 7.2下KVM虛擬化設定以及常用操作  http://www.linuxidc.com/Linux/2017-02/140372.htm

KVM虛擬化平台部署  http://www.linuxidc.com/Linux/2016-10/136164.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-05/143901.htm


IT145.com E-mail:sddin#qq.com