技術ブログ
目次
Oracle ACE Proの渡部です。 弊社コーソルはSIOS LifeKeeperの SI&Supportパートナーで、SIOS LifeKeeperの販売および導入が可能です。
SIOS LifeKeeperを用いると、OracleをActive-Stanby型のHA構成として、可用性を高めることができます。
ワークグループ環境(非ドメイン環境、Active Directoryを使用しない環境)で、WindowsをHA構成にする場合、 Windowsユーザーの表示が妙なものになったり、NTFS上のファイルへのアクセスが意図せず失敗したりする場合があります。 これは、Windowsにおける内部のユーザー識別子であるSID(セキュリティ識別子 / Security Identifier)の仕様に起因するものです。
共有ディスクに配置したファイル(およびフォルダ)を右クリック→「プロパティ」→「セキュリティ」→「グループ名またはユーザー名」におけるグループ名およびユーザー名一覧で、グループ名やユーザー名が表示されず、"S-1-5-21-3710263194-772320819-919734316-500"のような数字列が表示される。この数字列は、Windowsにおける内部のユーザー識別子であるSID(セキュリティ識別子 / Security Identifier)です。
この現象が発生する理由は、現象が発生したノードにおいて、そのSIDに対応するユーザーが存在しないためです。
Windowsでは、ユーザー(およびグループ)が同じ名前であっても、ノードごとに異なるSIDが割り当てられます。例えば、弊社内の検証環境において、各ノードで確認したAdministratorのSIDは以下です。
ノード名 SID
--------------- ----------------------------------------------
w22lk8a0jf11 S-1-5-21-3710263194-772320819-919734316-500
w22lk8a0jf12 S-1-5-21-2328217415-892464308-2100574017-500
同じAdministratorという名前を持つユーザーであっても、ノードごとに異なるSIDが割り当てられるため、HA環境において、以下のような操作を行うと、ノード2において、そのSIDに対応するユーザーが存在しない状況が発生します。
なお、各ノードのアクセス権 表示は以下です。
HA構成のノード1とノード2で、同じ名前のユーザーおよびグループを作成した場合で、ファイルおよびフォルダについて、ノード1からはアクセスOK、ノード2からはアクセスNGという状況が発生する。
Windowsでは、ユーザー名やグループ名ではなく、SIDを元にNTFSアクセス制御が機能します。また、すでに説明した通り、ユーザー(およびグループ)が同じ名前であっても、ノードごとに異なるSIDが割り当てられます。
このため、HA構成の両ノードで同じユーザー、同じグループ名を使っていて、あるノードでそれらのユーザーやグループにアクセス制御を付与していても、別のノードからはアクセスができない状況が発生します。
たとえば以下のような操作を行うと、ノード2でファイル(およびフォルダ)にアクセスできない状況が発生します。
なお、上記のuser1ユーザー(およびgrp1グループ)に代えて、Administratorユーザーで同じ操作を行うと、両ノードがアクセスOKとなります。
なぜなら、AdministratorsグループのSIDは、ノード共通で固定であるためです(具体的には"S-1-5-32-544")。
Windowsでは、いくつかの事前定義済みユーザーおよびグループに対しては、固定のSIDが割り当てられることになっています。
AdministratorsグループのSIDは、どのノードにおいても"S-1-5-32-544"であるため、「SIDの違いによってアクセス許可の振る舞いが異なる状況」が生まれなかったというわけです。
上記の点から、Windows ワークグループ環境でHA構成を使用する場合、弊社ではできる限り、「固定のSIDが割り当てられる事前定義済みユーザーおよびグループでアクセス許可を構成する」ようにしています。
上記の問題は、ユーザー(およびグループ)が同じ名前であっても、ノードごとに異なるSIDが割り当てられることに起因するものです。この動作は、Windows ワークグループ環境でローカルユーザーおよびローカルグループを使用する状況で発生するもので、ドメイン環境(Active Directory環境)でドメインユーザーおよびドメイングループを使用する状況では発生しません。
したがって、もし、ドメインユーザーおよびドメイングループを使用できるのであれば、これらを使用することをお勧めします。
LifeKeeperのマニュアルでも、これを推奨しています。
LifeKeeper for Windows を実行するすべてのサーバーで、ローカル管理者権限を持つドメインアカウントの使用を推奨します。
コーソルは、サイオステクノロジー株式会社 様のパートナー企業であり、 Oracle DatabaseおよびLifeKeeper/DataKeeperの技術力に自信を持っています。LifeKeeper/DataKeeperを用いたOracle HA構成の導入実績も多数ございます。 LifeKeeper/DataKeeperを用いたOracle HA構成をご検討されている場合、ぜひコーソルへご相談いただければとと思います。
OracleのHA構成に当たっては、OracleおよびHA製品の両方の知識が必要です。このような知識を持つエンジニアの確保は一般に困難です。このような場合、弊社時間制コンサルサービスを用いた各種技術支援が役に立ちます。
弊社時間制コンサルサービスの特徴は以下の通りです。
サイオステクノロジー株式会社 様より、STI Partner Award 2021において、「 2021年度 Best Alliance Partner 」として表彰されています。
この賞はサイオステクノロジー製品の販売・導入やプロモーションに貢献し、取引拡大したビジネスパートナーに対して贈られるものです。
LifeKeeperのサイオステクノロジー様よりBest Alliance Partnerに表彰!
コーソルからオラクル製品および関連製品をご購入いただけると、ORACLE MASTER Platinum 単年取得者数7年連続No.1、2016年6月以降 累計保持者数No.1という指標に裏付けされた高いOracle Databaseの技術力により、安心して製品を導入いただけます。また、導入後も製品サポートをご提供いたします。
ORACLE MASTER Platinumとは、2日間にわたる実技試験により認定されるOracle Database最高難度の資格です。 グローバルで有効な資格であり、海外では"Oracle Certified Master"と呼ばれます。
ORACLE MASTER Platinumとは何か / コーソルはPlatinum取得者数No.1!
Oracle Databaseについても製品販売、製品サポート、製品の導入を行います。また、リモート回線経由でスポット的なDBA実務を行うリモートDBAサービス、コンサルティングやベンダコントロールを含めたOracle Databaseプロフェッショナルサービスを時間制で提供する時間制コンサルサービスも提供しています。
リモートDBAサービス
基幹系DB運用支援および製品サポートについては、3拠点体制による24時間365日対応が可能です。
コーソルはオラクル製品および関連製品を取り扱っています。
これらのオラクル製品および関連製品について、販売・導入・運用を様々な形でご支援します。お困りの際はぜひ弊社にお声がけくださいませ。