2010年12月アーカイブ

2010年12月30日

OpenIndiana その3 iSCSI Target

OpenIndianaからはshareiscsiでなく、COMSTARなるものが標準らしい。
で、使い方がわからずにかなり四苦八苦。。。

# svcadm enable iscsi/target # svcadm enable stmf

これでiscsi tarrgetとCOMSTARのサービスを起動。
そもそも最近のSolarisに触ったことがないのでsvcadmの流儀が最初はよくわからなかった。

まずはzfsボリュームと、そのLUを作る。

# zfs create -V 100G pool1/test # sbdadm create-lu /dev/zvol/rdsk/pool1/test

複数作ればこんな感じにLUが表示される。

# sbdadm list-lu Found 3 LU(s)

GUID DATA SIZE SOURCE
-------------------------------- ------------------- ----------------
600144f020d7820000004d1a1bd70001 53687091200 /dev/zvol/rdsk/vol1/hoge
600144f020d7820000004d1adb160001 322122547200 /dev/zvol/rdsk/vol1/moge
600144f020d7820000004d1be7ac0002 214748364800 /dev/zvol/rdsk/vol1/test

次にLUごとにtarget作成



# itadm create-target
# itadm list-target -v  ※ターゲット名の確認

しかしtargetを作っただけではイニシエータからはnodeが見えない。
LUをviewに追加する必要がある。単に

# stmfadm add-view 600144f020d7820000004d1a1bd70001

とかやるだけで良いのだが、ここで嵌った。

2つのLU,targetがある状態でviewに追加したのがこれ

# stmfadm list-view -l 600144F020D7820000004D1A1BD70001 ※1
View Entry: 0
Host group : All
Target group : ALL
LUN : 0
# stmfadm list-view -l 600144F020D7820000004D1ADB160001 ※2
View Entry: 0
Host group : All
Target group : ALL
LUN : 1

VMware ESXi 4.1のiSCSI Initiatorから※1に接続、マウントして利用するのは問題なかった。
が、Debian lennyのiscsiadmで※2に接続したら問題が。

# iscsiadm -m discovery --type sendtargets -p 192.168.xxx.xxx
192.168.xxx.xxx:3260,1 iqn.1986-03.com.sun:02:cdf83448-a1e5-c754-acaa-8f6f2ebcd608 ※1
192.168.xxx.xxx:3260,1 iqn.1986-03.com.sun:02:9352bf5b-e80c-4ae2-b05c-cecf870de245 ※2
# iscsiadm -m node -T iqn.1986-03.com.sun:02:9352bf5b-e80c-4ae2-b05c-cecf870de245 --login

(LUとiSCSI Target名は適当です)

ここまではふつう。で、fdisk -l したら追加されたディスクが何故か2つ。しかも1つはformat済み。

# ls -l /dev/disk/by-path/
lrwxrwxrwx 1 root root 9 2010-12-30 10:37 ip-192.168.xxx.xxx:3260-iscsi-iqn.1986-03.com.sun:02:9352bf5b-e80c-4ae2-b05c-cecf870de245-lun-1 -> ../../sdf
lrwxrwxrwx 1 root root 10 2010-12-30 10:37 ip-192.168.xxx.xxx:3260-iscsi-iqn.1986-03.com.sun:02:9352bf5b-e80c-4ae2-b05c-cecf870de245-lun-1-part1 -> ../../sdf1
lrwxrwxrwx 1 root root 9 2010-12-30 10:37 ip-192.168.xxx.xxx:3260-iscsi-iqn.1986-03.com.sun:02:9352bf5b-e80c-4ae2-b05c-cecf870de245-lun-2 -> ../../sdg

ESXiが使ってる※1まで接続されてる。危うくfdiskするところだった。

同じView EntryでTarget GroupがALLになってると、別LUNもiscsiadmで一緒にloginしてしまうっぽい?
(ちゃんと調べてません)

Target Groupを改めて設定

# stmfadm create-tg tg1
# stmfadm create-tg tg2
# stmfadm list-tg

iSCSI Targetを各Target Groupに登録

# stmfadm add-tg-member -g tg1 Target名
stmfadm: STMF service must be offline

が、エラー。STMFサービスを落とさないとダメらしい。そしてSTMFを落とすとTargetとの接続は切れる。
...メンテできないとかひどい仕様らしい。一応今後に期待。

