Archive for December, 2007

Incorrect dependencies for installation of packages on AIX 5.3

Wednesday, December 5th, 2007

Following an upgrade of AIX 5.3 to level 07, with SP1 technology upgrade, I had encountered a problem installing a package required for Oracle 11g – rsct.basic.rte 2.4.8.0

This rsct.basic.rte package requires rsct.basic.rte version 2.4.0.0 from AIX CD, however, to install it, I am required to install xlC.aix61 version 9.0.0.1, which should not be here, and following that, bos.rte version 6.0.0.0, which should be part of AIX 6.x.

Some elaboration on the bos family of packages – bos stands for Base Operating System. rte stands for RunTime Environment. It means that bos.rte version 6.0.0.0 would be the base operating system runtime components of AIX version 6. This was far from my desire, as you cannot replace the system’s bos.rte package…

I have attempted to force installation of the baseline version of rsct.* from the cd, by running the command

installp -aF -d /dev/cd0 rsct.basic.rte

but for no avail. I have removed all rsct.* packages (this time I used smit), and still – I was unable to install the baseline package rsct.basic.rte, since it had dependencies from AIX 6…

I was able to solve it using the following method:

1. Installed all bos.adt baseline packages missing, using the following command

installp -aXg -d /dev/cd0 bos.adt

2. Extracted the combined package of SP1 technology update, and upgrade package to a specific directory

3. Copied the contents of baseline rsct packages from the cdrom to that same directory mentioned above:

mount /mnt/cdrom
cp /mnt/cdrom/installp/ppc/rsct.* ./

4. Created new .toc file

inutoc .

5. Installed (and succeeded this time) rsct.basic.rte. This time all dependencies were fulfilled

installp -aXg -d . rsct.basic.rte

6. Updated the entire level back to the latest os level

smit update_all

This worked fine, and I write it down for the next sucker who would be required to fulfill an impossible requirement in order to install one small package.

iSCSI target/client for Linux in 5 whole minutes

Tuesday, December 4th, 2007

I was playing a bit with iSCSI initiator (client) and decided to see how complicated it is to setup a shared storage (for my purposes) through iSCSI. This proves to be quite easy…

On the server:

1. Download iSCSI Enterprise Target from here, or you can install scsi-target-utils from Centos5 repository

2. Compile (if required) and install on your server. Notice – you will need kernel-devel packages

3. Create a test Logical Volume:

lvcreate -L 1G -n iscsi1 /dev/VolGroup00

4. Edit your /etc/ietd.conf file to look something like this:

Target iqn.2001-04.il.org.tournament:diskserv.disk1
Lun 0 Path=/dev/VolGroup00/iscsi1,Type=fileio
InitialR2T Yes
ImmediateData No
MaxRecvDataSegmentLength 8192
MaxXmitDataSegmentLength 8192
MaxBurstLength 262144
FirstBurstLength 65536
DefaultTime2Wait 2
DefaultTime2Retain 20
MaxOutstandingR2T 8
DataPDUInOrder Yes
DataSequenceInOrder Yes
ErrorRecoveryLevel 0
HeaderDigest CRC32C,None
DataDigest CRC32C,None
# various target parameters
Wthreads 8

5. Start iscsi-target service:

/etc/init.d/iscsi-target start

On the client:

1. Install open-iscsi package. It will be called iscsi-initiator-utils for RHEL5 and Centos5

2. Run detection command:

iscsiadm -m discovery -t sendtargets -p <server IP address>

3. You should get a nice reply. Something like this. <IP> refers to the server’s IP

<IP>:3260,1 iqn.2001-04.il.org.tournament:diskserv.disk1

4. Login to the devices using the following command:

iscsiadm -m node -T iqn.2001-04.il.org.tournament:diskserv.disk1 -p <IP>:3260,1 -l

5. Run fdisk to view your new disk

fdisk -l

6. To disconnect the iSCSI device, run the following command:

iscsiadm -m node -T iqn.2001-04.il.org.tournament:diskserv.disk1 -p <IP>:3260,1 -u

This will not allow you to set the iSCSI initiator during boot time. You will have to google your own distro and its bolts and nuts, but this will allow you a proof of concept of a working iSCSI

Good luck!