首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RHEL 6 iSCSI LUN

RHEL 6 iSCSI LUN
EN

Server Fault用户
提问于 2014-04-24 16:52:59
回答 1查看 1.5K关注 0票数 3

我将一个RHEL系统设置为一个iSCSI目标,通过/etc/tgt/ target ts.conf中的以下配置通过一个目标共享2个luns (我在/etc/tgt/ target ts.conf中注释掉的示例中构建了该配置):

代码语言:javascript
运行
复制
<target iqn.2014-04.com.local.box:ESXi.target1>
        backing-store /dev/ESXi_VG/ESXi_LUN_01 #LUN01
        backing-store /dev/ESXi_VG/TEST_LUN_01 #LUN02
</target>

这些数据将作为数据存储分配给一对ESXi主机。

我最初在vg ESXi_VG上为数据存储创建了一个4.00TB的LVM逻辑卷;但是,我意识到我需要第二个LUN通过RDM对存储在ESXi主机上的本地存储的vm进行Iop测试。为此,我在同一个卷组上创建了第二个5.00GB的LVM逻辑卷,并在上面显示的目标配置中为第二个LUN添加了LUN条目。然后在我的ESXi主机上卸载4.00TB LUN,并重新启动tgtd。

我现在看到了一些奇怪的东西。首先,下面是tgt -s命令的输出,以显示当前的LUN:

代码语言:javascript
运行
复制
[root@box ~]# tgt-admin -s
Target 1: iqn.2014-04.com.local.box:ESXi.target1
    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
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 5369 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/ESXi_VG/TEST_LUN_01
            Backing store flags:
    Account information:
    ACL information:
        ALL

如您所见,只有一个LUN正在显示,而不是2个,而正在显示的LUN只是我在稍后添加的5.00GB LUN。如果删除或注释掉LUN条目,它只显示LUN 0,控制器,而不是LUN 1。

但是,ESXi仍然可以看到4.00TB LUN,并且可以挂载它、格式化它等等,它看不到的是5.00GB分区,尽管它是通过同一个iSCSI目标共享的。

因此,我有几个问题:

  1. tgt-admin是否只显示LUN当前没有连接到启动器?如果不是,为什么我的4.00 TB数据存储不再显示?
  2. 如何让第二个LUN出现在ESXi上,这样我就可以通过RDM将它挂载到VM中进行iops测试?
EN

回答 1

Server Fault用户

回答已采纳

发布于 2014-08-02 05:07:48

这是我发现的问题所在。由于公司合并而退出这个项目后,它又被扔回我的盘子里,我决定从头开始重新开始。这一次,我创建了一个LUN,RH_ISCSI_LV_001,并通过iscsi守护进程共享它。我能够在vSphere中挂载和格式化它。

我再次卸载LUN并停止tgtd来编辑/etc/tgt/targets.conf以添加第二个测试LUN,通过使用RDM将它映射到客户端来进行性能测试。当我再次启动tgtd时,只显示了一个LUN。

我假设在VMware格式化它之后,LUN无法被tgtd读取可能是一个问题,所以我试图用lvremove来销毁它。它抛出一个ioctl错误(device-mapper: remove ioctl on failed: Device or resource busy),不删除。

经过深入研究,我运行了命令lsof /dev/ESXi_VG/RH_ISCSI_LV_001,发现pid 2251是阻塞过程。一个快速的ps -ef和我了解到,tgtd在某种程度上并没有完全关闭,因为没有什么可以阻止第二个tgtd进程启动(显然)它保留了LUN的“所有权”,从而阻止了我生成的每一个连续的tgtd进程。快速杀死-9和service tgtd start后,我的两个LUN是可见的ESXi。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/591141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档