Penguin
Note: You are viewing an old revision of this page. View the current version.

ntpdate(1) has no effect

Xen by default just uses the dom0's clock, which isn't updated within the domU's. Either set /proc/xen/independent_wallclock to 1 (so that this domU has an indepedent clock from the host dom0, or set the clock in the dom0.

Making a tape drive available to a guest via iSCSI

This is specifically for XenSource's range of products, although the principles will of course work in other Xen implementations

I recently had a scenario where I was replacing two Windows servers with XenServer guests. This was fine, but we needed a way to backup to the existing SCSI DDS4 DAT drive. After failing to make PCI passthrough work, I settled on the much nicer method of providing the tape drive via an iSCSI target on the XenServer Host (Dom0). Here is how I achieved this.

Note 1: This is totally unsupported by XenSource

Note 2: I've used the XenSource terminology "host" instead of Dom0, as this applies to the XenSource commercial implementation of Xen. It will probably work fine on OSS Xen, but you can just install the normal kernel dev packages and ignore the DDK stuff.

  • Download the Xen DDK
  • The DDK is an ISO containing a VM with a development environment. Import it to your Xen host, and start it.
  • Download iscsitarget 0.4.14 (you MUST use this version, as the patch for rawio support will not cleanly apply to 0.4.15) into your DDK VM.
  • Download the patch for rawio support into your DDK VM (assuming you're saving it in /tmp)
  • Now do the following:
yum install kernel-devel bison flex
tar -zxvf iscsitarget-0.4.14.tar.gz
cd iscsitarget-0.4.14
patch -p0 < /tmp/raw.p
make
  • scp the entire iscsitarget-0.4.14 directory to your destination Xen host, and on that host do:
yum install make gcc
cd iscsitarget-0.4.14
make install
mkdir /lib/modules/2.6.16.38-xs3.2.0.531.3960xen/kernel/iscsi
cp kernel/iscsi_trgt.ko /lib/modules/2.6.16.38-xs3.2.0.531.3960xen/kernel/iscsi
depmod -aq

The last three steps are required because make install will not copy the kernel module correctly outside the target environment.

  • Now edit your /etc/ietd.conf and configure the tape as per the following example snippet:
Target iqn.2007-04.com.example:tape0
     Lun 0 H=1,C=0,I=6,L=0,Type=rawio
     Type 1
  • Save and do /etc/init.d/iscsi-target start
  • Modify /etc/sysconfig/iptables to allow port 3060 tcp from the IP addresses running the initiator.
  • Attach to the target using the initiator of your choice.

CategoryXen