置和使用指导书
关键词:Linux Redhat、软件Initiator 缩略语清单: 版本号 1.0 2.0 验证人 安恒 a04776 更新时间 2006-04-18 2007-11-15 更新说明 初稿完成 对文档结构进行了改动,更新了文件系统自动挂载部分 1 本指导书适用的操作系统
兼容列表中的RedHat Linux AS3、WS3版本 兼容列表中的RedHat Linux AS4、WS4版本
注意:
Redhat Linux 9.0系统下的软件iSCSI Initiator的安装、配置指导请参见
《Redhat 9.0(2.4.20-8smp) iSCSI initiator(version 3.6.2)安装设置指南》
2 iSCSI initiator软件说明:
2.1 操作系统兼容信息
1、以下是部分兼容列表(请参见《H3C Neocean存储产品兼容性列表》查看更多的兼容性信息),注意:WS3.4只能与IX5000挂载,不能与IX1000挂载。
OS 2007-11-15
Kernel 自带Initiator initiator版本 第1页, 共16页
公司机密,未经许可不得扩散
Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 Redhat AS3.6 2.4.21-37.EL Redhat ES3.6 2.4.21-37.EL Redhat ES4.2 Redhat AS3.5 Redhat AS4.2 Redhat WS3.5 Redhat WS3.4 Redhat WS4.2 Redhat AS3.3 Redhat WS3.6 Redhat AS3.4
2.6.9-22.EL 2.4.21-32.EL 2.6.9-22.EL 2.4.21-32.EL 2.4.21-27.EL 2.6.9-22.EL 2.4.21-20.EL 2.4.21-37.EL 2.4.21-37.EL 是 是 否 是 是 是 是 是 否 是 是 iscsi-initiator-utils-3.6.3-3 iscsi-initiator-utils-3.6.3-3 iscsi-initiator-utils-4.0.3.0-2 iscsi-initiator-utils-3.6.2-7 iscsi-initiator-utils-4.0.3.0-2 iscsi-initiator-utils-3.6.2-7 iscsi-initiator-utils-3.6.2-4 iscsi-initiator-utils-4.0.3.0-2 iscsi-initiator-utils-3.6.3-3 iscsi-initiator-utils-3.6.3-3 iscsi-initiator-utils-3.6.3-3 2、以下是一些无法正常安装软件iSCSI initiator的操作系统版本列表
OS Redhat AS4.0 Redhat ES3.2 Redhat ES4.1 Redhat WS4.1 Redhat AS4.1 注意:
如果需要在Linux Redhat AS4.0上使用iSCSI initiator,可以考虑升级操作系
统的内核(此操作有风险)。具体操作指导见《Linux Redhat AS4.0内核2.6.9-5.EL升级到2.6.9-22.EL及软件Initiator的安装、配置和使用指导书》
Kernel 2.6.9-5.EL 2.4.21-15.EL 2.6.9-11.EL 2.6.9-11.EL 2.6.9-11.EL 3、Red Hat Linux操作系统的发行版本一般还根据服务器硬件的不同分为x86(i386)、x86_64及64位Itanium 版本,这几个平台上的iSCSI initiator软件一般是不能混用的,比如iscsi-initiator-utils-4.0.3.0-2.i386.rpm这个安装包就不能用在Red Hat Linux AS4.2 64位Itanium版本上使用。
4、对于没有自动安装 initiator 的版本,如果在操作系统安装盘上的没有找到initiator ,可参见附件initiator目录,里面包含了部分iSCSI initiator的rpm安装包。
2007-11-15
公司机密,未经许可不得扩散
第2页, 共16页
Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 3 Initiator安装、配置过程(以RedHat AS4 update3 x86版本为例)
3.1 安装iSCSI initiator软件
1. 首先用命令rpm -qa | grep iscsi确认操作系统中是否已经安装了iSCSI initiator软件,如果
已经安装,则直接跳到iSCSI initiator软件配置步骤。
WS4.2在安装操作系统的时候,默认安装情况下会自动安装上iSCSI initiator软件;而AS4.2、AS4.3和ES4.2等版本在默认安装情况则没有自动安装,一般在安装盘的CD4上有iSCSI initiator软件的安装文件。
2. 如果操作系统中还没有安装iSCSI initiator软件,则以root用户登录系统,从RedHat系统
安装光盘CD4上拷贝iSCSI initiator软件到/tmp目录下进行安装。(为谨慎起见,建议在安装Initiator之前备份系统中重要的数据(这一步通常可以跳过)) 3.
[root@pe08 cdrom]# mount /dev/cdrom /mnt ――把光盘挂载到/mnt目录下 mount: block device /dev/cdrom is write-protected, mounting read-only [root@pe08 RPMS]# cd /mnt/RedHat/RPMS/ ――进入光盘上存放rpm安装文件的目录 [root@pe08 RPMS]# cp iscsi-initiator-utils-4.0.3.0-3.i386.rpm /tmp ――把安装文件拷贝到/tmp目录下 [root@pe08 RPMS]# cd /tmp ――进入/tmp目录 [root@pe08 tmp]# rpm -ivh iscsi-initiator-utils-4.0.3.0-3.i386.rpm ――安装iSCSI initiator软件 warning: iscsi-initiator-utils-4.0.3.0-3.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] 1:iscsi-initiator-utils ########################################### [100%] 4. 使用面的命令查看是否安装成功
[root@pe08 tmp]# rpm -qa|grep iscsi ――查看iSCSI软件是否是否已安装上 iscsi-initiator-utils-4.0.3.0-3 2007-11-15
公司机密,未经许可不得扩散
第3页, 共16页
Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 3.2 配置iSCSI initiator软件
1、设置iSCSI initiator名称
以root用户登录,用vi编辑/etc/ initiatorname.iscsi文件,设置iSCSI initiator名称。 在/etc/initiatorname.iscsi 文件中设置 InitiatorName: InitiatorName=xxxxx
编辑后用cat /etc/initiatorname.iscsi确认文件内容的正确性。 [root@pe08 tmp]# cat /etc/initiatorname.iscsi InitiatorName=iqn.2006-11.com.h3c:pe08
注意:
/etc/initiatorname.iscsi 文件中的默认内容可能是GenerateName=yes,在编
辑的时候要把它删除掉。
InitiatorName这个单词必须注意大小写,同时,必须顶格写,
xxxx代表要设 置的initiator名称,请遵循iqn命名规范。
iqn规范定义的InitiatorName格式为iqn.domaindate. reverse.domain.name:optional name,例如:iqn.2006-11.com.h3c:dbserver。
2、设置DiscoveryAddress
使用vi编辑/etc/iscsi.conf文件,找到# Discovery Address Category部分,设置iSCSI存储设备相应的业务口IP地址,添加的内容如下,
DiscoveryAddress=200.200..10.200:3260 本例中存储的业务IP地址为200.200.10.200 示例截图:
2007-11-15
公司机密,未经许可不得扩散 第4页, 共16页
Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书
注意:
注意DiscoveryAddress这个词的大小写,DiscoveryAddress必须从本行的顶
格开始写。
如果需要设置CHAP认证,则需要在DiscoveryAddress这义行的下面加入CHAP认证的用户名称和密码,如
DiscoveryAddress=192.168.10.200:3260 OutgoingUsername=xxxxxxx OutgoingPassword=xxxxxxx
注意:
OutgoingUsername和OutgoingPassword要从本行空两格再写。
3、启动iSCSI服务
[root@pe08 tmp]# service iscsi start ――启动iSCSI服务 Checking iscsi config: [ OK ] Loading iscsi driver: [ OK ] Starting iscsid: [ OK ]
4、分配存储空间,登录存储设备上的iSCSI target
2007-11-15
公司机密,未经许可不得扩散
第5页, 共16页
Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 在IP SAN存储设备上把相应的存储空间分配给RedHat Linux服务器(具体的操作请参照各存储设备相关的指导书),之后重新加载iSCSI配置并用iscsi-ls命令确认iSCSI initiator已登录到存储端的iSCSI target
过程如下:
[root@pe08 tmp]# service iscsi reload ――重新加载iSCSI配置 [root@pe08 tmp]# iscsi-ls ――查看已连接的iSCSI target信息 ******************************************************************************* SFNet iSCSI Driver Version ...4:0.1.11(12-Jan-2005) ******************************************************************************* TARGET NAME : iqn.2007-10.h3c.com:h3c:lab-ix5000-4.pe08disk TARGET ALIAS : HOST ID : 3 BUS ID : 0 TARGET ID : 0 TARGET ADDRESS : 200.200.10.201:3260,1 SESSION STATUS : ESTABLISHED AT Thu Nov 15 14:57:53 CST 2007 SESSION ID : ISID 00023d000001 TSIH a91 ******************************************************************************* 本例中,从Neocean IX5000上分配一个300GB大小的卷给服务器。
4 创建文件系统并设置文件系统的自动挂载
4.1 对磁盘进行分区
先用fdisk –l查看新的磁盘名称,本例中发现了一个300GB的磁盘,设备名为/dev/sdb [root@pe08 tmp]# fdisk -l ――查看操作系统识别到的磁盘信息 Disk /dev/sda: 73.4 GB, 73407820800 bytes 255 heads, 63 sectors/track, 8924 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes 2007-11-15
公司机密,未经许可不得扩散
第6页, 共16页
Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 8924 71577607+ 8e Linux LVM Disk /dev/sdb: 322.1 GB, 322121498624 bytes 255 heads, 63 sectors/track, 39162 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdb doesn't contain a valid partition table
用fdisk /dev/sdb进行分区,本例中我们把整个磁盘分成一个主分区/dev/sdb1 [root@pe08 tmp]# fdisk /dev/sdb ――对/dev/sdb进行分区 Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. The number of cylinders for this disk is set to 39162. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n ――新建一个分区 Command action e extended p primary partition (1-4) 2007-11-15
公司机密,未经许可不得扩散
第7页, 共16页
Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 p Partition number (1-4): 1 First cylinder (1-39162, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-39162, default 39162): 39162 Command (m for help): w ――把分区信息写入磁盘的分区表 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 4.2 创建文件系统
1、用mkfs命令在/dev/sdb1上创建ext3文件系统
[root@pe08 tmp]# mkfs -t ext3 /dev/sdb1 ――在/dev/sdb1上创建ext3文件系统 mke2fs 1.35 (28-Feb-2004) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 39321600 inodes, 78642183 blocks 3932109 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=79691776 2400 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616 2007-11-15
公司机密,未经许可不得扩散 第8页, 共16页
Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
2、用tune2fs去掉文件系统自动检查的属性: [root@pe08 tmp]# tune2fs -c -1 -i 0 /dev/sdb1 tune2fs 1.35 (28-Feb-2004) Setting maximal mount count to -1 Setting interval between check 0 seconds Linux上的ext文件系统有一个特性,对某个分区mount、umount很多次后或者隔一个固定的时间后,系统会对该分区进行检测,这就会导致硬盘反映速度很慢,影响业务,本操作的目的就是去掉文件系统自动检查的属性。
4.3 设定文件系统的自动挂载
本例中我们将要把/dev/sdb1挂载到/data目录下。 1、先在系统的根目录下创建一个data目录
[root@pe08 tmp]# mkdir /data ――在系统的根目录下创建一个data目录 2、用tune2fs -l查看文件系统的UUID:
[root@pe08 tmp]# tune2fs -l /dev/sdb1 ――查看文件系统的UUID tune2fs 1.35 (28-Feb-2004) Filesystem volume name: 公司机密,未经许可不得扩散 第9页, 共16页 Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 Filesystem features: has_journal resize_inode filetype sparse_super large_file .................... 3、用vi编辑/etc/fstab文件 在/etc/fstab文件中增加下面蓝色的一行文字来设置自动挂载: # This file is edited by fstab-sync - see 'man fstab-sync' for details /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 UUID=bb52f3d0-0715-4e5f-a42c-1bc62a6d6768 /data ext3 _netdev 0 0 注意: 挂载选项使用的是“_netdev” UUID要顶格写。 Linux系统重启后,磁盘设备的名称可能会发生变化,从而引起文件系统不能 挂载上来或者不能正确挂载,使用UUID的方式进行挂载可以解决这个问题,也可以使用给文件系统设置卷标的方式来解决,具体操作步骤可以参见KMS-12541:《在Linux上使用文件系统卷标解决磁盘名称发生变化引起的文件系统不能正确自动挂载的问题》 4、用mount –a挂载文件系统 [root@pe08 tmp]# mount -a 5、用df查看文件系统是否已经挂载成功 [root@pe08 tmp]# df -Th 2007-11-15 公司机密,未经许可不得扩散 第10页, 共16页 Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 ext3 66G 1.8G 61G 3% / /dev/sda1 ext3 99M 13M 82M 14% /boot none tmpfs 506M 0 506M 0% /dev/shm /dev/hda iso9660 635M 635M 0 100% /mnt /dev/sdb1 ext3 296G 97M 281G 1% /data 6、设置iSCSI服务随操作系统的启动而自动启动 [root@pe08 tmp]# chkconfig --level 35 iscsi on 7、条件允许的话,重启一下操作系统,使用df命令确认系统重启后文件系统能够自动挂载上来。 5 FAQ 5.1 如何查看Linux系统的版本信息 用uname -a查看Linux的内核版本 使用cat /etc/redhat-release查看RedHat Linux发行版本信息 如: [root@pe08 ~]# uname -a Linux pe08 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:54:53 EST 2006 i686 i686 i386 GNU/Linux [root@pe08 ~]# cat /etc/redhat-release Red Hat Enterprise Linux AS release 4 (Nahant Update 3) 5.2 如何重新加载iSCSI配置 使用service iscsi reload重新加载iSCSI配置 5.3 如何停止iSCSI服务 先使用umount命令卸载文件系统,然后可以使用service iscsi stop停止iSCSI服务 2007-11-15 公司机密,未经许可不得扩散 第11页, 共16页 Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 5.4 如何重启iSCSI服务 先使用umount命令卸载文件系统,然后可以使用service iscsi restart重启iSCSI服务 5.5 如何卸载iSCSI initiator 在卸载软件前,请确保已umount所有已经挂载的IP SAN资源,并在fstab文件中删除自动mount IP SAN资源的配置行。 1、以root用户登录,使用service iscsi stop命令停止iscsi服务。 2、使用rpm -qa|grep iscsi查看iSCSI initiator软件的名称 [root@pe08 tmp]# rpm -qa|grep iscsi iscsi-initiator-utils-4.0.3.0-3 3、使用rpm -e来删除iSCSI initiator软件: rpm -e iscsi-initiator-utils-4.0.3.0-3 5.6 如何在Linux上使用LVM来管理磁盘 请参见KMS - 12578《在RedHat Linux上使用LVM管理磁盘并创建文件系统》 5.7 如何在Linux上使用裸设备 请参见KMS - 10948《在Red Hat Liunx AS 4上配置并使用裸设备》 5.8 iSCSI initiator访问存储资源失败问题定位思路 主机访问存储资源失败 2007-11-15 检查主机到存储设备的网络是否可达(主机网卡IP公司机密,未经许可不得扩散 第12页, 共16页 地址设置、MTU设置、交换机及路由器设置、防火墙设置等) Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 必要的时候,执行以下命令收集操作系统信息: uname -a cat /etc/redhat-release rpm -qa |grep iscsi cat /etc/iscsi.conf |grep DiscoveryAddress cat /etc/fstab 2007-11-15 公司机密,未经许可不得扩散 第13页, 共16页 Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 chkconfig --list |grep iscsi service iscsi status iscsi-ls fdisk -l ifconfig -a cat /etc/fstab.iscsi ls /sbin |grep iscsi 收集redhat linux服务器的日志文件/var/log/messages 5.9 如果用_netdev选项设置文件系统自动挂载失败怎么办 用附件iscsi-script目录中的iscsi文件覆盖系统中/etc/init.d目录下iscsi文件,把附件iscsi-script目录中iscsi-mountall和iscsi-umountalll拷贝到系统的/sbin目录中,然后创建fstab.iscsi文件来设置文件系统的自动挂载,过程如下: 1、将修改过的脚本iscsi_2.6(对于2.4内核的Linux,使用iscsi_2.4)、iscsi-mountall和iscsi-umountall通过ftp传到/tmp目录下 (对于不同内核的操作系统版本,其脚本文件是不同的。对于2.4内核的版本,请将iscsi-script目录下的iscsi_2.4文件拷贝到操作系统/etc/init.d下替换iscsi文件;对于2.6内核的版本,请将iscsi-script目录下的iscsi_2.6文件拷贝到操作系统/etc/init.d下替换iscsi文件。) 2、更改iscsi_2.6的文件名为iscsi: [root@pe08 tmp]#mv iscsi_2.6 iscsi 3、将这三个脚本的格式转换成unix文件格式: [root@pe08 tmp]# dos2unix iscsi dos2unix: converting file iscsi-umountall to UNIX format ... [root@pe08 tmp]# dos2unix iscsi-mountall dos2unix: converting file iscsi-mountall to UNIX format ... [root@pe08 tmp]# dos2unix iscsi-umountall dos2unix: converting file iscsi-umountall to UNIX format ... 4、将脚本设置为可执行文件: [root@pe08 tmp]# chmod 777 iscsi 2007-11-15 公司机密,未经许可不得扩散 第14页, 共16页 Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 [root@pe08 tmp]# chmod 777 iscsi-mountall [root@pe08 tmp]# chmod 777 iscsi-umountall 5、进入/tmp目录,将iscsi文件复制到/etc/init.d目录下替换原有文件 [root@pe08 tmp]# cp iscsi /etc/init.d 6、进入/tmp目录,将iscsi-mountall和iscsi-umountall文件复制到/sbin目录下替换原有文件 [root@pe08 tmp]# cp iscsi-mountall /sbin [root@pe08 tmp]# cp iscsi-umountall /sbin 7、修改/etc/fstab.iscsi文件(如果不存在,就新建),在文件中加入以下内容: UUID= bb52f3d0-0715-4e5f-a42c-1bc62a6d6768 /data ext3 defaults 0 0 注意:UUID顶格写,此处的/data代表文件系统的挂载点 8、重新启动iscsi服务 使用命令service iscsi restart或者/etc/init.d/iscsi restart重新启动服务,然后确认文件系统是否自动挂载上,并且可以正常对文件系统进行读写。 6 安装、配置中发现的其它问题及经验总结 6.1 问题跟踪列表 序号 问题简述 责任人 1 Redhat ES3.6 ,内核 2.4.21-37.EL ,采用自带 iscsi-initiator-utils-3.6.3-3 ,在运行 iometer-2004.07.30-post.DS2.common-src.tar 20多个小时后,出现问题。Redhat AS3.5 ,内核 2.4.21-32.EL ,也有同样的问题。 2 Redhat ES3.4 ,内核 2.4.21-37.EL ,采用自带 iscsi-initiator-utils-3.6.2-4 ,IX5000可以自动挂载,IX1000无法发现卷 3 iscsi-initiator3.6.3版本iscsi-ls –l 会导致丁强 2006-9-13 夏飞 2004-04-17 ES3.4下的initiator与IX1000不兼容 避免使用”-l” 夏飞 2006-04-15 确认是iometer问题 发现日期 解决方法 2007-11-15 公司机密,未经许可不得扩散 第15页, 共16页 Redhat Linux操作系统下软件iSCSI Initiator的安装、配置和使用内部公开 指导书 segmentation fault错误 参数 2007-11-15 公司机密,未经许可不得扩散 第16页, 共16页 因篇幅问题不能全部显示,请点此查看更多更全内容