IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    iSCSI Targets on Linux

    Terry发表于 2014-08-14 05:00:07
    love 0

    最近在研究 iSCSI Multipathing (DM Multipath) 因为需要了解 iSCSI 的工作方式,自己在 Linux 服务器上搭了 iSCSI Target 而不是图方便用 FreeNAS 或 Openfiler 这样的 NAS 发行版。

    目前 Linux 上主要有三个 iSCSI Target 实现:

    • Linux SCSI Target – STGT / tgt
    • Linux-IO Target – LIO
    • SCST – Generic SCSI Subsystem for Linux

    以 Linux 2.6.38 为分界线,此前的标准是 Linux SCSI Target – STGT 之后迄今为止的标准是 Linux-IO Target – LIO 确切的说 Linus Torvalds 在 2011年1月15日将 LIO SCSI Target engine merge 到 Linux 2.6.38 中。

    LIO 及其管理工具 targetcli 是由 Detera 这个公司开发和维护的。

    SCST 更像是一个编外小众实现,主要由 Fusion-io 的某个工程师在维护。

    这里是一个 SCST | STGT | IET | LIO/TCM 特性的比较 Feature Comparison between Linux SCSI Targets

    目前 RHEL 7 / CentOS 7 / Oracle Linux 7 默认使用的是 LIO 实现,使用 targetcli 作为管理工具,是一个 Python 写的交互 shell 操作起来还算方便。被替代的 STGT 已经被踢到 EPEL for EL 7 里了。要安装的话得启用 EPEL 然后 yum install scsi-target-utils 这个包,做相关的配置配置,就不多说了。

    推荐使用 LIO + targetcli ;-D

    补充一下 Linux-IO / LIO 和传统的 STGT / tgt 还有 SCST 是不同的,没有服务重启的概念。其配置是用 targetcli 命令行工具通过 ConfigFS (RAM-based 文件系统,类似于 sysfs 但用途不一样,两者是互补的)来和内核 API 交互。

    ConfigFS 通常挂载为 /sys/kernel/config ;-D

    NOTE: ConfigFS 是在 user-space 创建,管理和销毁内核对象。而 sysfs 是在 user-space 查看,操作由 kernel space 创建和销毁的对象。

    Related posts:

    1. Linux 3.13
    2. Btrfs Updates in Linux 3.7 Kernel
    3. Linux 3.14



沪ICP备19023445号-2号
友情链接