1

我正在做一些使用 iSCSI 的测试。奇怪的事情正在发生,我正在寻找解释。如果有人可以提出一些建议,我将不胜感激。所以我们开始:

有两个运行 Debian9 的虚拟机。一个是 iSCSI 目标(服务器),另一个是 iSCSI 启动器(客户端)。服务器共享一个磁盘(即 /dev/sdb)或该磁盘上的一个分区(即 /dev/sdb1)作为 iSCSI LUN。客户端连接到服务器并将 LUN 正确识别为新设备(即 /dev/sdc)。然后在 /dev/sdc 上配置 LVM。没有什么不寻常的:/dev/sdc 上的 PV,PV 上的 VG,VG 上的 LV,LV 上的一些数据。这一切都按应有的方式工作。然后我关闭了两台机器并再次启动它们。所有重要的服务都设置为自动启动,两台机器互相看到,客户端创建一个会话(连接到 iSCSI 服务器)。但现在神奇的事情发生了:

尽管客户端连接到服务器,但它不再看到 LUN - 因此客户端上没有 /dev/sdc 设备或 PV / VG / LV。服务器正确地将目标 (LUN) 显示为共享,但 LUN 大小显示为“0”,后备存储路径显示为“无”。PV / VG / LV 现在也由 iSCSI 服务器显示。

我的第一个想法是将 LVM 元数据复制到 iSCSI 服务器,但服务器上没有与 lvm2 相关的包。由于这些机器将用于集群测试(一旦我解决了 iSCSI 问题),在 iSCSI 客户端上,lvmlocking_type 已经设置为 3(使用 clvmd 进行集群锁定)——不确定这是否会有所不同。还检查了共享 /dev/sdb1 分区与共享 /dev/sdb 设备相比是否有任何区别 - 但没有区别。所以目前我没有想法。有人可以帮忙吗?提前致谢!

在重新启动之前,服务器:

# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0    8G  0 disk
├─sda1   8:1    0    7G  0 part /
├─sda2   8:2    0    1K  0 part
└─sda5   8:5    0 1022M  0 part [SWAP]
sdb      8:16   0    8G  0 disk
└─sdb1   8:17   0    8G  0 part
sr0     11:0    1 1024M  0 rom

# tgtadm --mode target --op show
Target 1: iqn.20181018:test
    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: 8589 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/sdb
            Backing store flags:
    Account information:
        vgs-user-incoming
        vgs-user-outcoming (outgoing)
    ACL information:
        192.168.106.171

在重新启动之前,客户端:

# lvs
  WARNING: Not using lvmetad because locking_type is 3 (clustered).
  connect() failed on local socket: No such file or directory
  Internal cluster locking initialisation failed.
  WARNING: Falling back to local file-based locking.
  Volume Groups with the clustered attribute will be inaccessible.
  LV              VG  Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  virtualMachine1 vg1 -wi-a----- 2,00g
  lv_001          vg2 -wi-a----- 4,00m
  lv_002          vg2 -wi-a----- 2,00g

# lsblk
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                       8:0    0    8G  0 disk
├─sda1                    8:1    0    7G  0 part /
├─sda2                    8:2    0    1K  0 part
└─sda5                    8:5    0 1022M  0 part [SWAP]
sdb                       8:16   0    4G  0 disk
└─sdb1                    8:17   0    4G  0 part
  └─vg1-virtualMachine1 254:0    0    2G  0 lvm
sdc                       8:32   0    8G  0 disk
├─vg2-lv_001            254:1    0    4M  0 lvm
└─vg2-lv_002            254:2    0    2G  0 lvm
sr0                      11:0    1 1024M  0 rom

重启后,服务器:

# lsblk
NAME           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda              8:0    0    8G  0 disk
├─sda1           8:1    0    7G  0 part /
├─sda2           8:2    0    1K  0 part
└─sda5           8:5    0 1022M  0 part [SWAP]
sdb              8:16   0    8G  0 disk
└─sdb1           8:17   0    8G  0 part
  ├─vg2-lv_001 254:0    0    4M  0 lvm
  └─vg2-lv_002 254:1    0    2G  0 lvm
sr0             11:0    1 1024M  0 rom

# tgtadm --mode target --op show
Target 1: iqn.20181018:test
    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:
    Account information:
        vgs-user-incoming
        vgs-user-outcoming (outgoing)
    ACL information:
        192.168.106.171

重启后,客户端:

# lvs
  WARNING: Not using lvmetad because locking_type is 3 (clustered).
  connect() failed on local socket: No such file or directory
  Internal cluster locking initialisation failed.
  WARNING: Falling back to local file-based locking.
  Volume Groups with the clustered attribute will be inaccessible.
  LV              VG  Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  virtualMachine1 vg1 -wi-a----- 2,00g

# lsblk
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                       8:0    0    8G  0 disk
├─sda1                    8:1    0    7G  0 part /
├─sda2                    8:2    0    1K  0 part
└─sda5                    8:5    0 1022M  0 part [SWAP]
sdb                       8:16   0    4G  0 disk
└─sdb1                    8:17   0    4G  0 part
  └─vg1-virtualMachine1 254:0    0    2G  0 lvm
sr0                      11:0    1 1024M  0 rom
4

1 回答 1

0

服务器正在检测 LVM 并启动它。后来,当它尝试共享时/dev/sdb1,它不能,因为该设备正在使用中。

您可以通过服务器上的过滤器来防止这种情况lvm.conf。如果您在服务器上根本不需要 LVM,您可以告诉它避免扫描(删除)所有块设备:

filter = [ "r/.*/" ]

来源:https ://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/lvm_filters.html

于 2018-11-02T18:06:05.460 回答