官术网_书友最值得收藏!

第2章 開始自己的第一臺虛擬機

通過第1章對KVM的發展歷史、架構及應用場景的介紹,讀者對KVM技術有了初步的了解和認識。本章將介紹如何創建一臺KVM虛擬機、操作步驟及要點。對于熟悉或者使用過KVM虛擬化的讀者,本章內容可以快速閱讀或者跳過。

2.1 服務器BIOS設置

KVM的使用必須有硬件虛擬化支持,所以需要打開CPU的硬件虛擬化特性。對于大多數服務器,如Dell、HP、IBM、浪潮、聯想、華為等,在開機啟動的第一個畫面都會有一些提示的按鍵,圖2-1所示是Dell R610開機啟動的第一個畫面。

圖2-1 Dell R610開機啟動的第一個畫面

該界面提供了如下幾個選項:

?按F2鍵進入System Setup,進去之后可以進行一些BIOS相關的配置。

?按F10鍵進入System Services,進去之后可以配置一些系統服務,主要用于服務器的配置和檢測。

?按F11鍵進入BIOS Boot Manager,進入之后可以選擇啟動介質,比如從硬盤啟動、虛擬DVD設備、USB設備,等等。

?按F12鍵進入PXE,進入之后啟動網絡引導。

提示

不同的廠商服務器,功能鍵的定義會有一些差別,可以根據提示來操作。

在安裝KVM虛擬化之前,需要先確認CPU虛擬化支持是否開啟。在如圖2-1所示的服務器開機界面中按F2鍵,然后進入BIOS配置,選擇Processor Setting,按Enter鍵進入子菜單,其中一項Virtualization Technology必須配置為Enabled(選擇菜單項,按方向鍵右鍵可更改配置),如圖2-2所示。

圖2-2 開啟CPU虛擬化支持

提示

不同廠商的服務器,CPU Virtualization Technology開關的位置會有些差別,一般都在處理器配置菜單之下。近年來服務器上的CPU一般都支持CPU虛擬化,在系統中可以執行egrep '(vmx|svm)' /prov/CPUinfo 命令查看,如果有輸出內容,說明CPU是支持虛擬化的。

2.2 宿主機CentOS6.5、CentOS7系統安裝與配置技巧

通過2.1節的配置,已經打開了服務器CPU對虛擬化的支持,下面開始安裝宿主機的操作系統。CentOS6.x是目前使用比較多的宿主機操作系統版本,當前最新版本是CentOS6.6。CentOS 7從系統跨度來說,是CentOS的一個大版本升級,其中主要包括內核版本的跨越。CentOS6.x系列使用的是2.6.32.x的內核,CentOS7.x則使用3.10.x的內核。

1.CentOS6.5宿主機系統安裝及配置

在生產環境中,安裝CentOS 6.5系統的宿主機,筆者采用pxe方式來完成批量的宿主機部署。pxe配置過程的資料很多,本書就不做詳細介紹了,下面分享一個宿主機安裝kickstart文件的內容,是筆者實際在生產環境中使用的。

# Kickstart file automatically generated by anaconda
# 系統安裝自動生成的kickstart文件
install
url --url=http://10.10.10.1/system/CentOS6564
# 指定安裝鏡像的目錄,可以將不同的系統放在不同的目錄,這樣可以完成多個系統安裝
lang en_US.UTF-8
# 宿主機建議使用英文
keyboard us
network --onboot yes --device eth0 --mtu=1500 --bootproto dhcp
network --onboot yes --device eth1 --noipv4 --noipv6
# 設置網絡,筆者裝機的時候,一般第一個網卡使用dhcp分配IP,第二個網卡關閉。讀者可以根據自己的
  實際情況進行修改
