(親測成功)在centos7.5上安裝kvm,經過VNC遠程鏈接並建立多臺ubuntu虛擬機(ubuntu server版本)

在centos7.5上安裝kvm,經過VNC遠程鏈接並建立多臺ubuntu虛擬機
前提:服務器端安裝桌面版的centos系統
CentOS Linux release 7.5.1804 (Core)
 

 
(1)
檢測是否支持KVM
KVM 是基於 x86 虛擬化擴展(Intel VT 或者 AMD-V) 技術的虛擬機軟件,因此查看 CPU 是否支持 VT 技術,就能夠判斷是否支持KVM。有返回結果,若是結果中有vmx(Intel)或svm(AMD)字樣,就說明CPU的支持的。
cat /proc/cpuinfo | egrep 'vmx|svm
 

 
(2)關閉SELinux,將 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改成 SELinux=disabled
[root@healthserver ~]# nano /etc/sysconfig/selinux

 
(3)最小安裝的CentOS安裝一些最基本的包(可選項,由於我是剛安裝好的CentOS,因此爲了下面方便點,先把一些必要的工具安裝下)
yum install epel-release net-tools vim unzip zip wget ftp -y
# 安裝 kvm 基礎包# ------------------------
yum -y install kvm
# 安裝 kvm 管理工具# ------------------------
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install
# qemu-kvm: KVM模塊
# pyhon-virtinst: 包含python模塊和工具(virt-install,virt-clone和virt-image),
# 用於安裝和克隆虛擬機使用libvirt。 它徹底支持paravirtulized客人和客人虛擬客人。
# 支持的虛擬機管理程序是Xen,qemu(QEMU)和kvm# libvirt: 虛擬管理模塊# virt-manager: 圖形界面管理虛擬機
# libguestfs* : virt-cat等命令的支持軟件包
# 重啓宿主機,以便加載 kvm 模塊# ------------------------
reboot(也可不重啓)
# 查看KVM模塊是否被正確加載
[root@healthserver ~]# lsmod | grep kvm
kvm_intel 174841 0
kvm 578518 1 kvm_intel
irqbypass 13503 1 kvm
 
=========================================================
若是沒有加載,運行如下命令:
[root@kevin ~]# modprobe kvm
[root@kevin ~]# modprobe kvm-intel
[root@kevin ~]# lsmod | grep kvm
kvm_intel 170086 0
kvm 566340 1 kvm_intel
irqbypass 13503 1 kvm
=========================================================
內核模塊導出了一個名爲/dev/kvm的設備,這個設備將虛擬機的的地址空間獨立於內核或者任何應用程序的地址空間。
[root@kevin ~]# ll /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 1月 29 11:56 /dev/kvm
 

 
(4)開啓kvm服務,而且設置其開機自動啓動
 
systemctl start libvirtd.service
systemctl enable libvirtd.service
 
查看狀態操做結果,以下圖所示,說明運行狀況良好
systemctl status libvirtd
查看狀態操做結果,如Active: active (running),說明運行狀況良好
systemctl is-enabled libvirtd
 

(5)
安裝虛擬機
安裝前要設置環境語言爲英文LANG="en_US.UTF-8",若是是中文的話某些版本可能會報錯。CentOS 7 在這裏修改 /etc/locale.conf。這一步可不作,若是有影響在作。
 
若是沒有brctl命令(用來管理網橋的工具),則須要安裝bridge-utils ,
[root@healthserver ~]# yum -y install bridge-utils
 
而後爲centos7配置網卡,因爲咱們安裝的是centos桌面版系統,所以這一步可在服務器端圖形界面進行設置,命令行也能夠進行設置,此處咱們不談。
 
安裝 epel 源
[root@healthserver ~]# yum install epel-release
 
libvirt是管理虛擬機的API庫,不只支持KVM虛擬機,也能夠管理Xen等方案下的虛擬機。
 
[root@healthserver ~]# yum install virt-manager libvirt libvirt-Python python-virtinst libvirt-client virt-viewer qemu-kvm
 
