2015年9月4日金曜日

Solaris11のZone Of Shared Storage(ZOSS)がやべぇー

COMSTARが便利すぎる


飲みすぎで、体調不良が続き、ミネラル不足からくる全身のツリ、夕方襲ってくるアル中ハイマー病、そんな夏も終わり、涼しくなってきた今日この頃。
皆さん健康には気をつけてください。

ZOSSってZone Of Shared Storageっていうのですが、読んでそのまま、共有ストレージ上でZoneを動かす技術、今回はiSCSIを利用してやってみました。

構成

こんな感じ

iSCSIのtargetを作成

まずTargetを作成する

必要なパッケージをインストール

iichiko ~ # pkg install group/feature/storage-server
iichiko ~ # pkg install system/storage/iscsi/iscsi-target

zfsから切り出し

iichiko ~ # zfs create -V 30G rpool/export/zonevol1

論理ユニット作成

iichiko ~ # stmfadm create-lu /dev/zvol/rdsk/rpool/export/zonevol1
Logical unit created: 600144F0FA864600000055DE92840001
※確認
iichiko ~ # stmfadm list-lu
LU Name: 600144F0FA864600000055DE92840001
iichiko ~ # stmfadm list-lu -v
LU Name: 600144F0FA864600000055DE92840001
    Operational Status     : Online
    Provider Name          : sbd
    Alias                  : /dev/zvol/rdsk/rpool/export/zonevol1
    View Entry Count       : 0
    Data File              : /dev/zvol/rdsk/rpool/export/zonevol1
    Meta File              : not set
    Size                   : 10737418240
    Block Size             : 512
    Management URL         : not set
    Vendor ID              : SUN
    Product ID             : COMSTAR
    Serial Num             : not set
    Write Protect          : Disabled
    Write Cache Mode Select: Enabled
    Writeback Cache        : Enabled
    Access State           : Active

iSCSIイニシエータで利用可能にするためadd-viewする

これでイニシエータ側で見れるようになる
iichiko ~ # stmfadm add-view 600144F0FA864600000055DE625D0001

targetのサービスを起動

iichiko ~ # svcadm enable -r svc:/network/iscsi/target:default

Target作成

iichiko ~ # itadm create-target
Target iqn.1986-03.com.sun:02:07iichiko-20do-61dd-c43a-a68793659de1 successfully created
iichiko ~ # itadm list-target -v
TARGET NAME                                                  STATE    SESSIONS
iqn.1986-03.com.sun:02:07iichiko-20do-61dd-c43a-a68793659de1  online   0
        alias:                  -
        auth:                   none (defaults)
        targetchapuser:         -
        targetchapsecret:       unset
        tpg-tags:               default
これでターゲット側の設定が終了、ものすげぇー簡単

イニシエータ側の設定

つづいてイニシエータ側、Zoneを稼働させるホストを設定する

パッケージインストール

iichiko ~ # pkg install network/iscsi/initiator

initiatorサービス開始

iichiko ~ # svcadm enable iscsi/initiator

/dev/dsk配下の再構築

iichiko ~ # devfsadm -i iscsi

map情報の更新

どのURIがどのデバイスに張り付いているか確認する、ここの手順を実行しすると /dev/dsk下に論理ユニット番号のデバイスとして確認できる
iichiko ~ # suriadm map iscsi://192.168.11.100:3260/luname.naa.600144F0FA864600000055DE92840001
PROPERTY        VALUE
mapped-dev      /dev/dsk/c0t600144F0FA864600000055DE92840001d0

Zoneの作成

