成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenSolaris xVM hypervisor配置實戰

原創
云計算 虛擬化
Xen將泛虛擬化引入傳統的個人電腦操作系統中,如Unix、Linux和Windows,它的出現和同時帶來的良好性能引起了其他虛擬化解決方案提供商的注意。

一 xVM hypervisor簡介

1 Sun xVM hypervisor的基礎Xen

Xen的泛虛擬化

Xen將泛虛擬化引入傳統的個人電腦操作系統中,如Unix、Linux和Windows,它的出現和同時帶來的良好性能引起了其他虛擬化解決方案提供商的注意。

今天,泛虛擬化解決方案已經獲得廣泛的認同和支持,也成了各個虛擬化解決方案提供商們優先考慮的方案之一。Xen將客戶機稱之為“虛擬域”,其中虛擬域0為服務域作為監控程序的擴展提供系統的管理服務。監控程序擁有部分硬件IO資源,如定時器處理期間中斷IPI等。隔離的設備驅動域(Isolated Driver Domain)也擁有部分的IO資源,如硬盤網卡等(其中虛擬域0也為設備驅動域)。普通虛擬域只有虛擬的設備,而沒有直接的硬件IO資源。另外Xen也將監控程序(Hypervisor)簡稱為“Xen”。泛虛擬化的Xen虛擬域運行在較低的優先級(Ring)上,只有hypervisor本身運行在最高優先級(Ring 0)上。Xen/x86泛虛擬化域的核心(Kernel)運行在優先級1上,而應用程序運行在優先級3上。隨著硬件虛擬化技術的成熟(如Intel的酷睿系列處理器),今天的Xen也同時支持完全虛擬化的客戶機,即沒有經過修改的操作系統可以運行在Xen上面。硬件虛擬化的客戶機運行在經過去特權(de-privileged)的優先級上,但客戶機仍然能夠看到4個完全的優先級(泛虛擬化的客戶機只能看到3個優先級)。圖1所示為Xen 3.0的架構。
 

 

圖1 Xen 3.0架構

#p#

2 Sun xVM hypervisor架構

xVM 是在 Xen 社區工作的基礎上開發的。系統運行時,Xen 的作用是在硬件和操作系統之間進行協調。 xVM 同時支持多個操作系統實例。每個實例被稱作一個“域(domain)”。有兩種不同的域:控制域(通常稱作 "dom0")和用戶域(稱作 "domU")。與 Solaris Zones 有所不同,xVM 的每個域都運行操作系統的一個完整實例。xVM 管理程序虛擬系統硬件。這顯然意味著xVM 管理程序在用戶域之間共享并分割系統資源 ( CPU、 memory、 NIC 等等)。 管理程序執行向操作系統提供虛擬平臺的低級管道,對于其他方面卻嚴重依賴于控制域??刂朴驔Q定創建哪些用戶域,訪問哪些資源,擁有多少內存等等。此外,xVM 不包含任何設備驅動程序,所以控制域執行所有的設備訪問。 Sun xVM hypervisor架構如圖2。
 

 

圖2 Sun xVM hypervisor架構

#p#

3 資源虛擬化

(1)中央處理器

xVM 分配給每個域一個或多個虛擬 CPU(vcpu)。每一個虛擬 CPU 包含與典型物理 CPU 相關的所有狀態:緩存器、標志、時間戳記等等。xVM 中的虛擬 CPU 就像 Solaris中的一個線程,是可以預訂的實體。當輪到一個域在 CPU 上運行時,xVM 把在 vcpu 中捕獲的狀態數據載入到物理 CPU 中并運行。Solaris將每一個虛擬 CPU 視為一個物理 CPU。當 xVM 選擇一個虛擬 CPU 運行時,xVM 將運行 Solaris 在虛擬 CPU 上加載的線程。

(2) 內存

