iSCSI LVM配置无法在重启后继续生存

时间:2018-10-18 13:57:02

标签: lvm iscsi debian-stretch

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

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

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

我的第一个想法是将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

1 个答案:

答案 0 :(得分:0)

服务器正在检测LVM并启动它。稍后,当它尝试共享/dev/sdb1时,由于设备正在使用,所以它不能共享。

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

filter = [ "r/.*/" ]

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