另外一個(gè)命令模式的 Xen 管理工具叫做virsh(Virtual Shell)。virsh 是由一個(gè)名為 libvirt的軟件提供的管理工具,提供管理虛擬機(jī)更高級(jí)的能力。virsh大部分的功能與xm 一樣,你可以利用 virsh 來(lái)啟動(dòng)、刪除、控制、監(jiān)控Xen 的區(qū)域,因此你也可以利用 virsh 來(lái)管理 Xen 中所有的虛擬機(jī)。 你可能會(huì)很好奇,既然已經(jīng)提供了xm管理工具,為何Red Hat Enterprise Linux 還需提供virsh? 這是因?yàn)樵贚inux領(lǐng)域里,除了Xen外,還有許多種機(jī)制也提供虛擬化的功能,然而,不同的虛擬化系統(tǒng)的使用方法都不太相同。為了讓Linux可以通過(guò)同一種方法讀取與管理各種虛擬化子系統(tǒng),libvirt團(tuán)隊(duì)(http:/// )便開(kāi)發(fā)出了libvirt.so鏈接庫(kù),讓軟件的開(kāi)發(fā)人員可以用 libvirt.so提供的API來(lái)管控所有的虛擬化系統(tǒng)。而virsh 就是利用 libvirt.so 鏈接庫(kù)編寫(xiě)而成的管理工具。因此,不管實(shí)質(zhì)上執(zhí)行的是何種虛擬化子系統(tǒng),你只需學(xué)會(huì) virsh 的使用方法,就可以藉此來(lái)使用或管理各種虛擬化系統(tǒng)提供的虛擬機(jī)了。 本節(jié)將介紹 virsh 這個(gè)管理工具的使用方法。 1 基本語(yǔ)法 virsh的基本用法如下:
另外需要注意的是,virsh提供兩種執(zhí)行模式:"直接模式(Direct Mode)"與"互動(dòng)模式(Interactive Mode)"。在直接模式里,你必須在Shell中以參數(shù)、自變量的方式來(lái)執(zhí)行virsh,如果在互動(dòng)模式中,則virsh會(huì)提供一個(gè)提示字符串,你可以在該提示字符串后,輸入要執(zhí)行的命令。如果執(zhí)行virsh沒(méi)有指定任何參數(shù)或自變量則默認(rèn)就是進(jìn)入互動(dòng)模式。 與xm一樣,COMMAND也是 virsh提供的命令,常用的命令如表 28-5所示。 表28-5 virsh常用命令一覽表
而virsh命令語(yǔ)法的ARGS則是COMMAND 搭配的參數(shù)。不同的COMMAND可能需搭配不同的參數(shù),至于什么COMMAND可以搭配哪些參數(shù),我將會(huì)在對(duì)各功能的介紹中提到。 總地來(lái)說(shuō),如果ARGS需指定虛擬機(jī),你可以使用下列的格式指定是哪一個(gè)虛擬機(jī)器。 虛擬機(jī)的名稱。 虛擬機(jī)啟動(dòng)后的標(biāo)識(shí)符。 虛擬機(jī)的 UUID。 以下就是使用 virsh 的示范。
① 以互動(dòng)模式執(zhí)行 virsh。 ② 結(jié)束 virsh 的執(zhí)行,回到默認(rèn)的 Shell 下。 ③ 這是以直接模式執(zhí)行 virsh,結(jié)果與互動(dòng)模式完全一樣。 2 查看Domain信息 virsh 可以查看虛擬機(jī)的相關(guān)信息,你只需在執(zhí)行 virsh 時(shí)配合如表28-6所示的命令。 表28-6 查看Domain信息執(zhí)行的命令
執(zhí)行上述的每一個(gè)命令時(shí),你都必須指定虛擬機(jī)的名稱、標(biāo)識(shí)符和UUID。以下是我使用 virsh 查看虛擬機(jī)信息的示范。
① 這是 system1 虛擬機(jī)的標(biāo)識(shí)符。 ② 這是標(biāo)識(shí)符 3 的虛擬機(jī)之名稱。 ③ system1 的 UUID。 ④ 這則是 system1 完整的信息。 3 轉(zhuǎn)儲(chǔ)區(qū)域配置 除了上述的功能外,virsh也允許把某一個(gè)虛擬機(jī)目前的設(shè)置值存儲(chǔ)下來(lái)。virsh把設(shè)置值存儲(chǔ)下來(lái)的動(dòng)作,稱為"轉(zhuǎn)儲(chǔ)(Dump)"。 轉(zhuǎn)儲(chǔ)虛擬機(jī)設(shè)置值有什么好處? 好處很多,我至少想到兩個(gè)。首先,轉(zhuǎn)儲(chǔ)虛擬機(jī)的設(shè)置值可以讓你把某一個(gè)虛擬機(jī)的設(shè)置備份下來(lái),以供日后恢復(fù)該設(shè)置配置。其次,如果要用 virsh 來(lái)啟動(dòng)一個(gè)虛擬機(jī),你必須指定該虛擬機(jī)的配置文件。因此,如果你希望用virsh 來(lái)管理所有的虛擬機(jī),那么請(qǐng)務(wù)必把每一個(gè)虛擬機(jī)的設(shè)置值轉(zhuǎn)儲(chǔ)下來(lái)后妥善保存。 如果要轉(zhuǎn)儲(chǔ)虛擬機(jī)的設(shè)置值,你可以執(zhí)行:
其中的DOMAIN就是要轉(zhuǎn)儲(chǔ)的虛擬機(jī)。你可以使用虛擬機(jī)的名稱、標(biāo)識(shí)符或是UUID來(lái)指定要轉(zhuǎn)儲(chǔ)到哪一個(gè)虛擬機(jī)。以下是我使用virsh轉(zhuǎn)儲(chǔ)虛擬機(jī)的范例。
① 這是 system1 的設(shè)置數(shù)據(jù)。 ② 目前這個(gè)目錄下只有這幾個(gè)文件。 ③ 現(xiàn)在把 system1 轉(zhuǎn)儲(chǔ)后的設(shè)置數(shù)據(jù)轉(zhuǎn)向存儲(chǔ)于 system1.virsh.xml文件中。 ④ 這就是 system1 的設(shè)置數(shù)據(jù)備份文件。
|
|