在 Ubuntu 16.04 内核 4.8.0.53-generic 上安装可用的 iSCSI(但 SCST)

在 Ubuntu 16.04 内核 4.8.0.53-generic 上安装可用的 iSCSI(但 SCST)

标题说明了一切。“SCST 构建团队”发布了 BS、NON-WORKING repo 垃圾,请不要将其作为答案,除非你能用视频截图支持它,因为我现在已经看到足够多的其他人发布的帖子,这也是 BS。

我几乎可以让它工作了。从源代码构建 3.2.0,但即使使用正确的 make 命令,模块也从未正确加载,如果我手动加载,我会在手动加载模块后启动服务,但我已经进行了 9 个小时,所以现在我需要有人一步一步确认工作正常,以便简单地让企业 SCST iSCSI 服务运行 - 我迫切需要你的帮助,每个人都需要,因为我读过的很多方法都没有真正按照写的那样工作。

我的意思是,我的老旧内核 IX2 NAS 不知怎么地通过生命线应用程序实现了 SCST,它与赛扬处理器和 256MB 的 RAM 一起工作,所以我猜想一个 10 年后更新的 Ubuntu 运行在 8 核 i7 处理器上,32GB RAM 应该能够实现它?但是,由于它甚至不在常规存储库中,也许它不会在这种 Linux 版本上运行,或者?

编辑:

这是我的 DMESG,没有错误,所以我不知道为什么什么都看不到目标上呈现的任何东西:

[  907.082942] scst: Target template iscsi unregistered successfully
[  907.082946] iscsi-scst: Unregistered iSCSI transport: iSCSI-TCP
[  985.353804] iscsi-scst: iSCSI SCST Target - version 3.2.x
[  985.353807] iscsi-scst: Registered iSCSI transport: iSCSI-TCP
[  985.355329] scst: Target template iscsi registered successfully
[  985.355458] iscsi-scst: Read thread for pool ffff903e373cb400 started
[  985.355493] iscsi-scst: Read thread for pool ffff903e373cb400 started
[  985.355538] iscsi-scst: Write thread for pool ffff903e373cb400 started
[  985.357499] iscsi-scst: Write thread for pool ffff903e373cb400 started

我的 /etc/scst.conf 通过 NAS 在 SCST 上运行,即使我更改为新创建的空白格式卷文件,也不会出现任何错误:

HANDLER vdisk_fileio{
        DEVICE VMware {
                filename /mnt/pools/A/A0/iSCSI/VMware
                #filename /mnt/usb/iSCSI/iSCSI/VMware
                t10_dev_id LENOVO-b3fbe43e
                usn b3fbe43e
                nv_cache 1
        }
}

TARGET_DRIVER iscsi {
        iSNSServer 192.168.1.6
        enabled 1

        TARGET iqn.2012-07.com.lenovoemc:storage.ix2b.VMware {
                MaxRecvDataSegmentLength 8192
                MaxXmitDataSegmentLength 8192
                enabled 1
                LUN 0 VMware
        }
}

cat /proc/modules | grep scst

iscsi_scst 90112 3 - Live 0xffffffffc077d000 (OE)
scst_changer 16384 0 - Live 0xffffffffc0761000 (OE)
scst_cdrom 16384 0 - Live 0xffffffffc075c000 (OE)
scst_tape 16384 0 - Live 0xffffffffc0757000 (OE)
scst_raid 16384 0 - Live 0xffffffffc0752000 (OE)
scst_processor 16384 0 - Live 0xffffffffc074d000 (OE)
scst_modisk 16384 0 - Live 0xffffffffc06b3000 (OE)
scst_user 40960 0 - Live 0xffffffffc0742000 (OE)
scst_vdisk 94208 0 - Live 0xffffffffc072a000 (OE)
scst_disk 16384 0 - Live 0xffffffffc066b000 (OE)
scst 446464 10 iscsi_scst,scst_changer,scst_cdrom,scst_tape,scst_raid,scst_processor,scst_modisk,scst_user,scst_vdisk,scst_disk, Live 0xffffffffc06bc000 (OE)
dlm 163840 1 scst, Live 0xffffffffc068a000
libcrc32c 16384 3 iscsi_scst,scst_vdisk,raid456, Live 0xffffffffc0114000

答案1

哇哦,我要亲自回答这个问题了。这太让我震惊了。

因此我从 3.2.0 pre1 源重新进行了相同的构建(尽管有其他文档,但 3.1 拒绝在我的内核上编译,所以这是第一个障碍)。

现在来看看一切启动的根本原因,既没有抛出一个错误,也没有显示任何 iSCSI 卷——一旦我确定了原因,我会回到这里进一步更新,但整个静默故障都归咎于配置文件中的一个参数,而这个参数实际上是来自 NAS 的 iscsi 标准参数。

ubuntu 中的 scstadmin 重新生成的新的工作配置文件:

# Automatically generated by SCST Configurator v3.2.0-pre1.


HANDLER vdisk_fileio {
        DEVICE VMware {
                filename /mnt/pools/A/A0/iSCSI/VMware
                read_only 1
        }
}

TARGET_DRIVER copy_manager {
        TARGET copy_manager_tgt {
                LUN 0 VMware {
                        read_only 1
                }
        }
}

TARGET_DRIVER iscsi {
        enabled 1

        TARGET iqn.2012-07.com.lenovoemc:storage.ix2b.VMware {
                enabled 1
                rel_tgt_id 1

                LUN 0 VMware {
                        read_only 1
                }
        }
}

请注意,除了赋予它只读权限外,理论上应该没有任何区别,因为它是使用以下精确命令重新生成的:

scstadmin -open_dev VMware -handler vdisk_fileio -attributes filename=/mnt/pools/A/A0/iSCSI/VMware,read_only t10_dev_id=LENOVO-b3fbe43e usn=b3fbe43e nv_cache=1
scstadmin -add_target iqn.2012-07.com.lenovoemc:storage.ix2b.VMware -driver iscsi
scstadmin -add_lun 0 -driver iscsi -target iqn.2012-07.com.lenovoemc:storage.ix2b.VMware -device VMware
scstadmin -enable_target iqn.2012-07.com.lenovoemc:storage.ix2b.VMware -driver iscsi
scstadmin -set_drv_attr iscsi -attributes enabled=1
scstadmin -write_config /etc/scst.conf

因此,如果有人知道为什么会发生这种情况,乍一看似乎是由于以下几点造成的:

t10_dev_id LENOVO-b3fbe43e
usn b3fbe43e
nv_cache 1

但是我知道 nv_cache 没问题,这使得前两个尽管是“属性”,但甚至没有传递到生成的配置文件中。

无论如何,iSCSI 卷刚刚安装完毕,因此当我了解更多信息时,我会在这里更新,也许这对其他人有所帮助。

答案2

该脚本自动构建一个包,并自动在 Ubuntu 16.04(以及 14.04、15.04 和 17.04)上构建 SCST SAN 和多路径配置。

https://sites.google.com/site/nandydandyoracle/scst/scst-package-build-and-install-ubuntu-17-04---14-04

相关内容