A solution to the mkvg failure when adding iSCSI disks to AIX.

Previous forum threads have noted that AIX cannot use iSCSI disks because it fails when trying to add them to a volume group using mkvg. The failure is caused by AIX's use of the SCSI "WRITE AND VERIFY"(0x2e) command which some iSCSI targets do not support.

We experienced the same problem using a Synology Diskstation RS2211RP+ running DSM 3.2-1955 and an AIX 6.1 TL6 initiator.

See this previous thread, for example:
www.unix.com/aix/136104-mkvg-iscsi-disk-wont-work-6-1-a.html

However, a poster to this previous thread made a crucial observation without exploring it further - namely, that AIX can create a JFS2 filesystem (using mkfs) directly on an iSCSI block device file.

If users are willing to do without the convenience and features of a volume group (such as mirroring) then the iSCSI can be used without ever running the mkvg command. In our setup the disk mirroring is handled at the target (Diskstation) end, so a volume group is not strictly necessary.

Here is our solution:

Edit the /etc/iscsi/targets file.
We added the following line:

10.1.254.19 3260 iqn.2007-02.com.ourdomainname:lostore01.archiving

Run the cfgmgr command, which will attempt to set up a TCP connection and create the device file for the resulting device:

cfgmgr -l iscsi0

Confirm that a new disk device has appeared:

lspv

In our case a new line appeared:

hdisk14         00c15f1f85e9a74a                    None

Confirm that attributes of the disk can be read:

lsattr -l hdisk14 -E

Now, create the JFS2 filesystem directly on to the device itself:

mkfs -Vjfs2 -o log=INLINE,name=/archiving,agblksize=4096 /dev/hdisk14

Optionally, add the filesystem directly to the /etc/filesystems file, in order to mount it conveniently. (The cleaner "smit fs" means of doing this does not appear to work because it assumes the filesystem will be within a volume group.)

/archiving:
        dev             = /dev/hdisk14
        vfs             = jfs2
        log             = INLINE
        mount           = true
        options         = rw
        account         = false

It should be possible to mount immediately using:

mount /archiving

However, to mount directly without going via /etc/filesystems, use:

mount -V jfs2 -o log=INLINE /dev/hdisk14 /archiving
2 Likes

Thank you very much for this ... quite helpful