1. 程式人生 > >CentOS 7.5 安裝KVM虛擬機器(Windows)

CentOS 7.5 安裝KVM虛擬機器(Windows)

一、KVM環境搭建
1.檢測系統是否支援
cat /proc/cpuinfo | egrep 'vmx|svm'
KVM是基於x86虛擬化擴充套件(Intel VT 或者 AMD-V)技術的虛擬機器軟體,所以檢視 CPU 是否支援 VT 技術,就可以判斷是否支援KVM。
有返回結果,如果結果中有vmx(Intel)或svm(AMD)字樣,就說明CPU的支援的。


2.關閉SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config


3.安裝KVM環境
安裝kvm基礎包
yum -y install kvm

安裝kvm核心包--虛擬作業系統模擬器加速模組


yum -y install qemu-kvm qemu-kvm-tools

安裝kvm管理工具
yum -y install libvirt python-virtinst libvirt-python virt-manager libguestfs-tools bridge-utils virt-install
libvirt:必須要裝的核心工具
virt-manager:虛擬機器圖形管理工具(宿主機有桌面環境時可以考慮安裝,命令操作或者遠端控制則不需要)
bridge-utils:虛擬機器與外界通訊的命令管理工具
virt-install:虛擬機器安裝工具
pyhon-virtinst: 包含python模組和工具(virt-install,virt-clone和virt-image)

重啟宿主機,載入kvm相關模組
shutdown -r now

檢視kvm模組是否被正確載入
lsmod | grep kvm
出現以下資訊則表示正確載入
kvm_intel         162153       0
kvm                  525259      1     kvm_intel
irqbypass        13503         1     kvm

開啟kvm服務,並設定開機啟動
systemctl start libvirtd.service
systemctl enable libvirtd.service

檢視操作結果,出現Active:active(running)字樣則說明執行情況良好


systemctl status libvirtd
systemctl is-enabled libvirtd

二、網橋搭建
如果是在區域網內安裝kvm虛擬機器,為了方便連線和維護管理,kvm虛擬機器的網路模式我們建議使用Bridge模式(另外還有NAT模式),這樣kvm虛擬機器和宿主機就處在同一個網段,區域網內其它主機就直接連線

1.檢視宿主機網絡卡資訊
ip a 或者 ifconfig a
一般物理網絡卡名稱為eth0、eth1或ens開頭的等等,我本機上的就是ens33
複製ens33網絡卡配置檔案到br0檔案
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-br0

2.宿主機物理網絡卡配置
vim ifcfg-ens33

TYPE=Ethernet      #TYPE必須為Ethernet 
PROXY_METHOD=none
BROWSER_ONLY=no

#BOOTPROTO=dhcp
#DEFROUTE=yes

IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33
UUID=5169b9de-3b6a-425e-8f92-3c74e1e8d97d
DEVICE=ens33
ONBOOT=yes

BRIDGE=br0       #在原來的ifcfg-ens33配置檔案中必須新增的(這塊網絡卡橋接到br0裝置上) 
NM_CONTROLLED=no   #是否由NetworkManger服務控制該網路介面,修改後立即生效,無需重啟,一般設定成no

# 因為要設定橋接,這幾項IP地址等原來的配置資訊必須關閉,在br0配置檔案中再設定
#IPADDR=192.168.0.9
#NETMASK=255.255.255.0 
#GATEWAY=192.168.0.1 
#DNS1=114.114.114.114
#DNS2=8.8.8.8 
#PREFIX=24

3.橋接網絡卡配置

vim ifcfg-br0

TYPE=Bridge      #TYPE必須為Bridge
DEVICE=br0
NAME=br0

BOOTPROTO=static
DEFROUTE=yes     #是否使用預設路由
PEERDNS=no      #是否指定DNS,如果使用DHCP協議,預設為yes
PEERROUTES=no     #是否指定路由
ONBOOT=yes
DELAY=0
NM_CONTROLLED=no    #同樣設定為no,不讓NetworkManager服務管理br0網絡卡

IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_DEFROUTE=yes
IPV6_AUTOCONF=yes
IPV6_FAILURE_FATAL=no