由於個人主機是服務器,沒有圖形化界面,想要用virt-manager圖形化安裝虛擬機,還須要安裝X-window。
 
[root@healthserver ~]# yum install libXdmcp libXmu libxkbfile xkeyboard-config xorg-x11-xauth xorg-x11-xkb-utils
 
開啓libvirt服務
[root@healthserver ~]# cd /etc/yum.repos.d/
[root@healthserver yum.repos.d]# service libvirtd start
 
至此,前期準備已經完成,下面開始安裝虛擬機
 
 
 
檢查模塊是否有加載
[root@healthserver ~]# virsh -c qemu:///system
安裝橋接管理的工具
yum install bridge-utils
安裝 GUI 的管理軟件
yum install virt-manager
 
 
 
[root@healthserver ~]# /usr/libexec/qemu-kvm -version
QEMU emulator version 1.5.3 (qemu-kvm-1.5.3-156.el7_5.5), Copyright (c) 2003-2008 Fabrice Bellard
 
 
系統配置虛擬機管理工具VNC
 
使用virt-manager gui工具vncserver(服務器端)+vncviewerwindows客戶端)管理KVM
 
 
服務器端linux安裝vncserver;
[root@healthserver ~]# yum install tigervnc-server -y
 
安裝完畢後輸入「vncserver」啓動VNC。
[root@healthserver tmp]# vncserver
xauth: (stdin):1: bad display name "healthserver:1" in "add" command
New 'healthserver:1 (root)' desktop is healthserver:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/healthserver:1.log
注意:啓動後將自動在root/.vnc目錄下建立xstartup文件。
輸入「vncpasswd」並按回車鍵肯定,開始輸入VNC訪問密碼並按回車鍵肯定。
密碼爲Elecspn
輸入「netstat -tlup | grep vnc」查看VNC使用端口。
注意:VNC訪問默認監聽以下3個TCP端口:
RFB(Remote FrameBuffer)協議 默認端口 : 5900+顯示器號
HTTP協議默認端口 : 5800+顯示器號
X協議 默認端口 : 6000+顯示器號
[root@healthserver tmp]# netstat -tlup | grep vnc
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 41343/Xvnc
tcp 0 0 0.0.0.0:cpdlc 0.0.0.0:* LISTEN 39708/Xvnc
tcp 0 0 0.0.0.0:fis 0.0.0.0:* LISTEN 40578/Xvnc
tcp6 0 0 [::]:5901 [::]:* LISTEN 41343/Xvnc
tcp6 0 0 [::]:cpdlc [::]:* LISTEN 39708/Xvnc
tcp6 0 0 [::]:fis [::]:* LISTEN 40578/Xvnc
輸入「iptables -I INPUT -p tcp --dport 5901 -j ACCEPT」添加5901端口到iptables,同理可添加5908 5909等端口(若是有)。
 
輸入「systemctl restart iptables.service」重啓iptables服務(不建議中止)。
確認iptables重啓無誤後輸入「service iptables save」保存。
 
客戶端windows安裝vncviewer;
安裝省略
 
在執行:
[root@healthserver ~]# virt-manager
 
自動跳出vnc viewer操做界面,
Windows裏面的VNC Viewer軟件
「VNC Server」框裏面輸入服務器地址+端口:192.168.1.213:5901
「name」填寫centos登陸用戶名root
注意:數字由第五步server.ytyzx.org:1肯定,本例中爲1。 1對應5901端口,以此類推9對應5909端口,如超過100則需使用完整端口號。
 
接續輸入密碼就可完成遠程登陸。
 
 
當咱們推出vnc並從新登陸時,執行步驟:
 
 
[root@healthserver ~]# vncserver
 
New 'healthserver:4 (root)' desktop is healthserver:4
 
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/healthserver:4.log
 
代表此時端口號變爲5904 ,不是以前的5901
則VNC Server的地址變爲:192.168.1.213:5904 密碼Elecspn
 

 
(6)在遠程桌面中使用KVM建立虛擬機
 
