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