基本的な Solaris 11.2 システムがインストールされると、次の 3 つの状況で、Solaris Cluster および ACSLS HA に固有の構成要件が必要となります。
/etc/hosts
を構成する。
root
ユーザーのアクセス権限を構成する。
マルチパスインターネットアクセス用のネットワークインタフェースを構成する。
マルチパスディスク I/O を構成する。
各ノードの /etc/hosts
ファイルには、ローカルホスト、2 つのクラスタノード名とそれらの IP アドレス、および論理ホストのエントリが含まれています。
127.0.0.1 localhost loghost 129.99.99.101 thisNode.domain.com thisNode 129.99.99.102 sisterNode 129.99.99.100 logicalHost.domain.com logicalHost
root
のアクセス構成Solaris Cluster のモニタリングおよびフェイルオーバー操作は、どちらか一方のノードからクラスタ全体を制御する必要がある root
ユーザーによって処理されます。root
ユーザーを信頼できるユーザーとして確立して、セキュアシェル (ssh
) 認証を使用したノード間のプライベートネットワークアクセスを提供します。
外部システムから各ノードへの直接 root アクセスを有効にします。/etc/user_attr
ファイルを編集して、root
のロールが指定された行をコメントアウト (または削除) します。
# root::::type=role
システムコンソール以外のポイントからのシステムへのログインを root
に許可します。
/etc/default/login
ファイルを編集して、コンソールのみのアクセスが指定された行をコメントアウトします。
# CONSOLE=/dev/console
セキュアシェルを使用したログインアクセスを root
に許可します。
/etc/ssh/sshd_config
ファイルを編集して、PermitRootLogin
に「yes」を指定します。
PermitRootLogin=yes
隣接するノード上で手順 1 から 3 を繰り返します。
信頼できるユーザーとして root
を確立します。これにより、パスワードを必要とせずに認証が確立される姉妹ノードから各ノードへのログインプロトコルが root に設定されます。
RSA 公開鍵と非公開鍵のペアを作成します。パスワードなしでのノードからノードへのログインを許可するには、パスフレーズを入力しないでください。
# cd /root/.ssh # ssh-keygen -t rsa Enter file in which to save the key (//.ssh/id_rsa): ./id_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in ./id_rsa. Your public key has been saved in ./id_rsa.pub. The key fingerprint is: 1a:1b:1c:1d:1e:1f:2a:2b:2c:2d:2e:2f:ea:3b:3c:3d root@node1
これにより、/root/.ssh
ディレクトリに id_rsa
と id_rsa.pub
の 2 つのファイルが作成されます。
id_rsa.pub
を姉妹ノード上の /root/.ssh
ディレクトリにコピーします。
# cat id_rsa.pub | ssh root@node2 \ 'cat >> /root/.ssh/authorized_keys' Password:
認証鍵が適切な場所に配置された状態で、リモートからパスワードなしでコマンドを発行できることをテストします。
# hostname node1 # ssh root@node2 hostname node2
冗長性は、高可用性コンピューティング全体のスキームです。冗長性はサーバーだけでなく、各サーバー上の各通信インタフェースにも適用されます。パブリックインタフェースの場合は、Internet Protocol Multi Pathing (IPMP) を Solaris 上での使用になります。Internet Protocol Multi Pathing は、一般的なシステムフェイルオーバーを必要とすることなく、失敗したネットワーク通信のための即時 NIC 回復を提供します。ライブラリインタフェースの場合は、2 つの独立したルート間で、2 つのネットワークインタフェースを使用したデュアル TCP/IP 接続を使用することを意味します。1 つのルートのいずれかの要素に障害が発生した場合、ACSLS は代替インタフェース経由で通信を続行します。
次の場合は、ACSLS HA に冗長ネットワーク接続が必要となります。
パブリックなクライアント通信
ライブラリ間の通信
プライベートなノードクラスタ内通信
図2-1 各サーバーノード上の 2 つの Ethernet ポートに接続されている単一の HBCr ライブラリインタフェースカード
このセクションの図には、サーバーごとに別々の 2 つのコントローラを使用してアクセスできる 8 つの Ethernet ポートが示されています。6 つのポートを使用して、3 つの冗長接続を提供しています。この構成では、2 つのポートが使用されていません。複雑に見えますが、各サーバーから次の 3 つのデュアルパス Ethernet 接続があるだけです。
サーバーとライブラリ間の通信
プライベートネットワーク経由のサーバー間のハートビート交換
パブリックネットワーク経由のサーバーとクライアント間の通信
冗長電子装置を備えたライブラリには、各サーバーノードから各 HBCr ライブラリコントローラへの独立したパスが 2 つあります。1 つの HBCr インタフェース上で両方のポートへの通信に障害が発生した場合は、ACSLS HA によって代替 HBCr カードに自動的に切り替えられます。この動作はすべて、代替サーバーノードへのフェイルオーバーを必要とせずに実現されます。
Solaris IPMP では、NIC、ケーブル、スイッチなどのネットワークハードウェアを障害から保護するための冗長ネットワークインタフェースを構築するメカニズムが提供されています。Solaris ホスト上に IPMP を構成するときに、2 つ以上の物理ネットワークインタフェースを単一の IPMP グループに組み合わせます。
ネットワークインタフェース名と物理デバイスとのマッピングを表示するには、dladm show-phys
コマンドを使用します。
例:
# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net2 Ethernet up 100 full ixgbe1 net3 Ethernet up 10000 full ixgbe3 net0 Ethernet up 10000 full ixgbe2 net1 Ethernet up 1000 full ixgbe0
構成されているネットワークインタフェースの状態を表示するには、ipadm
を使用します。
例:
# ipadm NAME CLASS/TYPE STATE UNDER ADDR lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net1 ip ok -- -- net1/v4 static ok -- 129.99.99.99/24 net1/v6 addrconf ok -- fe99::999:999:ff23:ee02/10 net4 ip ok -- -- net4/v4 static ok -- 129.999.99.99/24
2 つのインタフェースが構成され、ACSLS HA の共通グループ ID に割り当てられている必要があります。 これらのインタフェースの中には、サーバーのプライマリインタフェースが含まれている可能性があります。この場合、すでに ip
アドレスが (グループではなく) インタフェースに割り当てられているため、このインタフェースの構成を解除してから、ipmp
グループで再構成する必要があります。
この操作中はネットワーク通信が中断されるため、サーバーコンソールから次の手順を実行する必要があります。
既存のプライマリインタフェースの構成を解除するには:
ipadm delete-addr <primary interface>
例:
# ipadm delete-addr net0/v4
ipadm delete-ip <primary interface>
例:
# ipadm delete-ip net0
プライマリインタフェースを再構成するには:
ipadm create-ip <primary interface>
例:
# ipadm create-ip net0
2 つ目のプライマリインタフェースを作成するには:
ipadm create-ip <primary_interface>
例:
# ipadm create-ip net5
ipmp
グループを作成するには:
ipadm create-ipmp <group_name>
例:
# ipadm create-ipmp ipmp0
注記:
グループ名は英数字である必要があります。グループにホストの ip-address
を割り当てるには:
ipadm create-addr -T static -a <ip-address> <group_name>
例:
# ipadm create-addr -T static -a 129.99.99.9 ipmp0
グループにプライマリインタフェースを追加するには:
ipadm add-ipmp -i <primary_interface> <group_name>
例:
# ipadm add-ipmp -i net0 ipmp0
グループに 2 つ目のインタフェースを追加するには:
ipadm add-ipmp -i <second_primary_interface> <group_name>
例:
# ipadm add-ipmp -i net5 ipmp0
ipmp
を使用して ipmp
構成を確認します。
# ipadm NAME CLASS/TYPE STATE UNDER ADDR ipmp0 ipmp ok -- -- ipmp0/v4 static ok -- 123.45.67.89/8 lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net0 ip ok ipmp0 -- net5 ip ok ipmp0 --
ipmp0 グループに 2 つのネットワークインタフェースが構成されたことを確認します。ipmp0 グループにバージョン 4 の IP アドレスが割り当てられたことを確認します。
これらの変更を確定し、新しい構成でネットワーク通信を確立するために、システムのリブートが必要な場合があります。
姉妹ノード上でネットワークの構成を繰り返します。
start_acslsha.sh
を使用してクラスタを起動すると、ipmp
グループとクラスタのパブリック IP アドレスとのマッピングが確立されます。ACSLS クラスタの操作を参照してください。
残りの 2 つのネットワークインタフェースは、ライブラリの構成時に必要となります。この例では、net1 と net6 が使用されます。クラスタ化されたサーバーとライブラリ間のルーターが単一障害点とならないように、これらの 2 つの接続は別々のサブネット経由でルーティングされています (図2-1 と図2-2 を参照)。
各ノード上で 2 つのネットワークインタフェースを作成します。
# ipadm create-ip net1 # ipadm create-ip net6
インタフェースごとに ip-address
を割り当てます。
# ipadm create-addr -T static -a <ip-address> net1/v4 # ipadm create-addr -T static -a <ip-address> net6/v4
通常、アドレスオブジェクトには、インタフェースとプロトコルバージョンを使用した名前が付けられます (例: net1/v4
)。
ipmp
の構成を確認します。
# ipadm NAME CLASS/TYPE STATE UNDER ADDR ipmp0 ipmp ok -- -- ipmp0/v4 static ok -- 123.45.67.89/8 lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net0 ip ok ipmp0 -- net1 ip ok -- -- net1/v4 static ok -- 192.168.0.1/8 net5 ip ok ipmp0 -- net6 ip ok -- -- net6/v4 ip ok -- 192.168.1.1/8
これらの設定を有効にするために、各ノードをリブートします。
外部の共有ディスクアレイは、2 台のホスト (それぞれ、サーバーとディスクアレイ間で冗長ファイバ接続または SAS 接続を使用) に接続します。
アレイは、接続されているホストに 2 つの仮想ドライブが表示されるように設定されています。
ディスクデバイスへのパスが複数あることが検出されると、Solaris 11.2 によって自動的にマルチパス (MPXIO) が設定されます。Solaris システムに、アレイ内の各仮想ディスクへの冗長接続が適切に構成されていることを確認します。
# mpathadm list lu /dev/rdsk/c0t600A0B800049EE1A0000840552D3E2F9d0s Total Path Count: 2 Operational Path Count: 2 /dev/rdsk/c0t600A0B800049EDD600000DAD52D3DA90d0s2 Total Path Count: 2 Operational Path Count: 2
mpathadm
の出力には、2 つのディスクデバイス (動作可能なパス数は 2 つずつ) が表示されます。
SPARC システムで ACSLS HA を実行している場合、MPXIO が構成されるまで mpathadm
には何も表示されません。何も表示されないか、適切でない構成が表示される場合は、この時点で Solaris 11.2 システム上で stmsboot -e
を使用して、MPXIO を構成する手順に進みます。Oracle Technology Network ライブラリで『Oracle Solaris の管理: SAN 構成およびマルチパス化』ドキュメント (http://docs.oracle.com/cd/E26924_01/html/E26295
) を参照してください。
Solaris I/O マルチパス対応デバイスは、それらが Solaris I/O マルチパスの制御下にあることを示す新しい名前を受け取ることに留意してください。デバイスには、元の名前とは異なる名前が付けられます。
Original device name: c1t0d0 Name After stmds boot: c0t600A0B800049EDD600000C9952CAA03Ed0