红联Linux门户
Linux帮助

不同操作系统下的iSCSI Initiator

发布时间:2008-10-09 00:05:06来源:红联作者:noenil
1.windows
可用于windows2000、windowsXP、windows2003的较新版本iscsi-initiator程序是Initiator-2.04-build3273
安装成功后产生程序组Microsoft iSCSI Initiator, 桌面也有相应图标。基本操作如下:
点击 Microsoft iSCSI Initiator-->Discovery-->Add-->输入target的IP地址和端口号
点击 Microsoft iSCSI Initiator-->Targets-->Refresh, 发现当前可用的Target
点击 Microsoft iSCSI Initiator-->Targets-->选中target-->Logon-->OK, 建立连接
点击 控制面板-->管理工具-->计算机管理-->磁盘管理,可以看见映射到本机的逻辑磁盘。然后可以与本地磁盘一样进行分区格式化操作。
点击 Microsoft iSCSI Initiator-->Targets-->选中已经连接的target-->Details-->勾选相应的任务项目-->Logoff, 断开连接。

2.RedHat Enterpris Linux 5
下载initiator软件包Open-iscsi-2.0.865.tar.gz到/root目录
使用方法:解压缩软件
[root@RedHat5 ~]# tar xvzf Open-iscsi-2.0.865.tar.gz
在/root下生成目录Open-iscsi-2.0.86,进入该目录进行编译和安装
[root@RedHat5 ~]# cd Open-iscsi-2.0.86
[root@RedHat5 Open-iscsi-2.0.86]# make
[root@RedHat5 Open-iscsi-2.0.86]# make install
[root@RedHat5 Open-iscsi-2.0.86]# cd ~
编译安装完成后生成必要的驱动程序模块、守护进程和管理程序iscsiadm
用法
启动Open-iscsi
[root@RedHat5 ~]# service open-iscsi start
如果希望在启动机器时自动加载,执行下面命令
[root@RedHat5 ~]# chkconfig --level 3 open-iscsi on
这里的参数3是运行级别,如果是图形界面要改为5。
发现target,询问target名称
[root@RedHat5 ~]# iscsiadm -m discovery -t sendtargets -p targetIP地址:端口号
该命令将报告出target名称
建立连接
得到了target名称后,使用下面命令建立连接
[root@RedHat5 ~]# iscsiadm -m node -T target名称 -p targetIP地址:端口号 --login
这时应该看到映射到的逻辑磁盘名号,使用fdisk -l 可以看到有关逻辑磁盘的详细内容,可以象使用本地硬盘一样对其进行分区、创建文件系统、挂载、卸载等操作。
断开连接
如果逻辑磁盘已经挂载,断开连接前应先卸载,然后使用下面命令
[root@RedHat5 ~]# iscsiadm -m node -T target名称 -p targetIP地址:端口号 --logout
关机之前应该正确的卸载和断开逻辑磁盘,否则会在target服务器上留下僵死的进程,造成服务器资源的浪费。

3.Fedora core 6 、Fedora 7
这两个操作系统都有适用的rpm包,适用于Fedora core 6的是iscsi-initiator-utils-6.20.695-0.5.i386.rpm,适用于Fedora 7的是iscsi-initiator-utils-6.20.754-0.0.fc7.i386.rpm,下载对应的文件后用rpm命令安装。
[Federa]# rpm -ivh iscsi-initiator-utils-6.20.754-0.0.fc7.i386.rpm
用法
这两个rpm包其实就是上面说的Open-iscsi软件,其管理程序也是iscsiadm,用法与上面所说完全一样。但因安装方法不同产生的启动脚本文件有所差异。这里需要如下的方法启动:
加载内核模块
[Federa]# modprobe -q iscsi_tcp
启动守护进程
[Federa]# iscsid
而后就可以用iscsiadm程序来管理,发现的target信息会保存在数据库中,下次启动时自动加载模块和启动守护进程。如果要从数据库中删除某个target的信息,使用下面命令:
查询数据库中内容
[Federa]# iscsiadm -m node
删除指定的target
[Federa]# iscsiadm -m node -o delete -T target名称 -p targetIP地址:端口号

4.FreeBSD5.4、FreeBSD6.2
安装软件
以root身份登录系统,下载initiator软件iscsi-12.tar.bz2到/root。
解压缩软件
# tar xvzf iscsi-12.tar.bz
将得到两个目录sys和iscontrol
分别进入这两个目录进行编译:
# cd sys/modules/iscsi_initiator
# ln -s ../.. @
# make
编译成功后在该目录下生成内核模块文件iscsi_initiator.ko,把该文件复制到/boot/kernel目录下。
# cd iscontrol
# make
编译成功后在该目录下生成管理程序 iscontrol, 把该文件复制到/sbin目录下。
用法
首先装载内核模块
# kldload iscsi_initiator.ko
如果不想看到很多的输出信息
# sysctl debug.iscsi=0
发现target,询问target名称
# iscontrol -d targetaddress=targetIP地址
该命令将报告出target名称。
连接target
# iscontrol targetaddress=target的IP地址 TargetName=target名称
这里的target名称是发现target命令报告出的名称。
连接成功后,将报告出映射到本机的scsi设备名号,如da0或da1等。
内核模块装载命令和连接命令应该写入启动脚本文件/etc/rc.local, 这样机器启动时可自动建立连接。
应用下面命令可以看到连接到的设备
# camcontrol devlist
然后可以象使用本地硬盘一样对其进行分区、创建文件系统、挂载、卸载等操作。
如要结束连接,首先要卸载相应的设备,然后向iscontrol进程发-HUP信号,或用top找到iscontrol的进程号,直接kill掉。
该软件在target端服务中断后再恢复时(例如重新启动机器)不能自动再建立连接,必须手动重新建立连接。该软件不支持身份验证,target端不能设置密码。

5.Open Solaris
Open Solaris操作系统内置了iSCSI Initiator, 其管理程序名称也是iscsiadm, 但与Linux下的iscsiadm不是同一程序,使用语法也不相同。
用法:
以root身份登录,启动一个终端窗口,在窗口中执行命令:
发现target, 询问target名称
# iscsiadm add discovery-address targetIP地址:端口号
建立连接
# iscsiadm modify discovery -t enable
查看逻辑磁盘名号
# format
然后根据逻辑盘的名号(例如c1t0d0)进行格式化、创建文件系统、挂载。
断开连接
# iscsiadm modify discovery -t disable
删除一个target
# iscsiadm remove discovery-address targetIP地址:端口号

原创在此:http://iscsidiy.kmip.net
文章评论

共有 4 条评论

  1. micy 于 2008-11-20 15:05:00发表:

    在安装时可以选择安装,也可以将iscsi-initiator-utils-6.2.0.865-0.8.el5.i386.rpm拷贝到系统里通过rpm安装

  2. ylzjyu 于 2008-11-20 14:20:46发表:

    还行,讲得虽快,但精确。

  3. lszol23 于 2008-11-06 11:38:37发表:

    不错,支持啊啊

  4. oldwood_hmgh 于 2008-11-01 20:51:11发表: