Gentoo HOWTO added, thanks to Willem Boterenbrood <Willem@kerrigan.student.utwente.nl>
authorvlnb <vlnb@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Wed, 28 Oct 2009 19:22:15 +0000 (19:22 +0000)
committervlnb <vlnb@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Wed, 28 Oct 2009 19:22:15 +0000 (19:22 +0000)
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@1290 d57e44dd-8a1f-0410-8b47-8ef2f437770f

iscsi-scst/doc/SCST_Gentoo_HOWTO.txt [new file with mode: 0644]
www/index.html
www/target_iscsi.html

diff --git a/iscsi-scst/doc/SCST_Gentoo_HOWTO.txt b/iscsi-scst/doc/SCST_Gentoo_HOWTO.txt
new file mode 100644 (file)
index 0000000..ed1f9b9
--- /dev/null
@@ -0,0 +1,174 @@
+1) If you haven't done so already install a base gentoo installation:
+download: http://www.gentoo.org/main/en/where.xml
+documentation: http://www.gentoo.org/doc/en/handbook/index.xml
+
+2) Lets make sure our package info is up2date
+'emerge --sync'
+
+3) You can get the SCST source files from http://scst.sourceforge.net/downloads.html
+As I want a stable platform I use the downloads from "Download released versions"
+For the iscsi-target we need three files: scst, iscsi-scst and scstadmin.
+You can get these files in varios ways, in the example they are downloaded with links.
+If links is not already installed install it:
+'emerge links'
+Go the the directory where you want the files (the example uses /root) and get the files:
+'cd /root'
+'links http://scst.sourceforge.net/downloads.html'
+and download under stable the three needed files, at this moment they are scst-1.0.1.1.tar.gz, scstadmin-1.0.6.tar.gz and iscsi-scst-1.0.1.1.tar.gz
+after downloading exit links:
+'q'
+
+4) Now extract the three downloaded files
+'tar -zxf scst-1.0.1.1.tar.gz'
+'tar -zxf scstadmin-1.0.6.tar.gz'
+'tar -zxf iscsi-scst-1.0.1.1.tar.gz'
+
+5) Because SCST needs some kernel patches we need to check which kernels are supported.
+'ls /root/scst-1.0.1.1/kernel/'
+This shows a list of kernel patches, we can see now the newest kernel scst 1.0.1.1 has patches for is kernel 2.6.29.
+Now lets see which is the newest gentoo kernel.
+'emerge --search gentoo-sources'
+This shows the current installed kernel (if you are running the gentoo-sources kernel) and the newest version at this moment is 2.6.30-r6.
+As we need an older kernel to use SCST we will need to explicitly tell emerge which kernel we want.
+To find out which kernel we need we can take a look at http://packages.gentoo.org/package/sys-kernel/gentoo-sources
+'links http://packages.gentoo.org/package/sys-kernel/gentoo-sources'
+You will need to scroll down a bit to see the table. At this moment is shows that 2.6.29-r5 is the newest for the x86 and amd64 platform, so we want the 29-r5 kernel.
+'emerge =gentoo-sources-2.6.29-r5'
+The kernel source will now be in /usr/src/linux-2.6.29-gentoo-r5
+
+6) Now we need to patch the kernel sources. First we set the /usr/src/linux link to the new kernel sources.
+'rm /usr/src/linux'
+'ln -s /usr/src/linux-2.6.29-gentoo-r5/ /usr/src/linux'
+There are multiple kernel patches for SCST and not all are required but give better performance or new features.
+Read the documentation from SCST to see what the patches are for and which ones you need/want.
+The kernel patches are in /root/scst-1.0.1.1/kernel/ and /root/iscsi-scst-1.0.1.1/kernel/patches/.
+Now Patch the kernel sources
+'cd /usr/src/linux'
+'patch -p1 < /root/scst-1.0.1.1/kernel/io_context-2.6.29.patch'
+'patch -p1 < /root/scst-1.0.1.1/kernel/scst_exec_req_fifo-2.6.29.patch'
+'patch -p1 < /root/scst-1.0.1.1/kernel/readahead-context-2.6.29.patch'
+'patch -p1 < /root/scst-1.0.1.1/kernel/readahead-2.6.29.patch'
+'patch -p1 < /root/iscsi-scst-1.0.1.1/kernel/patches/put_page_callback-2.6.29.patch'
+? not required 'make clean'
+
+7) Lets configure and build the kernel
+'make menuconfig'
+Make sure to enable a few kernel options.
+in Networking Support -> Networking Options:
+"TCP/IP networking" and "TCP/IP zero-copy transfer completion notification"
+in Device Drivers -> SCSI Device Support:
+"SCSI disk support"
+Make sure you include all needed storage and lan drivers
+
+-----optional, for maximum performance:-----
+in Enable the block layer -> IO Schedulers
+enable "CFQ I/O scheduler"
+set "Default I/O scheduler" to "CFQ"
+in Processor type and features
+set "Preemption Model" to "No Forced Preemption (Server)"
+set "High Memory Support" to "off" (use a 64bit kernel when using more then 1GB of RAM to get the best performance)
+in File systems
+enable "XFS filesystem support" (XFS is much faster then ext3 when using virtual-file-devices for the iSCSI target)
+-----optional end-----
+
+Build the kernel and install the kernel modules
+'make'
+'make modules_install'
+Now copy the kernel to the boot directory (replace the directory after arch with your architecture, x86 for example)
+'cp arch/x86_64/boot/bzImage /boot/kernel-2.6.29-gentoo-r5'
+Add the new kernel to the configuration as described in the gentoo handbook (with grub you should edit /boot/grub/grub.conf)
+Reboot the system with the new kernel
+'shutdown -r now'
+
+8) Lets configure, build and install SCST
+'cd /root/scst-1.0.1.1/src'
+'make all'
+'make install'
+
+9) Build and install scstadmin
+'cd /root/scstadmin-1.0.6'
+'make all'
+'make install'
+Remove the scst_disk module from the startup file
+'nano -w /etc/init.d/scst'
+change the line SCST_MODULES="scst scst-disk scst_vdisk" to SCST_MODULES="scst scst_vdisk"
+
+10) Build and install iscsi-scst
+'cd /root/iscsi-scst-1.0.1.1'
+'make all'
+'make install'
+'cp etc/initiators.* /etc'
+'cp etc/iscsi-scstd.conf /etc'
+
+11) Make SCST init script work
+As the scst init scipt uses lsb init-functions which are not available for gentoo scst can not run yet.
+There are two easy ways to make it work. 1) Modify the SCST init script so it doesn't use init-functions. 2) Get the required init-functions scripts from another distro.
+Choose one these options.
+
+11-1) Modify the SCST script
+The simplest way to do this is to remove/replace all lsb init-functions.
+- remove or comment (put a # in front of) the line ". /lib/lsb/init-functions"
+- replace all 'log_failure_msg' with 'echo "failure"' and replace all 'log_success_msg' with 'echo "succes"'
+
+11-2) Get /lib/lsb/init-functions and /etc/rc.status from another distribution
+See an example on how to do this on http://www.gentoo-wiki.info/Rivendell and only do the actions as described under "File creation"
+Now you should have created /etc/rc.status and /lib/lsb/init-functions and set their permissions.
+
+12) Configure iSCSI-SCST configuration
+choose a target name and disk names and set it iscsi-scstd.conf, see the comments on the target name requirements in the same file.
+'nano -w /etc/iscsi-scstd.conf'
+
+-----example iscsi-scstd.conf-----
+Target iqn.2009-10.nl.feka:storage.disk.1.vms
+Target iqn.2009-10.nl.feka:storage.disk.2.iso
+Target iqn.2009-10.nl.feka:storage.filedisk.1.backup
+-----example end-----
+
+13) Configure SCST configuration
+SCSTadmin can create the SCST config but needs SCST to be loaded, unfortunately the initscript does not load SCST when scst.conf is not there.
+Create an empty scst.conf.
+'touch /etc/scst.conf'
+Start SCST
+'/etc/init.d/scst start'
+Create an empty configuration.
+'scstadmin -ClearConfig /etc/scst.conf'
+Add the iSCSI disk(s), make sure to replace the device name(s) in the command(s) below:
+'scstadmin -adddev disk01 -path /dev/sdb1 -handler vdisk -options BLOCKIO' (use this to add a disk/partition/file in BlockIO mode without caching)
+'scstadmin -adddev disk02 -path /dev/sdc -handler vdisk -options NV_CACHE' (use this to add a disk/partition/file in FileIO mode with linux cache)
+'scstadmin -adddev disk03 -path /root/vhdd1 -handler vdisk -options NV_CACHE' (use this to add a disk/partition/file in FileIO mode with linux cache)
+Create a group for each target. (make sure to name the entry after Default_ the same as the names specified in iscsi-scstd.conf)
+'scstadmin -addgroup Default_iqn.2009-10.nl.feka:storage.disk.1.vms'
+'scstadmin -addgroup Default_iqn.2009-10.nl.feka:storage.disk.2.iso'
+'scstadmin -addgroup Default_iqn.2009-10.nl.feka:storage.filedisk.1.backup'
+Assign the device(s) to the group(s).
+'scstadmin -assigndev disk01 -group Default_iqn.2009-10.nl.feka:storage.disk.1.vms -lun 0'
+'scstadmin -assigndev disk02 -group Default_iqn.2009-10.nl.feka:storage.disk.2.iso -lun 0'
+'scstadmin -assigndev disk03 -group Default_iqn.2009-10.nl.feka:storage.filedisk.1.backup -lun 0'
+Save the configuration.
+'scstadmin -WriteConfig /etc/scst.conf'
+
+14) Set initiator connection rights
+As default disable all targets for all initiators.
+Add one line to initiators.deny with "ALL ALL"
+'nano -w /etc/initiators.deny'
+
+-----example initiators.deny-----
+ALL ALL
+-----example end-----
+
+Add the inititators that may access the targets to initiators.allow.
+Add one line per initiator with all initiators that need access, see the comments in the same file
+'nano -w /etc/initiators.allow'
+
+-----example initiators.allow-----
+iqn.2009-10.nl.feka:storage.disk.1.vms 192.168.1.1, 192.168.1.2, 192.168.1.3
+iqn.2009-10.nl.feka:storage.disk.2.iso 192.168.1.1, 192.168.1.2, 192.168.1.3
+iqn.2009-10.nl.feka:storage.filedisk.1.backup 192.168.1.10
+-----example end-----
+
+15) Add SCST and iSCSI-SCST to default run-level and start iscsi-scst
+'rc-update add scst default'
+'rc-update add iscsi-scst default'
+'/etc/init.d/iscsi-scst start'
+
+Willem Boterenbrood
index fc3ba03..f8a78d3 100644 (file)
                                <p><a href="scst_pg.html">HTML</a></p>
                                <p><a href="scst_pg.pdf">PDF</a></p>
                                <p><a href="iscsi-scst-howto.txt">HOWTO For iSCSI-SCST</a></p>
+                               <p><a href="SCST_Gentoo_HOWTO.txt">Gentoo HOWTO For iSCSI-SCST</a></p>
                                <p><a href="qla2x00t-howto.html">HOWTO For QLogic Target Driver</a></p>
                                <p><a href="http://lpfcxxxx.sourceforge.net/HOWTO.lpfc">HOWTO For Emulex lpfc Target Driver</a></p>
                                <p><a href="scst_user_spec.txt">SCST User Interface Description</a></p>
index 9541ea1..2f0b393 100644 (file)
                                access to it.</p>
                                <p class="post-footer align-right">                                     \r
                                        <a href="iscsi-scst-howto.txt" class="readmore">HOWTO</a>\r
+                                       <a href="SCST_Gentoo_HOWTO.txt" class="readmore">Gentoo HOWTO</a>\r
                                        <a href="downloads.html" class="readmore">Download</a>                          \r
                                        <a href="http://scst.svn.sourceforge.net/" class="readmore">SCST SVN Repository</a>\r
                                </p>