IPADDR=192.168.0.9
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=114.114.114.114
DNS2=8.8.8.8
PREFIX=24

4.檢視設定結果

關閉NetworkManager服務,也可以用service stop NetworkManager,systemctl是現在linux發行版通用的服務管理工具,CentOS中使用service命令會自動呼叫systemctl工具
systemctl stop NetworkManager.service

重啟網路服務,如果重啟不成功,一般是ens33和br0配置檔案中配置項衝突造成的
systemctl restart network.service

檢視網路配置是否正確,可以ip a檢視是否ens33和br0資訊,推薦使用brctl show命令,如果提示沒有brctl命令,yum -y install bridge-utils安裝 

brctl show

如果結果中出現類似下面的資訊,則表明橋接初步設定成功,主要是第一項,第二項,第四項,常見的情況是第四項為空,原因是物理網絡卡配置檔案中Bridge=br0這一項缺少

三、VNC環境搭建
1.安裝vnc服務
yum -y install tigervnc tigervnc-server

2.vnc服務配置——宿主機遠端控制
配置vnc
將/lib/systemd/system/[email protected]檔案複製一份到/etc/systemd/system/目錄
cp /lib/systemd/system/[email protected]  /etc/systemd/system/[email protected]:1.service
編輯剛剛複製得到的檔案,將檔案中的<USER>修改為VNC Client(或者VNC Viewer)連線的賬號,我只設定一個使用者root,多使用者再增加對應的[email protected]:2.service檔案即可
vim /etc/systemd/system/[email protected]:1.service
修改以後的檔案部分內容(只修改檔案下半部分)

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=root

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
#ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver :1 -geometry 1280*720 -depth 24"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

設定vnc連線密碼,輸入命令vncpasswd以後連續輸入兩次密碼,然後直接連續回車
vncpasswd

啟動[email protected]:1.service並設定開機啟動
systemctl start [email protected]:1.service
systemctl enable [email protected]:1.service

設定防火牆(VNC預設是被防火牆阻止的)
firewall-cmd --permanent --add-service="vnc-server" --zone="public"
firewall-cmd --reload

啟動VNC服務
vncserver
會出現以下資訊:其中說明VNC客戶端連線賬號為root,埠號為5901
New 'dev:1 (root)' desktop is dev:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/dev:1.log

測試

3.vnc服務配置——虛擬機器遠端控制
上面是VNC連線主機的VNC服務時設定的情況,如果是要遠端連線主機安裝虛擬機器,可以不進行上面的設定,安裝虛擬機器的時候用主機ip,埠號5900(預設,可以進行設定,後面會說到),有許可權的賬號密碼都可以連線。

這裡也有一個坑:5900是VNC裡面遠端連線虛擬機器用的埠(安裝和安裝好以後都用這個埠),能遠端操作安裝過程;5901,5902等埠是VNC中設定的遠端連線主機的埠號,這裡要做好區分。

還有一種用virt-manager虛擬機器圖形管理的方式安裝虛擬機器,這裡有個前提,主機必須安裝好GNOME等桌面環境,CentOS中安裝有點複雜,很難安裝成功(踩過的第一個坑),個人覺得還是用VNC的方式安裝比較好,伺服器安裝桌面環境多少有點累贅。

四、虛擬機器安裝
這一步操作需要注意的幾個點:
a、區域網內與主機傳輸檔案用scp或ftp命令,要保證ISO映象檔案在主機上有操作許可權的目錄下,比如 /home等;
b、不管安裝什麼系統的虛擬機器,建立的磁碟型別,分配的虛擬記憶體等引數可能有所不同,但有幾個引數必須要正確對應,否則安裝不成功。需要注意的幾個引數:

--disk
--cdrom或者--location
--cpu ( 這個必須和主機的cpu型號一直 )
--network ( 首先要確定需要安裝虛擬機器網路的型別,是Bridge模式還是NAT模式 )
--graphics
--os-type

1.建立磁碟(kvm虛擬機器的磁碟總大小)
建立型別為raw的磁碟,還有另外兩種格式img和qcow2
qemu-img create -f raw /data/vms/win2008.raw 20G

