我正在嘗試重新回到 Unix 遊戲中來完成我們正在進行的一些儲存項目。為此,我們很樂意使用 Joyents smartos(基於 illumos)。
使用它是一種真正的樂趣(設置虛擬機器等),但我無法讓 iSCSI 工作。
我很想簡單地共享一個 zfs 設備作為 iSCSI 連接點,但無法讓它工作。我也無法讓 smb 或 nfs 工作,但這些屬性至少存在,而且我確信它們會工作。
我能找到的文件似乎有點到處都是一些舊的solaris、新的solaris、illumos 的東西等等。
有人有任何指點嗎?
我已經嘗試過了
zfs set shareiscsi=on zones/name
這導致“未知財產”。而且無論如何它都沒有列在 zfs 屬性中。
我也嘗試過
sbdadm create-lu /dev/zvol/rdsk/zones/
但這會導致
sbdadm: unknown error
itadm 也不可用,且「svcs」中未列出包含 iSCSI 的服務。
任何幫助是極大的讚賞。
更新:看來iscsi是由COMSTAR提供的,並且與舊的solaris提供的方式不同,因此不支援設定shareiscsi。
更新:我發現需要為其啟動 stmf 服務(與 COMSTAR 相關)。可惜的是它處於維護模式(svcs | grep stmf)登入 /var/svc/log/system-stmf:default.log 說:
svc-stmf: Unable to load the configuration. See /var/adm/messages for details
/var/adm/messages 說:
svc:/system/stmf:default: Method "/lib/svc/method/svc-stmf start" failed with exit status 1.
system/stmf:default failed: transitioned to maintenance (see 'svcs -xv' for details)
可能缺少一名驅動程序,但是是哪一個呢?以及如何安裝它?
答案1
建立 ISCSI 目標
如有必要,啟用儲存伺服器和 iSCSI 目標伺服器
svcadm enable stmf
svcadm enable -r svc:/network/iscsi/target:default
如有必要,請建立一個磁碟區(例如稀疏 10T)
zfs create -V 10T -s zones/iscsi
建立邏輯單元
sbdadm create-lu /dev/zvol/rdsk/zones/iscsi
在其上新增一個視圖(GUID由先前的命令或list-lu輸出)
stmfadm add-view GUID
建立要連接的目標群組(選擇 GROUPNAME 和 TARGETNAME 並使用目前伺服器的 IP) TARGETNAME 範例可以是:iqn.2010-08.org.illumos:02:iscsi-100T哪裡的iSCSI-100T部分可以是任何你喜歡的部分。我認為創建目標群體並不是必要的,儘管它可能是明智的。
itadm create-tpg GROUPNAME IP
在此群組中建立目標
itadm create-target -t GROUPNAME -n TARGETNAME
順便一提:如果您不設定 TARGETNAME,將產生唯一識別碼。但這種情況每次在 smartos 上啟動時都會發生,因此用戶端將無法自動重新連線。