targetcli搭建Fibre Channel(FC) target

來源:互聯網
上載者:User

標籤:linux   targetcli   fc   ubuntu   


硬體資訊
  • 擷取WWN的方法可以執行以下命令來擷取
    cat /sys/class/fc_host/host*/port_name | sed -e s/0x// -e ‘s/../&:/g‘ -e s/:$//
  1. 作為target端的機器
    • 系統 : Ubuntu 14.04 Server
    • HBA : QLogic ISP2432
    • WWN1 : 21:01:00:1b:32:31:43:XX
    • WWN2 : 21:00:00:1b:32:11:43:XX
  2. 作為initiator端的機器
    • 系統: Ubuntu 14.04 Server
    • HBA : QLogic ISP2432
    • WWN1 : 21:00:00:1b:32:11:64:XX
    • WWN2 : 21:01:00:1b:32:31:64:XX
  3. 交換器
    • Brocade 200E

準備工作安裝lio-utils 和targetcli
sudo apt-get install lio-utils targetcli
掛載configFS
  • 假如configFS沒有被掛載, /etc/init.d/target會自動進行掛載

LIO 和targetcli 的配置都需要用到configFS, 因此configFS模組必須被載入到核心中。把configFS掛載到/sys/kernel/config:

mount -t configfs configfs /sys/kernel/config

也可以把它加入到fstab中,讓系統啟動的時候自動載入。
configfs /sys/kernel/config configfs default 1 1
修改驅動配置

修改qla2xxx.conf,把它修改為target模式

options qla2xxx qlini_mode="disabled" 

更新initramfs後重啟機器
sudo update-initramfs -u -k allsudo reboot

target端配置(ACL模式)使用targetcli進行配置啟動targetcli
sudo targetcli

