几种常用的操作系统下iSCSI Initiator的使用
摘自  北亚数据恢复中心
本文是我在研制固态iSCSI服务器软件时所做的一些实验的总结,都没有涉及身份验证功能的使用,如需要了解如何使用身份验证功能,请参考相应软件的帮助文件或在线man文档。
WindowxXP、 Windows2000、 Windows2003
RedHat Enterpris Linux 5
Fedora core 6 、Fedora 7
FreeBSD5.4、FreeBSD6.2
Open Solaris
WindowxXP、 Windows2000、 Windows2003
安装
可用于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, 断开连接。
==========================================================================================================================================================================================================================================================
==========================================================================================================================================================================================================================================================
RedHat Enterpris Linux 5
==========================================================================================================================================================================================================================================================
编译安装软件
以root身份登录系统,下载initiator软件包Open-iscsi-2.0.到/root目录。
[可以在它上下载:
/
]
解压缩软件
[root@RedHat5 ~]# tar xvzf Open-iscsi-2.0.
在/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地址:端口号
iscsiadm -m discovery -t sendtargets -p 10.0.0.201:3260
该命令将报告出target名称
建立连接
得到了target名称后,使用下面命令建立连接
[root@RedHat5 ~]# iscsiadm -m node -T target名称 -p targetIP地址:端口号 --login
iscsiadm -m node -T iqn.hitachi:61471.0b002 -p 10.1.10.162 -l
-
p 10.0.0.201 -l
这时应该看到映射到的逻辑磁盘名号,使用fdisk -l 可以看到有关逻辑磁盘的详细内容,可以象使用本地硬盘一样对其进行分区、创建文件系统、挂载、卸载等操作。
断开连接
如果逻辑磁盘已经挂载,断开连接前应先卸载,然后使用下面命令
[root@RedHat5 ~]# iscsiadm -m node -T target名称 -p targetIP地址:端口号 --logout
关机之前应该正确的卸载和断开逻辑磁盘,否则会在target服务器上留下僵死的进程,造成服务器资源的浪费。
--------------------------------------------------------------------------------------------------
另外一种方式
--------------------------------------------------------------------------------------------------
建立Linux iSCSI Initiator
这份文件是在Linux上面建置iSCSI Initiator的建置文件,直接使用前一份文件(建置Linux iSCSI Target的
环境-FC4(Kernel 2.6.16)
目前我是将iSCSI的Initiator跟Target建置在同一个环境(VMWare + 2 IDE HDD + FC 4-2.6.16)
下面是建立的步骤,请各位同事参考:
直接下载open-iscsi Project (不采用iscsi-linux Project是因为这两个专案合并,而且有注明当kernel为2.6.11以后,只有open-iscsi Project支援)
1. Download Open-iSCSI Project (open-iscsi-1.)
2.下载之后直接将其压缩档解开
tar zxvf open-iscsi-1.
3.到其目录下
cd open-iscsi-1.0-485
4.进行kernel patch并且进行编译、安装
patch -p1 < kernel/2.6.14-and-2.6.15-compat.patch
l在kernel目录下面有针对各个不同kernel版本的patch档案,端看安装的版本而定,这边虽然使用的是2.6.16可是目前只release到2.6.15,但却依旧可以在2.6.16的版本下执行
5.进行编译
make KSRC=
l Kernel-src通常是在/lib/module//build
所以我的环境就是make KSRC=/lib/module/2.6.16-1.2069_FC4/build
6.根据文件,RedHat/Fedora直接可以进行install
make install
7.到此步骤,整个iSCSI Initiator就建置完毕了,但是还有个档案得设定
vi /etc/initiatorname.iscsi档案内容如下:
InitiatorName=iqn.2006.04.fineac.01.alvin-iscsi-initiator
上面的是设定这台iSCSI Initiator的名称,储存后离开即可。
使用Linux iSCSI Initiator
l执行open-iSCSI service
service open-iscsi start
l搜寻iSCSI Target
iscsiadm -m discovery -t sendtargets -p 192.168.0
.244:3260
[607123] 192.168.0.244:3260,1 iqn.2006-04.iscsi.fineac:storage.disk2.iscsi.alvin
l登入iSCSI
./iscsiadm -m node -r 607123 –l
l登出iSCSI
./iscsiadm -m node -r 607123 –u
当登入之后就会发现有发现新的硬碟装置,装置名称会是/dev/sdx,其他的使用就如同硬碟操作般,在其安装目录下有比较详细的文件可以参考,就这样
Linux学习网收集整理 ,转贴请标明原始链接。
===========================================================================================================================================================
===========================================================================================================================================================
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地址:端口号
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
# iscontr
ol targetaddress=target的IP地址 TargetName=target名称
这里的target名称是发现target命令报告出的名称。
连接成功后,将报告出映射到本机的scsi设备名号,如da0或da1等。
内核模块装载命令和连接命令应该写入启动脚本文件/etc/rc.local, 这样机器启动时可自动建立连接。
应用下面命令可以看到连接到的设备
# camcontrol devlist
然后可以象使用本地硬盘一样对其进行分区、创建文件系统、挂载、卸载等操作。
如要结束连接,首先要卸载相应的设备,然后向iscontrol进程发-HUP信号,或用top到iscontrol的进程号,直接kill掉。
该软件在target端服务中断后再恢复时(例如重新启动机器)不能自动再建立连接,必须手动重新建立连接。该软件不支持身份验证,target端不能设置密码。
Open Solaris
Open Solaris操作系统内置了iSCSI Initiator, 其管理程序名称也是iscsiadm, 但与Linux下的iscsiadm不是同一程序,使用语法也不相同。
用法:
以root身份登录,启动一个终端窗口,在窗口中执行命令:
发现target, 询问target名称
# iscsiadm add discovery-address targetIP地址:端口号
建立连接
# iscsiadm modify discovery -t enable
查看逻辑磁盘名号
# format
然后根据逻辑盘的名号(例如c1t0d0)进行格式化、创建文件系统、挂载。
linux系统地址断开连接
# iscsiadm modify discovery -t disable
删除一个target
# iscsiadm remove discovery-address targetIP地址:端口号

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。