Solaris 以頁的形式管理內存。當 Solaris 直接在硬件上運行時,使用系統 BIOS 或固件所提供的物理頁楨號。當系統在 xVM 下運行時,管理程序提供可用的物理頁面列表。為了將子操作程序(guest OS)從硬件中分離出來,為了啟用像動態遷移這樣的特性,由 xVM 提供的頁楨號并不反應被硬件識別的物理頁。而這些頁面反映系統內存的優化視圖。xVM 將訪客操作系統的“物理”頁號變換成硬件可識別的“機器楨號(MFN)”。

(3)設備

Dom0 Solaris 驅動等同于在裸機(bare metal )上運行的 Solaris 驅動。在全虛擬化用戶域中,xVM 將捕獲任何寫到 I/O 空間或者任何 DMA 操作的內容,并將這些請求直接轉發給控制域中合適的設備。這種捕獲和轉發操作開銷很大,所以對這類設備的訪問可能導致其性能下降,尤其是網絡設備更是如此。在泛虛擬化用戶域中,每個驅動都有一個在用戶域內呈現的“前端”和在控制域內運行的“后端”,這里簡稱 PV 驅動。前端驅動從 Solaris 獲取標準請求并將其轉發給后端驅動。后端驅動在物理硬件上執行請求,并將結果返回前端驅動,然后前端驅動通知 Solaris 請求完成。由于驅動清楚地識別到管理程序,它能夠和虛擬機以及后端驅動一起協作,使傳輸性能比全虛擬化環境下的驅動更好。

#p#

4 資源結構與管理

(1) 管理程序

xVM 管理程序基于一個開放源碼的項目,并且 xVM 社區廣受 Linux 用戶歡迎。僅需少量修改,管理程序就可以使 Solaris 以控制域的方式運行。

(2) Intel 平臺

根據對 xVM 的介紹,在 Intel 架構上有兩種不同的平臺:i86pc 和 i86xpv。i86pc 平臺指運行在裸機(bare metal )上的 Solaris 系統。i86xpv 平臺指運行在準虛擬化的 xVM 管理程序之上的 Solaris 系統。i86pc 和 i86xpv 這兩個平臺的相似之處多于不同之處。i86xpv平臺指定代碼在 sr/src/uts/i86xpv 下都可找到。絕大多數情況下,用戶和用戶端應用程序根本識別不到運行的平臺。在用戶級別上,在 i86pc 和 i86xpv 有完全一致的二進制兼容性。如果你認為有必要決定選用那個平臺,用 uname -i。

#p#

5 Sun xVM hypervisor硬件支持檢查

Xen虛擬機有兩種運行方式,即完全虛擬化(full virtualization)和泛虛擬化(para virtualization)。完全虛擬化提供底層物理系統的全部抽象化,并創建一個新的虛擬系統,客戶機操作系統可以在其中運行,不需要修改客戶機操作系統或者應用程序;泛虛擬化化需要修改運行在虛擬機上的客戶機操作系統并提供相近的性能,但泛虛擬化的性能要比完全虛擬化更優越。除了檢查中央處理器旗標以外,也應該使系統BIOS中的完整虛擬化生效。

(1) Linux 環境下檢查

如果用戶的計算機目前運行Linux 系統。要檢查中央處理器是否支持使用如下命令:

# grep vmx /proc/cpuinfo

flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm

如果一個vmx標志出現,表示擁有Intel處理器的虛擬化支持。

如果是AMD的中央處理器;則使用如下命令:

# grep svm /proc/cpuinfo

flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dt acpi mmx fxsr sse sse2 ss ht tm syscall nx mmtext fxsr_opt rdtscp lm 3dnowext pni cx16 lahf_lm cmp_legacy svm cr8_legacy

如果一個svm標志出現,表示擁有AMD處理器的虛擬化支持。

(2) Windows 環境下檢查

如果用戶的計算機目前運行Windows系統??梢韵螺d一個應用程序:securable 。securable能夠測試CPU能否支持完全虛擬化。圖3 是筆者Q6600的檢查結果。
 

 

