linux下配置和安裝KVM虛擬機(jī)的步驟
最近要在外網(wǎng)搞一套監(jiān)控系統(tǒng),正好有一臺服務(wù)器配置比較高,也沒跑什么重要的業(yè)務(wù),就拿來劃了一個KVM虛擬機(jī),可能是平時各種虛擬機(jī)用的比較多,配置起來感覺比想象中簡單的多,簡單記錄下過程
準(zhǔn)備工作
宿主機(jī)為centos 6.8 64位,檢查宿主機(jī)CPU是否支持虛擬化:
cat /proc/cpuinfo | egrep '(vmx|svm)' | wc -l;
結(jié)果大于0表示支持
安裝kvm
KVM核心軟件包:
yum install kvm libvirt python-virtinst qemu-kvm virt-viewer bridge-utils
如果服務(wù)器上有桌面環(huán)境,想使用圖形界面管理器virt-manager,可以安裝完整的KVM環(huán)境:
yum groupinstall Virtualization 'Virtualization Client' 'Virtualization Platform' 'Virtualization Tools'
驗證內(nèi)核模塊是否加載:
lsmod | grep kvm
啟動虛擬機(jī)管理接口服務(wù):
/etc/init.d/libvirtd start
設(shè)置開機(jī)啟動:
chkconfig libvirtd on
啟動libvirtd后,會自動創(chuàng)建了一個網(wǎng)卡,并啟動dnsmasq服務(wù),用來為虛擬機(jī)分配IP地址
創(chuàng)建虛擬機(jī)
下載虛擬機(jī)要安裝的ISO系統(tǒng)鏡像文件,之后需創(chuàng)建存儲池,指定在宿主機(jī)上虛擬機(jī)磁盤的存儲位置,創(chuàng)建存儲目錄:
mkdir -p /opt/kvm
定義一個儲存池和綁定目錄:
virsh pool-define-as vmspool --type dir --target /opt/kvm
建立并激活存儲池:
virsh pool-build vmspool virsh pool-start vmspool
使用存儲池創(chuàng)建虛擬機(jī),并通過vnc連接:
virt-install \ --hvm \ #全虛擬化 --name=zabbix \#虛擬機(jī)名字 --ram=4096 \ #分配內(nèi)存 --vcpus=4 \ #分配CPU數(shù) --cdrom=/opt/kvm/iso/CentOS-7-x86_64-DVD-1511.iso \ #使用的ISO --virt-type=kvm \ #虛擬機(jī)類型 --disk path=/opt/kvm/zabbix.qcow2,device=disk,format=qcow2,bus=virtio,cache=writeback,size=100 \ #磁盤大小,格式 --network netwrok=default \ #網(wǎng)絡(luò)設(shè)置,defalut為NAT模式 --accelerate \ #KVM內(nèi)核加速 --graphics vnc,listen=0.0.0.0,port=5922,password=123123\ #vnc配置 --force \ --autostart
之后使用vnc客戶端連接 宿主機(jī)IP:5922,即可使用圖形安裝系統(tǒng);也可以選擇nographics模式,無需vnc在命令行下安裝,建議使用vnc
安裝完成后會生成:
- 虛擬機(jī)的配置文件:/etc/libvirt/qemu/zabbix.xml
- 虛擬硬盤文件:/opt/kvm/zabbix.qcow2
- NAT網(wǎng)絡(luò)配置文件:/etc/libvirt/qemu/networks/default.xml
配置網(wǎng)絡(luò)
KVM可以配置兩種:
- NAT網(wǎng)絡(luò): 虛擬機(jī)使用宿主機(jī)的網(wǎng)絡(luò)訪問公網(wǎng),宿主機(jī)和虛擬機(jī)能互相訪問,但不支持外部訪問虛擬機(jī)
- 橋接網(wǎng)絡(luò): 虛擬機(jī)復(fù)用宿主機(jī)物理網(wǎng)卡,虛擬機(jī)與宿主機(jī)在網(wǎng)絡(luò)中角色完全相同,支持外部訪問
配置NAT網(wǎng)絡(luò)
默認(rèn)會有一個叫default的NAT虛擬網(wǎng)絡(luò),查看NAT網(wǎng)絡(luò):
virsh net-list --all
如果要創(chuàng)建或者修改NAT網(wǎng)絡(luò),要先編輯default.xml:
virsh net-edit default
重新加載和激活配置:
virsh net-define /etc/libvirt/qemu/networks/default.xml
啟動NAT網(wǎng)絡(luò):
virsh net-start default virsh net-autostart default
啟動NAT后會自動生成一個虛擬橋接設(shè)備virbr0,并分配IP地址,查看狀態(tài):
brctl show
正常情況下libirtd啟動后就會啟動virbr0,并自動添加IPtables規(guī)則來實現(xiàn)NAT,要保證打開ip_forward,在/etc/sysctl.conf中:
net.ipv4.ip_forward = 1 sysctl -p
啟動虛機(jī)并設(shè)置自動獲取IP即可,如果想手動指定虛擬機(jī)IP,要注意配置的IP需在NAT網(wǎng)段內(nèi)
配置橋接網(wǎng)絡(luò)
系統(tǒng)如果安裝了桌面環(huán)境,網(wǎng)絡(luò)會由NetworkManager進(jìn)行管理,NetworkManager不支持橋接,需要關(guān)閉NetworkManger:
chkconfig NetworkManager off chkconfig network on service NetworkManager stop service network start
不想關(guān)閉NetworkManager,也可以在ifcfg-br0中手動添加參數(shù)"NM_CONTROLLED=no"
創(chuàng)建網(wǎng)橋:
virsh iface-bridge eth0 br0
創(chuàng)建完后ifconfig會看到br0網(wǎng)橋,如果eth0上有多個IP,更改下相應(yīng)的文件名, 如:ifcfg-eth0:1改為ifcfg-br0:1
編輯虛擬機(jī)的配置文件,使用新的網(wǎng)橋:
virsh edit zabbix
找到網(wǎng)卡配置,改為:
<interface type='bridge'> <mac address='52:54:00:7a:f4:9b'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
我是用的br0,為虛擬機(jī)添加多塊網(wǎng)卡只需復(fù)制多個interface,并確保mac address和PCI地址不同即可
重新加載配置:
virsh define /etc/libvirt/qemu/zabbix.xml
重啟虛擬機(jī):
virsh shutdown zabbix virsh start zabbix
之后使用VNC連接虛擬機(jī)并設(shè)置下網(wǎng)絡(luò)即可
常用操作
KVM相關(guān)操作都通過vish命令完成,參數(shù)雖然多,但是功能一目了然,很直觀
創(chuàng)建虛擬機(jī)快照:
virsh snapshot-create-as --domain zabbix --name init_snap_1
也可以簡寫成:
virsh snapshot-create-as zabbix init_snap_1
快照創(chuàng)建后配置文件在/var/lib/libvirt/qemu/snapshot/zabbix/init_snap_1.xml
查看快照:
snapshot-list zabbix
刪除快照:
snapshot-delete zabbix init_snap_1
排錯
1、ERROR Format cannot be specified for unmanaged storage.
virt-manager 沒有找到存儲池,創(chuàng)建儲存池即可
2、KVM VNC客戶端連接閃退
使用real vnc或者其它vnc客戶端連接kvm閃退,把客戶端設(shè)置中的ColourLevel值設(shè)置為rgb222或full即可
3、virsh shutdown 無法關(guān)閉虛擬機(jī)
使用該命令關(guān)閉虛擬機(jī)時,KVM是向虛擬機(jī)發(fā)送一個ACPI的指令,需要虛擬機(jī)安裝acpid服務(wù):
yum -y install acpid && /etc/init.d/acpid start
否則只能使用virsh destroy 強(qiáng)制關(guān)閉虛擬機(jī)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
kvm虛擬機(jī)配置NAT端口轉(zhuǎn)發(fā)的實現(xiàn)方法
為了避免虛擬機(jī)的IP地址和內(nèi)網(wǎng)網(wǎng)段沖突,kvm采用的是NAT模式,而非橋接模式,而kvm的轉(zhuǎn)發(fā),需要使用Linux的iptables工具來實現(xiàn),下面通過本文給大家介紹kvm虛擬機(jī)配置NAT端口轉(zhuǎn)發(fā)的實現(xiàn)方法,感興趣的朋友一起看看吧2022-06-06詳解kvm部署三個虛擬機(jī)實現(xiàn) WordPress 實驗
這篇文章主要介紹了詳解kvm部署三個虛擬機(jī)實現(xiàn) WordPress 實驗,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11詳細(xì)介紹kvm虛擬機(jī)靜態(tài)和動態(tài)遷移(圖文介紹)
本篇文章主要詳細(xì)介紹kvm虛擬機(jī)靜態(tài)和動態(tài)遷移,具有一定的參考價值,有需要的可以了解一下。2016-11-11KVM虛擬機(jī)技術(shù)學(xué)習(xí)總結(jié)
本文是描述KVM虛擬機(jī)技術(shù)學(xué)習(xí)筆記,KVM的一些新的特性支持更好,有很多都是默認(rèn)支持開啟了的,有需要的朋友可以進(jìn)來了解一下。2016-10-10