# svcadm disable stmf
# stmfadm add-tg-member -g tg1 Target名
# svcadm enable stmf

これを素早くやったらESXiは何事もなかったように再接続したので良かった。
viewに追加するときもTarget Groupを限定

# stmfadm add-view -t tg1 600144f020d7820000004d1adb160001
stmfadm: view entry exists

上書きを期待したが、やっぱり同じLUでviewがあるとダメらしい。そしてview entryを変更するコマンドがなさそう。
entryを消したらやっぱり接続中のESXiから切れると思ったが、再接続に期待して remove -> add を素早くやる。

# stmfadm remove-view -l 600144f020d7820000004d1adb160001
stmfadm: no view entries specified

LU(GUID) + View Entryの値が必要だった。

# stmfadm remove-view -l 600144f020d7820000004d1adb160001 0
# stmfadm list-view -l 600144f020d7820000004d1adb160001
stmfadm: 600144f020d7820000004d1adb160001: no views found
# stmfadm add-view -t tg1 600144f020d7820000004d1adb160001

無事成功。で、tg2の方で別LUもviewに登録したら、Debianからはtg1側に勝手に接続しなくなった。
まだ作業は終わらない...

なお、公式ドキュメントやフォーラムをそんなに漁っていないので、上記には多分に間違いが含まれていると思われる。

OpenIndiana その2

昨日のCFミラー化は成功した。コンソールログを残すの忘れたが
IDE-CFにつながったMaster, Slaveどちらを外しても起動は問題なし。
再起動時にCFをつなぎ直せばmirorの同期もOK。

ということで、データ置き場用の2TB HDD(WD20EARS) x3をSATAポートに接続、raid-zなプールを作って
SATAディスクのhot swapを実験。

# cfgadm -la | grep sata sata0/0::dsk/c2t0d0 disk connected configured ok sata0/1::dsk/c2t1d0 disk connected configured ok sata0/2::dsk/c2t2d0 disk connected configured ok sata0/3 sata-port empty unconfigured ok sata0/4 sata-port empty unconfigured ok sata0/5 sata-port empty unconfigured ok

# zpool status vol1
pool: vol1
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
vol1 ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
c2t0d0 ONLINE 0 0 0
c2t1d0 ONLINE 0 0 0
c2t2d0 ONLINE 0 0 0

errors: No known data errors

# zpool offline vol1 c2t2d0

SATA0/2ポートのディスクをofflineにした↑。

# zpool status vol1 pool: vol1 state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using 'zpool online' or replace the device with 'zpool replace'. scan: none requested config:

NAME STATE READ WRITE CKSUM
vol1 DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
c2t0d0 ONLINE 0 0 0
c2t1d0 ONLINE 0 0 0
c2t2d0 OFFLINE 0 0 0

errors: No known data errors

当然Degradedになる。そしてディスクを外す前にもうひと手間。

# cfgadm -c unconfigure sata0/2 Unconfigure the device at: /devices/pci@0,0/pci1458,b005@1f,2:2 This operation will suspend activity on the SATA device Continue (yes/no)? y # cfgadm -la | grep sata sata0/0::dsk/c2t0d0 disk connected configured ok sata0/1::dsk/c2t1d0 disk connected configured ok sata0/2 disk connected unconfigured ok sata0/3 sata-port empty unconfigured ok sata0/4 sata-port empty unconfigured ok sata0/5 sata-port empty unconfigured ok

これで実際にディスクを取り外すと

sata0/2 sata-port empty unconfigured ok

見えなくなる。
このプールをiscsi でマウントしたVMware ESXiのデータストア上に置いた仮想マシンの動作を見ていたが特に問題なし。

やっとFreeNASの移行に入れる。

2010年12月29日

NexentaStor あらため OpenIndiana その1

前回使えないと判断したNexentaStorだが
nmcコンソールからbashに入れば、debianおなじみapt-getで各種パッケージが使えるだった。
ということで、GA-G33-DS2R にIDE-CF変換を付けてCFにインストールして無事成功!
しかし、初回起動時に何かを初めて永遠に使えないのでしたorz

仕方ないのでOpenSolaris2009.06を同じくCFにインストールしたらあっさり成功。
ルートファイルシステムのミラーもできたっぽかった。