圖3 筆者Q6600的檢查結果

對話框上Maximum Bit Length表示你的CPU是否支持64位模式;Hardware D.E.P表示是否支持基于硬件的數據保護;Hardware Virtualization就是表示當前CPU是否支持能否支持完全虛擬化。記住,只要有一項不滿足就不支持完全虛擬化。Hardware Virtualization 選項除了支持(Yes)和不支持(No)以外,還會有Locked OFF狀態,表示主板鎖定了,需要更改Bios設置相關hardware virtualization(硬件虛擬化)開關。

(3) Solaris 和OpenSolaris

如果用戶的計算機目前運行Solaris 和OpenSolaris ??梢允褂靡粋€腳本 。

在此下載http://blogs.sun.com/JoeBonasera/entry/detecting_hardware_virtualization_support_for

把該文件另存為cpuid.c

使用gcc編譯該腳本

#gcc -o cpuid.c -o cpuid

# ./cpuid

yes

如果顯示yes則可以使用完全虛擬化。

#p#

二 Sun xVM hypervisor配置實戰

 1 xVM Server 基礎平臺的安裝和初始配置

配置opensolaris 為xVM control Domain (dom0)

通過下面的步驟,我們可以將OpenSolaris 2009.06版本配置為 xVM dom0

(4) 創建一個單獨的引導環境(非必須):

# beadm create -a -d xvm xvm

(5) 安裝必要的軟件包:

# beadm mount xvm /tmp/xvm-be

# pkg -R /tmp/xvm-be install SUNWxvm SUNWlibvirt SUNWxvmdom SUNWxvmhvm SUNWvirt-manager SUNWvirtinst SUNWvdisk SUNWvncviewer

也可以通過圖形化的軟件包更新服務安裝 xvm-gui 軟件包集合來代替以上步驟。如圖4。

 

圖4 圖形化的軟件包更新服務安裝 xvm-gui 軟件包集合

# beadm umount xvm

(6) 為引導進入xVM環境創建GRUB菜單條目

編輯GRUB菜單的menu.lst 文件,為使用xVM添加一個啟動選項。這一步對beadm 重新引導進入xVM環境是必需的。

在/rpool/boot/grub/menu.lst文件中添加以下內容:

#============================ ADD For xVM===============================

title xvm

findroot (pool_rpool,0,a)

bootfs rpool/ROOT/xvm

kernel$ /boot/$ISADIR/xen.gz

module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=text

module$ /platform/i86pc/$ISADIR/boot_archive

#========================== End of LIBBE entry ============================

還可以修改引導環境修改為xvm,如圖5 。
 

 

圖5 可以修改引導環境修改為xvm

(7) 限制ZFS ARC

ZFS是集成在Solaris內核中的,如果我們把ZFS看成是一塊磁盤陳列卡,那么ARC就是陳列卡上的緩存。實際上個人任務ZFS就是一種存儲虛擬化技術,全球首個真正的RAID技術軟件實現。目前ZFS與dom0的互動能力比較差,很容易貪食所有的可用內存。所以有必要對ARC使用的物理內存進行限制。方法是在/etc/system文件中加入以下條目:

set zfs:zfs_arc_max = 0x40000000

以上設定限制ARC可用的最大物理內存為1GB。

此設定需要重新啟動系統來生效。

(8) 限制dom0內存

通過此Xen選項可以限制dom0使用的物理內存大小。例如在你有4G內存的情況下,可以限制dom0可用的物理內存為1G。

方法是修改/rpool/boot/grub/menu.lst文件中相應的kernel$ 條目最后添加dom0_mem 選項:

kernel$ /boot/$ISADIR/xen.gz dom0_mem=1024M

#p#

2 重新啟動系統進入xVM環境

現在grub菜單默認是xvm。啟動后使用root用戶登錄。

#p#

3 打開 xVM 服務:

#svcadm enable store

#svcadm enable xend

#svcadm enable console

#svcadm enable domains

