服務器維護 CentOS 7.1下KVM的安裝與配置
2020-06-17 21:03 作者:admin
服務器維護小知識由于沒有物理機可用,在自己的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虛擬機安裝完成。
IT運維 我們選擇
北京艾銻無限
以上文章由北京艾銻無限科技發展有限公司整理