1,517 瀏覽數

Assiging Storage space – 虛擬磁碟(virtual disk)

在新增 virtual machine 時虛擬磁碟的選擇有三種.每個都有優缺點你可以依據需求來做不同的選擇.

  • virtual disk – disk partition
    每個磁區 partition 都可以當成一個虛擬磁碟,最大的好處是效能最佳.但缺點就是要佔用一個 partition.
    xen_disk01
    設定完成之後想要修改或是建立Virtual machine 實體( physical) 的 disk / cdrom 這邊的 disk 可以是 HD,Floppy,USB Key. 方法有二: 一是改設定檔,第二是用指令 "#xm"

    1. 改設定檔

      [root@benjr ~]# vi /etc/xen/guest
      —— for physical disk ——
      disk=[ 'phy:/dev/hda,hdb,w', ]
      —– for physical CDROM ——
      disk=[ 'phy:/dev/hda,hdb:cdrom,r', ]
      

      說明:
      phy:/dev/hda – Dom0實體裝置所在位置
      hdb – DomU 下將會看到的裝置名稱,如果是 cdrom 時要特別指定(hdb:cdrom ).
      w – writable(用於可讀寫裝置如硬碟)
      r – readable(用於CDROM/DVD 裝置)
      不習慣用 xm 指令還是可以使用圖形介面,在 Virtual machine 的 Detail  / Hardware 來設定!
      xm-disk01
      設定好設定檔 Guest OS 還要重新開機才會生效.

    2. 指令 "#xm"
      —— for physical disk ——
      [root@benjr ~]# xm block-attach guest phy:/dev/hda,hdb,w
      —– for physical CDROM ——
      [root@benjr ~]# xm block-attach guest phy:/dev/hda,hdb:cdrom,r
      

      使用 xm 指令的優點是會立即生效.

  • virtual disk – nonsparse image
    不需要何外切割 partition ,以 檔案(images) 的方式來當成虛擬磁碟.但是相對的效能比不上 partition 的好.
    xen_disk02
    設定完成之後想要在 Virtual machine 建立 Image 形式的 virtual disk,方法有二: 一是改設定檔,第二是用指令 "#xm"
    1. 改設定檔
      修改設定檔之前要先建立好 image 形式的 virtual disk,使用 "#dd" 其可以建立.如果你的系統有啟動 SELinux 所以 Image 形式的 virtual disk 要放在指定目錄 /var/lib/xen/images/.

      [root@benjr ~]# cd /var/lib/xen/images/
      [root@benjr ~]# dd if=/dev/zero of=vdisk.img bs=512k count=20480
      #512kB*20480=10GB
      

      編輯 virtual machine 設定檔

      [root@benjr ~]# vi /etc/xen/guest
      disk=[ 'file:/var/lib/xen/images/vdisk.img,hdc,w', ]
      

      說明:
      file:/var/lib/xen/images/vdisk.img – Image 檔案所在位置
      hdc – DomU 下將會看到的裝置名稱
      w – writable
      不習慣用 xm 指令還是可以使用圖形介面,在 Virtual machine 的 Detail  / Hardware 來設定!
      xm-disk02
      設定好設定檔還要重新開機才會生效.

    2. 指令 "#xm"
      [root@benjr ~]# xm block-attach guest file:/var/lib/xen/images/vdisk.img,hdc,w
      

      使用 xm 指令的優點是會立即生效.

  • virtual disk – sparse image
    優點是檔案(images) 的大小是動態成長,一開始不會佔用所要求的空間,有多少才會要求多少!但是它的效能卻是最差的.但要注意系統的空間是否足夠,
    當空間不足讓 sparse image 動態成長時, Guest 可能會損毀!
    xen_disk03

    XEN 提供一個工具 "lomount" 可以讓我們 mount Virtual machine images(並不是只能針對 image 的檔案,也可以應用在 partition 上面),方法很簡單如下:
    先看看目前有 Virtual machine image 的 partition 分割.

    [root@benjr ~]# lomount -diskimage /PATH/TO/Image.file
    Please specify a partition number.  Table is:
    Num      Start -        End  OS Bootable
     1:      32256 -  106928128: 83 80
     2:  106928640 – 10479006208: 8e 0
    

    不過這個工具不是萬能的他有很多狀況下是無法使用的.
    partition ID(83) – ext2/ext3 可以但是 refeies 不行. partition ID(8e) – LVM 也是一樣不行.所以以上的條件只有 partition 2 可以使用.接下來使用下面的指令指定 partition 就可以讀取 Virtual machine image 的 partition 分割區內的資料.

    [root@benjr ~]# lomount -diskimage /PATH/TO/Image.file -partition n /mnt
    

    在 Guest OS 要開機前不要忘記 umount.

    [root@benjr ~]# umount /mnt
    

發表迴響