Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
XenNotes
Edit
PageHistory
Diff
Info
LikePages
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 <tt>/proc/xen/independent_wallclock</tt> 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 Citrix ~XenServer, 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 Citrix Note 2: I've used the ~XenServer terminology "host" instead of Dom0, as this applies to the Citrix 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. Note 3: This is for ~XenServer 4.1.0, but the principles are the same for previous versions. Just ensure you understand each step rather than following blindly. Note 4: You'll need to enable yum repositories. Do this by editing /etc/yum.repos.d/CentOS-Base.repo, and set "enabled=1" for the Base, Updates and Addons repositories * Download the Xen 4.1 DDK from citrix.com * 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) from http://optusnet.dl.sourceforge.net/sourceforge/iscsitarget/iscsitarget-0.4.14.tar.gz into your DDK VM. * Download the patch for rawio support from http://sourceforge.net/mailarchive/attachment.php?list_name=iscsitarget-devel&message_id=1170171101.2822.23.camel@localhost.localdomain&counter=1 into your DDK VM (assuming you're saving it in /tmp) * Now do the following: <pre> 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 </pre> * scp the entire iscsitarget-0.4.14 directory to your destination Xen host, and on that host (after enabling the base repo in /etc/yum.repos.d/CentOS-Base.repo) do: <pre> yum install make gcc cd iscsitarget-0.4.14 make install mkdir /lib/modules/`uname -r`/kernel/iscsi cp kernel/iscsi_trgt.ko /lib/modules/`uname -r`/kernel/iscsi depmod -aq </pre> The last three steps are required because <tt>make install</tt> will not copy the kernel module correctly outside the target environment. * Now edit your <tt>/etc/ietd.conf</tt> and configure the tape as per the following example snippet (cat /proc/scsi/scsi for the correct [HCIL] values for your SCSI tape drive, this is an example only): <pre> Target iqn.2007-04.com.example:tape0 Lun 0 H=1,C=0,I=6,L=0,Type=rawio Type 1 </pre> * Save and do <tt>/etc/init.d/iscsi-target start</tt> * Modify <tt>/etc/sysconfig/iptables</tt> to allow port 3260 tcp from the IP addresses running the initiator. * Attach to the target using the initiator of your choice. !!Working around pesky controllers which change HCIL at boot See the following, requested by Simon Larsen at http://fragged.nu/2009/05/making-a-tape-drive-available-to-a-guest-via-iscsi/ Simon, if you read this, your captcha on your blog is broken, preventing comments, and there's no contact email address. Hope you find this, and find it useful. ;) Just bung it in your rc.local. <verbatim> #!/bin/bash # # This script is a (very) primitive method of determining the current HCIL info # for /etc/ietd.conf (config file for iscsi-target) to work around some # controllers which change this ID at boot time. You'll probably want to add # some data validation of those vars as this is purely for my environments. # Feel free to adapt or use it in any way you see fit. # Greig McGill. August, 2009 # First set some vars ietd="/etc/ietd.conf" iqn="iqn.2009-08.nz.org.aol.internal:tape0" # Get the whole HCIL string representing the tape drive. # IMPORTANT NOTE: I am assuming there is only one sequential access device. # If I am wrong, you WILL need to rewrite this, or badness will happen. # You have been warned. HCIL="`cat /proc/scsi/scsi | grep -B2 Sequential | head -1`" # Now get each component H="`echo $HCIL | cut -c 11`" C="`echo $HCIL | cut -c 23`" I="`echo $HCIL | cut -c 30`" L="`echo $HCIL | cut -c 38`" # Got all that, now generate ietd.conf and restart iscsi-target cat <<EOT >$ietd Target $iqn Lun 0 H=$H,C=$C,I=$I,L=$L,Type=rawio Type 1 EOT /etc/init.d/iscsi-target restart # exit with no error exit 0 </verbatim> See [iSCSINotes] as well for more information ----- CategoryXen
No page links to
XenNotes
.