The requirement for cost-effective storage solutions is nothing new. Internet small computer system interface (iSCSI) isn't new either, though it seemed to be when we started implementing it on AIX® across a JS20 blade center.
This article explains how to implement iSCSI on AIX through Cisco MDS switches. You'll cover all the steps for host and SAN switch configuration for the Cisco MDS class SAN switches. The information in this article is based on actual experience. It is assumed that you have both AIX system administration and Cisco storage area network (SAN) configuration skills.
The steps in this procedure are for Cisco Fabric Manager configuration, Cisco Device Manager configuration, and AIX host configuration. We also provide a section on AIX tuning, which is optional but recommended.
The procedures for configuration of iSCSI on AIX assumes:
- AIX Version 5.2, or higher, is installed on the server or host nodes.
- All network and fiber cabling has been completed.
- Most importantly, the network configuration is complete and tested, including the ability to perform a ping test from the AIX node to the iSCSI IP port address.
The basic configuration consisted of four JS20 server nodes connected through a Cisco Catalyst network switch, which was then bridged through to a Cisco MDS 9000 SAN switch to the storage. In this application, two IBM DS-4800s were used as the back-end storage.
Users require administrator access and a working knowledge of zoning to create the zones required for both the host nodes and the back-end storage. To enable iSCSI on the Cisco MDS SAN switch from Cisco Fabric Manager, do the following:
- On the MDS from the Physical Attributes (bottom left) pane, select End Devices > iSCSI.
- Select the Control tab and then iSCSI enable for all switches in the fabric.
- Select Apply.
Zoning in the Cisco Fabric Manager graphical user interface (GUI) should be performed in the same manner as zoning for any other device. Once the MDS is set up to handle iSCSI interfaces, you should treat it as any other end device.
Perform the following steps using Device Manager on the Cisco MDS SAN switch. Users require administrator access and a working knowledge of how to configure MDS class switches through the Device Manager GUI. A general knowledge of SANs, including zoning, is recommended.
For initial MDS setup, do the following:
- Enable the iSCSI License feature on the Cisco MDS SAN switch.
- On the MDS, from the Admin tab, select Feature Control.
- Enable the iscsi–vsan-interface-membership.
- Select Apply.
At this point, the Cisco MDS switch is ready to accept iSCSI commands.
Now you'll set up the MDS port and parameters. To configure the GigE interface, do the following:
- Locate the iSCSI port coming from the Cisco Catalyst Network Switch.
- Right-click on the port to be configured and select Configure….
- Select the GigE tab from the top of the configuration panel.
- Enter the port description in the Description field.
- Change MTU to 9000. (Changing MTU to 9000 is a recommended setting for performance, but is optional.)
- Enter the IP address and subnet for the iSCSI port in the IP Address/Mask field.
The Cisco Catalyst Network Switch automatically fills in the subnet mask at the end of the IP address. If the subnet you are using is different from what Cisco has assumed, it might be changed manually.
- Select the Auth method by checking either none or chap from the iscsiAuthMethod selection boxes.
- Select Apply.
Once complete, apply all changes for each tab. The Apply button only saves the changes for the tab you are currently working in and does not carry over to the other tabs.
To configure the iSCSI interface, do the following:
- Select the iSCSI tab from the top on the configuration panel.
- Input the port description in the Description field.
- Select the appropriate virtual storage area network (VSAN) from the PortVSAN from the pull-down window, or type in the appropriate VSAN number.
- Check the Enable box under Initiator Proxy mode.
- Select Auto for the Assignment option.
- Select Apply.
To configure the iSCSI_TCP interface, do the following:
- Select the iSCSI_TCP tab from the top of the configuration panel.
- Input the correct value for the LocalTCPport.
- Select Apply.
For MDS Initiator/Target setup, do the following:
- From the IP pull down on the MDS, select ISCSI….
- On the Initiator tab, select Create.
- In the iSCSI Initiator creation box, set the iSCSI node name or IP address and the VSAN membership.
- Check the Persistent box under Port WWN Mapping.
- Select the Targets tab, then select Create.
- Input the appropriate name of the target under the iSCSI Name field.
- Select All for the Initiator Access listing.
- Select All or check the appropriate interfaces from the Advertised Interfaces listing field.
- Select Apply.
Users require root-level authorization and a working knowledge of AIX system administration.
For utilization of the DS4000 family of back-end storage, the following ODM entry was required. Other storage devices might require their own unique ODM entries, though this needs to be handled on an individual basis. Be sure that the following ODM entry is present and the ODM is connected to DS4000 type storage devices:
array.iscsi.ibm-dac-V4.add |
If not present, issue the following command from the command line:
odmadd array.iscsi.ibm-dac-V4.add |
To configure the iscsi0 interface, a unique network interface for iSCSI needs to be created. Using SMIT, enter:
smitty -> chgiscsisw |
Enter the iscsi0 shortname. For example:
iqn.com.ibm.po.ppd.z19c3s11e3.hostid.0972f5ec |
From the command line, enter:
chdev –l iscsi0 –a initiator_name=iqn.com.ibm.pok.ppd.<host shortname>.hostid.0972f5ec |
The iqn.com.ibm.pok.ppd is not a typo; this is how iSCSI resolves the target storage names.
Use the <host Shortname>, for example, z20c4s11e3, where e3 is the en3 interface. The host shortname and last entry in the iSCSI string should be unique to each target entry.
/etc/iscsi/targets configuration file
There are required entries into the /etc/iscsi/targets file. In the /etc/iscsi directory, there's a targets file that requires entries for each of the iSCSI targets ports, as outlined in Cisco Device Manager. The entries have to be created in the format shown in Listing 1 below. There are also examples in the targets file for levels of access and authentication.
Listing 1. Example of the /etc/iscsi/targets file
################################################################## # EXAMPLE 1: iSCSI Target without CHAP(MD5) authentication # Assume the target is at address 192.168.3.2, # the valid port is 5003 # the name of the target is iqn.com.ibm-4125-23WTT26 # The target line would look like: # 192.168.3.2 5003 iqn.com.ibm-4125-23WWT26 192.169.240.8 5003 iqn.com.ibm.pok.ppd.zec1xbba3.0005 192.169.240.16 5003 iqn.com.ibm.pok.ppd.zec1xbbb3.0006 # 192.169.240.1 5003 iqn.com.ibm.pok.ppd.zec2xbba1.0003 # 192.169.240.1 5003 iqn.com.ibm.pok.ppd.zec2xbbb1.0004 # # EXAMPLE 2: iSCSI Target with CHAP(MD5) authentication # Assume the target is at address 10.2.1.105 # the valid port is 3260 # the name of the target is iqn.com.ibm-K167-42.fc1a # the CHAP secret is "This is my password." # The target line would look like: # 10.2.1.105 3260 iqn.com.ibm-K167-42.fc1a "This is my password." # # EXAMPLE 3: iSCSI Target with CHAP(MD5) authentication and line continuation # Assume the target is at address 10.2.1.106 # the valid port is 3260 # the name of the target is iqn.2003-01.com.ibm:00.fcd0ab21.shark128 # the CHAP secret is "123ismysecretpassword.fc1b" # The target line would look like: # 10.2.1.106 3260 iqn.2003-01.com.ibm:00.fcd0ab21.shark128 \ # "123ismysecretpassword.fc1b" # ##################################################################### |
Input each target (storage) address created in the MDS in the following format:
192.169.240.1 5003 iqn.com.ibm.pok.ppd.z20c4s11e3.hostid.0972f5ec |
Where:
-
192.169.240.1is the iSCSI port IP address. -
iqn.com.ibm.pok.ppdis the iSCSI resolvable target address. -
z20c4s11e3is the host en3 interface. -
hostidis input by the user. -
0972f5ecis input by the user.
Run cfgmgr –v.
Perform an lspv command on each of the AIX nodes, and ensure that the nodes have access to all available storage.
The following interface tuning parameters are recommended for performance on iSCSI:
tcp_recvspace=262144 tcp_sendspace=262144 rfc1323=1 jumbo frames = yes |
Command-line input procedure:
ifconfig en3 down ifconfig en3 detach chdev –a ent3 –a jumbo_frames=yes chdev –l en3 –a tcp_recvspace=262144 chdev –l en3 –a tcp_sendspace=262144 chdev –l en3 –a rfc1323=1 ifconfig en3 up |
After completing the steps outlined in this article, you should have access to the configured back-end storage. Go ahead and verify that all storage is present and accessible.
Learn
- AIX and UNIX®: Visit the developerWorks AIX and UNIX zone to expand your UNIX skills.
- New to AIX and UNIX: Visit the New to AIX and UNIX page to learn more about AIX and UNIX.
- developerWorks
technical events and webcasts: Stay current with developerWorks technical events and webcasts.
- AIX 5L Wiki: A collaborative environment for technical information related to AIX.
- Podcasts: Tune in and catch up with IBM technical experts.
Get products and technologies
- IBM trial software: Build your next development project with software for download directly from developerWorks.
Discuss
-
Participate in the AIX and UNIX forums:
- AIX 5L -- technical
- AIX for Developers Forum
- Cluster Systems Management
- IBM Support Assistant
- Performance Tools -- technical
- Virtualization -- technical
- More AIX and UNIX forums
- Participate in the developerWorks
blogs and get involved in the developerWorks community.
David C. Johns works as a Staff Software Engineer for IBM in Cluster System test. Prior to working in Cluster System test, he spent three years in Platform Evaluation Test working with SANs and back-end storage devices. His areas of technical expertise includes design and implementation of SANs, configuration and implementation of all forms of back-end storage, and testing of GPFS on both AIX and pLinux OS. He has written many field support documents and technical publications in his 20+ years at IBM.
Robert Ragonese works as an Advisory Software Engineer for IBM, leading the Storage Device Test team for Cluster System test. His responsibilities include the overall design, implementation, and testing of new back-end storage devices for Cluster System test in Poughkeepsie, New York. Prior to joining IBM in 1996, he worked for Grumman Aerospace and NYNEX. Robert holds a BS degree in mechanical engineering from Worcester Polytechnic Institute. You can contact him at ragonese@us.ibm.com.