檢查磁碟是否建立成功
qemu-img info /data/vms/win2008.raw

看到類似以下資訊表明磁碟建立成功

2.使用virt-install命令以及VNC遠端控制安裝虛擬機器

Windows系統安裝

virt-install \
--virt-type kvm \
--name win2008 \
--ram 2048 \
--cdrom=/home/Windows_Server_2008_R2_with_SP1_x64_DVD_Chinese-Simplified.iso \
--boot cdrom \
--vcpu 1 \
--network bridge=br0,model='e1000' \
--graphics vnc,listen=0.0.0.0,port=5900 \
--disk path=/data/vms/win2008.raw,bus='ide' \
--noautoconsole \
--os-type=windows

執行上述命令後,虛擬機器安裝並未結束,接下來用上面配置的VNC連線主機進行後續操作

此時如果virt-install命令引數沒有問題,會有提示資訊:
開始安裝......
域安裝仍在進行,您可以重新連線
到控制檯(virsh console)以便完成安裝程序

執行以後只看到提示連線成功,其他沒有變化,所以不用執行這個命令,暫時沒發現有什麼用處
區域網內的任意一臺同網段的電腦通過vnc client或者vnc viewer連線虛擬機器


CentOS系統安裝

virt-install \
--virt-type=kvm \
--name=centos7 \
--vcpus=2 \
--memory=2048 \
--location=/home/CentOS-7-x86_64-Minimal-1804.iso \
--disk path=/data/vms/centos7.qcow2,size=20,format=qcow2 \
--network bridge=br0 \
--graphics none \
--extra-args='console=ttyS0' \
--force

使用--graphics none說明安裝過程不使用圖形化的互動方式,直接在命令列終端操作安裝即可
在命令列終端安裝完畢後會提示回車繼續,回車後虛擬機器就會啟動並進入到登陸介面


3.virt-install常用引數說明
# 舊版本的寫法

–name 指定虛擬機器名稱
–memory 分配記憶體大小。
–vcpus 分配CPU核心數,最大與實體機CPU核心數相同
–disk 指定虛擬機器映象,size指定分配大小單位為G。
–network 網路型別,此處用的是預設,一般用的應該是bridge橋接。
–accelerate 加速
–cdrom 指定安裝映象iso
–vnc 啟用VNC遠端管理,一般安裝系統都要啟用。
–vncport 指定VNC監控埠,預設埠為5900,埠不能重複。
–vnclisten 指定VNC繫結IP,預設繫結127.0.0.1,這裡改為0.0.0.0。
–os-type=linux,windows
–os-variant=rhel6

# 新版本的寫法

--name 指定虛擬機器名稱
--ram 虛擬機器記憶體大小,以 MB 為單位
--vcpus 分配CPU核心數,最大與實體機CPU核心數相同
--vnc 啟用VNC遠端管理,一般安裝系統都要啟用。
--vncport 指定VNC監控埠,預設埠為5900,埠不能重複。
--vnclisten 指定VNC繫結IP,預設繫結127.0.0.1,這裡改為0.0.0.0。
--network 虛擬機器網路配置
# 其中子選項,bridge=br0 指定橋接網絡卡的名稱。

--os-type=linux,windows
--os-variant=rhel7.2

--disk 指定虛擬機器的磁碟儲存位置
# size,初始磁碟大小,以 GB 為單位。

--location 指定安裝介質路徑,如光碟映象的檔案路徑。
--graphics 圖形化顯示配置
# 全新安裝虛擬機器過程中可能會有很多互動操作,比如設定語言,初始化 root 密碼等等。
# graphics 選項的作用就是配置圖形化的互動方式,可以使用 vnc(一種遠端桌面軟體)進行連結。
# 我們這列使用命令列的方式安裝,所以這裡要設定為 none,但要通過 --extra-args 選項指定終端資訊,
# 這樣才能將安裝過程中的互動資訊輸出到當前控制檯。
--extra-args 根據不同的安裝方式設定不同的額外選項

五、VNC埠說明
Linux下的VNC可以同時啟動多個vncserver,各個vncserver之間用顯示編號(display number)來區分,每個vncserver服務監聽3個埠,它們分別是:

