实现环境:vmware workstation,netapp simulator,windows 2003,redhat linux enterprise;
一、安装并配置iSCSI Initiator软件
1.从光盘安装iscsi initiator
[root@pe03 Server]#cd /mnt/Server/
[root@pe03 Server]#rpm -ivh iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm
warning: iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:iscsi-initiator-utils ########################################### [100%]
这个安装将iscsid、iscsiadm安装到/sbin目录下,它还将把默认的配置文件安装到/etc/iscsi目录下:
/etc/iscsi/iscsid.conf所有刚发起的iSCSI session默认都将使用这个文件中的参数设定。
/etc/iscsi/initiatorname.iscsi软件iSCSI initiator的intiator名称配置文件。
在iscsi启动的时候,iscsid和iscsiadm会读取这两个配置文件。
查询软件包安装情况(安装了哪些文件及其位置;)
[root@rhe5 Server]#rpm –q –list iscsi-initiator-utils-6.2.0.742-0.5.el5/etc/iscsi/iscsid.conf/etc/rc.d/init.d/iscsi/etc/rc.d/init.d/iscsid/sbin/iscsi-iname/sbin/iscsiadm/sbin/iscsid/sbin/iscsistart
iscsi initiator
/usr/share/doc/iscsi-initiator-utils-6.2.0.742/usr/share/doc/iscsi-initiator-utils-6.2.0.742/README/usr/share/man/man8/iscsiadm.8.gz/usr/share/man/man8/iscsid.8.gz/var/lib/iscsi/nodes/var/lib/iscsi/send_targets/var/lock/iscsi[root@rhe5 Server]#rpm -q –scripts iscsi-initiator-utils-6.2.0.742-0.5.el5postinstall scriptlet (using /bin/sh):if [ ! -f /etc/iscsi/initiatorname.iscsi ]; then echo "InitiatorName=`/sbin/iscsi-iname`" > /etc/iscsi/initiatorname.iscsifi/sbin/chkconfig –add iscsid/sbin/chkconfig –add iscsipreuninstall scriptlet (using /bin/sh):if [ "$1" = "0" ]; then /sbin/chkconfig –del iscsi /sbin/chkconfig –del iscsidfi[root@rhe5 Server]#iscsi-inameiqn.2005-03.com.redhat:01.4e85bacb9b8
2、确认iscsi服务随系统启动而启动
用chkconfig检查iscsi和iscsid服务在运行级别3和5中随系统的启动而自动启动
[root@pe03 Server]#chkconfig –list |grep iscsi
iscsi 0:off 1:off 2:off 3:on 4:on 5:on 6:off
iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
如果iscsid和iscsi没有随系统的启动而启动,则用chkconfig设置这两个服务在系统运行级别为3和5时随系统启动而启动
[root@pe03 Server]#chkconfig iscsi –level 35 on
[root@pe03 Server]#chkconfig iscsid –level 35 on
(3、设置InitiatorName)
用vi编辑/etc/iscsi/initiatorname.iscsi文件,文件内容如下
InitiatorName=iqn.2005-03.com.redhat:01.e7839d513f
注意:
l InitiatorName这个单词必须注意大小写,同时,必须顶格写,xxxx代表要设 置的initiator名称,请遵循iqn命名规范。
l iqn规范定义的InitiatorName格式为iqn.domaindate. reverse.domain.name:optional name,例如:iqn.2006-11.com.h3c:dbserver。
4、启动iscsi服务
用service iscsi start启动iSCSI服务。
root@pe03 Server]#service iscsi start
Turning off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets: [ OK ]
用service iscsi status及service iscsid status查看iscsi相关服务的运行状态
[root@pe03 Server]#service iscsi status
iscsid (pid 3697 3696) is running…
[root@pe03 Server]#service iscsid status
iscsid (pid 3697 3696) is running…
Open-iSCSI是通过以下iSCSI数据库文件来实现永久配置的:
Discovery (/var/lib/iscsi/send_targets):在/var/lib/iscsi/send_targets目录下包含iSCSI portals的配置信息,每个portal对应一个文件,文件名为“iSCSI portal IP,端口号”(例如“200.200.10.200,3260”)。
Node (/var/lib/iscsi/nodes):在/var/lib/iscsi/nodes目录下,生成一个或多个以iSCSI存储服务器上的Target名命名的文件夹,在该文件夹下有一个文件名为“iSCSI portal IP,端口号” (例如“200.200.10.200,3260”)的配置参数文件,该文件中是initiator登录target时要使用的参数,这些参数的设置是从/etc/iscsi/iscsi.conf中的参数设置继承而来的,可以通过iscsiadm对某一个参数文件进行更改(需要先注销到target的登录)。
iscsiadm是用来管理(更新、删除、插入、查询)iSCSI配置数据库文件的命令行工具,用户能够用它对iSCSI nodes、sessions、connections和discovery records进行一系列的操作。
5、分配存储资源,在Linux上执行target的发现
RHEL 5上当前的iSCSI Initiator版本只支持sendtargets 的发现方式,不支持SLP和iSNS
使用下面的命令执行target的发现:
[root@rhel5 Server]#iscsiadm -m discovery -t sendtargets -p 192.168.1.20:3260
??? iscsiadm: can not connect to iSCSI daemon! iscsiadm: exiting due to configuration error!
重启linux,再执行上命令后结果:(netapp模拟器两个网口,全部自动发现,如何去掉一个?)
192.168.1.21:3260,1001 iqn.1992-08.com.netapp:sn.99900641192.168.1.20:3260,1000 iqn.1992-08.com.netapp:sn.99900641
netapp模拟器终端上信息:
Sat Jan 16 15:50:54 GMT [iscsi.notice:notice]: ISCSI: New session from initiator iqn.2005-03.com.redhat:01.74394c92c697 at IP addr 192.168.1.60
[root@rhe5 iscsi]#fdisk –l(如何配置去掉一个???)
Disk /dev/sda: 23.6 GB, 23622320128 bytes255 heads, 63 sectors/track, 2871 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System/dev/sda1 * 1 6 48163+ 83 Linux/dev/sda2 7 515 4088542+ 83 Linux/dev/sda3 516 2741 17880345 83 Linux/dev/sda4 2742 2871 1044225 5 Extended/dev/sda5 2742 2871 1044193+ 82 Linux swap / Solaris
Disk /dev/sdb:36 MB, 36700160 bytes2 heads, 35 sectors/track, 1024 cylindersUnits = cylinders of 70 * 512 = 35840 bytes
Device Boot Start End Blocks Id System/dev/sdb1 1 1024 35822+ 83 Linux
Disk /dev/sdc:36 MB, 36700160 bytes2 heads, 35 sectors/track, 1024 cylindersUnits = cylinders of 70 * 512 = 35840 bytes
Device Boot Start End Blocks Id System/dev/sdc1 1 1024 35822+ 83 Linux
7、登录target
[root@pe03 Server]#iscsiadm -m node -T iqn.2007-04.acme.com:h3c:200realm.rhel5 -p 200.200.10.200:3260 -l
这里-T后面跟target名称,最后的-l(英文字母中小写的L),是login的意思。
可以使用iscsiadm -m node –loginall=all
一次登录所有的targets。
[root@pe03 Server]#iscsiadm -m node –loginall=all
8、查看iSCSI session信息
用iscsiadm -m session –i查看iSCSI session和设备信息
[root@rhe5 ~]#iscsiadm -m session -iiscsiadm version 2.0-742************************************Session (sid 0) using module tcp:************************************TargetName: iqn.1992-08.com.netapp:sn.99900641Portal Group Tag: 1000Network Portal: 192.168.1.20:3260iSCSI Connection State: LOGGED INInternal iscsid Session State: NO CHANGE
************************Negotiated iSCSI params:************************HeaderDigest: NoneDataDigest: NoneMaxRecvDataSegmentLength: 65536MaxXmitDataSegmentLength: 65536FirstBurstLength: 65536MaxBurstLength: 65536ImmediateData: YesInitialR2T: NoMaxOutstandingR2T: 1
************************Attached SCSI devices:************************Host Number: 1 State: running
scsi1 Channel 00 Id 0 Lun: 2Attached scsi disk sdb State: running
二、对新发现的磁盘进行分区并创建文件系统
fdisk –l;fdisk /dev/sdb;mkfs –t ext3 /dev/sdb1
1、先用fdisk –l查看新的磁盘名称,这里我们发现了一个100GB的磁盘,设备名为/dev/sdb
[root@pe03 Server]#fdisk -l
…………………………
Disk /dev/sdb: 107.3 GB, 107373133824 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn’t contain a valid partition table
2、用tune2fs修改文件系统的属性,去掉自动检查的属性:
[root@pe03 Server]#tune2fs -c -1 -i 0 /dev/sdb1
tune2fs 1.39 (29-May-2006)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
Linux上的ext3文件系统有一个特性,对某个分区mount、umount很多次后或者隔一个固定的时间后,系统会对该分区进行检测,这就会导致硬盘反映速度很慢,影响业务,本操作的目的就是去掉文件系统自动检查的属性。
三、设定文件系统的自动挂载
本例中我们将要把/dev/sdb1挂载到/data目录下
1、手动创建一个目录/data
[root@pe03 Server]#mkdir /data
2、用tune2fs查看文件系统的UUID:
[root@pe03 Server]#tune2fs -l /dev/sdb1
tune2fs 1.39 (29-May-2006)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 3f0a00b7-4939-4ad2-a592-0821bb79f7c6
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal resize_inode dir_index filetype sparse_super large_file
………………..
3、用vi编辑/etc/fstab文件,设置自动挂载:
在/etc/fstab文件中增加下面蓝色的一行文字:
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
UUID=3f0a00b7-4939-4ad2-a592-0821bb79f7c6 /data ext3 _netdev 0 0
注意:
l 挂载选项使用的是“_netdev”
l UUID要顶格写。
l Linux系统重启后,磁盘设备的名称可能会发生变化,从而引起文件系统不能挂载上来或者不能正确挂载,使用UUID的方式进行挂载可以解决这个问题,
、用mount –a挂载文件系统
[root@pe03 Server]#mount –a
4、用df查看文件系统已经挂载成功
[root@pe03 /]#df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
ext3 65G 2.4G 59G 4% /
/dev/sda1 ext3 99M 12M 82M 13% /boot
tmpfs tmpfs 471M 0 471M 0% /dev/shm
/dev/sdb1 ext3 99G 188M 94G 1% /data
5、条件允许的话,重启一下操作系统,使用df命令确认系统重启后文件系统能够自动挂载上来。
删除:linux iscsi
Open-iSCSI是通过以下iSCSI数据库文件来实现永久配置的:
Discovery (/var/lib/iscsi/send_targets):在/var/lib/iscsi/send_targets目录下包含iSCSI portals的配置信息,每个portal对应一个文件,文件名为“iSCSI portal IP,端口号”(例如“200.200.10.200,3260”)。
Node (/var/lib/iscsi/nodes):在/var/lib/iscsi/nodes目录下,生成一个或多个以iSCSI存储服务器上的Target名命名的文件夹,在该文件夹下有一个文件名为“iSCSI portal IP,端口号” (例如“200.200.10.200,3260”)的配置参数文件,该文件中是initiator登录target时要使用的参数,这些参数的设置是从/etc/iscsi/iscsi.conf中的参数设置继承而来的,可以通过iscsiadm对某一个参数文件进行更改(需要先注销到target的登录)。
iscsiadm是用来管理(更新、删除、插入、查询)iSCSI配置数据库文件的命令行工具,用户能够用它对iSCSI nodes、sessions、connections和discovery records进行一系列的操作。
/var/lib/iscsi/send_targets目录下 和/var/lib/iscsi/nodes目录下 对应内容删除即可。
有关iscsiadm的指令:
寻找主机上的targetiscsiadm -m discovery –type sendtargets –portalHOST_IP登入targetiscsiadm –m node –targetnameTHE_TARGET_IQN–login注销targetiscsiadm –m node –targetnameTHE_TARGET_IQN–logout删除targetiscsiadm –m node -o delete –targetnameTHE_TARGET_IQN
接着我们去了遇龙河,那里的水清澈见底,我把脚伸进水里,