イニシエータ側でZoneをつくる、rootzpoolがZoneのブートプールとして、URIで指定する
dev-112 ~ # zonecfg -z shouchuu
Use 'create' to begin configuring a new zone.
zonecfg:shouchuu> create
create: Using system default template 'SYSdefault'
zonecfg:shouchuu> set zonepath=/shouchuu
zonecfg:shouchuu> add rootzpool
zonecfg:shouchuu:rootzpool> add storage iscsi://192.168.11.100:3260/luname.naa.600144F0FA864600000055DE92840001
zonecfg:shouchuu:rootzpool> end
zonecfg:shouchuu> commit
zonecfg:shouchuu> export
create -b
set zonepath=/shouchuu
set autoboot=false
set autoshutdown=shutdown
set ip-type=exclusive
add anet
set linkname=net0
set lower-link=auto
set configure-allowed-address=true
set link-protection=mac-nospoof
set mac-address=auto
end
add rootzpool
add storage iscsi://192.168.11.100:3260/luname.naa.600144F0FA864600000055DE92840001
end

Zoneインストール

あとはいつも通りインストール
dev-112 ~ # zoneadm -z shouchuu install

その他、いろいろ

zpoolで追加

複数のURIを指定して、束ねたりできる
zonecfg:shouchuu> add zpool
zonecfg:shouchuu:zpool> set name=data
zonecfg:shouchuu:zpool> add storage iscsi://192.168.11.100:3260/luname.naa.600144F0FA864600000055DE92850002
zonecfg:shouchuu:zpool> add storage iscsi://192.168.11.100:3260/luname.naa.600144F0FA864600000055DE92870003
zonecfg:shouchuu:zpool> end

detachとattach

detachとattachもいつも通り
dev-112 ~ # zoneadm -z shouchuu shutdown
※detach
dev-112 ~ # zoneadm -z shouchuu detach
Exported zone zpool: shouchuu_rpool
Unconfigured zone storage resource(s) from:
          iscsi://192.168.11.100:3260/luname.naa.600144F0FA864600000055DFEC6B0001

※rpoolの確認
dev-112 ~ # zpool status -v
  pool: rpool
 state: ONLINE
  scan: none requested
config:

        NAME      STATE     READ WRITE CKSUM
        rpool     ONLINE       0     0     0
          c2t0d0  ONLINE       0     0     0

errors: No known data errors

※attach
dev-112 ~ # zoneadm -z shouchuu attach
Configured zone storage resource(s) from:
        iscsi://192.168.11.100:3260/luname.naa.600144F0FA864600000055DFEC6B0001
Imported zone zpool: shouchuu_rpool
Progress being logged to /var/log/zones/zoneadm.20150828T055358Z.shouchuu.attach
    Installing: Using existing zone boot environment
      Zone BE root dataset: shouchuu_rpool/rpool/ROOT/solaris
                     Cache: Using /var/pkg/publisher.
  Updating non-global zone: Linking to image /.
処理中 リンクされたイメージ: 1/1 完了
  Updating non-global zone: Auditing packages.
このイメージは更新の必要はありません。 (zone:shouchuu)

  Updating non-global zone: Zone updated.
                    Result: Attach Succeeded.
Log saved in non-global zone as /export/zones/shouchuu/root/var/log/zones/zoneadm.20150828T055358Z.shouchuu.attach

※boot
dev-112 ~ # zoneadm -z shouchuu boot

global Zoneからみたpool

iscsi接続されたzpoolはこんな感じでみれる
dev-112 ~ # zpool status -v
  pool: iscsi_rpool
 state: ONLINE
  scan: none requested
config:

        NAME                                     STATE     READ WRITE CKSUM
        iscsi_rpool                              ONLINE       0     0     0
          c0t600144F0FA864600000055DFEC6B0001d0  ONLINE       0     0     0

errors: No known data errors

  pool: rpool
 state: ONLINE
  scan: none requested
config:

        NAME      STATE     READ WRITE CKSUM
        rpool     ONLINE       0     0     0
          c2t0d0  ONLINE       0     0     0

errors: No known data errors
かなりと言うか、ひどく簡単、別のイニシエータに移動するのも、Zoneの設定を配布しておいて「detach」と「attach」で簡単に移設できちゃう。
これやべぇーラ



0 件のコメント:

コメントを投稿