5800+顯示編號: VNC的httpd監聽埠,如果VNC客戶端為IE,Firefox等非vncviewer時必須開放。
5900+顯示編號: VNC服務端與客戶端通訊的真正埠,必須無條件開放。
6000+顯示編號: X監聽埠,可選。
顯示編號、開放的埠分別由/etc/sysconfig/vncservers檔案中的VNCSERVERS和VNCSERVERARGS控制。
VNCSERVERS="顯示編號1:使用者名稱1 …"
如:
VNCSERVERS="1:root 2:aiezu"
VNCSERVERARGS的設定方式為:
VNCSERVERARGS[顯示編號1]="引數一 引數值一 引數二 引數值二 ……"
如:
VNCSERVERARGS[2]="-geometry 800x600 -nohttpd"
VNCSERVERARGS的詳細引數有:
-geometry 桌面解析度,預設1024x768;
-nohttpd 不監聽HTTP埠(58xx埠);
-nolisten tcp 不監聽X埠(60xx埠);
-localhost 只允許從本機訪問;
-AlwaysShared 預設只同時允許一個vncviewer連線,此引數允許同時連多個vncviewer;
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
startkde &
# gnome-session &
配置完各個使用者根目錄下的".vnc/xstartup"後,執行service vncserver restart 重新啟動vncserver使配置生效。

VNCSERVERS的設定方式為:
-SecurityTypes None 登入不需要密碼認證VncAuth預設值,要密碼認證。
VNC Server的預設設定下,客戶端連線時啟動的是xterm,如果想看到桌面,必須將使用者根目錄下的".vnc/xstartup"檔案中的最後兩行註釋掉,然後根據你安裝的桌面壞境,新增一行"startkde &"或者"gnome-session &"。

相關推薦

CentOS 7.5 安裝KVM虛擬機器(Windows)

一、KVM環境搭建1.檢測系統是否支援cat /proc/cpuinfo | egrep 'vmx|svm' KVM是基於x86虛擬化擴充套件(Intel VT 或者 AMD-V)技術的虛擬機器軟體,所以檢視 CPU 是否支援 VT 技術,就可以判斷是否支援KVM。有返回結果,如果結果中有vmx(Intel

CentOS 7.5 安裝KVM虛擬機器(Linux)

1.認識理解KVM虛擬機器 Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模組,自Linux 2.6.20之後整合在Linux的各個主要發行版本中。它使用Linux自身的排程器進行管理,所以相對於Xen,其核心原始碼很少。KVM目前已成為學術界的主流VMM之一。KVM的

CentOS 7 安裝KVM虛擬機器詳解

基於 CentOS Linux release 7.2.1511 (Core) 的環境下命令列的方式安裝KVM的詳細過程。 目錄 檢測是否支援KVM KVM 是基於 x86 虛擬化擴充套件(Intel VT 或者 AMD-V) 技術的虛擬機器軟體,所以

CentOS-7版的Linux虛擬機器安裝

1. 安裝環境 VMware:   產品:VMware® Workstation 12 Pro   版本:12.5.6 build-5528349 CentOS   映象版本:CentOS-7-x86_64-DVD-1611.iso 2.

Centos6.5 x86_64系統安裝kvm虛擬機器—基礎篇

KVM簡介: KVM是開源軟體,全稱是kernel-based virtual machine(基於核心的虛擬機器)。 是x86架構且硬體支援虛擬化技術(如 intel VT 或 AMD-V)的Linux全虛擬化解決方案。 它包含一個為處理器提供

CentOS7安裝KVM虛擬機器Windows Server2016)詳解

5800+顯示編號: VNC的httpd監聽埠,如果VNC客戶端為IE,Firefox等非vncviewer時必須開放。5900+顯示編號: VNC服務端與客戶端通訊的真正埠,必須無條件開放。6000+顯示編號: X監聽埠,可選。顯示編號、開放的埠分別由/etc/sysconfig/vncservers檔案中

linux Centos 7.5 安裝桌面環境GNOME

