zoukankan      html  css  js  c++  java
  • CentOS7配置iSCSI Initiator

    在Linux 2.6内核中提供了iscsi驱动,iSCSI 驱动(driver)使主机拥有了通过IP网络访问存储的能力,但还需要一个具体的客户端工具(Linux用户空间组件)初始化iSCSI驱动,即open-iscsi。

    open-iscsi initiator说明
    open-iscsi包括两个守护进程iscsid和iscsi,其中iscsid是主进程,iscsi进程则主要负责根据配置在系统启动时进行发起端(Initiator)到服务端(target)的登录,建立发起端与服务端的会话,使主机在启动后即可使用通过iSCSI提供服务的存储设备。

    iscsid进程实现iSCSI协议的控制路径以及相关管理功能。例如守护进程(指iscsid)可配置为在系统启动时基于持久化的iSCSI数据库内容,自动重新开始发现(discovery)目标设备。
    --------------------------------------------------------------------------------------------------------------------------------------

    一、连接配置
    1、查看iscsi启动器是否安装
    [root@CentOS7-NTP ~]# rpm -qa | grep -i iscsi
    libvirt-daemon-driver-storage-iscsi-4.5.0-23.el7.x86_64
    iscsi-initiator-utils-6.2.0.874-11.el7.x86_64              ##软件已经安装,没有安装需要安装
    libiscsi-1.9.0-7.el7.x86_64
    iscsi-initiator-utils-iscsiuio-6.2.0.874-11.el7.x86_64

    [root@CentOS7-NTP ~]# cat /etc/iscsi/initiatorname.iscsi        ##差看iqn号码
    InitiatorName=iqn.1994-05.com.redhat:b53d39193da1           ##后面的随机号码最好改成主机SN方便查找,改完需要重启iscsi服务

    2、查看iscsi服务器
    [root@CentOS7-NTP ~]# systemctl status iscsi.service        ##查看iscsi服务是否启动,没有启动进行启动
    ● iscsi.service - Login and scanning of iSCSI devices
    Loaded: loaded (/usr/lib/systemd/system/iscsi.service; enabled; vendor preset: disabled)
    Active: inactive (dead)
    Condition: start condition failed at Sat 2021-10-30 08:16:41 CST; 33min ago
    none of the tr igger conditions were met
    Docs: man:iscsid(8)
    man:iscsiadm(8)

    Oct 30 08:16:41 CentOS7-NTP systemd[1]: Unit iscsi.service cannot be reloaded because it is inactive.
    Oct 30 08:16:43 CentOS7-NTP systemd[1]: Unit iscsi.service cannot be reloaded because it is inactive.
    Oct 30 08:16:43 CentOS7-NTP systemd[1]: Unit iscsi.service cannot be reloaded because it is inactive.
    Oct 30 08:20:17 CentOS7-NTP systemd[1]: Unit iscsi.service cannot be reloaded because it is inactive.
    Oct 30 08:20:37 CentOS7-NTP systemd[1]: Unit iscsi.service cannot be reloaded because it is inactive.
    Oct 30 08:20:38 CentOS7-NTP systemd[1]: Unit iscsi.service cannot be reloaded because it is inactive.
    [root@CentOS7-NTP ~]#
    [root@CentOS7-NTP ~]# systemctl status iscsi.service        ##启动iscsi服务
    [root@CentOS7-NTP ~]# systemctl enable iscsi.service       ##设置iscsi服务开机启动

    3、发现target(discovery)
    [root@CentOS7-NTP ~]# iscsiadm -m discovery -t st -p 192.168.150.250:3260       ##发现target(discovery)存储
    192.168.150.250:3260,1 iqn.2006-01.com.openfiler:tsn.23aad6d9f9f1           ##这个就是目标存储的iqn号码

    [root@CentOS7-NTP ~]# iscsiadm -m node                       ##查看保存在本地的数据库中的target
    192.168.150.250:3260,1 iqn.2006-01.com.openfiler:tsn.23aad6d9f9f1

    4、连接target(discovery)存储
    [root@CentOS7-NTP ~]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.23aad6d9f9f1 -p 192.168.150.250:3260 -l
    Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.23aad6d9f9f1, portal: 192.168.150.250,3260] (multiple)
    Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.23aad6d9f9f1, portal: 192.168.150.250,3260] successful.
    ##上面命令的iqn号为目标存储的iqn号,IP地址为目标存储的IP地址

    5、查看登录的session,可以通过iscsiadm -m session -P 3 (0-3均可,默认为0) 来打印详细的信息
    [root@CentOS7-NTP ~]# iscsiadm -m session ##相当于iscsiadm -m session -P 0
    tcp: [1] 192.168.150.250:3260,1 iqn.2006-01.com.openfiler:tsn.23aad6d9f9f1 (non-flash)

    6、扫描所有关联的target/session
    一旦登录成功,所有分配给当前主机的LUN都可以看到了,但有时,新分配的LUN,LUN的信息发生变化后,主要不能立即看到,这样就需要rescan了 --rescan 。
    [root@CentOS7-NTP ~]# iscsiadm -m node -R
    Rescanning session [sid: 1, target: iqn.2006-01.com.openfiler:tsn.23aad6d9f9f1, portal: 192.168.150.250,3260]

    [root@CentOS7-NTP ~]# iscsiadm -m session -R
    Rescanning session [sid: 1, target: iqn.2006-01.com.openfiler:tsn.23aad6d9f9f1, portal: 192.168.150.250,3260]
    [root@CentOS7-NTP ~]#

    7、产看iscsi映射的设备信息
    [root@CentOS7-NTP ~]# lsscsi                 ##有的发行版可能没有这个命令,需要安装相应的软件lsscsi
    [1:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0
    [2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda
    [3:0:0:0] disk OPNFILER VIRTUAL-DISK 0 /dev/sdb          ##这个就是iscsi映射过来的lun设备为OPNFILER设备提供,其实我用的是openfile软件提供的iscsi存储
    [root@CentOS7-NTP ~]#

    8、设置开机自动连接(非必须执行,有的系统执行完连接存储就会自动设置开机启动)
    [root@CentOS7-NTP ~]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.23aad6d9f9f1 -p 192.168.150.250,3260 --op update -n node.startup -v automatic

    ##对于还没有关联的节点,编辑配置文件/etc/iscsi/iscsid.conf,在其中增加一项node.startup = automatic ,将默认的node.startup = manual项注释掉,这样以后通过discovery新发现的节点的node.startup都会被设置为automatic,设置自动管理目标器以后,即使没有通过命令设置开机启动,每次启动iscsi服务时都会自动关联目标器

    9、扫描新添加的存储设备

    执行scsi_rescan命令扫描

    /usr/bin/scsi-rescan

    二、iscsi的/etc/iscsi/iscsid.conf 主要配置文件,我们主要关注下面几个部分

    1、# Startup settings initator启动设置

    node.startup = automatic   是表示当iscsi initator启动时就会自动登陆到发现过的target。

    node.startup = manual       是表示当iscsi initator启动时不会自动登陆到发现过的target。


    2、# CHAP Settings   主要是一些安全设置。

    3、# Timeouts 部分是我们重点关注的地方

    node.session.timeo.replacement_timeout
    指网络出现问题,多长时间通知上层:

    node.session.timeo.replacement_timeout = 120
    一般我们可以把这个时间改小,防止IO被hang太长时间,如:
    node.session.timeo.replacement_timeout = 3


    下面两个时间是sessison登录和登出Target的超时时间,也可以适当减少。
    node.conn[0].timeo.login_timeout = 15
    node.conn[0].timeo.logout_timeout = 15


    node.conn[0].timeo.noop_out_interval 指发ping包的时间间隔,
    node.conn[0].timeo.noop_out_timeout 为接收心跳包的超时时间

    node.conn[0].timeo.noop_out_interval = 5
    node.conn[0].timeo.noop_out_timeout = 5
    这两个时间根据需要减少,如:
    node.conn[0].timeo.noop_out_interval = 1
    node.conn[0].timeo.noop_out_timeout = 1


    node.session.initial_login_retry_max 为登录的重试次数:
    node.session.initial_login_retry_max = 4
    可以适当减少到 2:
    node.session.initial_login_retry_max = 2

    设置完成后启动iscsi initiator服务

    更详细的配置可用参照这篇文章   Linux下搭建iSCSI共享存储的方法 TGT 方式 Debian9.5系统下

  • 相关阅读:
    系统吞吐量(TPS)、用户并发量、性能测试概念和公式
    javascript 匿名函数和闭包
    构建高可扩Web架构和分布式系统实战
    Javascript prototype 的作用
    myeclipse下载地址
    tomacat7.0配置(windows)
    IEEE802.11
    C#(多态)
    C#(泛型集合的使用)
    C#(对象引用)
  • 原文地址:https://www.cnblogs.com/pipci/p/15487788.html
Copyright © 2011-2022 走看看