[Fibre Channle 实战之三]FC 和iSCSI的使用差异-阿里云开发者社区

开发者社区> 技术小甜> 正文

[Fibre Channle 实战之三]FC 和iSCSI的使用差异

简介:
+关注继续查看

Fibre Channel 和iSCSI是我们导出块存储设备给initiator的最常见两种方式,深入理解通过这两种通道建立target、后端存储、ACL、探测target、连接和断开target、实现fail-over的差异,是我们统一设计和前端用户界面和底层文件系统的接口之前必须要做的功课,同时也是确保Fabric应用层的实现更精简高效、避免代码冗余的前提。为此,笔者结合自身工作实际,归纳了两者的差异,以供大家参考,也欢迎一起讨论、细化。



Iscsi

FC

备注

后端驱动依赖

iscsi_target_mod/

target_core_mode

target_core_iblock

tcm_qla2xxx

target_core_mode

target_core_pscsi

qla2xxx


后端工具

targetcli

targetcli


添加后端存储

targetcli /backstores/block create my_vol2 /dev/sdd

targetcli /backstores/block create my_vol2 /dev/sdd


确定后端target

iscsiname=`targetcli /iscsi create | grep "Created" | head -n1 | awk '{print $3}'`;

或者软件指定

fc_target_name=`cat /sys/class/fc_host/host*/port_name | sed -e s/0x// -e 's/../&:/g' -e s/:$// | head -n 1`


创建后端target

targetcli /iscsi create | grep "Created" | head -n1 | awk '{print $3}'`

targetcli /qla2xxx create ${fc_target_name}


导出后端存储

targetcli /iscsi/${iscsiname}/tpg1/luns create /backstores/block/vol2

targetcli /qla2xxx/${fc_target_name}/luns create /backstores/block/my_lun2


Chap

targetcli /iscsi/${iscsiname}/tpg1 set attribute authentication=0

NO


Vol Group

targetcli /iscsi/${iscsiname}/tpg1/luns create /backstores/block/vol2

targetcli /iscsi/${iscsiname}/tpg1/luns create /backstores/block/vol3

targetcli /iscsi/${iscsiname}/tpg1/luns create /backstores/block/vol4

targetcli /iscsi/${iscsiname}/tpg1/luns create /backstores/block/vol5

targetcli /qla2xxx/${fc_target_name}/luns create /backstores/block/my_lun0

targetcli /qla2xxx/${fc_target_name}/luns create /backstores/block/my_lun1

targetcli /qla2xxx/${fc_target_name}/luns create /backstores/block/my_lun2

挂靠在同

一个target

下的一组

逻辑

ACL

targetcli /iscsi/${iscsiname}/tpg1 set generate_node_acls=1

targetcli /qla2xxx/${fc_target_name}/acls create ${acl_host0}


RW/RO

targetcli /iscsi/${iscsiname}/tpg1 set attribute demo_mode_write_protect=1/0

targetcli /iscsi/${iscsiname}/tpg1 set attribute demo_mode_write_protect=1/0


Portals

targetcli /iscsi/${iscsiname}/tpg1/portals create 19.16.1.144 3260

NO






initiator建立

链接方式

iscsiadm -m discovery -t sendtargets -p 19.16.1.144:3260 -l

echo 1 > /sys/class/fc_host/$i/issue_lip


initiator断开

链接

iscsiadm -m session -u

echo 0 > /sys/class/fc_host/$i/issue_lip


Initiator Group

具有相同chap/ACL设置的一组

initiators

具有相同ACL设置的一组

initiators

FCACL

设置需要

cd 到对应Hostacls里面去,然后添加授权逻辑卷





Active-standby模式下对initiator的要求

安装iscsi 客户端:Linuxiscsiadm;

安装多路径软件,且让多路径软件运行在fail-over模式

iscsi基于TCP/IP绑定后端存储,FC基于wwn来绑定后端存储

















本文转自存储之厨51CTO博客,原文链接: http://blog.51cto.com/xiamachao/1942677,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
各浏览器对使用 document.id 和 document.name 获取对象的支持存在差异
标准参考 无。 问题描述 各浏览器使用 document.id 和 document.name 方法获取对象引用的支持存在差异。 造成的影响 某些浏览器中通过 document.id 和 document.name 可能无法获取元素,导致脚本异常,功能不可用。
749 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
6359 0
Intellij idea使用postgresql 反向生成实例, 'Basic' attribute type should not be 'Object'
mapped type不能Object? 本人使用 intellij idea 15 , postgresql 9.4,在开发java ee 。 在用 Hibernate时, 需要用数据库表反向生成实例,数据库中部分字段,是Int4,在反转的时候会爆出错误,下面是我的测试图,有木有大牛了解,可不可给给点解决方法,【生成后手动一个个修改回来除外】,各种google过……唉,求教....   下拉框中并没有String或Integer 的选项,只有Object和序列化两种。
949 0
Ionic中使用Chart.js进行图表展示以及在iOS/Android中的性能差异
Angular Chart 简介 在之前的文章中介绍了使用 Ionic 开发跨平台(iOS & Android)应用中遇到的一些问题的解决方案。 在更新0.1.3版本的过程中遇到了需要使用图表展示一周搜索引擎抓取变化的需求,因为之前使用过 Chart.js, 所以去查了些资料果然是有既有的模块的。
1079 0
PowerDesigner使用教程|使用方法
PowerDesigner安装方法:  http://dev.firnow.com/course/3_program/java/javajs/20090908/174375.html   安装完这2个软件了,接着就开始使用吧,还是和以前一样,先提出需求,再做实例,因为我们之所以使用它们,肯定是因为它们能巧妙的解决某种问题,不然我们干嘛花那么多时间和硬盘空间安装它们.
711 0
Intellij idea使用postgresql 反向生成实例, 'Basic' attribute type should not be 'Object'
mapped type不能Object? 本人使用 intellij idea 15 , postgresql 9.4,在开发java ee 。 在用 Hibernate时, 需要用数据库表反向生成实例,数据库中部分字段,是Int4,在反转的时候会爆出错误,下面是我的测试图,有木有大牛了解,可不可给给点解决方法,【生成后手动一个个修改回来除外】,各种google过……唉,求教....   下拉框中并没有String或Integer 的选项,只有Object和序列化两种。
1052 0
Docker实战(六)之使用Dockerfile创建镜像
Dockervile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义镜像。 1.基本结构 Dockerfile由一行行命令语句组成,并且支持以#开头的注释行。 一般而言,Dockerfile分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行命令。
1336 0
+关注
6323
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载