rootpw cEmXc2pkKets   #配置系統密碼
text
reboot
# 文本方式安裝,安裝后重啟
firewall --disabled
authconfig --useshadow --passalgo=sha512
# 用戶密碼加密seLinux --disabled #關閉SELinux
##################################################
# Installation logging level
logging --level=info
# Do not configure the X Window System
skipx
##################################################
timezone Asia/Shanghai #配置時區
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
clearpart --all --initlabel #清除硬盤數據,并創建相應分區
part /boot --fstype ext3 --size=256
part pv.3 --size=40960
part pv.4 --size=100 --grow
volgroup datavg --pesize=32768 pv.4
volgroup KVMvg --pesize=32768 pv.3
logvol /datapool --fstype ext4 --name=datapool --vgname=datavg --size=10240--grow #此處創建了一個目錄,用于存放虛擬機,筆者習慣的目錄是/datapool
logvol swap --fstype swap --name=swap --vgname=KVMvg --size=8192
logvol / --fstype ext4 --name=root --vgname=KVMvg --size=30720
%packages
# 安裝虛擬化需要的包,主要有:
@virtualization
@Base
@Core
@additional-devel
@base
@large-systems
@storage-client-iscsi
@system-management-snmp
@virtualization
@virtualization-client
@virtualization-platform
@virtualization-tools
#####################################################
%end

使用上面的kickstart配置文件安裝完宿主機系統,可以通過rpm -q命令檢查一下具體安裝了哪些包。

[root@localhost ~]# rpm -qa|grep -E 'qemu|libvirt|virt'
libvirt-client-0.10.2-29.el6.x86_64
#Libvirt的客戶端,最重要的功能之一就是就在宿主機關機時可以通知虛擬機也關機,
#使虛擬機系統正常關機,而不是被強制關機,造成數據丟失
gpxe-roms-qemu-0.9.7-6.10.el6.noarch #虛擬機iPXE的啟動固件,支持虛擬機從網絡啟動
libvirt-python-0.10.2-29.el6.x86_64   #libvirt為Python提供的API
python-virtinst-0.600.0-18.el6.noarch #一套Python的虛擬機安裝工具
qemu-KVM-0.12.1.2-2.415.el6.x86_64 #KVM在用戶空間運行的程序
Virt-manager-0.9.0-19.el6.x86_64 #基于 Libvirt 的圖像化虛擬機管理軟件
libvirt-0.10.2-29.el6.x86_64   #用于管理虛擬機,它提供了一套虛擬機操作API
virt-viewer-0.5.6-8.el6.x86_64 #顯示虛擬機的控制臺console
virt-top-1.0.4-3.15.el6.x86_64 #類似于top命令,查看虛擬機的資源使用情況
virt-what-1.11-1.2.el6.x86_64 #在虛擬機內部執行,查看虛擬機運行的虛擬化平臺
qemu-img-0.12.1.2-2.415.el6.x86_64 #用于操作虛擬機硬盤鏡像的創建、查看和格式轉化

在KVM環境中,以上rpm包都是必需的。讀者可以檢查當前系統里面是否已經安裝rpm,如果沒有,可使用“yum install組件名稱”命令直接安裝。

2.CentOS7宿主機系統安裝及配置

CentOS 7宿主機的安裝與CentOS 6的系統安裝方式類似,系統安裝完之后,確認已經安裝了如下的rpm相關包。Libvirt還包含了很多工具的庫,可以使用yum install libvirt*命令安裝。

[root@KVM-host-CentOS7 ~]# rpm -qa|grep -E 'qemu-img|libvirt-[0-9]|virt-install'
qemu-img-1.5.3-60.el7_0.10.x86_64
virt-install-0.10.0-20.el7.noarch
libvirt-1.1.1-29.el7_0.3.x86_64
[root@KVM-host-CentOS7 ~]# lsmod |grep KVM #查看KVM模塊是否載入
KVM_intel 138567 6
KVM 441119 1 KVM_intel

Libvirt及guestfish相關的工具在平時的運維過程中經常會用到,建議使用yum install libguest*libvirt*命令安裝。

2.3 第一臺虛擬機安裝

本節介紹如何開始安裝第一臺虛擬機。首先需要新建一臺虛擬機,然后通過諸如物理機安裝的方式為虛擬機安裝操作系統。但是一般不會使用pxe、cobbler等網絡引導方式安裝,因為這樣安裝虛擬機系統太慢了。虛擬化相比于物理機,其中一個優勢就是創建快速。所以,一般都會使用ISO鏡像文件安裝第一臺虛擬機,然后將這臺虛擬機做成虛擬機模板,之后的虛擬機都是由這個模板生成的。后面第16章會詳細介紹虛擬機模板的創建。本節將介紹兩個KVM虛擬化中常用的管理工具,用它們來創建虛擬機。

