ubutu上配置iscsi

参考

iSCSI代表Internet小型计算机系统接口是一种存储区域网络协议,可用于共享块设备,例如HDD / SSD分区或LVM分区,或网络上的块文件。iSCSI以客户端-服务器模型工作,并依赖TCP / IP网络在发起方客户端和目标之间发送SCSI命令。iSCSI Target是iSCSI服务器上的一项服务,可提供对共享存储的访问,而iSCSI Initiator是连接到目标并访问共享存储的iSCSI客户端。

步骤

target端

  • 安装iSCSI Target
apt-get install tgt
  • 查看状态
systemctl status tgt
  • 配置iSCSI目标
    首先,您需要在iSCSI服务器上创建LUN(逻辑单元号)设备。LUN是作为物理SCSI设备一部分的后端存储设备。映射到iSCSI Target的所有LUN实际上都已附加到客户端的操作系统。因此,启动器可以在iSCSI LUN上建立和管理文件系统。
vi /etc/tgt/conf.d/iscsi.conf

内容如下:

<target iqn.2023-02.pendl.com:lun1>
backing-store /dev/nvme0n1
initiator-address 192.168.159.144
</target>

配置完毕,重启tgt:

systemctl restart tgt

查看状态

systemctl status tgt

可以看到如下信息:

● tgt.service - (i)SCSI target daemon
     Loaded: loaded (/lib/systemd/system/tgt.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-02-12 18:19:15 PST; 9min ago
       Docs: man:tgtd(8)
    Process: 11366 ExecStartPost=/usr/sbin/tgtadm --op update --mode sys --name State -v offline (code=exited, status=0/SUCCESS)
    Process: 11367 ExecStartPost=/usr/sbin/tgt-admin -e -c /etc/tgt/targets.conf (code=exited, status=0/SUCCESS)
    Process: 11395 ExecStartPost=/usr/sbin/tgtadm --op update --mode sys --name State -v ready (code=exited, status=0/SUCCESS)
   Main PID: 11365 (tgtd)
     Status: "Starting event loop..."
      Tasks: 17
     Memory: 3.0M
     CGroup: /system.slice/tgt.service
             └─11365 /usr/sbin/tgtd -f

Feb 12 18:19:15 ubuntu systemd[1]: Starting (i)SCSI target daemon...
Feb 12 18:19:15 ubuntu tgtd[11365]: tgtd: iser_ib_init(3431) Failed to initialize RDMA; load kernel modules?
Feb 12 18:19:15 ubuntu tgtd[11365]: tgtd: work_timer_start(146) use timer_fd based scheduler
Feb 12 18:19:15 ubuntu tgtd[11365]: tgtd: bs_init(387) use signalfd notification
Feb 12 18:19:15 ubuntu tgtd[11365]: tgtd: device_mgmt(246) sz:18 params:path=/dev/nvme0n1
Feb 12 18:19:15 ubuntu tgtd[11365]: tgtd: bs_thread_open(409) 16
Feb 12 18:19:15 ubuntu systemd[1]: Started (i)SCSI target daemon.
  • 验证iSCSI Target服务器
tgtadm --mode target --op show

可以看到如下信息:

Target 1: iqn.2023-02.pendl.com:lun1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 21475 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/nvme0n1
            Backing store flags:
    Account information:
    ACL information:
        192.168.159.144

Initiator端

  • 安装软件包
apt-get install open-iscsi
  • 发现目标
# iscsiadm -m discovery -t st -p 192.168.159.144
192.168.159.144:3260,1 iqn.2023-02.pendl.com:lun1

节点配置文件将存放于目录 /etc/iscsi/nodes/ 中,并且每个LUN都有一个对应的配置目录。
比如:/etc/iscsi/nodes/iqn.2023-02.pendl.com:lun1/192.168.159.144,3260,1/default
在上述发现命令执行完毕后将在 /etc/iscsi/nodes/ 中自动生成指向iscsi target的IP的配置目录。

如果要更新服务端target的配置需要将 /etc/iscsi/nodes/ 下的配置目录删除,然后再执行iscsiadm -m discovery … 发现命令,以生成新的配置。

  • 添加iSCSI Target LUN名称
    vim /etc/iscsi/initiatorname.iscsi
# 注意InitiatorName只能有一个。主要用于标识Initiator,与target无关
InitiatorName=iqn.2023-02.pendl.com:client
  • 登录
iscsiadm -m node --login
  • 其他参考命令
# 这里会自动登陆iscsi target(更新配置时的出错考虑删除/etc/iscsi/nodes下的配置文件夹),完了使用iscsiadm -m node -o show 查看生成的配置。
systemctl restart open-iscsi iscsid

# 查看iSCSI Initiator工作状态
systemctl status open-iscsi
iscsiadm -m session -o show

# 发现iscsi target
iscsiadm -m discovery -t sendtargets -p 192.168.91.151
或者
iscsiadm -m node --login

# 登陆iscsi target
iscsiadm -m node -T iqn.2021-03.bee.com:lun1 -p 192.168.91.151 -l

# 登出iscsi target
iscsiadm -m node -T iqn.2021-03.bee.com:lun1 -p 192.168.91.151 -u

# 查看LUN设备
fdisk -l
cat /proc/partitions
lsblk
# 查看UUID
posted @ 2023-02-13 10:36  摩斯电码  阅读(751)  评论(0编辑  收藏  举报