iSCSI session和connection的状态划分及登陆登出

本文详细介绍了iSCSI连接与会话的状态,包括登录状态与全功能状态,并深入探讨了iSCSI的登录与登出过程。了解这些状态有助于更好地管理iSCSI存储设备。

iSCSI 连接(Connection)状态

对于connection,有两种状态:

  • login phase(登陆状态):登陆状态即 iSCSI initiator 与 iSCSI target 正处于登陆协商过程;
  • full function phase(全功能状态):全功能状态即登陆过程已经完成,该 connection 已经能为上层 SCSI 提供服务。

iSCSI 会话(Session)状态

Session 与 connection 一样也有 login phase 和 full function phase。
  • 当 session 中仅有的一个 connection 处于登陆状态时,session 处于登陆状态;
  • 当 session 至少有一个 connection 处于全功能状态时 session 处于全功能状态。 

iSCSI 登陆过程

iSCSI initiator 登陆到 iSCSI target 的过程分三个过程: 
  1. 首先是 Initiator 往 Target 发送 initial login 请求,请求中包括 iSCSI initiator 支持的协议版本、iSCSI initiator name和iSCSI target name、ISID 和 TSIH 及 CID;
  2. 其次是安全协商,也就是 CHAP 认证之类,用于 Initiator 和 Target 之间的授权认证;
  3. 最后是操作参数协商,用于协商在全功能时期的一些通讯参数。

iSCSI 登出过程

有两种登出方式:

  • Initiator 主动发出 logout 请求,在收到 iSCSI target 的 logout 响应后完成登出;
  • Target 发送包含“request logout”的 Async 协议数据包,Initiator 再发送 logout 请求。
iSCSI(Internet Small Computer System Interface)是一种基于IP网络的存储协议,允许在远程服务器上访问块级存储设备。管理iSCSI会话包括设置、查看终止连接,以下是对这些操作的详细介绍。 ### 建立iSCSI连接 要建立iSCSI连接,首先需要确保`open-iscsi`包已安装,并且服务正在运行。可以通过以下步骤完成: 1. **发现目标** 使用`iscsiadm`命令扫描指定的目标门户以发现可用的目标IQN: ```bash sudo iscsiadm -m discovery -t st -p <target_ip> ``` 这将列出目标门户上的所有可用iSCSI目标。 2. **登录到目标** 在发现目标后,可以使用以下命令登录到特定目标: ```bash sudo iscsiadm -m node -T <target_iqn> -p <target_ip>:<port> --login ``` 例如: ```bash sudo iscsiadm -m node -T iqn.2010-10.org.openstack:volume-26446902-5a56-4c79-b839-a8e13a66dc7a -p 10.0.2.41:3260 --login ``` ### 查看iSCSI会话 一旦建立了连接,可以使用以下命令查看当前的iSCSI会话状态: - **列出所有节点** ```bash sudo iscsiadm -m node ``` 此命令显示所有已发现的iSCSI节点。 - **查看活动会话** ```bash sudo iscsiadm -m session ``` 此命令显示当前活跃的iSCSI会话及其详细信息。 ### 终止iSCSI连接 如果需要终止现有的iSCSI会话,可以使用以下方法: - **退出单个会话** 要注销一个特定的iSCSI目标,可以使用以下命令: ```bash sudo iscsiadm -m node -T <target_iqn> -p <target_ip>:<port> --logout ``` - **退出所有会话** 如果需要终止所有iSCSI连接,可以使用以下命令: ```bash sudo iscsiadm -m session --logout all ``` - **删除节点配置** 如果不再需要某个iSCSI节点的配置,可以将其从系统中删除: ```bash sudo iscsiadm -m node -T <target_iqn> -p <target_ip>:<port> --delete ``` ### 报错处理:No session found 在某些情况下,尝试对不存在的iSCSI会话执行操作时可能会遇到错误,例如: ```bash iscsiadm: No session found. ``` 这通常表示未找到与指定目标相关的活动会话。解决此问题的方法包括: - 确认是否已经成功登录到目标。 - 检查目标IP地址端口是否正确。 - 使用`iscsiadm -m session`命令确认是否存在活动会话。 通过上述方法,可以有效地管理iSCSI会话的生命周期[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值