From Fedora Project Wiki

Line 3: Line 3:
 
|actions=
 
|actions=
 
# Create a number of dummy files on your dom0 by running <pre>$> for i in `seq 1 70` ; do dd if=/dev/zero of=/var/lib/xen/images/disk$i.dsk bs=1 count=1 seek=10G ; done</pre> Note that this command will create sparse files, meaning that unless you write data to the disk, no actual disk space on your hard drive will be used.
 
# Create a number of dummy files on your dom0 by running <pre>$> for i in `seq 1 70` ; do dd if=/dev/zero of=/var/lib/xen/images/disk$i.dsk bs=1 count=1 seek=10G ; done</pre> Note that this command will create sparse files, meaning that unless you write data to the disk, no actual disk space on your hard drive will be used.
# If you have free VG space available in your LVM volumes on the dom0, create a few test LVs (for example, using: <code>lvcreate -n test1 -L1G</code>. If you have free space left in your partition table on the dom0, create 1 or more partitions to test with.  If you don't know what this means, or you are worried about making modifications like this, just skip this step.
+
# Create one very large dummy file on your dom0 by running <pre>$> dd if=/dev/zero of=/var/lib/xen/images/bigdisk.dsk bs=1 count=1 seek=6TB
 
# From the dom0, attach one of the files to the F-11 domU <pre>$> virsh attach-disk f11 --driver file /var/lib/xen/images/disk1.dsk xvdb</pre>
 
# From the dom0, attach one of the files to the F-11 domU <pre>$> virsh attach-disk f11 --driver file /var/lib/xen/images/disk1.dsk xvdb</pre>
 
# Inside the guest, run <pre>$> fdisk /dev/xvdb</pre>  You should be able to partition the disk however you want, create a new filesystem on it, etc.
 
# Inside the guest, run <pre>$> fdisk /dev/xvdb</pre>  You should be able to partition the disk however you want, create a new filesystem on it, etc.
 
# From the dom0, disconnect the disk from the F-11 guest <pre>$> virsh detach-disk f11 xvdb</pre>
 
# From the dom0, disconnect the disk from the F-11 guest <pre>$> virsh detach-disk f11 xvdb</pre>
# FIXME: add test case for phy for LVM/partition
+
# Download this [[File:Xen-domu-attach-disks.sh‎]] script to the dom0, and make it executable with <code>chmod +x Xen-domu-attach-disks.sh</code>. This shell script attaches all 70 disks created above to the domU.  You will probably have to modify this script to match your environment.  Note that your dom0 must explicitly have support for this, so if your dom0 does not, this test will not work.  Once you have modified the script appropriately, run it with <pre>Xen-domu-attach-disks.sh</pre> All 70 disks should successfully attach to the F-11 domU.
# Download this [[File:Xen-domu-attach-disks.sh‎]] script to the dom0, and make it executable with <code>chmod +x Xen-domu-attach-disks.sh</code> This shell script attaches all 70 disks created above to the domU.  You will probably have to modify this script to match your environment.  Note that your dom0 must explicitly have support for this, so if your dom0 does not, this test will not work.  Once you have modified the script appropriately, run it with <pre>Xen-domu-attach-disks.sh</pre> All 70 disks should successfully attach to the F-11 domU.
+
# Download this [[File:Xen-domu-hugefile.sh]] script to the dom0, and make it executable with <code>chmod +x Xen-domu-hugefile.sh</code>.  This shell script attaches a simulated "huge" file (5TB) to the guest.  Run the script <pre>$> Xen-domu-hugefile.sh create f11</pre> to attach the huge file to the guest named "f11".  Poke around inside the F-11 domU and make sure you can partition and use the 5TB disk.  When you are finished, run <pre>$> Xen-domu-hugefile.sh remove f11</pre> to clean up.
 
|results=
 
|results=
 
# The disks should be presented to the domU on attach-disk, and removed from the guest on detach-disk.
 
# The disks should be presented to the domU on attach-disk, and removed from the guest on detach-disk.

Revision as of 11:09, 4 May 2009

Description

This test case verifies that block devices can be successfully attached to and detached from a Fedora Xen DomU.


How to test

  1. Create a number of dummy files on your dom0 by running
    $> for i in `seq 1 70` ; do dd if=/dev/zero of=/var/lib/xen/images/disk$i.dsk bs=1 count=1 seek=10G ; done
    Note that this command will create sparse files, meaning that unless you write data to the disk, no actual disk space on your hard drive will be used.
  2. Create one very large dummy file on your dom0 by running
    $> dd if=/dev/zero of=/var/lib/xen/images/bigdisk.dsk bs=1 count=1 seek=6TB

# From the dom0, attach one of the files to the F-11 domU <pre>$> virsh attach-disk f11 --driver file /var/lib/xen/images/disk1.dsk xvdb

  1. Inside the guest, run
    $> fdisk /dev/xvdb
    You should be able to partition the disk however you want, create a new filesystem on it, etc.
  2. From the dom0, disconnect the disk from the F-11 guest
    $> virsh detach-disk f11 xvdb
  3. Download this File:Xen-domu-attach-disks.sh script to the dom0, and make it executable with chmod +x Xen-domu-attach-disks.sh. This shell script attaches all 70 disks created above to the domU. You will probably have to modify this script to match your environment. Note that your dom0 must explicitly have support for this, so if your dom0 does not, this test will not work. Once you have modified the script appropriately, run it with
    Xen-domu-attach-disks.sh
    All 70 disks should successfully attach to the F-11 domU.
  4. Download this File:Xen-domu-hugefile.sh script to the dom0, and make it executable with chmod +x Xen-domu-hugefile.sh. This shell script attaches a simulated "huge" file (5TB) to the guest. Run the script
    $> Xen-domu-hugefile.sh create f11
    to attach the huge file to the guest named "f11". Poke around inside the F-11 domU and make sure you can partition and use the 5TB disk. When you are finished, run
    $> Xen-domu-hugefile.sh remove f11
    to clean up.

Expected Results

  1. The disks should be presented to the domU on attach-disk, and removed from the guest on detach-disk.
  2. The F-11 guest should be able to use the disks like any other piece of storage.