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 | FC的ACL 設置需要 cd 到對應Host的acls裏面去,然後添加授權邏輯卷 |
Active-standby 模式下對initiator的要求 | 安裝iscsi 客戶端:Linux下iscsiadm; | 安裝多路徑軟件,且讓多路徑軟件運行在fail-over模式 | iscsi基於TCP/IP綁定後端存儲,而FC 基於wwn來綁定後端存儲 |
本文出自 “存儲之廚” 博客,請務必保留此出處http://xiamachao.blog.51cto.com/10580956/1942677
FC 和iSCSI的使用差異