cfb alt kde works des nag yum ima 感覺 一、查看運行級別,輸入命令:runlevel 二、查看centos7.5系統中沒有是否安裝過桌面環境工具,輸入命令:yum grouplist | more註:此命令還顯示了系統安裝過程中沒有被安裝的

CentOS 7.5 安裝 Python3.7

shu .sh dev ins 轉載 openssl 開發者 環境變量 profile 一、安裝開發者工具 yum -y groupinstall "Development Tools" 二、安裝Python編譯依賴包 yum -y install openssl-d

Centos 7.5安裝 Nginx

1. 準備工作  1.1 檢視系統版本   1.1.1 輸入命令 cat /etc/redhat-release   1.1.2 我的Centos版本 CentOS Linux release 7.5.1804 (Core)  1.2 安裝nginx所需的依賴   1.2.1

CentOS 7.5 安裝 MySQL 5.6 並配置環境變數

概述: 通過原始碼安裝高版本的5.6.14。   正文: 一:解除安裝舊版本 使用下面的命令檢查是否安裝有MySQL Server rpm -qa | grep mysql 有的話通過下面的命令來解除安裝掉 目前我們查詢到的是這樣的: [[email

Centos 7.5安裝 Redis 5.0.0

1 我的環境  1.1 linux(騰訊雲) CentOS Linux release 7.5.1804 (Core)  1.2 Redis Redis 5.0.0 2 下載 官網 官網下載地址 3 上傳  3.1 使用xftp上傳到指定目錄,我的目錄

CentOS 7.5安裝配置Tomcat詳解(二)

二、Tomcat調優、開機自啟和日誌切割 1、  編譯安裝openssl、apr、apr-util和tomcat-native: (1)編譯安裝openssl(下載地址https://www.openssl.org/source/): # yum -y install openssl-de

CentOS 7.5安裝配置Tomcat詳解(一)

Tomcat是Apache軟體基金會Jakarta專案中的一個核心專案,主要實現了Java EE中的Servlet、JSP規範,同時也提供HTTP服務,是主流的、免費開源的Java Web輕量級應用伺服器。 一、安裝Tomcat: 1、  安裝JDK(下載地址https://www.orac

Centos 7.5安裝配置MongoDB 4.0.4

解壓 分布式 pwd tgz remote des work nan run MongoDB 是一個基於分布式文件存儲的數據庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數據存儲解決方案。MongoDB 是一個介於關系數據庫和非關系數據庫之間的產品,是非關

Centos 7.5安裝部署redis 5.0.0集群

per 追加 onf redis3 分享圖片 c-c 防火墻 conf tcp Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。和Memcached類似,但它支持存儲的value類型相

【elasticsearch安裝篇】Linux Centos 7.5 安裝 Kibana及分詞器

 安裝elasticsearch,可參考: 【elasticsearch安裝篇】Linux centos6.8 安裝配置elasticsearch6.3.2 親測成功(一) 【elasticsearch安裝篇】Linux centos6.8 安裝配置elasticsearch6

CentOS 7.5安裝配置WebLogic 12c雙機叢集

一、演示環境: IP OS JDK WebLogic 記憶體 伺服器角色 埠 192.168.1.144 CentOS   7.5 x86_64 jdk-8u192-linux-x6

centOS 7 簡單設定(虛擬機器

1.修改主機名 hostnamectl set-hostname 2.ssh連線慢的問題解決 vim /etc/ssh/sshd_config UseDNS=no GSSAPIAuthentication 重啟sshd systemctl res

centos 7.5 安裝mysql

剛從官網下載的centos 7.5 系統安裝的時候選擇的型別可能包含了mysql 命令檢視到系統舊版MySQL rpm -qa | grep mariadb mariadb-devel-5.5.60-1.el7_5.x86_64 mariadb-libs-5.5.60-1.el7_5.x86_64 mar

CentOS 7.5安裝及初始化配置

準備環境 虛擬機器管理軟體:VMware Workstation 14 Pro 作業系統:CentOS-7-x86_64-Minimal-1804.iso 建立虛擬機器 第一步:開啟VMware,在左上角選單目錄中,點選“檔案”–>“新建虛擬機器