啓動服務
service libvirtd start
輸入命令brctl show 顯示一下信息表示OK
 
[root@healthserver ~]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.525400dd3c25 yes virbr0-nic
 
輸入命令,啓動kvm圖形化管理界面,進行虛擬機的建立。
[root@healthserver ~]# virt-manager
 
在centos服務器端,則可進入kvm圖形化管理界面。
 
 
 
選擇好Ubuntu16.04桌面版的iso鏡像文件(本身放進去),
 
設置虛擬機屬性:
 
 
 
已有的存儲卷容量不知足咱們的存儲要求,則新建存儲池,以下:
 
[root@healthserver mapper]# virsh -c qemu:///system
歡迎使用 virsh,虛擬化的交互式終端。
 
輸入:'help' 來得到命令的幫助信息
'quit' 退出
 
virsh # pool-list
名稱 狀態 自動開始
-------------------------------------------
default 活動 是
xlp 活動 是
 
 
查看某一存儲池的具體信息(以XML形式存在)
 
virsh # pool-dumpxml xlp <pool type='dir'>
<name>xlp</name>
<uuid>ed5c8657-35ba-479d-80a3-27c03b7ec445</uuid>
<capacity unit='bytes'>53660876800</capacity>
<allocation unit='bytes'>16004517888</allocation>
<available unit='bytes'>37656358912</available>
<source> </source>
<target>
<path>/run/media/root/26f7078f-03f7-4e54-9142-66dc4e38a137/opt/xlp</path> <permissions>
<mode>0755</mode>
<owner>0</owner>
<group>0</group>
<label>unconfined_u:object_r:usr_t:s0</label>
</permissions>
</target>
</pool>
 
 
查看具體信息,結果相似於解析上面的XML:
 
virsh # pool-info xlp
名稱: xlp
UUID: ed5c8657-35ba-479d-80a3-27c03b7ec445
狀態: running
持久: 是
自動啓動: 是
容量: 49.98 GiB
分配: 14.91 GiB
可用: 35.07 GiB
 
上述存儲池大小不夠!
建立一個新的存儲池
這裏仿照上面的XML文件,編寫一個命爲kvmstorage的XML文檔,內容以下[位於/home/poolB]
此處省略,換用kvm圖形化界面進行建立。步驟以下:
由於自帶的存儲池容量不足,因此選擇「選擇或建立自定義存儲」選項。
 
 
名字取爲「kvmstorage」。類型以下圖所示。
 
目標路徑選擇硬盤中容量較大的,
 
在該硬盤目錄下建立文件夾「kvmstorage」,之後數據都存儲在該文件夾下。
 
 
 
 
此時就建立成功,查看:
[root@healthserver mapper]# virsh -c qemu:///system
歡迎使用 virsh,虛擬化的交互式終端。
 
輸入:'help' 來得到命令的幫助信息
'quit' 退出
 
virsh # pool-info kvmstorage
名稱: kvmstorage
UUID: ee843e5f-cf47-4502-a3f1-55c6d11548d9
狀態: running
持久: 是
自動啓動: 是
容量: 14.49 TiB
分配: 3.62 GiB
可用: 14.48 TiB
 
virsh #
 
 
如今在kvmstorage存儲池下建立分存儲卷,點擊「+」,建立存儲卷kvm1,設置以下
 
 
 
 
 
 
如今正式進入Ubuntu16.04桌面版的安裝過程。
按照步驟進行安裝便可。
注:若是安裝時你選的鏡像文件時Ubuntu16.04 的server版本的話,安裝時幾乎每一步都直接默認便可,安裝語言默認英文,不要選中文,不然安裝不成功!)
 
 
 

 
(7)從新打開KVM並建立虛擬機
 
在vnc遠程界面的命令行中輸入:
 
[root@healthserver ~]# virt-manager
彈出kvm界面。
相關文章
相關標籤/搜索