探索 AIX 6:在 AIX 6 上配置 iSCSI Target![]() | ![]() |
![]() |
|
王 荣, 技术支持工程师, IBM 科技产品(深圳)有限公司
2008 年 5 月 22 日
本文将介绍如何配置以及使用 AIX 上以软件方式实现的 iSCSI target 功能,其中包括客户端配置,CHAP 认证,安全访问控制等内容。
![]() |
|
iSCSI(Internet Small Computer System Interface)被业界认为是非常廉价的 SAN 解决方案,一直在中低端应用领域被市场所看好。 iSCSI 客户端和服务端都既可以通过硬件方式实现,也能通过软件方式的,其优劣区别就是在于效能与成本各有优势。绝大多数操作系统都免费的附带了 iSCSI 的 sw initiator(软件方式)客户端组件,比如在 AIX5.2 以上的版本中就开始附带了 iSCSI sw initiator 组件。不过 iSCSI 服务端,也即 iSCSI target,一般都是收费软件,并且绝大多数都只能运行在 windows 平台。在 AIX 6.1 中集成了 iSCSI initiator 和 iSCSI target 了两种功能。另外,借助与 POWER6 以及部分 POWER5 机型其功能强大的底层硬件平台, AIX 6.1 还能够支持到使用软件方式的 iSCSI 磁盘启动,无需硬件 iSCSI HBA。
![]() ![]() |
![]()
|
iSCSI 可以简单理解为通过 TCP/IP 封装 SCSI 命令,实现在 IP 网络使用远端的 SCSI 设备的一种协议。 iSCSI 是 SCSI 协议的扩展, SCSI 使用物理 SCSI 电缆传递 SCSI 命令,而 iSCSI 使用了虚拟的 TCP/IP 网络。借助现有的 LAN、WAN 网络环境,iSCSI 提供了非常经济的数据存储的解决方案。
其基本结构可以参看下图,iSCSI 结构与 SCSI 结构一样,由客户端(Initiator)和服务端(Target)两部分组成。不同的是 SCSI 的数据链路是一条 SCSI 总线,连接和寻址都较简单;而 iSCSI 使用 TCP/IP 网络作为数据链路,其配置就相对复杂一些,但是其灵活性和扩展性则远高于传统的 SCSI 架构。iSCSI 其最底层是以太交换网络,是 iSCSI 协议通信的基础层,我们首先需要保证客户端与服务端的网络畅通。(注:不光是传统以太网络,目前高性能 InfiniBand 网络也是采用 iSCSI 协议作为存储设备的传输协议)。中间层是 iSCSI 协议层的封装,主要功能包括 iSCSI 连接的管理,访问控制等,本文的内容也是主要针对这一层的配置和管理。最上层是 SCSI 命令层,在配置好 iSCSI 设备后,系统即可透明的使用 SCSI 协议访问远端的设备。
图表 1 iSCSI 协议模型

![]() ![]() |
![]()
|
本文所采用的案例,其逻辑结构图如下:右边是一台 AIX 6 服务器,我们将通过它来提供 iSCSI Tareget 服务。本案例中,使用了一个 lv (exlv)和一个磁盘(hdisk1)作为 Target LUN(Logical Unit Number) 设备,并通过 Target0 输出给客户端。在左边客户端这一侧,我们通过 initiator 连接到 AIX 6 服务器来访问 Target LUN 设备,并使用这两个远程的 iSCSI 磁盘创建一个 datavg。
图表 2 本案例逻辑架构

