RHEL5 提供一系列的 virt commands 來使用,第一個就是在 X-window 下面所使用的圖形管理介面 virt-manager
[root@benjr ~]# virt-manager |
其他要介紹的大都是在文字介面來使用的!
1.virt-install 指令安裝 Guest 的方法
Linux 的傳統就是指令集,所以不能避免的就是安裝 Guest 也可以用指令 "virt-install" 方式如下所示:
[root@benjr xen]# virt-install Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems. no #yes 為 fully virtualized guest,no 為 para-virtualized guest What is the name of your virtual machine? rhel4.6 #虛擬主機名稱 How much RAM should be allocated (in megabytes)? 256 #要指定多少記憶體空間給 Guest. 單位為 MBs What would you like to use as the disk (file path)? /var/lib/xen/images/rhel4.6.img # 虛擬磁碟(virtual disk) ,disk 或是 image 皆可! 要使用 nonsparse image disk 請先加入參數 virt-install -nonsparse. How large would you like the disk (/var/lib/xen/images/rhel4.6.img) to be (in gigabytes)? 8 #虛擬磁碟(virtual disk) 空間大小 Would you like to enable graphics support? (yes or no) yes #是否要圖形介面 What is the install location? nfs:192.8.1.1:/var/ftp/rhel4-as-u6-64 #NFS : nfs:主機IP:Linux 實際可以安裝的目錄 #WWW : http://主機IP/可以安裝的目錄 #FTP : ftp://主機IP/可以安裝的目錄 Starting install... |
note:
由 FTP 來安裝,請確定 ftp 的服務已經開預設路徑為 /var/ftp,並且目錄 /var/ftp/rhel4-as-u6-64/ 存放著 RHEL4 光碟的所有內容.
[root@benjr ~]# service vsftpd restart |
由 NFS 來安裝,編輯 "/etc/exports" 並將 "/var/ftp/as3u2" 目錄分享(因為我們將把光碟內的檔案放在此目錄下,此為FTP預設的分享目錄)
[root@benjr ~]# vi /etc/exports /var/ftp/ 192.8.1.*(ro,all_squash) [root@benjr ~]# service nfs start |
由 HTTP 來安裝
編輯 "/etc/httpd/conf/httpd.conf" 並將 Document 設為 /var/ftp(因為我們將把光碟內的檔案放在此目錄下,此為FTP預設的分享目錄)
[root@benjr ~]# vi /etc/httpd/conf/httpd.conf Document Root "/var/ftp" [root@benjr ~]# service httpd restart |
2.virt-clone Clone Guest OS
如同 Vmware ESX(i) 或是 XEN Source 在 RHEL5 的 XEN 同樣可以做 clone,不過在圖型介面好像看不到這一個選項!!似乎只有文字介面的工具 "virt-clone" 幸好使用上也不太難!!跟著下面步驟即可.
先安裝好你將來要 Cloning 的 Guest 設定好並將他關機.目前我所有的 Guest OS 是 rhel4 / rhel5
我要 clone 的是 rhel5
#目前正在運行的 Guest 有兩個 RHEL4 / RHEL5 我想用 RHEL5 ,所以先將 RHEL5 關機吧!! [root@benjr ~]# xm shutdown rhel5 #or xm shutdown domain(domain ID) [root@benjr ~]# xm shutdown 4 #這動作相當於按下 Guest OS 的 power button [root@benjr ~]# virt-clone # 新的 Guest 的 image 位置名稱. What would you like to use as the cloned disk (file path)? /var/lib/xen/images/rhel5_1.img # 即將要被 clone 的 Guest 可以是名稱或是 uuid What is the name or uuid of the original virtual machine? rhel5 # 新的 Guest 將被命名. What is the name for the cloned virtual machine? rhel5_1 Cloning from /var/lib/xen/images/rhel5.img to /var/lib/xen/images/rhel5_1.img Cloning domain... | 9.8 GB 04:07 |
當 clone 好一個系統時,有 2 種東西必須要修改.
1.Machine(Host) name
有些程式如 samba 會用 Machine(Host) name 當作 NETBIOS 名稱解析,所以如果你網域上有相同的 Machine(Host) name 那你就麻煩了.
2.IP address
如果 Cloning 的系統使用的是 DHCP 那就沒這問題了,當你設定的是固定 IP 不要忘記將你的系統 IP 修改以免和其他 VM 衝突到.至於 MAC address , UUID 系統在 clone 就會幫你修改,就不需要再特別重新改過
3.virt-image 指令安裝 Guest 的方法
老實說不是很想介紹這個指令,因為這個指令不是很好用,這個指令需要搭配一個 XML 檔案,除非你是想用在大量部署 Guest OS上面.
範例內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<image>
<name>sysresccd</name>
<domain>
<boot type="hvm">
<guest>
<arch>i686</arch>
</guest>
<os>
<loader dev="cdrom"/>
</os>
<drive disk="root.raw" target="hda"/>
<drive disk="sysresc"/>
</boot>
<devices>
<vcpu>1</vcpu>
<memory>262144</memory>
<interface/>
<graphics/>
</devices>
</domain>
<storage>
<disk file="root.raw" use="scratch" size="100" format="raw"/>
<disk id="sysresc" file="isos/systemrescuecd.iso"
use="system" format="iso"/>
</storage>
</image>
檔案內容很簡單,
<arch>i686</arch>
Platform i686 / x86_64 或是 ppc
<loader dev="cdrom"/>
實際可以安裝的媒體
<drive disk="root.raw" target="hda"/>
<drive disk="sysresc"/>
<vcpu>1</vcpu>
指定 vcpu 個數
<memory>262144</memory>
指定多少記憶體空間給 Guest. 單位為 kMBs
<disk file="root.raw" use="scratch" size="100" format="raw"/>
<disk id="sysresc" file="isos/systemrescuecd.iso" use="system" format="iso"/>
虛擬磁碟(virtual disk) 空間大小,裡面要注意的就是 Disk 的 isos/systemrescuecd.iso 檔案要先安建立好.
[root@Benjr ~]# mkdir isos [root@Benjr ~]#dd if=/dev/zero of= isos/systemrescuecd.iso count bs=512k count=20480 512kB*20480=10GB |
將這個檔案存成 image.xml 執行下面的指令.
[root@Benjr ~]# virt-image --vnc image.xml |
如果你只想安裝幾個 Guest OS ,還是使用 virt-manager / virt-install 會比較直覺.
Images 0 | ||
---|---|---|
No images to display in the gallery. |