準備工作
首先需要檢查一下CPU是否支持虛擬化,執行一下命令來檢查/proc/cpuinfo文件中是否又虛擬化相關的字眼,如果有的話表明CPU支持虛擬化技術。
egrep -c '(svm|vmx)' /proc/cpuinfo
上面命令執行結果如果返回0,表示CPU不支持虛擬化技術。當然主板BIOS中的虛擬化技術也可能不是默認開啓的,如果沒有開啓需要手動開啓一下。
安裝KVM
執行以下命令安裝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
網絡模式
KVM安裝完成後,首先需要進行網絡設定,KVM支持四種網絡模式:
橋接模式
NAT模式
用戶網絡模式
直接分配設備模式
橋接(Bridge)模式
在橋接模式下,宿主機和虛擬機共享同一個物理網絡設備,虛擬機中的網卡和物理機中的網卡是平行關係,所以虛擬機可以直接接入外部網絡,虛擬機和宿主機有平級的IP
原本宿主機是通過網卡eth0連接外部網絡的,網橋模式會新創建一個網橋br0,接管eth0來連接外部網絡,然後將宿主機和虛擬機的網卡eth0都綁定到網橋上。
使用橋接模式需要進行以下操作:
編輯/etc/network/interfaces,如果原始內容爲:
可以將原始內容刪掉,再添加
auto br0
iface br0 inet dhcp # 網橋使用DHCP模式,從DHCP服務器獲取IP
bridge_ports enp3s0 # 網卡名稱,網橋創建前連接外部的網卡,可通過ifconfig命令查看,有IP地址的就是
bridge_stp on # 避免數據鏈路出現死循環
bridge_fd 0 # 將轉發延遲設置爲0
接下來需要重啓networking服務(如果是通過SSH連接到宿主機上的,這一步會導致網絡中斷,如果出現問題可能導致連不上宿主機,最好在宿主機上直接操作)
systemctl restart networking.service
使用ifconfig命令查看IP是否從enp3s0(網橋創建前的網卡)變到了br0上,如果沒有變化則需要重啓。如果宿主機ip已經成功變到網橋上,並且宿主機能正常上網而虛擬機獲取不到ip,可能是ufw沒有允許ip轉發導致的,編輯/etc/default/ufw允許ip轉發。
DEFAULT_FORWARD_POLICY="ACCEPT"
重啓ufw服務讓設置生效
systemctl restart ufw.service
安裝Linux虛擬機
腳本方式安裝:
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 # 這裏網絡選擇了橋接模式
--accelerate
--graphics vnc,listen=0.0.0.0,keymap=en-us # VNC監聽端口,注意要選擇en-us作爲key-map,否則鍵位佈局可能會亂
#--cdrom /home/zzy/Downloads/ubuntu-18.04-live-server-amd64.iso # 安裝ISO路徑
--location /root/ubuntu-18.04.1-desktop-amd64.iso
注意:location表示.iso的位置,並且,文件必須在root目錄下纔可以。這點對於圖形安裝來說是一樣的。
Ubuntu3.img是通過以下命令生成的:
qemu-img create -f qcow2 ubuntu3.img 10G
圖形界面安裝:
命令行輸入virt-manager,添加iso路徑,之後點擊next,即可安裝成功。
通過圖形界面安裝的虛擬機,默認是沒有網絡的,需要關閉虛擬機,在腳本中添加網絡訪問方式爲橋接模式。這裏,默認安裝KVM前已經設置好了橋接模式。
客戶機配置客戶機安裝時注意,網絡要選擇用br0橋接方式。
文本方式:(同樣只介紹文本方式)
編輯修改虛擬機配置文件 /etc/libvirt/qemu/v1.xml,增加如下內容
<interface type='bridge'>
<mac address='52:54:00:da:c3:dc'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
啓動客戶虛擬機,即可看到:
虛擬機的ip地址是:192.168.2.53,宿主機的ip是:192.168.2.253
遠程連接
以上配置完成後,客戶虛擬機可以使用瀏覽器上網,也可以ping通宿主機的ip。此時,局域網內的其他電腦(win10)還是無法通過mstsc與客戶虛擬機遠程連接。
需要在虛擬機上安裝xrdp/vnc4server/xfce4/lightdm,安裝好後,就可以用win10遠程連接虛擬機了。具體操作可以參考下面的連接:
https://blog.csdn.net/wszonline/article/details/60583254
參考鏈接:
參考鏈接:
https://blog.csdn.net/wszonline/article/details/60583254
https://blog.csdn.net/weixin_36820871/article/details/80595855
https://blog.csdn.net/wszonline/article/details/60583254
https://www.jb51.net/article/142818.htm
http://www.cnblogs.com/sammyliu/p/4543110.html
https://www.fuwuqizhijia.com/kvm/201403/8251.html