提示

模板的概念在虛擬化中非常重要,實際上絕大多數虛擬機都是通過模板克隆出來的,而不是像物理機那樣安裝出來的。有的云管理平臺還有鏡像市場的概念,就像應用商店,可以上傳、下載各種模板。

1.Virt-Manager使用介紹

Virt-Manager是一個圖形化的虛擬機管理工具,它提供了一個簡易的虛擬機操作界面。要使用它,需要先安裝圖形化界面,下面以CentOS6.5系統為例,需要安裝如下組件。

[root@KVM-host ~]#yum groupinstall -y "Desktop" "Desktop Platform" "Desktop
Platform Development" "Fonts" "General Purpose Desktop" "Graphical Administration
Tools" "Graphics Creation Tools" "Input Methods" "X Window System" "Chinese Support
[zh]" "Internet Browser"

一般來說,服務器都是在IDC機房中的,為了看到宿主機的圖形化界面,還需要安裝配置VNC。

[root@KVM-host ~]#yum install -y tigervnc
[root@KVM-host ~]#yum install -y tigervnc-server
<!-- 安裝VNC程序軟件包tigervnc和tigervnc-server -->
[root@KVM-host ~]#vim /etc/sysconfig/vncservers
VNCSERVERS="1:root" #配置宿主機VNC虛擬機顯示器為1,端口是5901
VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
#虛擬機顯示器[2] 監聽的IP是0.0.0.0,虛擬顯示器[1]監聽127.0.0.1,屏幕分辨率為800×600
[root@KVM-host ~]# vncpasswd #設置VNC密碼
Password:
Verify:
[root@KVM-host ~]# service vncserver restart #啟動vnc-server
Shutting down VNC server:                                              [ OK ]
Starting VNC server: 1:root xauth: creating new authority file /root/.Xauthority
New 'whcq-netinst-121:1 (root)' desktop is KVM-host:1
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/ KVM-host:1.log
                        [ OK ]

配置完成之后,使用VNC Viewer登錄宿主機的圖形界面,在VNC Server組合框中輸入宿主機的“IP:端口”,端口是之前配置的,本例中輸入192.168.106.221:5901,如圖2-3所示。

提示

VNC Viewer使用中,有時候會出現VNC Viewer界面閃退,可以通過修改網絡速度解決這個問題。在如圖2-4所示的位置,取消勾選該復選框,調節滑塊到Best quality。

圖2-3 使用VNC Viewer登錄宿主機圖形界面

圖2-4 VNC Viewer配置網絡速率

VNC Viewer配置完成之后,回到圖2-3所示的界面,單擊Connect按鈕,出現如圖2-5所示界面,提示輸入密碼,此處的密碼是之前通過vncpasswd命令設置的VNC Server密碼。

圖2-5 VNC Viewer登錄界面

輸入正確密碼之后,應該就可以登錄成功了,出現如圖2-6所示界面。

圖2-6 宿主機VNC登錄之后界面

在菜單中,選擇Applications菜單中的System Tools子菜單,選擇打開Virtual Machine Manager,如圖2-7所示。其中列出了當前宿主機上所有的虛擬機,并顯示了簡單的CPU利用率信息。在圖形界面中可以對虛擬化做常規操作,如創建、刪除、編輯、配置及查看遠程終端等。

圖2-7 Virtual Machine Manager界面

2.virt-install命令使用介紹

virt-install是一個在命令行創建KVM虛擬機的工具,使用virt-install配合一些配置參數,最終可以生成一個完整的.xml虛擬機配置文件。

#virt-install --name=testvm --ram=2048 --vCPUs=4 --os-type=Windows --hvm
--cdrom=/root/W2003cnent.iso --file=/root/SDG100.img --file-size=10
--bridge=br0 --vnc --vncport=5920

參數說明如下。

?--name:設置虛擬機名稱。

?--ram:配置虛擬機內存,單位是MB。

?--vCPUs:配置CPU個數。

?--hvm:配置使用全虛擬化。

?--os-type:指定操作系統類型,如Linux、Windows。

?--cdrom:使用cdrom安裝系統,指定ISO位置。

?--file:設置虛擬機硬盤文件路徑。

?--file-size:配置虛擬機硬盤文件大小,單位是GB。

