-
Notifications
You must be signed in to change notification settings - Fork 2
open-osd user-mode utilities and scripts
License
bharrosh/open-osd
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
open-osd OSD Library README ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Overview: Here are the list of things I did to deploy a running OSD environment: - Create a parent directory to hold the different components - grab an OSD target or two - Install the open-iscsi tools - grab open-osd git sources and build them - edit test script of target settings and run the test. OSD targets we tested with: --------------------------- For OSD2, grab OSC's target from: http://www.open-osd.org/bin/view/Main/OscOsdProject Follow the instructions on the web and in READMEs to build and test a working target. For OSD1, there is the old IBM-OSD-SIM x86 32-bit binary only target, available freely here: http://www.alphaworks.ibm.com/tech/osdsim All I did was extract it into a folder (say ibm-osd-sim) and run it: $ ./ibm-osd-sim -EUIid 0xfb -p 3261 -trace_level 4 (I use the -p 3261 port so I can have the OSD2 target on the default 3260 port for OSD). Note: you need to edit the scsi_access.txt file to let in connections from your iscsi initiator. open-iscsi Installation ----------------------- You must have the latest kernel modules and tools from open-iscsi.org to be able to run the bidirectional commands mandated by OSD. The minimum is a Linux kernel 2.6.27. Or Linux 2.6.26 with new iscsi modules from open-iscsi as of open-iscsi-2.0-869.2 or later. At this point you should be able to successfully login to your OSD target with your iscsi tools. See example login commands below. Download and Build open-osd library ----------------------------------- Here you have two options. Use the out-of-tree open-osd.git or the in-tree linux-open-osd.git. open-osd git-tree: You need an external Kernel source tree or kernel headers from your distribution. (anything based on 2.6.26 or later). download open-osd source using: [parent-directory]$ git clone git://git.open-osd.org/open-osd.git [parent-directory]$ cd open-osd/ and build the library module like this: [open-osd]$ make or if you need to compile against a different kernel [parent-directory]$ make KSRC=$(KER_DIR) -C open-osd using whatever parameters you compiled your Kernel with and with $(KER_DIR) above pointing to the Kernel you compile against. See the file open-osd/top-level-Makefile for an example. The out-of-tree Makefile will build osd Kernel modules as well as libosd user-mode library, exofs - osd based filesystem, and user applications. [open-osd]$ make rpm To build the rpm installation packages In-tree: Create a kernel clone [parent-directory]$ git clone git://git.open-osd.org/linux-open-osd.git [parent-directory]$ cd linux-open-osd This will create a linux-open-osd directory with a full kernel git-tree and sources files. Create a branch for hacking on OSD work. [linux-open-osd]$ git checkout -b osd-work origin/master In general the "master" branch is kept as the more stable, released for upstream branch, and will not usually rebase. "osd" and "exofs" branches might have more advanced code but might rebase freely. Also linux-next branch is whats currently pulled by linux-next and will rebase often. You will need to run make xconfig/menuconfig and select SCSI_OSD_INITIATOR SCSI_OSD_ULD and SCSI_OSD_DEBUG they are located under the SCSI sub-tree. Also under "Miscellaneous filesystems" select CONFIG_EXOFS_FS. Now run "make" your kernel in the usual way. The in-tree build will build the Kernel and osd/exofs kernel modules only. User-mode applications and library are only built with the out-of-tree git above. Running the tests ----------------- I use the open-osd/do-osd to run tests. Inspect this file for latest information on tools usage. The manual steps are: 1. Start the OSD target 2. Start open-iscsi initiator (e.g., using $ /etc/init.d/iscsid start) 3. Load OSD/exofs modules: [open-osd]$ insmod ./drivers/scsi/osd/libosd.ko [open-osd]$ insmod ./drivers/scsi/osd/osd.ko [open-osd]$ insmod ./drivers/scsi/osd/osd_ktests.ko [open-osd]$ insmod ./fs/exofs/exofs.ko 4. Login into the target: [parent-directory]$ iscsiadm -m discovery -t sendtargets -p $IP_OSD --login where IP_OSD=host:port of target. 5. Run the test [open-osd]$ usr/osd_test -k 1 /dev/osd0 where /dev/osd0 is the device that was created after the iscsi login Look in Kernel dmesg logs for the test output. See Documentation/filesystems/exofs.txt for mounting exofs Or just run the open-osd/do-osd interactive script. Your setup will vary so first edit the parameters at the head of the do-osd file. If you have any problems, questions, comments, etc. please email: open-osd ml <[email protected]> Boaz Harrosh <[email protected]> Benny Halevy <[email protected]> References and links -------------------- Main web site: http://open-osd.org The open-osd repository including Kernel(out-of-tree), exofs(out-of-tree) libosd library, applications tests and scripts: git://git.open-osd.org/open-osd.git master http://git.open-osd.org/gitweb.cgi?p=open-osd.git;a=summary Linux In-Tree Kernel source: git://git.open-osd.org/linux-open-osd.git http://git.open-osd.org/gitweb.cgi?p=linux-open-osd.git;a=summary Kernel module documentation: open-osd/Documentation/scsi/osd.txt open-osd/Documentation/filesystems/exofs.txt Thanks The OSD team
About
open-osd user-mode utilities and scripts
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published