#svcadm enable virtd

重啟系統后看一下 Xen 的內核(i86xpv)以及 xend 是否啟動:

# uname -a

SunOS vpsee 5.11 snv_111b i86pc i386 i86xpv

# xm list

Name ID Mem VCPUs State Time(s)

Domain-0 0 1879 2 r----- 24.0

#p#

4 使用virt-manager GUI工具創建新虛擬主機(Guest Domain)

xVM 和xen一樣可以使用virt-install 命令行工具或virt-manager GUI工具來創建新的虛擬機(GuestDomain/DomU),下面首先使用virt-manager GUI工具創建虛擬主機。

(1) 準備虛擬磁盤

ZFS Zvol 是一個虛擬block 設備,可以分配給xVM Guset Domain作為虛擬硬盤使用。

# zfs create -o compression=on -V 5G rpool/vm
(2)運行virt-manager

從應用程序菜單的系統工具菜單項中可以看到名為虛擬系統管理的項目。這個就是xen的GUI管理工具,單擊此條目后將出現一個窗口,選擇要連接的服務器(默認為本機)單擊“connect”即可連接到Xen Server(本機的Dom0),然后就能看到Virt-Manager的主界面如圖6。

 

圖6Virt-Manager的主界面

選中Domain-0 條目,在由鍵菜單中點擊“Detail”可查看Dom0 的系統資源詳細配置信息如圖7 。
 

 

圖7 Dom0 的運行狀態

(3)使用全虛擬化建立一個Linux 虛擬機

下面示例Guest Domain(DomU,或通俗得稱:虛擬機)的配置。

首先選擇主界面上的“新建”按鈕,隨后將看到新建虛擬機的向導首頁,單擊“前進”按鈕。如圖8 。
 

 

圖8 “創建新的虛擬系統”對話框

輸入虛擬系統的名稱“vm01”,單擊“前進”按鈕。打開 “選擇虛擬化方式”對話框,選中“Full Virtualized” (完全虛擬化)單選按鈕,然后單擊“前進”

打開如圖9所示的“定位安裝介質”對話框從ISO映像安裝,則指定ISO映像的位置,并且指定客戶機操作系統類型然后單擊“前進”按鈕。

 

圖9 則指定ISO映像的位置

打開如圖10所示的“分配存儲空間”對話框,選擇“Normal Disk Partition”單選按鈕。鍵入剛才建立虛擬磁盤的位置,

然后單擊“前進”按鈕。
 

 

圖10 “分配存儲空間”對話框

下面選擇DomU虛擬網卡要連接的網卡設備,默認為橋接模式。打開如圖11所示的“分配內存及CPU”對話框,根據實際情況為虛擬系統分配相應的內存和CPU數量,然后單擊“前進”按鈕。

 

圖11 “分配內存及CPU”對話框

下面打開如圖12 所示的“準備就緒,開始安裝”對話框,包括新DomU 配置清單,單擊“Finish”開始DomU OS的安裝。

 

圖12 “準備就緒,開始安裝”對話框

圖13是 建立新的虛擬機后的virt-manager 工作界面??梢钥吹絭m01的資源占用情況。
 

 

圖13 建立新的虛擬機后的virt-manager 工作界面

圖14是Xen虛擬機中的一個Linux版本的界面,
 

 

圖14 是Xen虛擬機中的一個Linux版本的界面 

#p#

5 使用命令行建立新的虛擬機

除了使用virt-manager 外還可以使用Xen 的命令建立虛擬機。下面看幾個例子:

l 從 ISO 文件(rhel-server-5.4-x86_64-dvd.iso)安裝rhel 5.4 客戶機

(1) 建立一個15GB zfs文件卷

# zfs create -b 4k -V 15G rpool/redhat.zvol

(2)掛載ISO文件
# mount -F hsfs /rpool/ISO/rhel-server-5.4-x86_64-dvd.iso /cdrom

# share -o ro /cdrom

(3)開始安裝

