一、在正式開始進(jìn)行虛擬化之前首先要做的是檢查當(dāng)前主機(jī)是否可以被虛擬化。
命令行鍵入:
# egrep '(vmx|smv)' --color=always/proc/cpuinfo
或者
# cat /proc/cpuinfo |grep (vmx|smv)
看是否有相關(guān)的物理硬件支持。
如果服務(wù)器對相關(guān)物理硬件支持的話,則可以安裝KVM進(jìn)行虛擬化。
二、安裝KVM
推薦使用yum安裝。
1. 安裝KVM模塊
# yum installkvm 或 qemu-kvm.x86_64
2. 安裝KVM調(diào)試工具(可選)
# yum install qemu-kvm-tools.x86_64
3. 安裝python組件,用來記錄創(chuàng)建vm時(shí)的xml文件。
# yum installpython-virtinst.noarch
4. 安裝qemu組件,使用qemu命令來創(chuàng)建磁盤,啟動虛擬機(jī)等
# yum install qemu-img
5. 安裝網(wǎng)絡(luò)支持工具
# yum install bridge-utils
6. 安裝虛擬機(jī)管理工具,使用virsh來管理虛擬機(jī)
# yum install libvirt
7. 安裝圖形界面管理虛擬機(jī)(遠(yuǎn)程的被管理主機(jī),可以不安裝,可選)
# yum install virt-manager
三、安裝完成后檢查KVM模塊是否安裝完成。
# lsmod |grep kvm
看是否會顯示兩個(gè)模塊:類似
kvm_intel 85256 0
kvm 225824 2 ksm,kvm_intel
四、檢查物理主機(jī)虛擬化完成情況
# virsh list
正確安裝后會有以下顯示:
五、宿主服務(wù)器網(wǎng)絡(luò)配置
為了能使虛擬機(jī)正確進(jìn)行網(wǎng)絡(luò)連接,宿主服務(wù)器應(yīng)當(dāng)開啟橋接。
橋接模式需要手動配置。
下面是我的配置方式:
1. 首先創(chuàng)建bridge的配置文件/etc/sysconfig/network-script/ifcfg-br0
并寫入:
DEVICE=br0
BOOTPROTO=static
IPADDR=192.168.1.99
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
TYPE=Bridge
2. 修改/etc/sysconfig/network-script/ifcfg-eth0:
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:25:90:04:c5:be
ONBOOT=yes
#NETMASK=255.255.255.0 //注釋掉
#IPADDR=192.168.1.99
#GATEWAY=192.168.1.1
TYPE=Ethernet
BRIDGE=br0 //增加使用橋接字段
(正式服務(wù)器上使用了綁定網(wǎng)卡,這個(gè)的配置還需要研究一下)
3. 配置完畢后重啟網(wǎng)絡(luò)。沒有錯(cuò)誤的話進(jìn)行下一步。
4. 查看網(wǎng)絡(luò)配置:
六、安裝虛擬機(jī)
接下來使用文本模式安裝虛擬機(jī)。使用virt-install命令進(jìn)行安裝。
下面是一些常用參數(shù):
--name = vm1 # 虛擬機(jī)名字
--vncport = 6900 #VNC監(jiān)聽端口 5900 and 65535
--ram = 20480 # 虛擬機(jī)內(nèi)存大小
--vcpus = 8 #虛擬機(jī)使用的CPU個(gè)數(shù)
--disk file = FILE_PATH # 虛擬機(jī)文件存放路徑,
# such as/usr/local/virtual_machine/vm/1/vm1.img
,file-size = 20 # 虛擬硬盤大小,單位G
--bridge = br0 #虛擬機(jī)網(wǎng)卡接口
--os-variant = rhel6 # 操作系統(tǒng)類型
--cdrom = //***.iso # 虛擬機(jī)安裝鏡像文件
--vnc #使用VNC展示圖形化界面
執(zhí)行完成后,檢查6900端口是否被監(jiān)聽。
# netstat –anpl | grep 6900
修改/etc/libvirt/libvirtd.conf的listen_addr參數(shù),設(shè)置監(jiān)聽地址,
修改/etc/libvirt/qemu.conf的vnc_listen參數(shù),設(shè)置vnc監(jiān)聽地址。
然后重啟libvirt:/etc/init.d/libvirt-bin restart
七、安裝vncserver
1. yum安裝vncserver
# yum install vncserver
2. Vncserver配置文件路徑:/root/.vnc/下。
修改/root/.vnc/ xstartup將該文件中,
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc兩行的注釋去掉。同時(shí),將文件最后的twm & 修改為gnome-session gnome &開啟gnome。
PS:第一次啟動vncserver時(shí)會要求輸入密碼。
3. 開啟vncserver服務(wù)
# vncserver :桌面號
桌面號與監(jiān)聽端口的關(guān)系為:若vnc監(jiān)聽端口為5900,桌面號為1,則vncserver的監(jiān)聽端口為5901.
若想關(guān)閉vncserver的話,命令為:#vncserver –kill :桌面號。如要關(guān)閉桌面號為1的vnc連接,則執(zhí)行# vncserver –kill :1
八、vncserver高級配置
1. Vncserver配置開機(jī)啟動
將/etc/init.d/vncserver start寫入/etc/rc.local/文件。
2. 編輯/etc/sysconfig/vncserver
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768"
在ARGS 中修改"1024x768"來適應(yīng)自己的X桌面實(shí)際參數(shù)配置??梢栽谶@里添加任何其他VNC服務(wù)器參數(shù)配置。在VNCSERVERS中修改 root 為你希望運(yùn)行VNC桌面的用戶。VNCSERVERS中的1表示VNC以桌面1運(yùn)行。
保存后,啟動vncserver。
使用VNC客戶端,連接虛擬機(jī)。將會看到安裝系統(tǒng)界面。
形如:
九、使用virsh命令操作虛擬機(jī)
1. 列出已經(jīng)運(yùn)行的虛擬機(jī):virsh list
2. 啟動剛安裝的虛擬機(jī):virsh startvm1
3. 關(guān)閉虛擬機(jī):virsh shutdownvm1
4. 強(qiáng)制關(guān)閉虛擬機(jī):virsh destroyvm1
5. 設(shè)置虛擬機(jī)為自啟動:virshautostart vm1
6. 刪除虛擬機(jī):virsh undefinevm1
7. 暫停虛擬機(jī):virsh suspendvm1
8. 從暫停狀態(tài)恢復(fù)虛擬機(jī):virshresume vm1
VNC開啟后CPU使用過高的問題。
是因?yàn)樵谑褂?/span>virt-install安裝虛擬機(jī)時(shí),沒有加入—accelerate參數(shù)。這個(gè)參數(shù)加入后,虛擬機(jī)在使用VNC進(jìn)行連接時(shí),將會自動分配所使用的CPU。
安裝完虛擬機(jī)后,使用VNC為虛擬機(jī)安裝系統(tǒng)。
系統(tǒng)安裝完成后,要為虛擬機(jī)配置網(wǎng)絡(luò)環(huán)境。虛擬機(jī)的網(wǎng)絡(luò)環(huán)境配置類似于我們的宿主機(jī),但是要注意的是,在一臺宿主機(jī)存在多臺虛擬機(jī)時(shí),MAC地址一定要唯一。也就是說,不同的虛擬機(jī)之間唯一需要注意的就是MAC地址。
虛擬機(jī)的網(wǎng)絡(luò)配置完成后,重啟網(wǎng)絡(luò)。
上面就完成了在一臺宿主機(jī)上搭建配置虛擬機(jī)的全部過程。
接下來的任務(wù)是,完成對已創(chuàng)建的虛擬機(jī)的克隆,并使用克隆的鏡像創(chuàng)建新的虛擬機(jī)。