當targetcli初始化完成後,RTSlib會根據相關的spce檔案(/var/target/fcbic/*.spec), 把安裝好的模組載入進去。
建立backstore這裡支援的backstore有五種,這裡主要介紹的是IBLOCK和FILEIO
  1. IBLOCK
    這裡主要使用的塊裝置。通常來說,用IBLOCK作為backstore會提供比較好的效能。
    • 例如使用/dev/sdb這個裝置:
      /> cd backstores//backstores> iblock/ create name=block_backend dev=/dev/sdbGenerating a wwn serial.Created iblock storage object block_backend using /dev/sdb./backstores>
    • 或者使用LVM邏輯卷
      /backstores> iblock/ create name=block_backend_lvm dev=/dev/vg0/lv1Generating a wwn serial.Created iblock storage object block_backend_lvm using /dev/vg0/lv1./backstores>
  2. FILEIO
    通過一個檔案建立一個FILEIO backstore。 
    注意: 使用的時候,盡量不要使用帶buffer的FILEIO。 通過參數buffered=true來建立一個帶buffer的FILEIO backuend, 雖然它可以提供更好的效能,但是它也會導致資料不完整的嚴重問題:如果因為某些原因系統崩潰了,那麼沒有被寫進硬碟的資料將會丟失,而導致資料不完整。
    • 建立檔案/usr/src/fileio, 檔案大小是2G
      /> cd backstores//backstores> fileio/ create name=file_backend file_or_dev=/home/kyle/backstore/fileio_1 size=2GGenerating a wwn serial.Not using buffered mode.Created fileio file_backend./backstores>
在targetcli裡建立WWN‘s

我們需要在儲存伺服器上面調用targetcli來建立WWN‘s

/qla2xxx create 21:01:00:1b:32:31:43:XX
使用WWN‘s來執行個體化Targets

這裡需要把剛才建立好的WWN‘s和之前就建立好的backstore進行一個串連。使用luns下的命令

/qla2xxx/21:01:00:1b:32:31:43:XX/luns/ create /backstores/fileio/file_backend
建立ACL‘s

我們需要建立一個ACL‘s(Access Control List)列表, 讓需要用到這個這個儲存的機器可以有許可權使用到這個luns。
這裡我們需要的WWN是需要訪問該luns的機器的WWN,不是原生

/qla2xxx/21:01:00:1b:32:31:43:XX/acls create 21:00:00:1b:32:11:64:XX/qla2xxx/21:01:00:1b:32:31:43:XX/acls create 21:01:00:1b:32:31:64:XX
檢查並儲存配置

在targetcli的頂層目錄下,執行ls就可以看到全部的配置了。

/> lso- / ........................................................................................... [...]  o- backstores ................................................................................ [...]  | o- fileio .................................................................... [1 Storage Objects]  | | o- file_backend_  .................................... [/home/kyle/backstore/fileio_1 activated]  | o- iblock ..................................................................... [0 Storage Object]  | o- pscsi ...................................................................... [0 Storage Object]  | o- rd_dr ...................................................................... [0 Storage Object]  | o- rd_mcp ..................................................................... [0 Storage Object]  o- ib_srpt ............................................................................. [0 Targets]  o- iscsi ............................................................................... [0 Targets]  o- loopback ............................................................................ [0 Targets]  o- qla2xxx ............................................................................. [1 Targets]  | o- 21:00:00:1b:32:11:43:38 ............................................................. [enabled]  | | o- acls ............................................................................... [2 ACLs]  | | | o- 21:00:00:1b:32:11:64:33 .................................................... [1 Mapped LUN]  | | | | o- mapped_lun0 ................................................................. [lun0 (rw)]  | | | o- 21:01:00:1b:32:31:64:33 .................................................... [1 Mapped LUN]  | | |   o- mapped_lun0 ................................................................. [lun0 (rw)]  | | o- luns ................................................................................ [1 LUN]  | |   o- lun0 ............................ [fileio/file_backend  (/home/kyle/backstore/fileio_1)]  o- tcm_fc .............................................................................. [0 Targets]/>

檢查完成後,需要執行saveconfig命令,把配置儲存下來,否則這些配置會丟失。

target端配置(DEMO模式)使用targetcli進行配置啟動targetcli
sudo targetcli

當targetcli初始化完成後,RTSlib會根據相關的spce檔案(/var/target/fcbic/*.spec), 把安裝好的模組載入進去。建立backstore

通過一個檔案建立一個FILEIO backstore。 

/> cd backstores//backstores> fileio/ create name=file_backend file_or_dev=/home/scutech/backstore/fileio_1 size=2GGenerating a wwn serial.Not using buffered mode.Created fileio file_backend./backstores>

在targetcli裡建立WWN‘s

我們需要在儲存伺服器上面調用targetcli來建立WWN‘s

/qla2xxx create 21:01:00:1b:32:31:43:XX
設定WWN‘s的屬性
/qla2xxx/21:01:00:1b:32:31:43:XX set attribute         demo_mode_write_protect=0         generate_node_acls=1         cache_dynamic_acls=1        demo_mode_login_only=0
使用WWN‘s來執行個體化Targets

這裡需要把剛才建立好的WWN‘s和之前就建立好的backstore進行一個串連。使用luns下的命令

/qla2xxx/21:01:00:1b:32:31:43:XX/luns/ create /backstores/fileio/file_backend


檢查並儲存配置

在targetcli的頂層目錄執行ls,即可得到配置

o- / ................................................................................. [...]  o- backstores ...................................................................... [...]  | o- fileio ........................................................... [1 Storage Object]  | | o- file_test ...................................... [/home/kyle/backstore/fileio_test activated]  | o- iblock ........................................................... [0 Storage Object]  | o- pscsi ............................................................ [0 Storage Object]  | o- rd_dr ............................................................ [0 Storage Object]  | o- rd_mcp ........................................................... [0 Storage Object]  o- ib_srpt ................................................................... [0 Targets]  o- iscsi ..................................................................... [0 Targets]  o- loopback .................................................................. [0 Targets]  o- qla2xxx .................................................................... [1 Target]  | o- 21:00:00:1b:32:11:43:38 ................................................... [enabled]  |   o- acls ..................................................................... [0 ACLs]  |   o- luns ...................................................................... [1 LUN]  |     o- lun0 ...................... [fileio/file_test (/home/kyle/backstore/fileio_test)]  o- tcm_fc .................................................................... [0 Targets]

檢查無誤後執行saveconfig儲存配置並使其生效。

====================================================華麗的分割線=====================================================


initiator端配置Ubuntu 下的配置掃描target使用以下命令,尋找fc target
echo 1 > /sys/class/fc_host/host<N>/issue_lip

如果執行命名後,發現在/var/log/syslog裡面有類似 qla2xxx [0000:01:00.0]-2064:4: SNS scan failed -- assuming zero-entry result. 的錯誤,
那麼就需要考慮兩個問題:
  1. 光纖有沒有接錯
  2. 交換器的zoning有沒有設定好。 (在該wiki最後會有解決方案)
    掃描完成後,可以用fdisk看到多了一個新盤/dev/sdb (根據實際情況會有不同)
使用儲存

使用fdisk和mkfs命令就可以把該硬碟進行分區和格式化(如果target那邊用的是IBLOCK,還不確定要不要分區跟格式化)。
最後掛載上即可使用。



targetcli搭建Fibre Channel(FC) target

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.