で、OpenSolarisはOracleとのゴタゴタで消え逝く運命なので、後継プロジェクトであるOpenIndianaで
12/17にリリースされた build 148 のテキストインストーラーで入れてみた(development releaseだけど)。

Writeが遅いので多少時間はかかったが無事終了。Solarisの作法がロクに分からないので偉大な先人の
ブログなど参考に、まずはシステム領域(rpool)のミラー化。
(CF-IDE変換はCF2枚挿し)

# format Searching for disks... Failed to inquiry this logical diskdone


AVAILABLE DISK SELECTIONS:
0. c1d0 <・・xH・・・・00"・・cyl 1904 alt 2 hd 128 sec 32>
/pci@0,0/pci8086,2948@1c,4/pci-ide@0/ide@0/cmdk@0,0
1. c1d1 < cyl 1904 alt 2 hd 128 sec 32>
/pci@0,0/pci8086,2948@1c,4/pci-ide@0/ide@0/cmdk@1,0

よくわからないが文字化けしているけど無視。c1d1がslaveのCFらしい。
1. を選択して fdisk コマンドから全領域をSolaris2パーティションにした上で、formatを一度終了。

format -e c1d1

この後、labelコマンドからSMIを指定(初期状態でSMIだった)。SMIでないとブートできないらしい。
(EFIでのブートの仕方もどこかで見たが面倒そうなので)

そしてrpool1(プール名はrpoolじゃなかった)をミラー化する。

# zpool attach -f rpool c1d0s0 c1d1s0

c1d1からブートできるようにgrubインストール

installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1d1s0

zpool attach から時間がたてば同期は完了してる。


# zpool status
pool: rpool1
state: ONLINE
scan: resilvered 2.43G in 0h58m with 0 errors on Wed Dec 29 01:35:07 2010
config:

NAME STATE READ WRITE CKSUM
rpool1 ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c1d0s0 ONLINE 0 0 0
c1d1s0 ONLINE 0 0 0

で、ここまでやってまだ片肺での起動テストはやってない。
以下次号。。。

2010年12月 8日

NexentaStor その2

前回Atomマザーで失敗したので、Intel DG45FCにて再チャレンジ。ICH10Rである。が

・USBメモリへのインストールはまたも失敗(永遠に99%)
・SATA HDDへのインストール成功。でもディスクのhot add, hot swapダメ。
hot plugはできるが、挿しなおしてもやっぱり認識しない。

ここまでやって気づいたが、ウチのESXiはディスクレスのpxe boot、DHCPとTFTPサーバはNASがやってる。
NexentaStor じゃムリだったorz


ということでOpenSolarisか別のディストリビューションで再検証しないと。。。

2010年12月 1日

NexentaStor その1

自宅サーバは現在VMware ESXi 4.0 + iSCSI Serverにて仮想化してる。
iSCSI TargetはFreeNASを使ってとりあえず安定しているのだけど
・ディスクをHot Plugできない
・負荷を掛けると不安定になるのが怖い
・そろそろ飽きた(これがメイン
ということで入れ替えを考え中。

で、安く手に入れて使ってないGA-D510UDに、OpenSolarisベースのNASアプライアンスであるところのNexentaStor CE 3.0.4を入れてみた。
が、ケチってAtomにしたのが運の尽きだろうか...
・IDE-CF変換でCFにインストールしようとして、CFの容量不足で失敗(2GB以上必要)
・4GBのCFでリトライしたが結局インストールが終わらない(Writeが遅かっただけかもしれない)
・USBメモリへのインストールに失敗
 (成功したのかもしれないが、GigabyteはUSBブートできないことがよくある)

で、とりあえずIDEに余ってた3.5inch HDDをつないでやっとインストール成功、そしてブートした。
GA-D510UDはBIOS側でSATAを全てAHCIモードにしていたが、HDD(これもCF変換)の認識はOK。
しかし、Hot swapは駄目だった。。。電源ON時にSATAを挿し直すと認識しない。
Web GUI上では "Removable: No"の表示orz

次はOpenSolaris: Hardware Compatibility ListにもあるICH10でやってみるつもり

このアーカイブについて

このページには、2010年12月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2010年11月です。

次のアーカイブは2011年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。