這里筆者的DNS 名稱是cjh1
# virt-install --name "Redhat" --disk path=/dev/zvol/dsk/rpool /redhat.zvol --paravirt --ram 1024 --os-type linux --os-variant rhel5 --location nfs:cjh1:/cdrom –nographics
The result:
Starting install...
Retrieving file .treeinfo 100% |=========================| 442 B 00:00
Retrieving file vmlinuz.. 100% |=========================| 1.9 MB 00:00
Retrieving file initrd.im 100% |=========================| 7.1 MB 00:00
Creating domain... 0 B 00:01
Connected to domain 67
Escape character is '^]'
Bootdata ok (command line is method=nfs:pgt01:/cdrom)
Linux version 2.6.18-164.el5xen (mockbuild@x86-003.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Tue Aug 18 15:59:52 EDT 2009
BIOS-provided physical RAM map:
Xen: 0000000000000000 - 0000000040800000 (usable)
No mptable found.
Built 1 zonelists. Total pages: 264192
Kernel command line: method=nfs:pgt01:/cdrom
Initializing CPU#0
……
幾分鐘后出現安裝界面如圖15 。
 

 

圖15 rhel 5.4安裝界面

限于篇幅過程從略,安裝完成界面如圖16 。
 

 

圖16 安裝完成界面

l 從 ISO 文件(osol-0906-x86.iso)安裝 OpenSoaris 客戶機

用 zfs 工具創建一個 volume 保存 guest 操作系統的 image文件:

# zfs create -o compression=on -V 9G rpool/vm1

# virt-install --nographics -p -r 1024 -n vm01 -f /dev/zvol/dsk/rpool/vm1 -l /export/home/cjh/osol-0906-x86.iso

注意這里 -p 選項是 paravirtualized 安裝

限于篇幅過程從略

進入客戶機:

# xm console vm01
如果要退出客戶機 的話,用 Ctrl + ] 就會回到主機。

l 從 ISO 文件(windowsxp.iso)安裝 Windows 客戶機

泛虛擬化不能安裝 windows操作系統,要安裝 windows操作系統 需要使用全虛擬化 選項并且要有 CPU 的支持(Intel VT or AMD V)。服務器上面通常沒有圖形界面,所以圖形化安裝 windows 需要打開 vnc 服務,并給 vnc 設置一個密碼,然后從 vnc client 登錄后就可以看到 windows 的安裝界面了:
# svccfg -s xvm/xend setprop config/vnc-listen = astring: 192.168.0.11
# svccfg -s xvm/xend setprop config/vncpasswd = astring: password
# zfs create -o compression=on -V 9G rpool/vm2

# virt-install -v --vnc -n vm02 -r 512 -f /dev/zvol/dsk/rpool/vm2 -c /export/home/cjh/windowsxp.iso --os-type=windows
限于篇幅過程從略

#p#

6 虛擬機管理命令xm

xm命令是用戶管理接口工具。這個程序可以建立、暫停和關閉domains。當然,也可以列出當前的domains,固​定​、激活vcpus,添加或者移除虛擬塊設備。

用法:

xm <子命令> [ARGS]

每個xm命令的基本格式是這樣的:

xm <子命令> <domain-id> [選項]

domain-id是domain的id或者domain的名字(domain會給解釋成domain-id),選項是子命令的特定選項。

xm常用子命令如下

  xm list:所有已知的虛擬機列表

  xm create:啟動一個非托管的虛擬機

  xm help:所有可用的xm命令概述

  xm top:提供所有虛擬機的狀態概貌

  xm console:打開控制臺管理虛擬機

  xm new:添加虛擬機到Xenbase托管環境

  xm start:從Xenbase托管環境啟動虛擬機

  xm destroy:像關掉電源那樣關閉虛擬機

  xm shutdown:正確地關掉虛擬機

  xm reboot:重新啟動虛擬機

  xm pause:暫停虛擬機的活動而不釋放使用的內存資源

  xm unpause:激活使用xm pause命令暫停的虛擬機

  xm save:保存虛擬機狀態到一個文件