软硬件测试环境
系统平台 | 操作系统 | 网络地址 |
---|---|---|
System p 520 lpar 1 (服务端) 2 CPU 2G 内存 | AIX 6.1 | 192.168.21.134 |
System p 520 lpar 2 (客户端) 2 CPU 2G 内存 | AIX 5.3L | 192.168.21.132 |
![]() ![]() |
![]()
|
操作系统版本要求:AIX 6.1.0.0
iSCSI target 软件包在 AIX 6.1 expansion pack 光盘中,放入光驱,通过 SMIT 安装下面第一个软件包。
devices.tmiscsw.rte 6.1.0.0
如遇到错误,请检查以下软件包是否正确安装,devices.tmiscsw.rte 依赖于此软件包,请放入第一张系统盘安装此包。
devices.common.IBM.iSCSI.rte 6.1.0.0
![]() ![]() |
![]()
|
Target 的配置有三部分,一是创建 iSCSI Target 最底层的协议驱动设备;二是在协议驱动设备上创建虚拟的 Target 设备;最后将本地的磁盘映射到 Target 上,作为 Target LUN。
首先,通过 smit tmiscsi_proto 创建 iSCSI Target 协议设备。如下图:
iSCSI Target Protocol Device |
选择 Add an iSCSI Target Protocol Device, 按回车到下一步。
Add an iSCSI Target Protocol Device |
在此处配置 Target 的性能参数,我们一般使用默认值。 Access Control enabled 这一栏我们下面还会提到,打开或关闭取决于我们是否采用基于 iqn 的安全访问控制机制。在这里我们直接回车到下一步。
COMMAND STATUS |
第二步,我们创建虚拟的 Target 设备。使用命令 smit tmtarget。
iSCSI Targets |
选择 Add an iSCSI Target。
Add an iSCSI Target |
在 iSCSI Target Name 一栏输入 Target 设备的 iqn 地址。其他保持默认值。我们设置其为 com.ibm.cn.swtarget0. 按回车下一步。
COMMAND STATUS |
Target 设备即创建完成。
最后,我们将 LV exlv 和 hdisk1 两个块设备挂载(mapping)到 Target 设备下,作为 iSCSI Target LUN 设备。使用命令 smit tmlun
iSCSI Target LUNs |
选择 Add an iSCSI Target Logical Unit,按回车然后选择 target0,再按回车到下一步。
Add an iSCSI Target Logical Unit |
Type or select values in entry fields. |
我们先添加 hdisk1,在 Backing Device type 中输入设备类型 disk。在 Backing Device Name 输入 hdisk1. 回车下一步。
COMMAND STATUS |
hdisk1 已添加好成为 Target LUN。下面我们继续添加 LV exlv。
Add an iSCSI Target Logical Unit |
在设备类型一栏选择 lv,在 Backing Device Name 一栏输入 exlv,按回车到下一步。
COMMAND STATUS |
Command: OK stdout: yes stderr: no |
通过以下命令,来检查刚创建的设备的状态是否正常 :
# lsdev -C -t target# 查看 target 状态 |
到现在,我们已经在服务器端,配置好了 iSCSI 的 target 服务。并将 2 个块设备映射成为 target0 的 Target LUN 设备。默认的配置选项没有打开安全控制访问以及 CHAP 认证机制。所以我们目前不需要关心访问权限等内容。这部分内容在最后一个章节讨论。
![]() ![]() |
![]()
|
客户端需要我们配置客户端的 iqn 地址,还有 iSCSI Target 端的信息,我们将通过以下两个步骤来完成。
首先配置客户端的 iqn 地址。在客户端系统中使用 smit 来配置,smit 路径:smit chgiscsisw。
Change / Show Characteristics of an iSCSI Protocol Device |
在 iSCSI Initiator Name 一栏输入自定义的客户端 iqn,或使用自动生成的的 iqn 地址,我们在这里使用默认的生成的 iqn。下面我们通过编辑客户端 /etc/iscsi/targets 文件,添加 ISCSI target,也即配置 iSCSI 服务器信息。
# vi /etc/iscsi/targets |
在上面这个文件我们添加了最后一行,由三个字段组成,第一段指定服务器 IP 地址,第二段指定服务端口,第三段指定服务器 target 的 iqn 地址。我们配置好 target 信息之后,执行 cfgmgr 刷新一下,如果配置正确,我们就可以找到 iSCSI disk 了。如下图
# cfgmgr -l iscsi0# 刷新设备列表 |
![]() ![]() |
![]()
|
这一步较为简单,我们能够正确连接到 iSCSI 服务器端,访问到 iSCSI 磁盘后,可以通过下列命令创建一个 vg。
# mkvg -y datavg hdisk1 hdisk2 |
至此,我们已完成了在 AIX 平台上的关于 iSCSI 的一个基本的配置过程,包括:iSCSI 服务器配置,iSCSI 客户端的配置,以及使用 iSCSI 磁盘创建 vg。但是没有涉及到访问控制和认证等安全相关的内容,下面我们就 iSCSI 服务器安全机制做一个介绍。
![]() ![]() |
![]()
|
在 AIX 6 中,iSCSI 安全机制由两部分组成,一是使用 CHAP 握手协议对客户端连接请求做认证;二是通过访问列表(access list),控制客户端的访问权限。
CHAP 握手协议
CHAP 握手协议是一种应用广泛的身份验证的协议,可以对客户端进行身份验证。在 AIX 6 中,我们可以为每个 target 设置一个 CHAP 认证密钥,在服务器端的 /etc/tmiscsi/autosecrets 文件中配置。格式如下图:
# 字段格式为: target 名称 CHAP 用户名 CHAP 密钥 |
相应的我们需要修改客户端的的配置文件,编辑 /etc/iscsi/targets 文件,在后面添加 CHAP 密钥信息。
vi /etc/iscsi/targets |
我们通过 cfgmgr 命令刷新下设备。
# cfgmgr -vl iscsi0 |
访问控制列表
访问控制列表,是一个基于客户端 iqn 地址来控制访问权限的一个列表。它可以精确到设置每一个输出磁盘的访问权限。要使用访问控制功能,首先需要在创建 target 协议设备的时候需要激活该功能。或通过 smit tmiscsi_proto_change 来修改 Access Control enabled 为 on。修改必须要先删除该设备下的所有子设备,所以最好在创建的时候激活该功能。
Change / Show Characteristics of an iSCSI Target Protocol Device |
访问权限的配置在 /etc/tmiscsi/access_lists 中设置,下面将提供一些配置例子以供参考。更详细的格式说明请参考 /etc/tmiscsi/access_lists 中的注释。
#vi /etc/tmiscsi/access_lists |
IBM 的 system p AIX 6 平台为中小企业的 iSCSI 应用提供了一种全新的解决方案。总体来说有以下三个优势。
- AIX 6 的 iSCSI target 是集成在 AIX 安装光盘 expansion pack 里的一个软件包,无需额外费用。
- 借助 system p 强大的 IO 吞吐能力,能够保证稳定和高速的 iSCSI 流量。同时 system p 的先进的架构还能保证 IO 带宽的线性扩展能力。性能优势远非其他系统平台所能比拟。
- 作为 system p 的一贯特性:高可靠性,高可用性,高可服务性。这些特性不仅是在系统设计上得到保证,也一直被业界所认可。
我们看到依托于 system p 强大的硬件平台,AIX 6 提供的 iSCSI target 解决方案即高可靠又高性能。反过来说,AIX 6 进一步拓展了其 UNIX 平台的应用领域,将 system p 服务器打造成了一台“iSCSI 存储设备”。
学习
- 本系列的第 1 部分 :在本文中,我们介绍了 AIX 6.1 在系统基础功能,存储、I/O 和文件系统方面的新功能和增强。
- 本系列的第 2 部分 :在本文中,我们介绍了网络,性能,虚拟化和可管理性方面的变化。
- 本系列的第 3 部分 :本文为最后一篇,向您介绍了关于可用性、安全性以及开发方面的一些新的特性和功能。
- 本系列的第 4 部分 :在本文中,我们一起来了解使用 AIX 6 系统自带的工具(系统命令和 SMIT 菜单)对 WPAR 进行基本的管理操作,包括创建,删除,启动,停止,登录,挂起,备份和恢复等,并了解 WPAR 对系统环境的要求和安装前期应该进行的计划准备工作。
- 本系列的第 5 部分 : 在本篇文章中,我们将会介绍 IBM Workload Partition Manager(简称 WPAR Manager)的安装和使用,以及如何使用 WPAR Manager 实现 WPAR 的动态迁移(Live Application Mobility)。
- 本系列的”AIX 6 中的 JFS2 文件系统快照(Snapshot)功能入门与使用技巧”:本文将介绍在 AIX 6 系统中 JFS2 文件系统分区的快照功能以及一些使用技巧。
- AIX 6 资源中心 :你可以从这里找到更多和 AIX 6 相关的资源。
- p 系列主机虚拟化专题 :在这里,我们为您整理了与 p 系列主机虚拟化相关的内容,从概念、应用和新兴技术等方面向您介绍这个高级技术的方方面面。希望您能通过对这些内容的学习和了解,对虚拟化技术有一个全面的认识,并且能够应用到您的实际工作中去。
- 相关 IBM 红皮书资源:
- 访问 developerWorks AIX and UNIX 专区 以获取提高您的技能所需的资源。
- 您是 AIX 和 UNIX 新手吗?请访问 “AIX and UNIX 新手入门”页 以了解更多信息。
- 浏览 技术书店 ,以了解有关这些技术主题及其他技术主题的相关书籍。
讨论
- 播客 :收听播客并与 IBM 技术专家保持同步。
- 访问 developerWorks 博客 ,从而加入到 developerWorks 社区 中来。
![]() | ||
![]() | 王 荣,IBM 科技产品(深圳)有限公司的技术支持工程师, 主要从事 HPC 应用测试和方案设计.熟悉 xNix 系统及各种交换网络(以太网,SAN 存储网络,InfiniBand 高性能网络,等),拥有 CCNA,RHCE认证 。你可以通过 oceanw@cn.ibm.com 和他联系。
原文:http://www.ibm.com/developerworks/cn/aix/library/0805_wangrong_iscsi/?S_TACT=105AGX52&S_CMP=tec-csdn |