??昨天看到了虛擬機的引導(dǎo)界面浇冰,好開心贬媒,后面又留了好多的問題,這主要是因為時間的關(guān)系肘习,不然的話這個過程际乘,我想應(yīng)該可以寫一部小說了。
??下面來說說昨天留下的問題
1. xl
?? 什么是xl呢漂佩?
簡單來說它是xen提供說用戶的一套工具脖含,使用戶可以和xen Hypervisor交互,要不只有一個孤零零的Hypervisor在哪我們也沒有辦法用啊投蝉。(大牛除外养葵,他可以自己寫一套)
先看一下官方的
xl-----------------------Xen Project management tool, based on LibXenlight
DESCRIPTION
The xl program is the new tool for managing Xen guest domains. The program can be used to create, pause, and shutdown domains. It can also be used to list current domains, enable or pin VCPUs, and attach or detach virtual block devices.
?
The basic structure of every xl command is almost always:
?
????xl subcommand [OPTIONS] domain-id
?
Where subcommand is one of the subcommands listed below, domain-id is the numeric domain id, or the domain name (which will be internally translated to domain id), and OPTIONS are subcommand specific options. There are a few exceptions to this rule in the cases where the subcommand in question acts on all domains, the entire machine, or directly on the Xen hypervisor. Those exceptions will be clear for each of those subcommands.
現(xiàn)在我們來說第一個命令:
-
list 顯示當前的domain(虛擬機)的信息
??一旦我們安裝好了xen,這個命令就能看到dom0
[root@localhost ~]# xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1024 2 r----- 100.6
ID:這個具有唯一性瘩缆,很多的操作可以用名字dom(代表虛擬機)关拒,也可以用ID號,有一個特殊的ID庸娱,就是0着绊,這是xen中的第一個dom,也是特權(quán)dom
State:
r : running
b: block(阻塞)
p: pause(暫停): 類似與睡眠.
s: stop
c: crash(崩潰)
d: dying熟尉, 正在關(guān)閉的過程中.
-
help 獲取幫助
為什么要說這個呢归露?因為只有這個才是最好,最全的命令信息
你要知道xl有什么子命令就xl help臣樱,所有支持的子命令都有了靶擦,要知道一個子命令如何使用,如:create就 xl help create雇毫,關(guān)于創(chuàng)建子命令的信息也有了玄捕。
好了來看一個xl help
刪除大部分命令,留下實驗中可能會用的子命令
xl list of subcommands:
list List information about all/some domains
虛擬機列表
create Create a domain from config file <filename>
根據(jù)一個config文件創(chuàng)建虛擬機
destroy Terminate a domain immediately
終止一個虛擬機
pause Pause execution of a domain
暫停
shutdown Issue a shutdown signal to a domain
向虛擬機發(fā)出關(guān)閉信號
reboot Issue a reboot signal to a domain
向虛擬機發(fā)出重啟信號
console Attach to domain's console
連到虛擬機的控制臺上
vncviewer Attach to domain's VNC server.
連到虛擬機的vnc上
save Save a domain state to restore later
快照
restore Restore a domain from a saved state
快照恢復(fù)
top Monitor a host and the domains in real time
xl的top
這么多命令差不多了
2. 配置文件
其實吧棚放,管理xen除了xl這個工具棧枚粘,還一個libvirt系的,這樣就又不得不說說libvirt是什么了飘蚯。
-
libvirt
Libvirt是軟件的集合馍迄,它提供了一種方便的方法來管理虛擬機和其他虛擬化功能福也,例如存儲和網(wǎng)絡(luò)接口管理。這些軟件包括一個API庫攀圈,一個守護程序(libvirtd)和一個命令行實用程序(virsh)
libvirt的主要目標是提供一種方法來管理多個不同的虛擬化提供程序/管理程序暴凑。例如,命令“ virsh list --all”可用于列出任何受支持的管理程序(KVM赘来,Xen现喳,VMWare ESX等)的現(xiàn)有虛擬機。無需學(xué)習(xí)特定于管理程序的工具
來自馬哥-libvirt.png
libvirt 是一可本地犬辰、可遠程管理多種Hypervisor的通用工具嗦篱,同時它提供有
命令行管理工具---------virsh
圖?形管理工具---------virt-manager
圖?形查看工具---------virt-viewer
virsh是用于管理虛擬化環(huán)境中的客戶機和Hypervisor的命令行工具,與virt-manager等工具類似幌缝,它也是通過libvirt API來實現(xiàn)虛擬化的管理灸促。virsh是完全在命令行文本模式下運行的用戶態(tài)工具,它是系統(tǒng)管理員通過腳本程序?qū)崿F(xiàn)虛擬化自動部署和管理的理想工具之一涵卵。
?
virt-manager是虛擬機管理器(Virtual Machine Manager)這個應(yīng)用程序的縮寫浴栽,也是管理工具的軟件包名稱。virt-manager是用于管理虛擬機的圖形化的桌面用戶接口轿偎。
?
libvirt是接口吃度,接受管理的虛擬服務(wù)器上要安裝libvirt,并開啟libvirtd服務(wù),才能接受virsh贴硫、virt-manager管理,這些管理工具通過libvirtd來調(diào)用libvirt提供的接口來進行管理伊者。
就說這么多英遭,要講清這個東東,至少是一個萬字的篇幅亦渗。收挖诸,我們的目標是圖標界面,對了libvirt使用的配置文件和xl是不一樣的法精,它使用的xml的配置文件多律,但最起碼不用手寫了是吧。
安裝開始
[root@localhost ~]# yum install libvirt
Install 1 Package (+57 Dependent packages)
Total download size: 15 M
Installed size: 42 M
Is this ok [y/d/N]:
好多的包搂蜓,Y 繼續(xù)
Complete!
好狼荞,來看一下安裝的包
libvirt-client.x86_64 0:4.5.0-23.el7
提供了virsh
libvirt-daemon.x86_64 0:4.5.0-23.el7
提供了libvirtd
怎么沒有我們期待的virt-manager呢?沒有就裝嘛
[root@localhost ~]# yum install virt-manager
Install 1 Package (+76 Dependent packages)
Upgrade ( 2 Dependent packages)
Total download size: 43 M
Is this ok [y/d/N]: y
Complete!
這個過程安裝了太多的包帮碰,libx的相味、Xorg的、太多太多殉挽,如果在生產(chǎn)環(huán)境中我想是不會有人這么玩的丰涉,我們可以將virt-manager安裝到一臺管理機上拓巧,再遠程管理比較合適
啟動
[rootelocalhost "]# virt-manager
[rootelocalhost "]#
(virt-manager:18916):Gtk-WARNING **::cannot open display:
這是理所當然的,我的這臺xen服務(wù)器上沒有安裝桌面環(huán)境一死,難道還要安裝一個桌面肛度?
xshell+xmanager隆重上場
先在我的物理機(IP: 192.168.2.99)上啟動Xmanager - Passive
[root@localhost ~]# export DISPLAY=192.168.2.99:0.0
[rootelocalhost "]# virt-manager
看到圖形了,是不是好開森,等等哩罪,怎么提示連不上xen撇他,我那個去,又什么情況
看libvirt的架構(gòu)圖瘩绒,好的看來是libvirtd沒有開
[root@localhost ~]# systemctl start libvirtd
[rootelocalhost "]# virt-manager
還是連不上,什么情況带族,難道電腦抽風(fēng)了锁荔。。蝙砌。
源
我都不知道我是怎么這兒的阳堕,上xen的yum源看看,果然有l(wèi)ibvirt
安裝試試
[root@localhost ~]# yum --enablerepo=centos-virt-xen-48 install libvirt
Install ( 1 Dependent package)
Upgrade 1 Package (+22 Dependent packages)
Total download size: 7.4 M
Is this ok [y/d/N]: y
Complete!
可以安裝择克,試試恬总,不要忘記了重啟服務(wù)
[root@localhost ~]# systemctl restart libvirtd
[rootelocalhost "]# virt-manager
沒有報錯,完美肚邢,看來對于xen管理使用的libvirt要使用專門的才行壹堰,redhat我恨你!B夂贱纠!
下面就看圖
是不是 熟悉的配方,熟悉的味道响蕴。
上一篇說的:
-
sdl 為什么不能用谆焊?
-
vnclisten = '0.0.0.0',為什么要寫這個浦夷?
這一篇上的:
-
export DISPLAY=192.168.2.99:0.0辖试,這又是為什么?
這都涉及到 X Window 的問題
下一篇再來說
今天寫文的時候發(fā)現(xiàn)一個小問題
在這個情況下劈狐,會出現(xiàn)
這是在ssh連接時不能接受服務(wù)器的key也不能輸入密碼
[root@localhost ~]# virt-manager --no-fork