linux下挂载ISCSI存储设备
安装
首先要在存储设备上做好RAID,设置好iSCSI 目标方(target)。
这里主要说明iSCSI initiator的安装。
不同的操作系统对应各自的iSCSI initiator,以Redhat enterprise5为例。到网上下载iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm
# rpm –ivh iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm
在服务器上安装了iSCSI initiator以及iscsiadm
iscsiadm是基于命令行的iscsi管理工具,提供了对iscsi节点、会话、连接以及发现记录的操作。
iscsiadm的使用说明可以查看/usr/share/doc/iscsi-initiator-utils-6.2.0.742/README,也可以运行man iscsiadm或iscsiadm –help
使用
下面来讲一下连接iscsi设备的步骤:
1 启动iscsi守护进程
#service iscsi start
默认情况下,系统启动后此进程会自动运行
2 发现目标
默认情况下,iscsi发起方和目标方之间通过端口3260连接。假设已知iscsi的目标方IP是192.168.1.1,运行下列命令:
#chkconfig iscsi on;chkconfig iscsi –list (查看ISCSI启动状态)
#iscsiadm -m discovery -t sendtargets -p 192.168.1.1:3260
此时找到拥有一个目标(target)
192.168.1.1:3260,1 iqn.1997-05.com.test:raid
被发现的目标也叫做节点
3登入节点
以上面被发现的目标为例
# iscsiadm -m node –T iqn.1997-05.com.test:raid -p 192.168.1.1:3260 -l
其中iqn.1997-05.com.test:raid是目标名
如果要在系统启动时自动登入
# iscsiadm -m node –T iqn.1997-05.com.test:raid -p 192.168.1.1:3260 –op update -n node.startup -v automatic
登入节点后,运行
#fdisk –l
应该可以看到目标方的存储设备信息,如
Disk /dev/sdb: 3489.8 GB, 3489862254592 bytes
255 heads, 63 sectors/track, 424284 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn’t contain a valid partition table
/dev/sdb即为连接的iscsi存储设备
4 格式化设备
如欲将设备格式化为ext3文件系统,运行
# mkfs.ext3 /dev/sdb
5挂接设备
在/mnt下创建iscsi目录
运行mount命令:
# mount -t /dev/sdb /mnt/iscsi
针对iscsi设备的特殊mount选项
运行df –h可以看到:
/dev/sdb 3.4T186M 3.4T 1% /mnt/iscsi
iscsi设备被成功挂接,可以当作常规存储设备使用了。
如果要在系统启动时自动挂接
编辑/etc/fstab
加入一行:
/dev/sdb /mnt/iscsi ext3 default 0 0
6 登出节点
首先解除挂接
#umount /mnt/iscsi
登出
# iscsiadm -m node –T iqn.1997-05.com.test:raid -p 192.168.1.1:3260 –u
注意:如果系统挂载过个ISCSI存储的话,把下面的脚本加入到/etc/rc.local 文件中,多个ISCSI存储的话 就加入多个IP地址。否则系统关机报错。
如下:
1:建立启动文件
su – root -c “iscsiadm -m node -T * -p 192.168.1.1 –l”
sleep 10
su – root -c “mount /dev/sdb1 /raid”
2:建立停止脚本
su – root -c “umount /raid”
sleep 10
su – root -c “iscsiadm -m node –T * -p 192.168.1.1 -u”
关机报错:
md:stopping all md devices
synchronizing scsi cache for disk sdj:
iscsi:can not broadcast skb (-3)
connection 0:0:iscsi:detected connerror (1011)