版 1
/etc/grub.conf
ftpd
固定粗體字型(Mono-spaced Bold)
To see the contents of the filemy_next_bestselling_novel
in your current working directory, enter thecat my_next_bestselling_novel
command at the shell prompt and press Enter to execute the command.
Press Enter to execute the command.Press Ctrl+Alt+F1 to switch to the first virtual terminal. Press Ctrl+Alt+F7 to return to your X-Windows session.
Mono-spaced Bold
. For example:
File-related classes includefilesystem
for file systems,file
for files, anddir
for directories. Each class has its own associated set of permissions.
Choose Mouse Preferences. In the Buttons tab, click the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).from the main menu bar to launchTo insert a special character into a gedit file, choose from the main menu bar. Next, choose from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose from the gedit menu bar.
Mono-spaced Bold Italic
or Proportional Bold Italic
To connect to a remote machine using ssh, typessh
at a shell prompt. If the remote machine isusername
@domain.name
example.com
and your username on that machine is john, typessh john@example.com
.Themount -o remount
command remounts the named file system. For example, to remount thefile-system
/home
file system, the command ismount -o remount /home
.To see the version of a currently installed package, use therpm -q
command. It will return a result as follows:package
.
package-version-release
When the Apache HTTP Server accepts requests, it dispatches child processes or threads to handle them. This group of child processes or threads is known as a server-pool. Under Apache HTTP Server 2.0, the responsibility for creating and maintaining these server-pools has been abstracted to a group of modules called Multi-Processing Modules (MPMs). Unlike other modules, only one module from the MPM group can be loaded by the Apache HTTP Server.
Mono-spaced Roman
並且以此方式顯示:
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
Mono-spaced Roman
不過會被以下列方式顯示並強調:
package org.jboss.book.jca.ex1; import javax.naming.InitialContext; public class ExClient { public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); } }
virt-manager
、libvirt
與 virt-viewer
。
自訂套件(視需要而定)
%packages
一節裡,加入以下套件群組:
%packages @kvm
yum
來安裝 KVM hypervisorkvm
套件。kvm
套件包含著 KVM kernel 模組,並在預設的 Linux kernel 上提供 KVM hypervisor。
kvm
套件,請執行:
# yum install kvm
python-virtinst
virt-install
指令。
libvirt
libvirt
是與 hypervisor 互動的 API 函式庫。libvert
使用的是 xm
虛擬化架構;而 virsh
是用來管理與控制虛擬機器的命令列工具。
libvirt-python
libvirt
API 所提供的介面。
virt-manager
virt-manager
,又稱虛擬機器管理員,提供了一個用來管理虛擬機器的圖形化工具。它使用了 libvirt
函式庫為進行管理用的 API。
# yum install virt-manager libvirt libvirt-python python-virtinst
virt-install
來建立客座端。本章將提及這兩種方法。
virt-install
指令來建立虛擬化客座端。您可以藉由互動式方式來使用 virt-install
,或用於一個 script 中來自動化虛擬機器的建置。當使用 virt-install
和 kickstart 檔案時,您可進行無人式的虛擬機器安裝程序。
virt-install
工具提供了幾個您可傳送至指令列上的選項。要看完整的選項,請執行:
$ virt-install --help
virt-install
的 man page 也為每個選項與重要的變數,提供了詳細資訊。
qemu-img
是相關指令,可以在使用 virt-install
之前,設定儲存選項。
--vnc
,它會為客座端的安裝過程,開啟圖形化介面的視窗。
rhel3support
。本範例使用光碟片來安裝,有虛擬網路與 5GB 的區塊裝置映像檔;同時使用的是 KVM hypervisor。
# virt-install --accelerate --hvm --connect qemu:///system \ --network network:default \ --name rhel3support --ram=756\ --file=/var/lib/libvirt/images/rhel3support.img \ --file-size=6 --vnc --cdrom=/dev/sr0
# virt-install --name Fedora11 --ram 512 --file=/var/lib/libvirt/images/Fedora11.img \ --file-size=3 --vnc --cdrom=/var/lib/libvirt/images/Fedora11.iso
virt-manager
為虛擬機器管理員,適用來建立、管理虛擬客座端的圖形工具。
# virt-manager &
virt-manager
指令會開啟一個新的圖形化用戶介面。若您沒有 root 權限或沒有使用 sudo
的話,許多功能都無法選擇,包括 按鈕。如此一來您將無法建立新的虛擬機器。
kernel-xen
不是正在執行的核心,半虛擬化選項就無法選擇。
HTTP
、FTP
或 NFS
。安裝媒介的網址必須包含 Fedora 的安裝目錄樹,此目錄樹乃透過使用 NFS
、FTP
或 HTTP
所 host 的。您可使用主電腦,或另一個鏡像來提供這些網路服務與檔案。
.iso
)。掛載映像檔之後,利用以上任何一種通訊協定來提供檔案。
.iso
或 .img
)。一般來講,Windows 的安裝程序所使用的是 .iso
檔案,Linux 或類似 UNIX 的作業系統在使用網路上的安裝樹之前,會使用 .iso
檔案來安裝基本系統。
/var/lib/xen/images/
目錄中,這就是 Fedora 中,基於檔案的映像檔常規。其它目錄位置皆會被 SELinux 所禁用。若您的 SELinux 是處於強制(enforcing)模式下,請參閱 節 7.1, “SELinux 和虛擬化” 以取得更多有關於安裝客座端的詳細資訊。
/var/lib/xen/images/
。若您使用了一個不同的位置(比方說在此範例中為 /xen/images/
),請確認該位置已被加入至您的 SELinux 政策中,並且在繼續進行安裝程序之前先將它重新標記(之後,在本文件中您將會發現如何修改您 SELinux 政策的相關資訊)。
virt-manager
來建立客座端的一般步驟就已完成。章 3, 客座端作業系統的安裝程序 包含了逐步的指示,並指示您該如何安裝各種常見的作業系統。
建立新的橋接裝置
/etc/sysconfig/network-scripts/
目錄裡建立新的網路 script 檔。這範例建立了名為 ifcfg-installation
的檔案,這檔案包含了一個名為 installation
的橋接裝置。
# cd /etc/sysconfig/network-scripts/ # vim ifcfg-installation DEVICE=installation TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes
TYPE=Bridge
, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'.
啟動新的橋接裝置。 # ifup installation
brctl show
指令,來檢視系統上關於橋接裝置的詳細資料。
# brctl show bridge name bridge id STP enabled interfaces installation 8000.000000000000 no virbr0 8000.000000000000 yes
virbr0
橋接裝置是 libvirt
的預設橋接裝置,用在預設乙太網路的 NAT(網路位址轉譯)功能上。
將介面加至新的橋接裝置上
BRIDGE
參數。
# Intel Corporation Gigabit Network Connection DEVICE=eth1 BRIDGE=installation BOOTPROTO=dhcp HWADDR=00:13:20:F7:6E:8E ONBOOT=yes
# service network restart
brctl show
指令,來檢查介面是否已經連上。
# brctl show bridge name bridge id STP enabled interfaces installation 8000.001320f76e8e no eth1 virbr0 8000.000000000000 yes
安全配置
iptables
to allow all traffic to be forwarded across the bridge.
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT # service iptables save # service iptables restart
iptables
rules. In /etc/sysctl.conf
append the following lines:
net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
sysctl
# sysctl -p /etc/sysctl.conf
在安裝之前重新啟動 libvirt
libvirt
daemon.
# service libvirtd reload
virt-install
裡,新增 --network=bridge:BRIDGENAME
安裝參數。要透過 PXE 來安裝,請使用 --pxe
參數。
# virt-install --accelerate --hvm --connect qemu:///system \ --network=bridge:installation --pxe\ --name EL10 --ram=756 \ --vcpus=4 --os-type=linux --os-variant=rhel5 --file=/var/lib/libvirt/images/EL10.img \
選擇 PXE
選擇橋接裝置
開始安裝
kernel-xen
核心。
virt-manager
上的相關指南,請參閱 節 2.2, “透過 virt-manager 來建立客座端” 中的程序。
virt-install
工具來建立半虛擬化客座端。--vnc
選項會顯示圖形化的安裝程序。範例中的客座端名稱為 rhel5PV
,磁碟映像檔案為 rhel5PV.dsk
,而 Red Hat Enterprise Linux 5 安裝目錄的本機鏡像為 ftp://10.1.1.1/trees/CentOS5-B2-Server-i386/
。請根據您系統與網路的實際狀況來替換這些值。
# virt-install -nrhel5PV
-r 500 \ -f /var/lib/libvirt/images/rhel5PV.dsk
-s 3 --vnc -p \ -lftp://10.1.1.1/trees/CentOS5-B2-Server-i386/
DHCP
(如下所示)或是靜態 IP 位址:
安裝號碼
」欄位中:
rhn_register
指令,在安裝完成過後確認您的 Red Hat Network 帳號詳情。使用 rhn_register
指令將需要 root 存取權限。
# rhn_register
virt-install
時,客座端的名稱就已被選取。若您使用了預設的範例,那麼這組名稱便是 rhel5PV
。
virsh reboot rhel5PV
virt-manager
、選擇您客座端的名稱、按下「 」,然後按下「 」。
kdump
。
yum
來新增軟體套件。請按下「 」按鈕。
Open virt-manager
virt-manager
. Launch the application from the menu and submenu. Alternatively, run the virt-manager
command as root.
Select the hypervisor
qemu
.
Start the new virtual machine wizard
Name the virtual machine
Choose a virtualization method
Select the installation method
Locate installation media
/var/lib/libvirt/images/
目錄。任何其它的位置可能將需要額外的 SELinux 組態設定,詳情請參閱 節 7.1, “SELinux 和虛擬化”。
Storage setup
/var/lib/libvirt/images/
目錄中。請為您的虛擬化客座端指定足夠的儲存空間。請為您的虛擬客座端以及任何它所需要的應用程式指定足夠的儲存空間。
請按下 來繼續進行。
Network setup
Memory and CPU allocation
Verify and start guest installation
安裝 Linux
Starting virt-manager
為虛擬系統命名
選擇虛擬化的方法
選擇安裝方法
/var/lib/libvirt/images/
目錄。任何其它的位置可能需要經過額外的 SELinux 組態設定,詳情請參閱 節 7.1, “SELinux 和虛擬化”。
/var/lib/libvirt/images/
目錄中,這就是 Fedora 中,基於檔案的映像檔的常規。其它目錄皆會被 SELinux 所禁用。如果您的 SELinux 是處於強制(enforcing)模式,請參閱 節 7.1, “SELinux 和虛擬化” 以取得安裝客座端的詳細資訊。
/var/lib/libvirt/images/
。若您使用了一個不同的位置(比方說在此範例中為 /images/
),請確認該位置已被加入至您的 SELinux 政策中並且在繼續進行安裝程序之前先將它重新標記(之後,在本文件中您將會發現如何修改您 SELinux 政策的相關資訊)。
Network setup
HAL
,當您看見了 Windows 安裝程序中的對話窗格,請選擇 Generic i486 Platform
分頁(您可透過使用上下鍵來瀏覽選項)。
# virsh start WindowsGuest
WindowsGuest
是虛擬機器的名稱。
virsh reboot WindowsGuestName
指令來將虛擬機器重新啟動。這一般會使安裝程序繼續進行。當您重新啟動虛擬機器時,您將會看見一則 Setup is being restarted
的訊息:
virt-install
指令,來安裝 Windows Server 2003 的完整虛擬化客座端。virt-install
可以用來代替 virt-manager。這項程序與 節 3.3, “安裝 Windows XP 客座端為完整的虛擬化客座端” 中所涵蓋的 Windows XP 安裝方法類似。
virt-install
來安裝 Windows Server 2003,Windows 客座端的主控台會開啟 virt-viewer 視窗。使用 virt-install
來安裝 Windows Server 2003 客座端的範例為:
virt-install
指令來安裝。
# virt-install -hvm -s 5 -f /var/lib/libvirt/images/windows2003spi1.dsk \ -n windows2003sp1 -cdrom=/ISOs/WIN/en_windows_server_2003_sp1.iso \ -vnc -r 1024
標準 PC
」作為您的電腦類型,這是唯一所需要的非標準步驟。
Open virt-manager
virt-manager
. Launch the application from the menu and submenu. Alternatively, run the virt-manager
command as root.
Select the hypervisor
qemu
.
Start the new virtual machine wizard
Name the virtual machine
Choose a virtualization method
Select the installation method
Locate installation media
/var/lib/libvirt/images/
目錄中。任何其它位置都需要經過額外設定 SELinux,詳情請參閱 節 7.1, “SELinux 和虛擬化”。
Storage setup
/var/lib/libvirt/images/
目錄裡。請為虛擬化客座端與其所需的應用程式,指定足夠的儲存空間。
請按下 來繼續進行。
Network setup
Memory and CPU allocation
Verify and start guest installation
安裝 Windows
dd
指令來建立磁碟片映像檔。請將 /dev/fd0
取代為磁碟片裝置的名稱並適當地為磁碟片命名。
# dd if=/dev/fd0 of=~/legacydrivers.img
virt-manager
所建立的,它的映像檔位於 /var/lib/libvirt/images/rhel5FV.img
中。範例中使用了 Xen hypervisor。
virsh
指令,來為您的客座端映像檔建立 XML 配置檔案。
# virsh dumpxml rhel5FV > rhel5FV.xml
# dd if=/dev/zero of=/var/lib/libvirt/images/rhel5FV-floppy.img bs=512 count=2880
<disk type='file' device='floppy'> <source file='/var/lib/libvirt/images/rhel5FV-floppy.img'/> <target dev='fda'/> </disk>
# virsh stop rhel5FV
# virsh create rhel5FV.xml
dd
指令來建立一個 sparse 檔案。基於資料完整性以及效能上的考量,我們不建議您使用 sparse 檔案。Sparse 檔案可快速地建立,並且可被使用來進行測試,不過不該使用於生產環境中。
# dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M seek=4096 count=0
# dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M count=4096
Guest1
並且檔案儲存在使用者的家目錄中。
# virsh dumpxmlGuest1
> ~/Guest1
.xml
Guest1.xml
),並尋找以「disk=
」作為起始的項目。此項目會看似:
>disk type='file' device='disk'< >driver name='tap' type='aio'/< >source file='/var/lib/libvirt/images/Guest1.img'/< >target dev='xvda'/< >/disk<
disk=
項目的結尾部份來新增額外的儲存裝置。請確認您已為虛擬區塊裝置指定了一組在該配置檔案中未被使用的裝置名稱。下列範例項目會新增一個名為 FileName.img
、並用來作為基於檔案的儲存容器的檔案:
>disk type='file' device='disk'< >driver name='tap' type='aio'/< >source file='/var/lib/libvirt/images/Guest1.img'/< >target dev='xvda'/< >/disk< >disk type='file' device='disk'< >driver name='tap' type='aio'/< >source file='/var/lib/libvirt/images/FileName.img'/< >target dev='hda'/< >/disk<
# virsh create Guest1.xml
FileName.img
這個檔案來作為名為 /dev/hdb
的裝置。此裝置需要藉由客座端來格式化。在客座端上,請將整個裝置分割為一個主要分割區,然後格式化此裝置。
n
來建立新分割區。
# fdisk /dev/hdb Command (m for help):
p
來選擇主要分割區。
Command action e extended p primary partition (1-4)
1
來選取。
分割區號碼(1-4):1
Enter
來輸入預設的第一個磁柱。
第一個磁柱(1-400、預設 1):
Enter
來分配整個磁碟。
最後的磁柱或是 +size 或 +sizeM 或 +sizeK(2-400,預設 400):
t
來設定分割區類型。
Command (m for help): t
1
。
分割區號碼(1-4):1
83
。
Hex code(輸入 L 來列出編碼):83
Command (m for help):w
Command (m for help):q
ext3
檔案系統來格式化新的分割區。
# mke2fs -j /dev/hdb
# mount /dev/hdb1 /myfiles
multipath
來設定裝置以及主機上的一致性。
virsh attach
指令。請將 myguest
取代為您客座端的名稱,將 /dev/hdb1
取代為欲新增的裝置,並將 hdc
取代為裝置在客座端上的位置。hdc
必須是一組未被使用的裝置名稱。若是 Windows 客座端的話請使用 hd*
標記,客座端將可正確地辨識裝置。
--type hdd
參數至指令。
--type floppy
參數至指令。
# virsh attach-diskmyguest
/dev/hdb1
hdc
--driver tap --mode readonly
D:
槽(在 Windows 上)已有了一個名為 /dev/hdb
的新硬碟裝置。此裝置可能會需要格式化。
udev
來實做了 LUN 裝置的持續性。請只針對未使用 multipath
的主機進行這項程序。
/etc/scsi_id.config
檔案。
options=-b
一行已被標為註解。
# options=-b
options=-g
udev
設定為假設所有連接的 SCSI 裝置都會回傳一組 UUID。
scsi_id -g -s /block/sd*
這項指令。例如:
# scsi_id -g -s /block/sd* 3600a0b800013275100000015427b625e
/dev/sdc
裝置的 UUID。
scsi_id -g -s /block/sd*
指令所得到的 UUID 輸出與存取該裝置的電腦的 UUID 是相同的。
/etc/udev/rules.d
目錄中建立一個名為 20-names.rules
的檔案。請將新的規則新增至此檔案中。所有規則都會以相同的格式被附加至相同的檔案中。規則的格式如下:
KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT=UUID
, NAME=devicename
UUID
和 devicename
取代為以上所取得的 UUID,以及裝置的名稱。以下為上述範例的規則:
KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT="3600a0b800013275100000015427b625e", NAME="rack4row16"
udev
daemon 現在會為規則中的 UUID 搜尋所有名為 /dev/sd*
的裝置。一旦符合的裝置連上了系統,該裝置就會被分配來自於規則中的名稱。UUID 為 3600a0b800013275100000015427b625e 的裝置將會被顯示為 /dev/rack4row16
。
/etc/rc.local
:
/sbin/start_udev
/etc/scsi_id.config
、/etc/udev/rules.d/20-names.rules
和 /etc/rc.local
檔案中的變更複製至所有相關的主機上。
/sbin/start_udev
multipath
套件適用於由電腦至儲存裝置含有超過一個實體路徑的系統。multipath
可為連至 Linux 系統的網路儲存裝置提供容錯(fault tolerance)、錯誤移轉(fail-over)以及增強的效能。
multipath
的環境下實做 LUN 的持續性的話,您必須為多重路徑裝置定義別名名稱。所有儲存裝置都有一組作為別名名稱之金鑰的 UUID。請透過使用 scsi_id
指令來辨識裝置的 UUIS。
# scsi_id -g -s /block/sdc
/dev/mpath
目錄中。在下列範例中,有 4 個裝置定義於 /etc/multipath.conf
中:
multipaths { multipath { wwid 3600805f30015987000000000768a0019 alias oramp1 } multipath { wwid 3600805f30015987000000000d643001a alias oramp2 } mulitpath { wwid 3600805f3001598700000000086fc001b alias oramp3 } mulitpath { wwid 3600805f300159870000000000984001c alias oramp4 } }
/dev/mpath/oramp1
、/dev/mpath/oramp2
、/dev/mpath/oramp3
和 /dev/mpath/oramp4
。一旦輸入之後,裝置的 WWID 至它們新名稱的映射便會擁有永續性。
virsh
指令搭配 attach-disk
參數。
# virsh attach-disk [domain-id] [source] [target] --driver file --type cdrom --mode readonly
source
和 target
的參數為相應的主機和客座端上的檔案與裝置路徑。source
參數可以是 ISO 檔案的路徑,或是來自於 /dev
目錄的裝置之路徑。
# setenforce 1
AutoFS
、NFS
、FTP
、HTTP
、NIS
、telnetd
、sendmail
等等)。
/var/lib/libvirt/images/
下。若您的虛擬機器映像檔處於一個不同的目錄中,請確認您有將該目錄附加至您的 SELinux 政策中,並在啟動安裝程序之前將它重新標記。
vsftpd
伺服器的位置。
/var/lib/libvirt/images
中。
volumegroup
的卷冊群組上建立了一個 5GB 的邏輯卷冊,名為 NewVolumeName
。
# lvcreate -nNewVolumeName
-L5G
volumegroup
NewVolumeName
邏輯卷冊。
# mke2fs -j /dev/volumegroup/NewVolumeName
/etc
、/var
、/sys
)或是家目錄中(/home
或 /root
)。此範例使用了一個名為 /virtstorage
的目錄。
# mkdir /virtstorage
# mount/dev/volumegroup/NewVolumeName
/virtstorage
semanage fcontext -a -t xen_image_t "/virtualization(/.*)?"
semanage fcontext -a -t virt_image_t "/virtualization(/.*)?"
/etc/selinux/targeted/contexts/files/file_contexts.local
檔案中,這將可保留變更的一致性。附加的一行看似:
/virtstorage(/.*)? system_u:object_r:xen_image_t:s0
/virtstorage
)的類型、以及它之下的所有檔案更改為 xen_image_t
(restorecon
和 setfiles
會讀取 /etc/selinux/targeted/contexts/files/
中的檔案)。
# restorecon -R -v /virtualization
# semanage fcontext -a -t xen_image _t -f -b /dev/sda2 # restorecon /dev/sda2
xend_disable_t
這個 boolean 參數可被用來在重新啟動 daemon 後將 xend
設定為自由模式(unconfined mode)。建議您不要將目錄重新標記為您會在其它地方使用到的 xen_image_t
。
libvirt
標準安裝皆會為新安裝的虛擬機器提供基於 NAT 的連結性。這亦稱為「預設虛擬網路」。請透過 virsh net-list --all
指令來驗證它的可用性。
# virsh net-list --all Name State Autostart ----------------------------------------- default active yes
# virsh net-define /usr/share/libvirt/networks/default.xml
/usr/share/libvirt/networks/default.xml
來定義的
# virsh net-autostart default Network default marked as autostarted
# virsh net-start default Network default started
libvirt
預設網路開始運作後,您將會看見一個孤立的橋接裝置。此裝置沒有附加任何實體介面卡,因為它使用了 NAT 與 IP 轉發來連至外面的世界。請勿新增介面卡。
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes
libvirt
會新增 iptables
規則以允許來自於客座端以及至客座端的流量,此客座端連至了 INPUT
、FORWARD
、OUTPUT
和 POSTROUTING
chain 中的 virbr0
裝置。libvirt
接著便會嘗試啟用 ip_forward
這個參數。有些應用程式可能會將 ip_forward
停用,因此最好的作法就是將下列一行附加至 /etc/sysctl.conf
。
net.ipv4.ip_forward = 1
<interface type='network'> <source network='default'/> </interface>
<interface type='network'> <source network='default'/> <mac address='00:16:3e:1a:b3:4a'/> </interface>
/etc/xen/xend-config.sxp
並更改下列一行來停用預設的 Xen 網路橋接:
(network-script network-bridge)
(network-script /bin/true)
# chkconfig NetworkManager off # chkconfig network on # service NetworkManager stop # service network start
NM_CONTROLLED=no
」附加至使用於範例中的 ifcfg-*
script。
/etc/sysconfig/network-scripts
目錄:
# cd /etc/sysconfig/network-scripts
ifcfg-eth0
定義了實體網路介面卡,並且它已被設為橋接的一部分。
DEVICE=eth0 # change the hardware address to match the hardware address your NIC uses HWADDR=00:16:76:D6:C9:45 ONBOOT=yes BRIDGE=br0
MTU
變數附加至配置檔案尾端,來設定裝置的最大傳輸單元(Maximum Transfer Unit,MTU)。
MTU=9000
/etc/sysconfig/network-scripts
目錄中,建立一個新的網路 script,並命名為 ifcfg-br0
或類似名稱。br0
為橋接的名稱,只要檔案名稱與 DEVICE 參數相同的話,這組名稱將能設為任何名稱。
DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0
TYPE=Bridge
, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'.
# service network restart
iptables
to allow all traffic to be forwarded across the bridge.
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT # service iptables save # service iptables restart
iptables
rules. In /etc/sysctl.conf
append the following lines:
net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
sysctl
# sysctl -p /etc/sysctl.conf
libvirt
daemon.
# service libvirtd reload
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes br0 8000.000e0cb30550 no eth0
virbr0
橋接是完全獨立的。「請勿」嘗試將實體裝置連至 virbr0
。virbr0
橋接只適用於網路位址轉譯(NAT)連結性。
下載驅動程式
/usr/share/virtio-win/
目錄中安裝一個光碟映像檔 virtio-win.iso
。
安裝半虛擬化驅動程式
virt-manager
來掛載光碟映像檔。” 來以 virt-manager
新增一個光碟映像檔。
virt-manager
來掛載光碟映像檔。virt-manager
,由虛擬機器清單中選擇您的虛擬客座端,並按下「 」按鈕。
yum
來安裝這些半虛擬化驅動程式套件的話,.iso 檔案的位置就會是 /usr/share/xenpv-win
。
viostor.vfd
附加為一片磁碟片。
Windows Server 2003
Windows Server 2008
virtio
驅動程式來代替虛擬化 IDE 驅動程式,以修改連至客座端的現有硬碟裝置。此範例編輯了 libvirt 配置檔案。此外,virt-manager
、virsh attach-disk
或 virsh attach-interface
皆可透過使用半虛擬化驅動程式 使用 KVM 半虛擬化驅動程式於新裝置上 來新增裝置。
<disk type='file' device='disk'> <source file='/var/lib/libvirt/images/disk1.img'/> <target dev='hda' bus='ide'/> </disk>
virtio
來使用半虛擬化裝置。
<disk type='file' device='disk'>
<source file='/var/lib/libvirt/images/disk1.img'/>
<target dev='hda' bus='virtio'/>
</disk>
virt-manager
來新建裝置。
virsh attach-disk
或 virsh attach-interface
指令皆可被使用來連接使用了半虛擬化驅動程式的裝置。
virt-manager
中的客座端名稱,來開虛擬化客座端。
內容目錄
xend
來管理客座端/etc/xen/xend-config.sxp
來指定作業參數。下列為能在 xend-config.sxp
配置檔案中啟用與停用的參數:
項目 | Description |
---|---|
(console-limit)
|
測定主控台伺服器的記憶體緩衝限制 xend_unix_server 並以單一網域的準則來指定數值。
|
(min-mem)
|
測定預留給 domain0(如果輸入為 0,則數值不會改變)的最小數值(以 megabyte 為單位)。
|
(dom0-cpus)
|
測定 domain0 所使用的 CPU 數量(就預設值來講,至少會有一個 CPU 被指定)。
|
(enable-dump)
|
在發生當機時啟用傾印(預設為 0)。
|
(external-migration-tool)
|
測定用來對應外部裝置移植的 script 或應用程式。Script 必須置於
/etc/xen/scripts/external-device-migrate 中。
|
(logfile)
|
決定日誌檔案的位置(預設為
/var/log/xend.log )。
|
(loglevel)
|
過濾記錄模式的數值:DEBUG、INFO、WARNING、ERROR 或 CRITICAL(預設值為 DEBUG)。
|
(network-script)
|
決定用來啟用網路環境的 script(該 script 必須置於
/etc/xen/scripts 目錄中)。
|
(xend-http-server)
|
啟用 http 串流封包管理伺服器(預設值為停用)。
|
(xend-unix-server)
|
啟用 unix domain socket 伺服器(這伺服器是通訊終點,用來因應低層級網路連線並接受或拒絕進入的連線)。預設值為啟用。
|
(xend-relocation-server)
|
啟用重置的伺服器來跨主機移植(預設為停用)。
|
(xend-unix-path)
|
決定
xend-unix-server 指令輸出資料的位置(預設為 /var/lib/xend/xend-socket )
|
(xend-port)
|
決定 http 管理伺服器所使用的通訊埠(預設為 8000)。
|
(xend-relocation-port)
|
決定重置伺服器所使用的通訊埠(預設為 8002)。
|
(xend-relocation-address)
|
決定允許系統移植的虛擬主機位址。預設值為
xend-address 的值。
|
(xend-address)
|
決定 domain socket 伺服器所綁定至的位址。預設值可允許所有的連線。
|
service xend start
service xend stop
service xend restart
service xend status
xend
chkconfig
指令來將 xend
附加至 initscript
。
chkconfig --level 345 xend
xend
現在會在 runlevel 3、4 和 5 模式下啟動。
ntpd
服務:
# service ntpd start
# chkconfig ntpd on
ntpd
服務便能有效降低所有時鐘偏移(clock skew)情況下所造成的影響。
constant_tsc
旗標存在的話,您的 CPU 便擁有一致的時間戳記計數器。若要檢查您的 CPU 是否擁有 constant_tsc
旗標,請執行下列指令:
$ cat /proc/cpuinfo | grep constant_tsc
constant_tsc
。若沒有得到任何結果的話,請依照下列步驟進行。
constant_tsc
的話,請停用所有電源管理功能(BZ#513138)。每部系統都有幾個它用來管理時間的計時器。TSC 在主機上不穩定,這有時是因為 cpufreq
的變更、deep C 狀態(休眠狀態的一種),或是遷移至一部含有較快 TSC 的主機所造成的。若要停止 deep C 狀態的話(這將會使 TSC 停下),請將「processor.max_cstate=1
」新增至主機上的 grub 中的 kernel 開機選項:
term Fedora (vmlinuz-2.6.29.6-217.2.3.fc11)
root (hd0,0)
kernel /vmlinuz-vmlinuz-2.6.29.6-217.2.3.fc11 ro root=/dev/VolGroup00/LogVol00 rhgb quiet processor.max_cstate=1
/etc/sysconfig/cpuspeed
配置檔案來停用 cpufreq
(只有在沒有 constant_tsc
的主機上才需要這麼作)並將 MIN_SPEED
和 MAX_SPEED
更改為最高的速率。有效的限制可在 /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies
檔案中找到。
/boot/grub/grub.conf
檔案中的 /kernel
一行尾端來設定。
Red Hat Enterprise Linux | 額外的客座端 kernel 參數 |
---|---|
含有半虛擬化時鐘的 5.4 AMD64/Intel 64 | 無須額外的參數 |
無半虛擬化時鐘的 5.4 AMD64/Intel 64 | divider=10 notsc lpj=n |
含有半虛擬化時鐘的 5.4 x86 | 無須額外的參數 |
沒有半虛擬化時鐘的 5.4 x86 | divider=10 clocksource=acpi_pm lpj=n |
5.3 AMD64/Intel 64 | divider=10 notsc |
5.3 x86 | divider=10 clocksource=acpi_pm |
4.8 AMD64/Intel 64 | notsc divider=10 |
4.8 x86 | clock=pmtmr divider=10 |
3.9 AMD64/Intel 64 | 無須額外的參數 |
3.9 x86 | 無須額外的參數 |
boot.ini
檔案中。若要啟用半虛擬化時鐘,請新增下列一行:
/use pmtimer
virsh
指令來將客座端遷移至另一部主機上。migrate
指令接受下列參數格式:
# virsh migrate --live GuestName DestinationURL
GuestName
parameter represents the name of the guest which you want to migrate.
DestinationURL
parameter is the URL or hostname of the destination system. The destination system must run the same version of Fedora, be using the same hypervisor and have libvirt
running.
test1.bne.redhat.com
遷移至 test2.bne.redhat.com
的範本。請更改您環境的主機名稱。此範例遷移了一部名為 CentOS4test
的虛擬機器。
驗證客座端是否正在運作
test1.bne.redhat.com
上驗證 CentOS4test
是否正在運作:
[root@test1 ~]# virsh list Id Name State ---------------------------------- 10 CentOS4 running
遷移客座端
test2.bne.redhat.com
。請將 /system
附加至目標 URL 的尾端來讓 libvirt 知道您需要完整的存取權限。
# virsh migrate --live CentOS4test qemu+ssh://test2.bne.redhat.com/system
等待
virsh
只會回報錯誤。客座端會繼續在來源主機上執行直到完全被遷移。
驗證客座端已到達目標主機
test2.bne.redhat.com
上驗證 CentOS4test
是否有在運作:
[root@test2 ~]# virsh list Id Name State ---------------------------------- 10 CentOS4 running
virt-manager
來遷移基於 KVM 的客座端。
ssh
或是 TLS 與 SSL 來遠端管理您的虛擬化客座端。
libvirt
管理連線並安全地通過了一個 SSH 連線來管理遠端機器。所有認證都是透過使用 SSH 公共金鑰加密,以及透過您本機 SSH 代理程式所蒐集的密碼或密語來進行的。此外,各個客座端虛擬機器的 VNC 主控台都會通過 SSH。
virt-manager
設定 SSH 存取virt-manager
的機器上擁有一組公共金鑰配對。若您已設定了 ssh
的話,您便可跳過這項指令。
$ ssh-keygen -t rsa
virt-manager
在每部執行 libvirt
的遠端機器上都需要一份公開金鑰。請透過使用 scp
指令,從您想要進行遠端管理的機器上複製 $HOME/.ssh/id_rsa.pub
這個檔案:
$ scp $HOME/.ssh/id_rsa.pub root@somehost:/root/key-dan.pub
ssh
以 root 身份連至遠端機器並將您複製的檔案附加至已認證之金鑰的清單。若遠端主機上的 root 使用者還未擁有一列已認證之金鑰的清單,請確認檔案權限已正確設置
$ ssh root@somehost
# mkdir /root/.ssh
# chmod go-rwx /root/.ssh
# cat /root/key-dan.pub >> /root/.ssh/authorized_keys
# chmod go-rw /root/.ssh/authorized_keys
libvirt
daemon(libvirtd
)libvirt
daemon 提供了一個管理虛擬機器的介面。您必須安裝了 libvirtd
daemon 並在所有您需要管理的遠端主機上執行它。欲使用 Fedora kernel-xen
套件,您需要進行特殊的相關步驟。
$ ssh root@somehost
# chkconfig libvirtd on
# service libvirtd start
libvirtd
和 SSH 經過設定後,您便應該能夠遠端存取並管理您的虛擬機器。至此,您也應該能夠透過 VNC
來存取您的客座端。
libvirt
管理連線會為連入的連線開啟一個 TCP 通訊埠,該通訊埠會透過安全的加密,以及基於 x509 憑證的驗證來受到保護。除此之外,所有客座端虛擬機器的 VNC 主控台都會被設定為使用 TLS 以及 x509 憑證來進行驗證。
libvirt
伺服器設定/etc/xen/xend-config.sxp
這個配置檔案來啟用 TLS。請將配置檔案中的 (vnc-tls 1)
設定參數的註解符號移除掉。
/etc/xen/vnc
目錄需要下列 3 個檔案:
ca-cert.pem
- CA 憑證
server-cert.pem
- CA 所簽署的伺服器憑證
server-key.pem
- 伺服器私密金鑰
(vnc-x509-verify 1)
參數上的註解移除掉。
virt-manager
和 virsh
客戶端設定libvirt
管理 API,CA 與客戶端憑證就必須被放置在 /etc/pki
中。如欲取得更多相關資訊,請參閱 http://libvirt.org/remote.html。
virt-manager
用戶介面中使用 這項傳輸機制選項。
virsh
的話 URI 的格式會如下:
qemu://hostname.guestname/system
。
xen://hostname.guestname/
。
$HOME/.pki
之中,也就是以下的三個檔案:
ca-cert.pem
- CA 憑證。
libvirt-vnc
或 clientcert.pem
- CA 所簽署的客戶端憑證。
libvirt-vnc
或 clientkey.pem
- 客戶端私密金鑰。
libvirt
支援下列傳輸模式:
/var/run/libvirt/libvirt-sock
以及 /var/run/libvirt/libvirt-sock-ro
(唯讀連線)。
libvirtd
)必須在遠端機器上執行。通訊埠 22 必須開啟才可進行 SSH 存取。您應該使用某種 ssh 金鑰管理(例如 ssh-agent
工具)否則您將會被提示輸入密碼。
統一資源識別元(Uniform Resource Identifier,URI)一般會被 virsh
和 libvirt
使用來連至遠端主機。URI 亦可與 --connect
參數搭配使用,讓 virsh
指令在遠端主機上執行單獨的指令或遷移。
driver[+transport]://[username@][hostname][:port]/[path][?extraparameters]
ccurran
,連至遠端 Xen hypervisor 上名為 towada
的主機。
xen+ssh://ccurran@towada/
towada
的遠端 Xen hypervisor。
xen://towada/
towada
上的遠端 Xen hypervisor。no_verify=1
會讓 libvirt 知道無須去驗證伺服器的憑證。
xen://towada/?no_verify=1
towada
上的遠端 KVM hypervisor。
qemu+ssh://towada/system
qemu+unix:///system?socket=/opt/libvirt/run/libvirt/libvirt-sock
test+tcp://10.1.1.10:5000/default
名稱 | 傳輸模式 | Description | 使用範例 |
---|---|---|---|
name | 所有模式 | 傳送至遠端 virConnectOpen 函式的名稱。這組名稱一般是透過移除來自於遠端 URI 的傳輸、主機名稱、連接埠號、使用者名稱和額外參數所形成的,不過在一些非常複雜的情況下,您最好明確地提供這組名稱。 | name=qemu:///system |
command | ssh 和 ext | 外部指令。進行 ext 傳輸時需要這項指令。ssh 的預設值則是 ssh。指令的路徑(PATH)會被搜尋。 | command=/opt/openssh/bin/ssh |
socket | unix 和 ssh | UNIX 網域 socket 的路徑,這會置換掉預設值。進行 ssh 傳輸時,這會被傳送至遠端的 netcat 指令(請查看 netcat)。 | socket=/opt/libvirt/run/libvirt/libvirt-sock |
netcat | ssh | netcat 指令在遠端機器上的名稱。預設值為 nc。當進行 ssh 傳輸時,libvirt 會建立一項 ssh 指令看似:command -p port [-l username] hostname netcat -U socket,連接埠、使用者名稱、主機名稱皆可被指定為遠端 URI 的一部分,netcat 和 socket 則來自於額外的參數(或是適當的預設值)。 | netcat=/opt/netcat/bin/nc |
no_verify | tls | 若設為一個非零的值,這將會停用客戶端的伺服器憑證檢測。請注意,若要停用客戶端憑證或 IP 位址的伺服器檢測的話,您必須更改 libvirt 的組態設定。 | no_verify=1 |
no_tty | ssh | 若設為一個非零的值,這將會停止 ssh 在無法自動地(透過使用 ssh-agent 等等)登入遠端機器時,要求使用者輸入密碼。請在您沒有終端機存取權限時使用它 - 比方說在使用 libvirt 的圖形化程式中。 | no_tty=1 |
內容目錄
vmstat
iostat
lsof
# lsof -i :5900 xen-vncfb 10635 root 5u IPv4 218738 TCP grumble.boston.redhat.com:5900 (LISTEN)
qemu-img
systemTap
crash
xen-gdbserver
sysrq
sysrq t
sysrq w
sysrq c
brtcl
# brctl show bridge name bridge id STP enabled interfaces xenbr0 8000.feffffffffff no vif13.0 pdummy0 vif0.0
# brctl showmacs xenbr0 port no mac addr is local? aging timer 1 fe:ff:ff:ff:ff:ff yes 0.00
# brctl showstp xenbr0 xenbr0 bridge id 8000.feffffffffff designated root 8000.feffffffffff root port 0 path cost 0 max age 20.00 bridge max age 20.00 hello time 2.00 bridge hello time 2.00 forward delay 0.00 bridge forward delay 0.00 aging time 300.01 hello timer 1.43 tcn timer 0.00 topology change timer 0.00 gc timer 0.02 flags vif13.0 (3) port id 8003 state forwarding designated root 8000.feffffffffff path cost 100 designated bridge 8000.feffffffffff message age timer 0.00 designated port 8003 forward delay timer 0.00 designated cost 0 hold timer 0.43 flags pdummy0 (2) port id 8002 state forwarding designated root 8000.feffffffffff path cost 100 designated bridge 8000.feffffffffff message age timer 0.00 designated port 8002 forward delay timer 0.00 designated cost 0 hold timer 0.43 flags vif0.0 (1) port id 8001 state forwarding designated root 8000.feffffffffff path cost 100 designated bridge 8000.feffffffffff message age timer 0.00 designated port 8001 forward delay timer 0.00 designated cost 0 hold timer 0.43 flags
ifconfig
tcpdump
ps
pstree
top
kvmtrace
kvm_stat
xentop
xm dmesg
xm log
virsh
是個用來管理客座端和 hypervisor(管理程序)的指令列介面工具。
virsh
這項工具建置於 libvirt
管理 API 上,並且可作為替代 xm
工具和圖形化客座端管理程式(virt-manager
)的額外選項來進行作業。無權限的使用者只可使用 virsh
的唯讀模式。您可使用 virsh
來執行客座端機器的 script。
指令 | Description |
---|---|
help
| 印出基本協助資訊。 |
list
| 列出所有客座端。 |
dumpxml
| 輸出客座端的 XML 配置檔案。 |
create
| 由一個 XML 配置檔案來建立客座端並啟用新的客座端。 |
start
| 啟用一個未啟用中的客座端。 |
destroy
| 強制客座端停下。 |
define
| 輸出客座端的 XML 配置檔案。 |
domid
| 顯示客座端的 ID。 |
domuuid
| 顯示客座端的 UUID。 |
dominfo
| 顯示客座端的相關資訊。 |
domname
| 顯示客座端的名稱。 |
domstate
| 顯示客座端的狀態。 |
quit
| 退出互動式終端機。 |
reboot
| 重新啟動客座端。 |
restore
| 恢復之前已儲存於一個檔案中的客座端。 |
resume
| 恢復一個暫停中的客座端。 |
save
| 將客座端目前的狀態儲存至一個檔案中。 |
shutdown
| 正常地停用客座端。 |
suspend
| 將客座端暫停。 |
undefine
| 刪除與某個客座端有關聯的所有檔案。 |
migrate
| 將客座端遷移至另一部主機上。 |
virsh
指令選項來管理客座端和 hypervisor 資源:
指令 | Description |
---|---|
setmem
| 為客座端設置分配記憶體。 |
setmaxmem
| 設定 hypervisor 所能使用的記憶體最大限制。 |
setvcpus
| 更改分配給客座端的虛擬 CPU 數量。 |
vcpuinfo
| 顯示有關於客座端的虛擬 CPU 資訊。 |
vcpupin
| 控制客座端的虛擬 CPU 相似性。 |
domblkstat
| 顯示正在執行中的客座端的區塊裝置數據。 |
domifstat
| 顯示執行中的客座端的網路介面卡數據。 |
attach-device
| 透過使用某個 XML 檔案中的裝置定義來將裝置附加至客座端上。 |
attach-disk
| 附加新磁碟裝置至客座端。 |
attach-interface
| 附加新網路介面卡至客座端。 |
detach-device
|
將裝置從客座端上分離,接受與 attach-device 指令相同類型的 XML 描述。
|
detach-disk
| 將磁碟裝置由客座端上移除。 |
detach-interface
| 將網路介面卡由客座端上移除。 |
virsh
指令:
指令 | Description |
---|---|
version
|
顯示 virsh 的版本
|
nodeinfo
| 輸出有關於 hypervisor 的相關資訊 |
virsh
來連至一個 hypervisor session:
# virsh connect {hostname OR URL}
<name>
為 hypervisor 的機器名稱。若您希望進行唯讀的連線,請搭配使用上述指令與 -readonly
。
virsh
來輸出客座端的 XML 配置檔案:
# virsh dumpxml {domain-id, domain-name or domain-uuid}
stdout
)中。您可透過將輸出傳送至一個檔案來儲存這些資料。以下為傳送輸出至一個名為 guest.xml
的檔案的範例:
# virsh dumpxmlGuestID
>guest.xml
guest.xml
這個檔案可被用來重新建立客座端(請參閱 編輯客座端的配置檔案)。您可編輯此 XML 配置檔案來設定額外的裝置或是建置額外的客座端。欲取得更多有關於修改透過 virsh dumpxml
所建立的檔案的相關資訊,請參閱 節 18.1, “搭配使用 virsh 與 XML 配置檔案”。
virsh dumpxml
輸出的範例:
# virsh dumpxml r5b2-mySQL01 <domain type='xen' id='13'> <name>r5b2-mySQL01</name> <uuid>4a4c59a7ee3fc78196e4288f2862f011</uuid> <bootloader>/usr/bin/pygrub</bootloader> <os> <type>linux</type> <kernel>/var/lib/libvirt/vmlinuz.2dgnU_</kernel> <initrd>/var/lib/libvirt/initrd.UQafMw</initrd> <cmdline>ro root=/dev/VolGroup00/LogVol00 rhgb quiet</cmdline> </os> <memory>512000</memory> <vcpu>1</vcpu> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <interface type='bridge'> <source bridge='xenbr0'/> <mac address='00:16:3e:49:1d:11'/> <script path='vif-bridge'/> </interface> <graphics type='vnc' port='5900'/> <console tty='/dev/pts/4'/> </devices> </domain>
dumpxml
選項(請參閱 建立一個虛擬機器的 XML 傾印(配置檔案))。若要透過 virsh
來從一個 XML 檔案建立客座端,請輸入:
# virsh create configuration_file.xml
dumpxml
選項(請參閱 建立一個虛擬機器的 XML 傾印(配置檔案)),客座端可在執行時或離線時被進行編輯。virsh edit
指令提供了這項功能。比方說,若要編輯一個名為 softwaretesting
的客座端:
# virsh edit softwaretesting
$EDITOR
shell 參數(預設值為 vi
)。
virsh
來中止客座端:
# virsh suspend {domain-id, domain-name or domain-uuid}
resume
(復原客座端)選項來重新啟動。
virsh
指令和 resume
選項來恢復使用一個中止的客座端:
# virsh resume {domain-id, domain-name or domain-uuid}
suspend
和 resume
作業。
virsh
指令來將客座端目前的狀態儲存至一個檔案中:
# virsh save {domain-name, domain-id or domain-uuid} filename
restore
(復原客座端)選項來恢復客座端的狀態。儲存與暫停相似,除了只將客座端暫停之外,它還會儲存客座端的目前狀態。
# virsh restore filename
virsh
指令來關閉客座端:
# virsh shutdown {domain-id, domain-name or domain-uuid}
on_shutdown
參數來控制重新啟動中的客座端之特性。
virsh
指令來重新啟動客座端:
#virsh reboot {domain-id, domain-name or domain-uuid}
on_reboot
參數來控制重新啟動中的客座端之特性。
virsh
指令來停止客座端:
# virsh destroy {domain-id, domain-name or domain-uuid}
virsh destroy
極有可能造成客座端檔案系統損毀。您應該僅在客座端沒有回應時才使用 destroy
選項。若是半虛擬化客座端的話,您則應使用 shutdown
選項(shutdown
option(關閉客座端)來代替。
# virsh domid {domain-name or domain-uuid}
# virsh domname {domain-id or domain-uuid}
# virsh domuuid {domain-id or domain-name}
virsh domuuid
指令輸出的範例:
# virsh domuuid r5b2-mySQL01 4a4c59a7-ee3f-c781-96e4-288f2862f011
virsh
以及客座端的網域 ID、網域名稱或 UUID 來顯示特定客座端上的資訊:
# virsh dominfo {domain-id, domain-name or domain-uuid}
virsh dominfo
指令的輸出範例:
# virsh dominfo r5b2-mySQL01 id: 13 name: r5b2-mysql01 uuid: 4a4c59a7-ee3f-c781-96e4-288f2862f011 os type: linux state: blocked cpu(s): 1 cpu time: 11.0s max memory: 512000 kb used memory: 512000 kb
# virsh nodeinfo
virsh nodeinfo
指令輸出的範例:
# virsh nodeinfo CPU model x86_64 CPU (s) 8 CPU frequency 2895 Mhz CPU socket(s) 2 Core(s) per socket 2 Threads per core: 2 Numa cell(s) 1 Memory size: 1046528 kb
virsh
來顯示客座端清單以及它們目前的狀態:
# virsh list
--inactive
選項可列出非啟用中的客座端(也就是已定義但尚未啟用的客座端),以及
--all
選項將會列出所有客座端。例如:
# virsh list --all Id Name State ---------------------------------- 0 Domain-0 running 1 Domain202 paused 2 Domain010 inactive 3 Domain9600 crashed
virsh list
的輸出被分為下列六個狀態的其中之一。
running
狀態代表 CPU 上正啟用中的客座端。
blocked
的客座端已被封鎖,並且沒有在執行中或是無法執行。這可能是因為客座端等待 I/O(傳統的等待狀態)或是客座端進入睡眠模式所造成的。
paused
狀態會列出被暫停的網域。若是有位系統管理員使用了 virt-manager
中的 pause 按鈕、xm pause
或 virsh suspend
的話,這就有可能會發生。當客座端暫停時,它會消耗記憶體與其它資源,不過它無法透過 hypervisor 來進行記憶體與 CPU 資源的排程。
shutdown
狀態為正在進行關閉程序的客座端。客座端會收到一則關閉訊號,並且應該要正常地進行它的作業關閉程序。這也許無法適用於所有客座端作業系統;有些作業系統不會回應這些訊號。
dying
的網域正處於關閉狀態中,在此狀態下,網域還未完全關閉或當機。
crashed
的客座端在執行時發生了錯誤並且已不再運作了。此狀態只可能在客座端被設為當機時不會重新啟動的情況下才會發生。
virsh
來由客座端顯示虛擬 CPU 資訊:
# virsh vcpuinfo {domain-id, domain-name or domain-uuid}
virsh vcpuinfo
指令的輸出範例:
# virsh vcpuinfo r5b2-mySQL01 VCPU: 0 CPU: 0 State: blocked CPU time: 0.0s CPU Affinity: yy
# virsh vcpupin {domain-id, domain-name or domain-uuid} vcpu, cpulist
vcpu
為虛擬 VCPU 的數量,而 cpulist
則會列出 CPU 的實體數量。
virsh
來修改指定給客座端的 CPU 數量:
# virsh setvcpus {domain-name, domain-id or domain-uuid} count
count
計數值不可超過當您建立客座端時所指定的數值。
virsh
來修改客座端的記憶體配置:
# virsh setmem {domain-id or domain-name} count
virsh domblkstat
來顯示啟用中的客座端的區塊裝置數據。
# virsh domblkstat GuestName block-device
virsh domifstat
來顯示執行中的客座端的網路介面卡數據。
# virsh domifstat GuestName interface-device
virsh
來被遷移至另一部主機上。將網域遷移至另一部主機上。附加 --live 來進行即時遷移。migrate
指令接受下列格式的參數:
# virsh migrate --live GuestName DestinationURL
--live
參數為可選用的參數。請附加 --live
參數來進行即時遷移。
GuestName
parameter represents the name of the guest which you want to migrate.
DestinationURL
parameter is the URL or hostname of the destination system. The destination system must run the same version of Fedora, be using the same hypervisor and have libvirt
running.
virsh
指令來管理虛擬網路。若要列出虛擬網路請輸入:
# virsh net-list
# virsh net-list Name State Autostart ----------------------------------------- default active yes vnet1 active yes vnet2 active yes
# virsh net-dumpxml NetworkName
# virsh net-dumpxml vnet1 <network> <name>vnet1</name> <uuid>98361b46-1581-acb7-1643-85a412626e70</uuid> <forward dev='eth0'/> <bridge name='vnet0' stp='on' forwardDelay='0' /> <ip address='192.168.100.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.100.128' end='192.168.100.254' /> </dhcp> </ip> </network>
virsh
指令還包括:
virsh net-autostart 網路名稱
— 自動啟用一個被指定為網路名稱
的網路。
virsh net-create XMLfile
— 透過使用現有的 XML 檔案來產生並啟用一個新的網路。
virsh net-define XMLfile
— 透過現有的 XML 檔案產生新的網路裝置不過不啟用該裝置。
virsh net-destroy 網路名稱
— 刪除一個被指定為網路名稱
的網路。
virsh net-name networkUUID
— 將一個指定的 networkUUID
轉換成網路名稱。
virsh net-uuid 網路名稱
— 將一個指定的網路名稱
轉換成網路 UUID。
virsh net-start 未啟用的網路之名稱
— 啟用一個未啟用的網路。
virsh net-undefine 未啟用的網路之名稱
— 將未啟用的網路的定義移除。
virt-manager
)視窗、對話方塊與各種不同的 GUI 控制。
virt-manager
提供了您系統上以及許端機器上的 hypervisor 和客座端的圖形化視點。您可使用 virt-manager
來定義半虛擬化和完整虛擬化的客座端。virt-manager
可進行虛擬化管理工作,這包含了:
virt-manager
虛擬化虛擬主機管理程式中取得。UUID 欄位顯示了虛擬主機的全域唯一識別碼(globally unique identifier)。
virt-manager
詳細資料視窗dom0
)的 loopback 位址(127.0.0.1
)。這能確保只有那些在主機上持有 shell 權限的使用者,可透過 VNC 來存取 virt-manager 與虛擬主機。
virt-manager
的相黏鍵功能來傳送這些序列。您必須按下任一修改鍵(如 Ctrl 或 Alt)三次,然後這個您所指定的鍵將會啟動直到您按下下一個非修改鍵。接著,您可輸入按鍵序列「Ctrl Ctrl Ctrl Alt+F1」來將 Ctrl-Alt-F11 傳送至客座端。
virt-manager
session,請開啟 選單、 選單,然後再點選 (virt-manager
)
virt-manager
的主視窗將會出現。
virt-manager
virt-manager
也可如下列指令所示範地透過使用 ssh 來遠端地啟用:
ssh -X 主機位址
[remotehost]# virt-manager
我們之後將在 節 13.1, “透過使用 SSH 來進行遠端管理” 中詳細討論如何使用 ssh
來管理虛擬機器和主機。
DHCP
範圍內容目錄
/etc/grub.conf
ftpd
/etc/grub.conf
ftpd
virsh
來設定客座端 TestServer
,使其在主系統開機時自動啟動。
# virsh autostart TestServer
Domain TestServer marked as autostarted
--disable
參數
# virsh autostart --disable TestServer
Domain TestServer unmarked as autostarted
安裝 KVM 套件
# yum install kvm
檢查使用中的核心版本
uname
指令來確定正在執行的是哪個核心:
$ uname -r 2.6.23.14-107.fc8xen
2.6.23.14-107.fc8xen
」。如果運作中的是預設的 kernel,「2.6.23.14-107.fc8
」的話,您便可跳過這項子步驟。
將 Xen 核心改成預設核心
grub.conf
檔案設定了開機時使用的核心。要改變預設的核心,請編輯 /boot/grub/grub.conf
檔案,如下所示:
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.23.14-107.fc8xen.img
0
(或其他適用於預設核心的值):
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.23.14-107.fc8xen.img
重新開機,載入新的核心
$ lsmod | grep kvm kvm_intel 85992 1 kvm 222368 2 ksm,kvm_intel
kvm
模組與 kvm_intel
或 kvm_amd
模組之一。
安裝 Xen 套件
# yum install kernel-xen xen
檢查使用中的核心版本
uname
指令,確定執行中的套件為何。
$ uname -r 2.6.23.14-107.fc8
2.6.23.14-107.fc8
」。這是預設的核心。如果核心的檔名最後有個 xen
(例如 2.6.23.14-107.fc8xen
),那表示 Xen kernel 現在已在運作中,並且您將可以跳過這項子步驟。
將預設核心改為 Xen 核心
grub.conf
檔案設定了開機時使用的核心。要改變預設的核心,請編輯 /boot/grub/grub.conf
檔案,如下所示:
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.23.14-107.fc8xen.img
1
(或其他適用於預設核心的值):
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc82.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.23.14-107.fc8xen.img
重新開機,載入新的核心
uname
指令檢查:
$ uname -r 2.6.23.14-107.fc8xen
xen
字樣,那表示現在執行的是 Xen 核心。
qemu-img
指令列工具可以用來把 Xen 或 KVM 所使用的多種檔案系統格式化。qemu-img
可以用來格式化虛擬客座端的映像檔、額外的儲存裝置與網路儲存裝置。qemu-img
的選項與用法列於以下。
filename
,設定大小 size
與格式 format
。
# qemu-img create [-6] [-e] [-b base_image] [-f format] filename [size]
# qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
qcow
或 cow
)時,轉換映像檔可以有效地讓映像檔更小。程式會偵測並壓縮空的磁區。
info
參數會顯示磁碟映像檔的資訊。info
選項的格式如下:
# qemu-img info [-f format] filename
filename
的資訊。利用這項指令可得知磁碟的保留空間(有可能與顯示的大小不同)。如果 vm
的快照是存在磁碟映像檔中,那快照也會被顯示出來。
raw
qemu-image info
或 Unix/Linux 上的 ls -ls
指令以得知映像檔所使用的真正大小
qcow2
qcow
cow
cow
格式是為了與之前的版本相容,所以才納入的。這格式並不適用於 Windows。
vmdk
cloop
pdflush
程序的過程就會被啟動。pdflush
會終止(kill)程序,釋放記憶體,以避免系統當機。如此一來,pdflush
會導致虛擬客座端或其他系統程序損毀,導致檔案系統故障,讓虛擬客座端無法開機。
(0.5 * 記憶體) + (超量使用的比例 * RAM) = 建議的置換空間大小
/etc/grub.conf
/etc/grub.conf
檔案以便使用虛擬化核心。您必須使用 xen
核心,才可成功地執行 Xen hypervisor。請複製您現有的 xen
核心項目並確認您複製了所有重要的幾行,否則您的系統會在啟動時產生嚴重錯誤(initrd
的長度將會是「0
」)。如果您需要 xen
hypervisor 的特定值,您必須將這個值附加至您 grub 項目的 xen
那一行之後。
grub.conf
。您系統上的 grub.conf
可能會有所不同。下列範例的重要部份在於 title
那一行。
#boot=/dev/sda default=0 timeout=15 #splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 terminal --timeout=10 serial console title Fedora (2.6.23.14-107.fc8xen) root (hd0,0) kernel /xen.gz-2.6.23.14-107.fc8 com1=115200,8n1 module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 module /initrd-2.6.23.14-107.fc8xen.img
grub.conf
上的重點...grub.conf
若先前被手動編輯過,或是從其它範例所複製過來的話,它可能會看起來非常地不同。
dom0_mem=256M
至您的 grub.conf
中的 xen
一行上。以下為修改於先前範例中的 grub 配置檔案版本:
#boot=/dev/sda default=0 timeout=15 #splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 terminal --timeout=10 serial console title Fedora (2.6.23.14-107.fc8xen) root (hd0,0) kernel /xen.gz-2.6.23.14-107.fc8 com1=115200,8n1 dom0_mem=256MB module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 module /initrd-2.6.23.14-107.fc8xen.img
$ grep -E 'svm|vmx' /proc/cpuinfo
vmx
的一行,表示擁有 Intel VT 延伸的英特爾處理器:
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
svm
的一行,表示擁有 AMD-V 延伸的 AMD 處理器:
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8legacy ts fid vid ttp tm stc
flags:
」的內容可能會因為系統上的超執行緒、多核心、或多處理器,而重複出現。
#!/bin/bash declare -i IS_HVM=0 declare -i IS_PARA=0 check_hvm() { IS_X86HVM="$(strings /proc/acpi/dsdt | grep int-xen)" if [ x"${IS_X86HVM}" != x ]; then echo "Guest type is full-virt x86hvm" IS_HVM=1 fi } check_para() { if $(grep -q control_d /proc/xen/capabilities); then echo "Host is dom0" IS_PARA=1 else echo "Guest is para-virt domU" IS_PARA=1 fi } if [ -f /proc/acpi/dsdt ]; then check_hvm fi if [ ${IS_HVM} -eq 0 ]; then if [ -f /proc/xen/capabilities ] ; then check_para fi fi if [ ${IS_HVM} -eq 0 -a ${IS_PARA} -eq 0 ]; then echo "Baremetal platform" fi
virsh capabilities
指令。
macgen.py
。現在您將可由此目錄,透過使用 ./macgen.py
來執行 script,它將會產生一組新的 MAC 位址。類似的範例輸出如下:
$ ./macgen.py 00:16:3e:20:b0:11 #!/usr/bin/python # macgen.py script to generate a MAC address for virtualized guests on Xen # import random # def randomMAC(): mac = [ 0x00, 0x16, 0x3e, random.randint(0x00, 0x7f), random.randint(0x00, 0xff), random.randint(0x00, 0xff) ] return ':'.join(map(lambda x: "%02x" % x, mac)) # print randomMAC()
python-virtinst
模組來產生新的 MAC 位址以及使用於客座端配置檔案中的 UUID
:
# echo 'import virtinst.util ; print\ virtinst.util.uuidToString(virtinst.util.randomUUID())' | python # echo 'import virtinst.util ; print virtinst.util.randomMAC()' | python
#!/usr/bin/env python # -*- mode: python; -*- print "" print "New UUID:" import virtinst.util ; print virtinst.util.uuidToString(virtinst.util.randomUUID()) print "New MAC:" import virtinst.util ; print virtinst.util.randomMAC() print ""
ftpd
vsftpd
提供了半虛擬化客座端安裝樹或其它資料的存取權限。若您在安裝伺服器時,並沒有安裝 vsftpd
的話,您可透過您安裝媒介的 Server
目錄中取得該 RPM 套件,並透過使用 rpm -ivh vsftpd*.rpm
來安裝它(請注意,該 RPM 套件必須位於您目前的目錄中)。
vsftpd
的話,請透過使用 vipw
來編輯 /etc/passwd
並將 ftp 用戶的家目錄更改為您希望保留您半虛擬化客座端安裝樹的目錄。FTP 用戶項目的範例會看似下列:
ftp:x:14:50:FTP User:/xen/pub:/sbin/nologin
vsftpd
在系統啟動時自動被啟用的話,請使用 chkconfig 工具來啟用 vsftpd
的自動啟用。
vsftpd
是否未透過使用 chkconfig --list vsftpd
來啟用:
$ chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
chkconfig --levels 345 vsftpd on
來在 run level 3、4 和 5 之中自動啟用 vsftpd。
chkconfig --list vsftpd
指令來驗證 vsftdp 是否已被設為會在系統開機時被啟用:
$ chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
service vsftpd start vsftpd
來啟用 vsftpd 服務:
$service vsftpd start vsftpd Starting vsftpd for vsftpd: [ OK ]
udev
來實施 LUN 的持續性。在您的系統中實施 LUN 持續性之前,請確認您已取得正確的 UUID。一旦您取得了這些 UUID 之後,您便可透過編輯位於 /etc
目錄中的 scsi_id
檔案來配置 LUN 的持續性。當您在文字編輯器中開啟了此檔案後,您必須將此行更改為註解:
# options=-b
# options=-g
scsi_id
指令:
# scsi_id -g -s /block/sdc *3600a0b80001327510000015427b625e*
/etc/udev/rules.d
目錄中的 20-names.rules
檔案。裝置的命名規則應採用下列格式:
# KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="UUID
", NAME="devicename
"
UUID
和 devicename
替換成以上已取得 UUID 的項目。您的規則應看似下列:
KERNEL="sd*
", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e
", NAME="mydevicename
"
/dev/sd*
模式符合的裝置檢查給予的 UUID。當它發現了符合的裝置時,它便會建立一個稱為 /dev/devicename
的裝置節點。在此範例中,裝置節點為 /dev/mydevice
。最後,您需要在 /etc/rc.local
檔案中附加這一行:
/sbin/start_udev
/etc/
目錄中的 multipath.conf
檔案來定義四個裝置別名:
multipath { wwid 3600a0b80001327510000015427b625e alias oramp1 } multipath { wwid 3600a0b80001327510000015427b6 alias oramp2 } multipath { wwid 3600a0b80001327510000015427b625e alias oramp3 } multipath { wwid 3600a0b80001327510000015427b625e alias oramp4 }
/dev/mpath/oramp1
、/dev/mpath/oramp2
、/dev/mpath/oramp3
,以及 dev/mpath/oramp4
。裝置會位於 /dev/mpath
目錄中。這些 LUN 名稱在開機後依然具有持續性,因為它將別名建立於 LUN 的 wwid 上。
/sbin/service smartd stop /sbin/chkconfig --del smartd
uuidgen
指令來產生一個全新的 UUID。接著您必須針對於 vif
項目來為所有客座端定義一個獨特的 MAC 位址(若您要由一個現有的客座端上複製客座端配置,您可建立一個 script 來處理)。針對於 xen 橋接的資訊,若您將一個現有的客座端配置檔案移動至另一部新系統上的話,您必須更新 xenbr
項目來符合您的本地網路配置。針對於裝置項目,您必須修改位於 'disk='
部份中的項目並指向正確的客座端映像檔。
/etc/sysconfig/network
檔案的 HOSTNAME 項目來符合新客座端主機名稱。
/etc/sysconfig/network-scripts/ifcfg-eth0
檔案的 HWADDR
位址以便符合來自於 ifconfig eth0
檔案的輸出,並且若您所使用的是靜態 IP 位址的話,您則需要修改 IPADDR
項目。
name
uuid
uuidgen
指令來產生。以下為 UUID 的輸出範例:
$ uuidgen a984a14f-4191-4d14-868e-329906b211e5
vif
xenbr
項目以符合您的本地網路配置(您可透過使用 brctl show
指令來取得橋接資訊)。
disk=
部份中的項目以便指向正確的客座端映像檔。
/etc/sysconfig/network
HOSTNAME
項目修改為客座端的新 hostname
。
/etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR
位址修改為 ifconfig eth0
的輸出
IPADDR
項目。
libvirt
來編寫自訂化 script,以求便利的編程人員與系統管理員有幫助的資訊。
libvirt
來製作新應用程式的編程人員閱讀。
virsh
可處理 XML 配置檔案。您可能會希望有效地使用它來編寫擁有特殊選項的大型建置 script。您可將定義於一個 XML 檔案中的裝置新增至運作中的半虛擬化客座端上。比方說,若要將一個 ISO 檔案新增為 hdc
至一個運作中的客座端上,請建立一個 XML 檔案:
# cat satelliteiso.xml <disk type="file" device="disk"> <driver name="file"/> <source file="/var/lib/libvirt/images/rhn-satellite-5.0.1-11-redhat-linux-as-i386-4-embedded-oracle.iso"/> <target dev="hdc"/> <readonly/> </disk>請執行
virsh attach-device
來將該 ISO 作為 hdc
來連至一個稱為「satellite」的客座端上:
# virsh attach-device satellite satelliteiso.xml
/etc/modprobe.conf
中調整已配置的 loop 裝置數量。請編輯 /etc/modprobe.conf
並將下列一行附加至該檔案中:
options loop max_loop=64
phy: block device
或 tap:aio
指令。若要使用 loop 裝置支援的客座端來作為完整虛擬化系統的話,請使用 phy: device
或 file: file
指令。
cat /proc/cpuinfo | grep vmx svm
。如果您看到任何結果,表示虛擬延伸功能已經啟用。如果您看不到任何結果,那表示您的系統沒有任何虛擬延伸功能,或者 BIOS 並未啟用這功能。
libvirt
虛擬化 API 的正式網站。
/usr/share/doc/xen-<version-number>
/
這個目錄中包含著有關於 Xen 半虛擬化 hypervisor 以及相關管理工具的資訊。它同時也包含著各種不同的配置範例、特定硬體資訊,以及目前的 Xen 上游使用者文件。
man virsh
and /usr/share/doc/libvirt-<version-number>
— 這裡面包含著 virsh
虛擬機器管理公用程式的次指令與選項以及有關於 libvirt
虛擬化函式庫 API 的廣泛資訊。
/usr/share/doc/gnome-applet-vm-<version-number>
— 這裡面包含著監視與管理本地執行的虛擬主機所用的 GNOME 圖形化面板的獨立應用程式的文件。
/usr/share/doc/libvirt-python-<version-number>
— 它提供了有關於 libvirt
常式庫上的 Python 連結的細節。libvirt-python
套件能讓 python 開發者們建立與 libvirt
虛擬化管理常式庫有關的程式。
/usr/share/doc/python-virtinst-<version-number>
— 它提供了virt-install
指令的說明文件。這項指令能在虛擬主機中,幫助啟動 Fedora 與 Linux 相關發行版的安裝程序。
/usr/share/doc/virt-manager-<version-number>
— 它提供了虛擬主機管理程式的文件,虛擬主機管理程式則提供了一個用來管理虛擬主機的圖形化工具。
修訂記錄 | |||
---|---|---|---|
修訂 12.1.3 | Mon Oct 12 2009 | ||
|
dom0
代表執行協助進行客座端作業系統虛擬化的 Hypervisor 的 Linux 主機事例(host instance)。Dom0 會自行在實體硬體上運作、管理實體硬體,並為自己與客座端作業系統分配資源。
domU
代表在主機系統(Domains)上運作的客座端作業系統。
ext2
和 ext3
檔案系統標識符號、RAID 裝置標識符號、iSCSI 和 LUN 裝置標識符號、MAC 位址以及虛擬機器標識符號。