一、安裝KVM1. 驗(yàn)證CPU是否支持KVM;如果結(jié)果中有vmx(Intel)或svm(AMD)字樣,就說(shuō)明CPU的支持的。 egrep '(vmx|svm)' /proc/cpuinfo 2. 關(guān)閉SELinux,將 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改為 SELinux=disabled 3. 最小安裝的CentOS安裝一些最基本的包(可選項(xiàng),因?yàn)槲沂莿偘惭b好的CentOS,所以為了下面方便點(diǎn),先把一些必要的工具安裝下) yum install epel-release net-tools vim unzip zip wget ftp -y 4. 安裝KVM及其依賴項(xiàng) yum install qemu-kvm libvirt virt-install bridge-utils -y 5. 驗(yàn)證安裝結(jié)果,下圖說(shuō)明已經(jīng)成功安裝了 lsmod | grep kvm 6. 開(kāi)啟kvm服務(wù),并且設(shè)置其開(kāi)機(jī)自動(dòng)啟動(dòng) systemctl start libvirtd systemctl enable libvirtd 7. 查看狀態(tài)操作結(jié)果,如下圖所示,說(shuō)明運(yùn)行情況良好 systemctl status libvirtd systemctl is-enabled libvirtd 8. 配置網(wǎng)橋模式,先將 /etc/sysconfig/network-scripts/ 目錄下的網(wǎng)卡配置文件備份一份(不要備在當(dāng)前目錄以及子目錄下,其他目錄隨意) a. 創(chuàng)建 ifcfg-br0 文件,內(nèi)容如下: BOOTPROTO=static DEVICE=br0 TYPE=Bridge NM_CONTROLLED=no IPADDR=192.168.1.95 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=61.177.7.1 DNS2=8.8.8.8 b. 移除掉原來(lái)的 ifcfg-enp0s25 ,重新創(chuàng)建該文件,內(nèi)容如下: BOOTPROTO=none DEVICE=enp0s25 NM_CONTROLLED=no ONBOOT=yes BRIDGE=br0 c. 重啟網(wǎng)絡(luò)服務(wù) systemctl restart network 使用 ifconfig 驗(yàn)證操作結(jié)果,多了一塊網(wǎng)卡br0,現(xiàn)在訪問(wèn) think8848-srv02 使用 192.168.1.95 就可以了。 二、安裝虛擬機(jī) 1. 準(zhǔn)備操作系統(tǒng)安裝鏡像文件,在本文中將使用和宿主環(huán)境一樣的CentOS7.2,把該文件放到 /home/iso 目錄下 2. 創(chuàng)建虛擬機(jī)文件存放的目錄 mkdir -p /home/kvm-bak 3. 使用 virt-install 創(chuàng)建虛擬機(jī) virt-install -n think8848-kvmbase -r 2048 --disk /home/kvm-bak/think8848-kvmbase.img,format=qcow2,size=20 --network bridge=br0 --os-type=linux --os-variant=rhel7.2 --cdrom /home/iso/CentOS-7-x86_64-DVD-1511.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 操作結(jié)果顯示: 不要理會(huì)里面提示的錯(cuò)誤,接著往下走 4. 打開(kāi)防火墻上的5910端口 firewall-cmd --zone=public --add-port=5910/tcp --permanent firewall-cmd --reload 5. 使用VNC連接該虛擬機(jī),進(jìn)行虛擬機(jī)操作系統(tǒng)的安裝,直接到VNC官網(wǎng)上下載最新版的VNC Viewer即可 a. VNC Viewer b. 新建連接,提供宿主IP、端口號(hào)(在virt-install創(chuàng)建過(guò)程中指定的),以及名稱 c. 在Expert頁(yè)簽中,將ColorLevel的值由原來(lái)的 pal8 修改為 rgb222 ,點(diǎn)擊OK按鈕保存 d. 如果你像我一樣,邊操作邊還在做筆記,等你雙擊連接的名稱后,安裝界面都準(zhǔn)備好了 接下來(lái)就安裝CentOS吧,過(guò)程略。 6. 安裝完CentOS,系統(tǒng)要求重啟,這時(shí)候虛擬機(jī)沒(méi)有重啟(也不知是因?yàn)槭裁磫?wèn)題),VNC也連不上,先在宿主機(jī)上查看虛擬機(jī)狀態(tài),顯示think8848-kvmbase為關(guān)閉狀態(tài) virsh list --all 7. 手動(dòng)啟動(dòng)虛擬機(jī) virsh start think8848-kvmbase 再次使用VNC連接,發(fā)現(xiàn)已經(jīng)可以連進(jìn)去了 三、簡(jiǎn)單配置KVM虛擬機(jī)1. 網(wǎng)橋配置,這里值得一提的是,如果你在虛擬機(jī)中安裝CentOS過(guò)程中,配置了合適的網(wǎng)格參數(shù),那么這時(shí)虛擬機(jī)里應(yīng)該就可以使用網(wǎng)絡(luò)了。如果當(dāng)時(shí)就采用系統(tǒng)安裝包的默認(rèn)參數(shù),未啟用網(wǎng)卡,那么此時(shí)你需要啟動(dòng)虛擬機(jī)的網(wǎng)卡,先看下虛擬機(jī)網(wǎng)卡的配置文件列表,貌似和普通電腦安裝沒(méi)啥區(qū)別,網(wǎng)卡的配置文件是 ifcfg-eth0 再查看 ifcfg-eth0配置文件,和普通電腦安裝的也沒(méi)啥區(qū)別,按照要求呢,貌似在一些文章中介紹,說(shuō)需要添加一行配置 NM_CONTROLLED=no ,我沒(méi)添加也沒(méi)發(fā)現(xiàn)有什么問(wèn)題。 2. 配置在宿主端登錄虛擬機(jī)shell。當(dāng)然在宿主端也是可以通過(guò)SSH登錄,但是直接登錄貌似也是一個(gè)不錯(cuò)的方式。這個(gè)配置主要有兩個(gè)步驟: a. 編輯 /etc/default/grub 文件,對(duì)照如下: 編輯前: 編輯后: 文本內(nèi)容: GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb" GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200" GRUB_DISABLE_RECOVERY="true" b. 運(yùn)行下面一行的代碼 grub2-mkconfig -o /boot/grub2/grub.cfg c. 重啟虛擬機(jī) reboot d. 在宿主機(jī)上進(jìn)入虛擬機(jī)控制臺(tái),想退出時(shí)使用 Ctrl 鍵+ ] (左方括號(hào))鍵退出。 virsh console think8848-kvmbase 四、遷移虛擬機(jī)虛擬機(jī)建好后,最大的好處就是任由我們折騰,而不用擔(dān)心重裝系統(tǒng)的麻煩。所以一定要知道虛擬機(jī)怎么復(fù)制遷移,這里有兩種情況,一種是本機(jī)上鏡像復(fù)制,另一種是將本機(jī)鏡像遷移到其他服務(wù)器上,本節(jié)參考自這里,感謝koumm。 1. 本機(jī)復(fù)制 a. 先關(guān)閉虛擬機(jī) virsh shutdown think8848-kvmbase b. 在 /home 下新建文件夾 /home/kvm-img mkdir -p /home/kvm-img c. 使用 virt-clone 克隆think8848-kvmbase為新的虛擬機(jī) virt-clone -o think8848-kvmbase -n think8848-kvm01 -f /home/kvm-img/think8848-kvm01.img 克隆完成 使用 virsh list --all 查看 d. 開(kāi)啟think8848-kvm01,然后修改IP地址、主機(jī)名 virsh start think8848-kvm01 virsh console think8848-kvm01 #等虛擬機(jī)啟動(dòng)好后,用root登錄 hostname think8848-kvm01 #編輯/etc/hostname文件,修改主機(jī)名為think8848-kvm01 vi /etc/hostname #編輯/etc/sysconfig/network-scripts/ifcfg-eth0,修改IPADDR e. reboot 重啟虛擬機(jī),重啟后剛才修改的內(nèi)容已經(jīng)生效了。 2. 將虛擬機(jī)鏡像遷移到其他服務(wù)器上 a. 先將虛擬機(jī)的配置文件和鏡像文件放到合適的位置(我搭了一臺(tái)FTP服務(wù)器,方便測(cè)試時(shí)所有的文件傳輸,如下圖所示) b. 現(xiàn)在到服務(wù)器轉(zhuǎn)戰(zhàn)到think8848-srv01(IP:192.168.1.96),剛才虛擬機(jī)是在think8848-srv02(IP:192.168.1.95)上創(chuàng)建的。以下所有操作均是在think8848-srv01上進(jìn)行的 c. 將ftp上的think8848-kvm01.img放到/home/kvm-img目錄,將think8848-kvm01.xml放到/etc/libvirt/qemu目錄中 d. 編輯think8848-kvm02.xml,將里面所有think8848-kvm01替換為think8848-kvm02,然后把UUID換為新的(直接使用這個(gè)在線工具生成吧) e. 定義新虛擬機(jī) virsh define /etc/libvirt/qemu/think8848-kvm02.xml 圖中think8848-kvm01是我之前在宿主機(jī)中配置的虛擬機(jī),恰好名稱與之前的重復(fù)了。我在think8848-kvm01上沒(méi)有安裝ftp客戶端,在新遷移的虛擬機(jī)里面安裝了ftp,可以利用這個(gè)包驗(yàn)證虛擬機(jī)是否正確 OK,說(shuō)明沒(méi)有問(wèn)題 f. 現(xiàn)在是時(shí)候再給新的虛擬機(jī)指定新主機(jī)名和IP了。剛才是我們重啟生效的,這次我們不要重啟了,先使用 systemctl restart network 使新IP生效,然后再 exit 注銷用戶使主機(jī)名生效,就可以了。 最后一個(gè)問(wèn)題,如果在克隆或遷移后想使用VNC連接,那就需要重新指定VNC的端口號(hào),將 /etc/libvirt/qemu/think8848-kvm02.xml 中的VNC端口號(hào)修改你需要的值即可。
|
|