51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Linux下搭建iSCSI共享存储-Tgt

在Linux上使用 tgt 搭建iSCSI共享存储,可以实现多个客户端同时访问共享存储。

1. 安装iSCSI Target软件包

使用下面命令安装:

                          # 
centos
                        sudo yum install scsi-target-utils
                    sudo systemctl status tgtd
              # ubuntu
              sudo apt-get update -y
          sudo apt-get install tgt -y
        
      
      

      
        
          sudo systemctl status tgt

2. 配置iSCSI Target

编辑iSCSI Target的配置文件 /etc/tgt/targets.conf ,添加你想要共享的磁盘或分区。

                            <
                          target
                      iqn.2023-09.com.example:mytarget
                &amp;amp;gt;
              backing-store /dev/vdb
        &amp;amp;amp;amp;lt;/
        
          target
        
        &amp;amp;amp;amp;gt;

iqn.2023-09.com.example:mytarget 是iSCSI目标的唯一标识符, /dev/vdb 是要共享的磁盘或分区。

说明

  1. /etc/tgt/conf.d/sample.conf 下面是配置文件示例,更多复杂的配置参考该文件语法格式。
  2. 如果是ubuntu系统,配置文件路径应为: /etc/tgt/conf.d/iscsi.conf

重启 tgtd 服务使配置生效:

                          sudo systemctl 
                        enable
                   tgtd/tgt
              sudo systemctl restart tgtd/tgt

显示所有的iSCSI target:

                          tgtadm 
                        --mode target --op show

3. 配置防火墙

确保iSCSI端口(默认是3260)在防火墙中开放:

                          sudo firewall-cmd 
                        --add-port=3260/tcp --permanent
                    sudo firewall-cmd --reload

4. 配置发起端(Initiator)

以linux为例,安装iSCSI Initiator:

                          # 
centos
                        sudo yum install iscsi-initiator-utils -y
                  # ubuntu
                  sudo apt-get install open-iscsi -y

4.1 发现iSCSI target端

在发起端,首先使用以下命令发现目标端上的iSCSI目标:

                          sudo iscsiadm -m discovery -t st -p 
                        &lt;
                      目标端IP地址
                &amp;amp;gt;

输出类似于:

                          <目标端
                        IP
                  地址&amp;gt;
                :3260
          ,1 
        iqn
      
      
        .2023-09
      
      
        .com
      
      
        .example
      
      
        :mytarget

4.2 登录到目标端

                            sudo
                        iscsiadm
                    -m
                node
            --targetname
        iqn
      
      
        .2023-09
      
      
        .com
      
      
        .example
      
      
        :mytarget
      
       
      
        --portal
      
       &amp;amp;amp;amp;lt;目标端
      
        IP
      
      地址&amp;amp;amp;amp;gt; 
      
        --login

输出类似于:

                            Logging
                        in
                    to
                [iface: default, target: iqn.2023-09.com.example:mytarget, portal: &amp;amp;lt;目标端IP地址&amp;amp;gt;,3260]
           (multiple)
        Login
      
       
      
        to
      
       
      
        [iface: default, target: iqn.2023-09.com.example:mytarget, portal: &amp;amp;amp;amp;lt;目标端IP地址&amp;amp;amp;amp;gt;,3260]
      
       
      
        successful
      
      .

登录成功后,发起端的系统会检测到一个新的磁盘设备,可以通过 lsblkfdisk -l 查看。

5. 自动登录并挂载iSCSI存储

5.1 配置开机自动登录

                            sudo
                        iscsiadm
                    -m
                node
            --targetname
        iqn
      
      
        .2023-09
      
      
        .com
      
      
        .example
      
      
        :mytarget
      
       
      
        --portal
      
       &amp;amp;amp;amp;lt;目标端
      
        IP
      
      地址&amp;amp;amp;amp;gt; 
      
        --op
      
       
      
        update
      
       
      
        -n
      
       
      
        node
      
      
        .startup
      
       
      
        -v
      
       
      
        automatic

5.2 挂载iSCSI存储

创建文件系统并挂载新磁盘,例如:

                          sudo mkfs.ext4 /dev/sdX
                      sudo 
                    mkdir
               /mnt/iscsi_disk
          sudo mount /dev/sdX /mnt/iscsi_disk

说明

如果是多个发起端挂载同一个LUN,需要配置共享集群文件系统,而ext4等linux常用的文件系统用于单节点的文件系统。

6. 测试

在发起端上可以向挂载的iSCSI存储中写入数据,并通过目标端验证存储是否正常工作。

7. 退出iSCSI会话

如果需要断开连接,可以使用以下命令:

                            sudo
                        iscsiadm
                    -m
                node
            --targetname
        iqn
      
      
        .2023-09
      
      
        .com
      
      
        .example
      
      
        :mytarget
      
       
      
        --portal
      
       &amp;amp;amp;amp;lt;目标端
      
        IP
      
      地址&amp;amp;amp;amp;gt; 
      
        --logout

赞(2)
未经允许不得转载:工具盒子 » Linux下搭建iSCSI共享存储-Tgt