本文介紹了Ubuntu 18.04 LTS安裝KVM虛擬機(jī)的方法步驟,分享給大家,具體如下:
前一陣使用在最新的Ubuntu 18.04上安裝了KVM來虛擬一個小的VM集群,將主要過程和其中遇到的一些問題記錄下來。
準(zhǔn)備工作
首先需要檢查一下CPU是否支持虛擬化,執(zhí)行一下命令來檢查/proc/cpuinfo文件中是否又虛擬化相關(guān)的字眼,如果有的話表明CPU支持虛擬化技術(shù)。
egrep -c '(svm|vmx)' /proc/cpuinfo
上面命令執(zhí)行結(jié)果如果返回0,表示CPU不支持虛擬化技術(shù)。當(dāng)然主板BIOS中的虛擬化技術(shù)也可能不是默認(rèn)開啟的,如果沒有開啟需要手動開啟一下。
安裝KVM
執(zhí)行以下命令安裝KVM
sudo apt update
sudo apt install qemu qemu-kvm libvirt-bin bridge-utils virt-manager
將libvirtd添加自啟動
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
網(wǎng)絡(luò)模式
KVM安裝完成后,首先需要進(jìn)行網(wǎng)絡(luò)設(shè)定,KVM支持四種網(wǎng)絡(luò)模式:
- 橋接模式
- NAT模式
- 用戶網(wǎng)絡(luò)模式
- 直接分配設(shè)備模式
主要講一下前兩種
橋接(Bridge)模式
在橋接模式下,宿主機(jī)和虛擬機(jī)共享同一個物理網(wǎng)絡(luò)設(shè)備,虛擬機(jī)中的網(wǎng)卡和物理機(jī)中的網(wǎng)卡是平行關(guān)系,所以虛擬機(jī)可以直接接入外部網(wǎng)絡(luò),虛擬機(jī)和宿主機(jī)有平級的IP。
原本宿主機(jī)是通過網(wǎng)卡eth0連接外部網(wǎng)絡(luò)的,網(wǎng)橋模式會新創(chuàng)建一個網(wǎng)橋br0,接管eth0來連接外部網(wǎng)絡(luò),然后將宿主機(jī)和虛擬機(jī)的網(wǎng)卡eth0都綁定到網(wǎng)橋上。
使用橋接模式需要進(jìn)行以下操作:
編輯/etc/network/interfaces
,增加如下內(nèi)容
auto br0
iface br0 inet dhcp # 網(wǎng)橋使用DHCP模式,從DHCP服務(wù)器獲取IP
bridge_ports enp3s0 # 網(wǎng)卡名稱,網(wǎng)橋創(chuàng)建前連接外部的網(wǎng)卡,可通過ifconfig命令查看,有IP地址的就是
bridge_stp on # 避免數(shù)據(jù)鏈路出現(xiàn)死循環(huán)
bridge_fd 0 # 將轉(zhuǎn)發(fā)延遲設(shè)置為0
接下來需要重啟networking服務(wù)(如果是通過SSH連接到宿主機(jī)上的,這一步會導(dǎo)致網(wǎng)絡(luò)中斷,如果出現(xiàn)問題可能導(dǎo)致連不上宿主機(jī),最好在宿主機(jī)上直接操作)
systemctl restart networking.service
使用ifconfig命令查看IP是否從enp3s0(網(wǎng)橋創(chuàng)建前的網(wǎng)卡)變到了br0上,如果沒有變化則需要重啟。如果宿主機(jī)ip已經(jīng)成功變到網(wǎng)橋上,并且宿主機(jī)能正常上網(wǎng)而虛擬機(jī)獲取不到ip,可能是ufw沒有允許ip轉(zhuǎn)發(fā)導(dǎo)致的,編輯/etc/default/ufw
允許ip轉(zhuǎn)發(fā)。
DEFAULT_FORWARD_POLICY="ACCEPT"
重啟ufw服務(wù)讓設(shè)置生效
systemctl restart ufw.service
NAT(Network Address Translation)模式
NAT模式是KVM默認(rèn)的網(wǎng)絡(luò)模式,KVM會創(chuàng)建一個名為virbr0的虛擬網(wǎng)橋,但是宿主機(jī)和虛擬機(jī)對于網(wǎng)橋來說不是平等的了,網(wǎng)橋會把虛擬機(jī)藏在背后,虛擬機(jī)會被分配一個內(nèi)網(wǎng)IP,而從外網(wǎng)訪問不到虛擬機(jī)。
安裝Linux虛擬機(jī)
使用如下命令安裝安裝Linux虛擬機(jī)
sudo virt-install -n ubuntu_3
--description "ubuntu_3"
--os-type=linux --os-variant=ubuntu17.10 --ram=1024 --vcpus=1
--disk path=/var/lib/libvirt/images/ubuntu_3.img,bus=virtio,size=50 # 磁盤位置,大小50G
--network bridge:br0 # 這里網(wǎng)絡(luò)選擇了橋接模式
--accelerate
--graphics vnc,listen=0.0.0.0,keymap=en-us # VNC監(jiān)聽端口,注意要選擇en-us作為key-map,否則鍵位布局可能會亂
--cdrom /home/zzy/Downloads/ubuntu-18.04-live-server-amd64.iso # 安裝ISO路徑
安裝Windows 10虛擬機(jī)
安裝Windows 10虛擬機(jī)會出現(xiàn)沒有virtio驅(qū)動的問題,導(dǎo)致安裝程序找不到硬盤,需要先下載virtio驅(qū)動。
https://fedoraproject.org/wiki/Windows_Virtio_Drivers
創(chuàng)建虛擬機(jī)時,將其加入到CD-ROM中
sudo virt-install -n win10
--description "win10"
--os-type=win --os-variant=win10
--ram=4096 --vcpus=2
--disk path=/var/lib/libvirt/images/win_10.img,bus=virtio,size=100
--network bridge:br0
--accelerate
--graphics vnc,listen=0.0.0.0,keymap=en-us
--cdrom =/home/zzy/Downloads/cn_windows_10_consumer_editions_version_1803_updated_march_2018_x64_dvd_12063766.iso
--cdrom=/home/zzy/Downloads/virtio-win.iso
使用VNC客戶端連接虛擬機(jī)
執(zhí)行以下命令查看虛擬機(jī)的列表
通過上一步查處的虛擬機(jī)列表,查看單臺機(jī)器的VNC端口
sudo virsh vncdisplay ubuntu_3 # ubuntu_3是虛擬機(jī)名稱
知道了VNC端口號,就可以使用VNC客戶端連接到虛擬機(jī)完成安裝了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。