xm restore:重新啟動已經保存在文件里的虛擬機

主要ARGS如下

-c:在domain創建的同時裝在控制臺。這個選項在domain崩潰的時候很有用。該選​項​允​許​你​連​接​至​文​本​控​制​臺​來​協​助​解​除​故​障​。​

-a:關​閉​系​統​里​的​所​有​域​。​

-w:​用​于​等​待​域​的​完​全​關​閉​。​

Count:必​須​指​定[count](以mb為​單​位​)。​

Vcpu:​希​望​指​定​的vcpu,[cpus]是​目​標​。​

​—long:提​供​你​所​指​定​的​域​的​更​詳​細​的​信​息​。​

—label:​添​加​了​一​個​字​段​來​顯​示label狀​態​。

Policy:二​進​制​策​略,​保​存​為​二​進​制​文​件。

#p#

7 Sun虛擬化項目比較

xVM Hypervisor和sun 平臺下其他虛擬機比較

表1 Sun幾種虛擬化技術的比較 

 

 

比較項目

資源管理

Zone

xVM Hypervisor

LDoms

VirtualBox

QEMU

性能

中等

中等

效率

中等

中等

可伸縮性

中等

中等

隔離程度

中等

靈活性

中等

可移植性

中等

中等

使用難易

中等

 

 

 

責任編輯:王勇 來源: 51CTO
相關推薦

2009-06-03 16:10:34

OpenSolaris

2009-06-14 08:34:53

OpenSolaris開源

2010-08-13 10:19:46

2009-02-16 17:10:17

OpenSolarisLinux 挑戰

2010-01-26 13:43:05

2011-04-12 09:13:51

OpenIndianaSolaris替代品

2010-08-19 09:10:53

SolarisOpenSolaris甲骨文

2013-01-22 11:39:05

2013-01-08 10:43:00

2009-06-08 10:47:34

SunOpenSolaris測試

2012-06-26 09:14:08

OpenSolaris

2010-07-07 14:53:00

OpenSolaris

2020-12-07 08:00:00

服務器Hypervisor數據中心

2010-04-16 10:08:26

OpenSolaris甲骨文

2010-07-19 14:57:58

OpenSolarisOracle

2009-10-29 13:24:41

2015-09-14 09:24:52

hypervisor虛擬化

2015-09-30 10:12:19

hypervisor

2010-08-16 09:47:06

2009-04-23 18:06:24

Linux甲骨文Sun
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久一区 | 精品一二三区 | 综合色久 | 国产精品18hdxxxⅹ在线 | 日韩在线中文字幕 | 99热99 | 蜜桃视频在线观看免费视频网站www | 亚洲国产精品成人无久久精品 | 羞羞视频在线观看 | 亚洲啪啪一区 | 日韩欧美一区二区三区免费看 | a级免费黄色片 | 中文字幕av一区二区三区 | 午夜精品久久久久久久久久久久 | 黄色国产在线播放 | 久久久爽爽爽美女图片 | 日韩一级二级片 | 香蕉久久a毛片 | 亚洲精品一区二区三区丝袜 | 蜜臀网 | 日日夜夜天天 | 99re国产视频 | 久久久国产精品入口麻豆 | 国产成人小视频 | 中文字幕亚洲区一区二 | 亚洲啪啪| 四虎影院新地址 | 91最新入口 | 一级黄色片美国 | 欧美高清视频在线观看 | 欧美日韩在线一区 | 国产精品99久久久久久宅男 | 国产精品成人国产乱一区 | 美美女高清毛片视频免费观看 | 日本特黄a级高清免费大片 成年人黄色小视频 | 日韩av免费在线观看 | 日本天堂视频在线观看 | 男人天堂视频在线观看 | 久久久久久久久久久福利观看 | 日韩成人在线免费观看 | 日韩精品在线免费 |