【2013.5.21】
iscsi:
发现:iscsiadm -m discovery -t sendtargets -p 10.72.7.1
挂载(开机自动)
iscsiadm -m node –T freenas.istgt:tgt-linuxasm2-1 -p 10.72.7.1:3260 --op update -n node.startup -v automatic
iscsiadm -m node -T freenas.istgt:tgt-linuxasm2-1 -p 10.72.7.1:3260 -l //-l是LOGIN的意思,即挂载.
参考资料:
http://happynessyyy.blog.163.com/blog/static/1114245502012834155660/
http://tagche.blog.51cto.com/649757/267390/ 关于ISCSI的,不错。
下面来自互联网
RHEL 5已开始在内核中加入了对iSCSI的支持,使用的 iSCSI Initiator软件是Open-iSCSI Initiator,支持万兆网卡,其配置方式与RHEL 4及更早的RedHat Linux发行版中的iSCSI Initiator有很大的区别。
一、安装并配置iSCSI Initiator软件
以下以RHEL 5 x86版本为例介绍如何安装并配置iSCSI initiator。
1、安装iSCSI Initiator
把RHEL5 x86第一张安装光盘挂载到/mnt目录下,之后进入/mnt/Server目录进行安装。
[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会读取这两个配置文件。
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.max:pe03 |
本例中InitiatorName设置为iqn.2005-03.com.max:pe03
注意:
l InitiatorName这个单词必须注意大小写,同时,必须顶格写,xxxx代表要设 置的initiator名称,请遵循iqn命名规范。
l iqn规范定义的InitiatorName格式为iqn.domaindate. reverse.domain.name:optional name,例如:iqn.2006-11.com.h3c:dbserver。
4、配置iscsi参数
编辑/etc/iscsi/iscsi.conf文件,确认node.startup的值为automatic,如果iSCSI存储服务器的target上启用了CHAP认证,则还需要配置CAHP认证:
node.session.auth.authmethod = CHAP node.session.auth.username = xxxxxx ――CHAP认证用户名 node.session.auth.password = xxxxxx ――CHAP认证密码(至少12个字符) |
下表是部分参数作用的解释:
配置内容 |
对应语句 |
在开机后是否自动登录Target。 |
node.startup = automatic 表示自动登录(默认是automatic), node.startup = manual 表示需手动登录。 |
默认的CHAP认证用户名和密码 |
node.session.auth.authmethod = CHAP node.session.auth.username = xxxxxx CHAP认证用户名 node.session.auth.password = xxxxxx CHAP认证密码(至少12个字符) |
iSCSI发生错误以后,返回应用程序的超时时间。 |
node.session.timeo.replacement_timeout = 120 表示120秒 |
5、启动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进行一系列的操作。
6、分配存储资源,在Linux上执行target的发现
RHEL 5上当前的iSCSI Initiator版本只支持sendtargets 的发现方式,不支持SLP和iSNS
假设后端存储为IX5000,iSCSI业务IP地址为200.200.10.200,则使用下面的命令执行target的发现:
[root@pe03 Server]# iscsiadm -m discovery -t sendtargets -p 200.200.10.200:3260 |
因为此时还没有在IX5000上创建该initiator并分配卷,这个命令执行成功后没有任何输出,但是此时到IX5000上会查看到有新的initiator生成。
在IX5000上把卷分配给Linux服务器后,再次执行target的发现:
[root@pe03 Server]# iscsiadm -m discovery -t sendtargets -p 200.200.10.200:3260 iscsiadm: unexpected SendTargets data: 200.200.10.200:3260,1 iqn.2007-04.acme.com:h3c:200realm.rhel5 |
此时发现了一个新的target,target名称为iqn.2007-04.acme.com:h3c:200realm.rhel5
注:在IP SAN存储设备上把相应的存储空间分配给RedHat 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@pe03 ~]# iscsiadm -m session -i iscsiadm version 2.0-742 ************************************ Session (sid 0) using module tcp: ************************************ TargetName: iqn.2007-04.acme.com:h3c:200realm.rhel5 Portal Group Tag: 1 Network Portal: 200.200.10.200:3260 iSCSI Connection State: LOGGED IN Internal iscsid Session State: NO CHANGE
************************ Negotiated iSCSI params: ************************ HeaderDigest: None DataDigest: None MaxRecvDataSegmentLength: 65536 MaxXmitDataSegmentLength: 65536 FirstBurstLength: 65536 MaxBurstLength: 262144 ImmediateData: No InitialR2T: Yes MaxOutstandingR2T: 1
************************ Attached SCSI devices: ************************ Host Number: 3 State: running
scsi3 Channel 00 Id 0 Lun: 0 Attached scsi disk sdb State: running |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话