Was this page helpful?

RHEL5 - virt commands

    內容表格
    沒有標頭

    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...
    Creating storage file...                                | 8.0 GB     00:00    
    Creating domain...                                      |    0 B     00:00    
    Domain installation still in progress. You can reconnect to
    the console to complete the installation process.

    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 會比較直覺.

    Was this page helpful?
    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core