?--bridge:配置橋接的網卡。

?--vnc:打開VNC支持。

?--vncport:配置VNC端口。

執行上述命令之后,virt-install會創建一臺名為testvm的虛擬機,并使用W2003cnent. iso鏡像文件安裝系統。此時使用VNC Viewer,在VNC Server中輸入宿主機ip:vncport,便可登錄虛擬機的控制臺,此時虛擬機開始從ISO引導,安裝虛擬機系統的步驟和安裝普通服務器系統是一樣的,這里就不詳述了。

3.Windows虛擬機安裝注意事項

第一次安裝Windows虛擬機的時候,經常會碰到以下幾個問題。

(1)qcow2格式的磁盤如何操作

Virt-Manager默認創建的磁盤格式是RAW格式,如果需要使用qcow2格式的磁盤,必須用qemu-img create手工先創建一個qcow2格式的磁盤鏡像。

qemu-img create Windows-test.qcow2 -f qcow2 50G

然后如圖2-8所示,在Virt-Manager上指定qcow2格式。

圖2-8 Virt-Manager需要手工選擇qcow2方式

提示

在使用virt-install命令,磁盤鏡像格式為qcow2時,在virt-install命令中要特別指明磁盤格式,否則會出現鏡像復制之后虛擬機系統不能啟動的現象,這往往是初學者容易忽視的地方。

(2)光驅自動消失問題

Windows系統安裝的時候,重啟后找不到光盤。

KVM新創建虛擬機,第一次掛載的光驅,重啟后自動消失,這是一個功能,專門針對Linux系統,但是Windows系統安裝的時候需要多次重啟,所以安裝時第一次重啟后,會出現如圖2-9所示的界面,需要再手工掛載一下Windows系統ISO鏡像。

圖2-9 Virt-Manager需要手工選擇再加載光驅一次

也可以修改虛擬機的xml配置文件,光驅配置的xml文件如下:

<disk type='file' device='cdrom'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/home/CentOS-7.0-1406-x86_64-DVD.iso'/>
<target dev='hdb' bus='ide'/>
<readonly/>
</disk>

(3)鼠標不同步問題

Windows在KVM上會出現鼠標不同步問題,如圖2-10所示,再添加一個USB鼠標設備就可以解決。

圖2-10 Virt-Manager需要手工添加USB指針設備

添加一個USB鼠標設備的xml文件如下:

<input type='tablet' bus='usb'/>

提示

如果添加兩次USB設備,Windows系統虛擬機系統啟動會藍屏,所以只能添加一次USB設備。

4.Linux虛擬機安裝注意事項

Linux系統的安裝除了會碰到Windows系統安裝的qcow2磁盤格式問題、鼠標不同步的問題,Linux虛擬機的安裝還可以使用一種非常有意思的方式,就是可以直接指定內核文件路徑,然后直接加載,如圖2-11所示。

圖2-11 通過指定內核文件安裝虛擬機

提示

內核文件需要使用安裝光盤中的images下的pxe內核文件。

系統引導起來之后,會根據kickstart文件來下載系統,然后安裝,如圖2-12和圖2-13所示。

圖2-12 虛擬機啟動后根據kickstart文件路徑下載安裝文件

圖2-13 隨后根據kickstart文件安裝系統

2.4 本章小結

本章介紹了如何安裝宿主機、如何安裝虛擬機及虛擬機安裝時的一些注意事項。讀者可以正式開始自己的虛擬化環境搭建了,在搭建的時候,還有許多技術點需要了解,下一章將為讀者介紹KVM虛擬機CPU、內存方面的技術及應用場景。

主站蜘蛛池模板: 习水县| 内乡县| 阜宁县| 神池县| 桐庐县| 天台县| 昭通市| 贞丰县| 阳西县| 民县| 广西| 遵义市| 阜南县| 铅山县| 郎溪县| 离岛区| 定结县| 临高县| 湖州市| 东乡族自治县| 南安市| 彭山县| 静海县| 大宁县| 宜兴市| 淮北市| 新乡县| 社旗县| 丁青县| 新平| 北辰区| 肃南| 神木县| 阜宁县| 利津县| 安义县| 湖南省| 石河子市| 游戏| 如东县| 太仆寺旗|