Penguin

Differences between version 22 and predecessor to the previous major change of XenNotes.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 22 Last edited on Wednesday, August 19, 2009 3:06:26 pm by GreigMcGill Revert
Older page: version 20 Last edited on Wednesday, September 24, 2008 1:08:58 pm by DanielLawson Revert
@@ -48,10 +48,60 @@
 * 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