Oracle ZFS Storage Appliance の概要
Oracle ZFS Storage Appliance の構成
BUI を使用した LACP 集計リンクインタフェースの作成
プローブベースのリンク状態障害検出を使用した IPMP グループの作成
リンク状態のみの障害検出を使用した IPMP グループの作成
BUI を使用した InfiniBand パーティションのデータリンクとインタフェースの作成
BUI を使用したクラスタ化されたコントローラでの VLAN ID なしの VNIC の作成
BUI を使用したクラスタ化されたコントローラでの同じ VLAN ID の VNIC の作成
CLI を使用したマルチホーミングプロパティーの「厳しい」への変更
BUI を使用した LUN と FC イニシエータグループの関連付け
CLI を使用した LUN と FC イニシエーターグループの関連付け
CLI を使用した自動生成の IQN を持つ iSCSI ターゲットの追加
CLI を使用した RADIUS 認証を使用する特定の IQN を持つ iSCSI ターゲットの追加
CLI を使用した CHAP 認証を使用する iSCSI イニシエータの追加
BUI を使用した、ダッシュボードの表示のみが可能なユーザーの追加
Oracle ZFS Storage Appliance の設定
次のスクリプト例を変更する方法および使用する方法については、CLI の使用法および単純な CLI スクリプトとコマンドのバッチ処理を参照してください。
script /* * This script creates both aliases for initiators and initiator * groups, as specified by the below data structure. In this * particular example, there are five initiator groups, each of * which is associated with a single host (thicktail, longjaw, etc.), * and each initiator group consists of two initiators, each of which * is associated with one of the two ports on the FC HBA. (Note that * there is nothing in the code that uses this data structure that * assumes the number of initiators per group.) */ groups = { thicktail: { 'thicktail-1': 'wwn.2100001b3281ac39', 'thicktail-2': 'wwn.2101001b32a1ac39' }, longjaw: { 'longjaw-1': 'wwn.2100001b3281a339', 'longjaw-2': 'wwn.2101001b32a1a339' }, tecopa: { 'tecopa-1': 'wwn.2100001b3281e339', 'tecopa-2': 'wwn.2101001b32a1e339' }, spinedace: { 'spinedace-1': 'wwn.2100001b3281df39', 'spinedace-2': 'wwn.2101001b32a1df39' }, fera: { 'fera-1': 'wwn.2100001b32817939', 'fera-2': 'wwn.2101001b32a17939' } }; for (group in groups) { initiators = []; for (initiator in groups[group]) { printf('Adding %s for %s ... ', groups[group][initiator], initiator); try { run('select alias=' + initiator); printf('(already exists)\n'); run('cd ..'); } catch (err) { if (err.code != EAKSH_ENTITY_BADSELECT) throw err; run('create'); set('alias', initiator); set('initiator', groups[group][initiator]); run('commit'); printf('done\n'); } run('select alias=' + initiator); initiators.push(get('initiator')); run('cd ..'); } printf('Creating group for %s ... ', group); run('groups'); try { run('select name=' + group); printf('(already exists)\n'); run('cd ..'); } catch (err) { if (err.code != EAKSH_ENTITY_BADSELECT) throw err; run('create'); set('name', group); run('set initiators=' + initiators); run('commit'); printf('done\n'); } run('cd ..'); }