日本語のWindows環境でNetBackupのJREをアップデートしようとすると失敗する


Veritas NetBackupではGUIインタフェースにJavaを使用しており、インストールディレクトリにJREも含まれている。
NetBackup 7.7以降では、このJREをアップデートするためのコマンド nbcomponentupdate が用意され、JREのアップデートを個別で行うことができるようになった。
NetBackup 8.1.1 Command Reference Guide – nbcomponentupdate
Updating JRE for NetBackup and OpsCenter

しかし、日本語のWindows環境では2つの原因により素直に実行できない。

・空き容量チェックをdirのコマンドに表示される「XXX Byte free」という文字列で行っている。
日本語環境では「XXX バイトの空き容量」となるため、空き容量検出に失敗する
・nbcomponentupdate内でNetBackupサービスの停止を行っているが、やはり英語文字列を見ている。
日本語Locate Packを適用したNetBackupではコードページを変えても常に日本語文字列で出力するため
サービスの停止確認に失敗する

これを回避するためには、以下の手順で実行する必要がある。

1. コマンドプロンプトを開く

2. Javaのバージョンを確認する

C:\Windows\system32>"\Program Files\Veritas\NetBackup\jre\bin\java.exe" -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b11\3, mixed mode)

C:\Windows\system32>

3. bpdownを実行し、NetBackupを停止

C:\Windows\system32>"\Program Files\Veritas\NetBackup\bin\bpdown.exe" /f /v
NetBackup 8.0 -- 停止ユーティリティ

サービスの停止中
> NetBackup Bare Metal Restore Master Server
> NetBackup Bare Metal Restore Master Server -- 停止状態
> NetBackup Web Management Console
> NetBackup Web Management Console -- 停止状態
> NetBackup Indexing Manager
> NetBackup Indexing Manager -- 停止状態
> NetBackup Service Monitor
> NetBackup Service Monitor -- 停止状態
> NetBackup Agent Request Server
> NetBackup Agent Request Server -- 停止状態
> NetBackup Storage Lifecycle Manager
> NetBackup Storage Lifecycle Manager -- 停止状態
> NetBackup Key Management Service
> NetBackup Key Management Service -- 停止状態
> NetBackup Vault Manager
> NetBackup Vault Manager -- 停止状態
> NetBackup Service Layer
> NetBackup Service Layer -- 停止状態
> NetBackup Policy Execution Manager
> NetBackup Policy Execution Manager -- 停止状態
> NetBackup Job Manager
> NetBackup Job Manager -- 停止状態
> NetBackup Request Daemon
> NetBackup Request Daemon -- 停止状態
> NetBackup Compatibility Service
> NetBackup Compatibility Service -- 停止状態
> NetBackup Database Manager
> NetBackup Database Manager -- 停止状態
> NetBackup Audit Manager
> NetBackup Audit Manager -- 停止状態
> NetBackup Authorization
> NetBackup Authorization -- 無効状態
> NetBackup Authentication
> NetBackup Authentication -- 停止状態
> NetBackup CloudStore Service Container
> NetBackup CloudStore Service Container -- 停止状態
> NetBackup Deduplication Engine
> NetBackup Deduplication Engine -- 無効状態
> NetBackup Deduplication Manager
> NetBackup Deduplication Manager -- 無効状態
> NetBackup Remote Manager and Monitor Service
> NetBackup Remote Manager and Monitor Service -- 停止状態
> NetBackup Device Manager
> NetBackup Device Manager -- 停止状態
> NetBackup Volume Manager
> NetBackup Volume Manager -- 停止状態
> NetBackup Resource Broker
> NetBackup Resource Broker -- 停止状態
> NetBackup Enterprise Media Manager
> NetBackup Enterprise Media Manager -- 停止状態
> NetBackup Relational Database Manager
> NetBackup Relational Database Manager -- 停止状態
> NetBackup Event Manager
> NetBackup Event Manager -- 停止状態
> NetBackup Deduplication Multi-Threaded Agent
> NetBackup Deduplication Multi-Threaded Agent -- 停止状態
> NetBackup Discovery Framework
> NetBackup Discovery Framework -- 停止状態
> NetBackup SAN Client Fibre Transport Service
> NetBackup SAN Client Fibre Transport Service -- 無効状態
> NetBackup Client Service
> NetBackup Client Service -- 停止状態
> NetBackup Legacy Client Service
> NetBackup Legacy Client Service -- 停止状態
> NetBackup Legacy Network Service
> NetBackup Legacy Network Service -- 停止状態

ロボット制御デーモンの停止中

停止が正常に完了しました。
C:\Windows\system32>

4. コードページ 437(英語)に変更するため「chcp 437」を実行

C:\Windows\system32>chcp 437
Active code page: 437

C:\Windows\system32>

5. nbcomponentupdateコマンドでJREをアップデート

今回は、c:\Program Files\Java\jre1.8.0_171 にインストールされているJRE 1.8.0 Build 171を指定した。

C:\Windows\system32>"\Program Files\Veritas\NetBackup\bin\goodies\nbcomponentupdate.exe" -Product NetBackup -component jre -path "c:\Program Files\Java\jre1.8.0_171"
Command line: C:\Program Files\Veritas\NetBackup\bin\goodies\nbcomponentupdate.exe -Product NetBackup -component jre -path c:\Program Files\Java\jre1.8.0_171

Java Runtime Envrionment(JRE) version installed with product 'Veritas NetBackup'                                 : 1.8.0_101 (64bit)
Java Runtime Envrionment(JRE) version found at path 'c:\Program Files\Java\jre1.8.0_171'                         : 1.8.0_171 (64bit)

This utility will update the Java Runtime Envrionment(JRE) binaries present at 'C:\Program Files\Veritas\NetBackup\jre' path

This utility may start and stop all (or some) services depending upon the present state of services.

Do you want to continue (Y[es]/N[o]): y

Performing upgrade steps ...

[1/4] Pre-installation step is in progress
[1/4] Pre-installation step is completed successfully

[2/4] Installation step is in progress
[2/4] Installation step is completed successfully

[3/4] Post-installation step is in progress
[3/4] Post-installation step is completed successfully

[4/4] Commit and Cleanup step is in progress
[4/4] Commit and Cleanup step is completed successfully

After upgrading, Java Runtime Envrionment(JRE) version installed with product 'Veritas NetBackup'                                 : 1.8.0_171 (64bit)

Successfully upgraded Java Runtime Envrionment(JRE) for Veritas NetBackup.
The log file generated for this operation is C:\Users\ADMINI~1\AppData\Local\Temp\2\logs\nbcomponentupdate\nbcomponentupdate_20-06-2018_17.17.37.log

C:\Windows\system32>

なお、NetBackupサービスはバージョンによっては自動的に起動されたりするようだ。

自働起動しなかった場合は「bpup」を実行して起動する

6. Javaのバージョンを確認する

C:\Windows\system32>"\Program Files\Veritas\NetBackup\jre\bin\java.exe" -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

C:\Windows\system32>

7. 更新完了


2021/04/26追記

Oracle JRE 1.8.0u291にアップデートをかけてみたところ、NetBackup Web Management Consoleが起動できなくなるという問題が発生しました。

このため「nbcomponentupdate.exe -Product NetBackup -component jre -revert」を実行し、以前のバージョンに戻してみたところ正常に動作しました。

NetBackup 8.1.1のデフォルトは1.8.0 u151で、手持ちの古いバージョンのうちOracle JRE 1.8.0u172とOracle JRE 1.8.0u241はnbcomponentupdateでアップデートして動作しました。

AZULのZulu Open JRE 1.8.0 はデフォルトインストール先が C:\Program Files\Zulu\zulu-8-jre\ で、バージョンが入ってないからダメだそうで・・・

AdoptOpen JDK 1.8.0 のデフォルトインストール先は C:\Program Files\AdoptOpenJDK\jre-8.0.292.10-hotspot\ で、こちらもやはり使用できませんでした。

ちなみにインストール先を「C:\Program Files\Zulu\jre1.8.0_292」とか「C:\Program Files\Java\jre1.8.0_292」に変更してみましたが同じエラー

java -versionの結果を比較すると「java version」ではなく「openjdk version」に切り替わっているので失敗していた模様

というわけで、NetBackup 8.1.1/8.1.2などではOracle以外のJavaに切り替えることはできない模様です。

BackupExec / NetBackupでWinPEを使った起動ディスクで仮想マシンをリカバリするとNIC設定が消える場合がある


BackupExec 20.1を使ってHyper-V上のWindows Serverのバックアップを行った。
最初、Hyper-V経由で仮想マシンとしてのバックアップにしようと考えていたのだが、BackupExecでは特定のドライブのバックアップを取らないという設定が出来ず、必ず全ドライブをバックアップする必要があることが分かった。
このため、対象サーバにBackupExec Agentをインストールして、エージェント経由でのバックアップを取ることにした。

で、Windows ADKを使用したSDR起動ディスクを作って、フルリストアのテストを行ったところ問題発生。
NICが2つついている場合、片側につけたIPアドレス設定がリカバリされない。

いろいろ条件をかえて試してみたけど、必ず発生している。

どうやら仕様らしい。

Veritasのサイト上だとNetBackup / vSphere環境での話として、「After restore a Windows Virtual Machine to original or alternate location, Virtual NIC settings may be changed or lost.」というのが掲載されている。

回避方法はなく、手動で再設定しろ、だそうな

UEFIブートのサーバでWindows Server 2016のインストール用USBメモリが起動しない


hpeのProLiantサーバにWindows Server 2016をインストールする場合、通常はIntelligent Provisioning を使う。

しかし、Administratorパスワードが不明な場合、Windows Server 2016の標準ISOイメージのレスキューモードで起動することになるのだが、Smart Array B140i用のドライバが含まれていないため、内蔵ディスクが見えない。

対処するためにはISOイメージ内のsources\boot.wim にDSIMコマンドを使ってAdd-driverすることになる。

手順は「Windows インストールメディアにドライバーを追加する」にあるものをほぼそのまま使い、下記の様に実施した。

カスタマイズしたWindows Server 2016ISOイメージの作り方

1. 作業用Windows10を用意
2. Windows ADK 1709の「Deployment Tools」と「Windows Preinstallation Environment (Windows PE)」をインストール
3. メニューの登録されている「展開およびイメージング ツール環境」を選択してコマンドプロンプトを起動
4. 「copype amd64 c:\work\pe_x64」(今回、C:\work を作業用ディレクトリとした)でWindows PE環境を展開
5. C:\work\iso にWindows Server 2016 ISOの中身をコピー
6. マウント用ディレクトリ c:\work\offline を作成
7. 「dism /get-imageInfo /imagefile:”C:\work\iso\sources\boot.wim”」でインデックス番号を確認
 インデックス1とインデックス2があることを確認
 レスキューの際にどちらを使うかわからないので、とりあえず両方使う

8. まずインデックス1をc:\work\offlineにマウント
「dism /mount-image /imagefile:”C:\work\iso\sources\boot.wim” /index:1 /mountdir:”C:\work\offline”」

9. smart array b140i用のドライバをc:\work\hpedriver に展開

10. ドライバを追加。複数ある場合も考慮して、/recurseオプション付きで実行
「dism /add-driver /image:”c:\work\offline” /driver:”c:\work\hpedriver” /recurse」

11. ドライバが追加されたことを確認
「dism /get-drivers /image:”c:\work\offline”」

12. アンマウントする
「dism /unmount-image /mountdir:”c:\work\offline” /commit」

13. 今度はインデックス2に対して実行
「dism /mount-image /imagefile:”C:\work\iso\sources\boot.wim” /index:2 /mountdir:”C:\work\offline”」

14. ドライバを追加。複数ある場合も考慮して、/recurseオプション付きで実行
「dism /add-driver /image:”c:\work\offline” /driver:”c:\work\hpedriver” /recurse」

15. ドライバが追加されたことを確認
「dism /get-drivers /image:”c:\work\offline”」

16. アンマウントする
「dism /unmount-image /mountdir:”c:\work\offline” /commit」

17. oscdimgコマンドを実行してISOイメージの作成
「oscdimg -m -o -u2 -udfver102 -bootdata:2#p0,e,bc:\work\PE_x64\fwfiles\etfsboot.com#pEF,e,bc:\work\PE_x64\fwfiles\efisys.bin c:\work\iso c:\work\win2016-new.iso」

これで、作成したISOイメージをFAT32でフォーマットしたUSBメモリにコピーしようとしたところ、install.wimのコピーで失敗した。

原因はinstall.wimのサイズがFAT32制限である4GB以上の約6GBであるためです。

NTFSもしくはexFATでフォーマットしなおしたところ、コピーはできたものの、サーバ側で起動ディスクとして認識せず、起動できなかった。

確認したところ、 UEFIの場合、ファイルシステムがFAT32であること、という前提があった。 この制限については、マイクロソフトの「起動可能な USB フラッシュ ドライブを作成します。」に記載がされている。

サーバー プラットフォームが Unified Extensible Firmware Interface (UEFI) をサポートする場合は、NTFS ではなく FAT32 として、USB フラッシュ ドライブをフォーマットする必要があります。 フォーマットするパーティションを FAT32 として、次のように入力します。 format fs=fat32 quick、し、[入力] をクリックします。

ブート可能な USB フラッシュ ドライブの作成

この記事を書くきっかけとなった件ではiLO Advancedライセンスがあったため、isoイメージをiLOからマウントすることで、DVDを作成する必要はなく対応することができた。

しかし、USBメモリを使ってWindows Server 2016のインストールを行う手法があるかどうか
つまりは4GBを超えてしまったinstall.wimをダイエットすることができるのか、分割することはできるのか、という点は不明なままであった・・・


2018/03/13追記

Microsoftの公式記述を発見した。

手法1「WinPE: Store or split images to deploy Windows using a single USB drive
 USBメモリにパーテーションを2つ作り、FAT32のメイン領域と、NTFSのinstall.wimのみをおく領域を作る、というもの

手法2「Split a Windows image file (.wim) to span across multiple DVDs
Dism /Split-Imageコマンドを使ってinstall.wimをinstall.swmに分割するというもの

Dism /Split-Image /ImageFile:C:\work\iso\sources\install.wim /SWMFile:C:\work\iso\sources\install.swm /FileSize:4000

(上記ページだと4700となっているけど、4GB超えてて大丈夫なの?と心配なので余裕をもって)

2020/12/21 追記

これを再度hpe dl360 gen10環境で実施する必要があったので確認した。

(1) FAT32フォーマットのUSBドライブ(Eドライブにマウント)にISOの中身(Dドライブにマウント)を全部コピーするも install.wim のみエラー
(2) コマンドプロンプト開いて「 dism /split-image /imagefile:d:\sources\install.wim /swmfile:e:\sources\install.swm /filesize:4000」を実行
(3) e:\sources\ にinstall.swm とinstall2.swm ができていることを確認
(4) できたUSBメモリで起動

Samba 4.7.xでActive Directoryを1から立てる


2019/06/14追記

Samba 4.10.xでActive Directoryを1から立てる」という記事を更新版の記事を作成しています。違いは必要となるパッケージが増えたことについてです。


CentOS7とSamba 4.7.5で環境を作成しなおしたので、記事更新

過去の記事はこちら
2014年2月版「Samba 4.xでActive Directoryを1から立てる
2016年7月版「Samba 4.4.xでActive Directoryを1から立てる


Linux上でSambaを使ってActive Directoryサーバを立てるメリット
Windows Serverを買わなくてもActive Directoryを作れる
 ライセンス費用の低減
Active Directoryユーザの作成などのユーザ管理をWindowsマシンからWindows標準ツールで行える
 ユーザ作成/変更、コンピュータアカウントの作成、DNS管理など、Active Directoryの管理を行う際に
 良く使う動作については、Linuxのコマンドではなく、WindowsのActive Directory管理ツールで行える
 具体的にはADに参加しているWindowsマシンにWindows機能のActive Directory管理ツールを追加インストールしたあと、
 ADの管理者ユーザでログオンすることでAD管理を行うことができる
設定が難しくない
 いまのsambaは、DNSサーバとLDAPサーバ機能が統合されており、AD名とAD上の役割と
 管理者パスワードを決めてしまえば、あとは良きに計らってくれるので
 設定の難易度が非常に低い

もちろん、デメリット、もあります
ActiveDirectoryの全機能が搭載されていない
 ドメイン/フォレストの機能レベルが「Windows Server 2008 R2」までとなっている。
 なお、フェールオーバクラスタについては作成できるようになっていました。
 →「samba 4.7.4で作ったActive Directory環境でWindowsServer2016フェールオーバークラスターを動作させた」というわけで動作することを確認しました

それでは、実際の手順について・・・
元ネタは公式ページの「Setting up Samba as an Active Directory Domain Controller」となります。

0. CentOS7の最小インストールを実施

1. /etc/hostsの修正
自ホスト名を/etc/hostsに追加
追加の際は、ショートのホスト名と、ドメイン付きのFQDNの両方を列挙すること。

[root@adserver ~]# cat /etc/hosts&lt;br&gt;<br>
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4&lt;br&gt;<br>
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6&lt;br&gt;<br>
172.17.44.40    adserver adserver.adosakana.local&lt;br&gt;<br>
[root@adserver ~]#

2. 好みに応じて使うツールをインストール
セッションが途中で切れても良い様に「screen」と、ファイルダウンロードするためにwget(curlでもいいのですが)をインストールします。

[root@adserver ~]# yum install wget screen&lt;br&gt;<br>
<略>&lt;br&gt;<br>
[root@adserver ~]#

3. 必要なパッケージをインストール
Samba公式の「Operating system requirements/Dependencies – Libraries and programs」に記載されているパッケージをインストール

[root@adserver ~]# yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \&lt;br&gt;<br>
       libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \&lt;br&gt;<br>
       perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \&lt;br&gt;<br>
       python-crypto gnutls-devel libattr-devel keyutils-libs-devel \&lt;br&gt;<br>
       libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \&lt;br&gt;<br>
       pam-devel popt-devel python-devel readline-devel zlib-devel systemd-devel&lt;br&gt;<br>
<略>&lt;br&gt;<br>
[root@adserver ~]#

4. sambaのtar.gzをダウンロード

[root@adserver ~]# wget https://download.samba.org/pub/samba/stable/samba-4.7.5.tar.gz&lt;br&gt;<br>
--2016-xx-xx xx:xx:xx--  https://download.samba.org/pub/samba/stable/samba-4.7.5.tar.gz&lt;br&gt;<br>
download.samba.org をDNSに問いあわせています... 144.76.82.156&lt;br&gt;<br>
download.samba.org|144.76.82.156|:443 に接続しています... 接続しました。&lt;br&gt;<br>
HTTP による接続要求を送信しました、応答を待っています... 200 OK&lt;br&gt;<br>
長さ: 20715838 (20M) [application/gzip]&lt;br&gt;<br>
`samba-4.7.5.tar.gz' に保存中&lt;/p&gt;<br>
&lt;p&gt;100%[======================================&amp;gt;] 16,862,398  3.71MB/s 時間 5.5s&lt;/p&gt;<br>
&lt;p&gt;2018-03-xx xx:xx:xx (2.93 MB/s) - `samba-4.7.5.tar.gz' へ保存完了 [16862398/16862398]&lt;/p&gt;<br>
&lt;p&gt;[root@adserver ~]#

5. configure実施

[root@adserver ~]# tar xfz samba-4.7.5.tar.gz&lt;br&gt;<br>
[root@adserver ~]# cd samba-4.7.5&lt;br&gt;<br>
[root@adserver samba-4.7.5]# ./configure&lt;br&gt;<br>
Checking for program gcc or cc           : /usr/bin/gcc&lt;br&gt;<br>
Checking for program cpp                 : /usr/bin/cpp&lt;br&gt;<br>
<略>&lt;br&gt;<br>
Checking if toolchain accepts -fstack-protector                                                 : yes&lt;br&gt;<br>
'configure' finished successfully (2m43.587s)&lt;br&gt;<br>
[root@adserver samba-4.7.5]#

6. make & make install

[root@adserver samba-4.7.5]# make&lt;br&gt;<br>
WAF_MAKE=1 python ./buildtools/bin/waf build&lt;br&gt;<br>
Waf: Entering directory `/root/samba-4.7.5/bin'&lt;br&gt;<br>
<略>&lt;br&gt;<br>
Note: Writing nmblookup4.1&lt;br&gt;<br>
Waf: Leaving directory `/root/samba-4.7.5/bin'&lt;br&gt;<br>
'build' finished successfully (22m56.876s)&lt;br&gt;<br>
[root@adserver samba-4.7.5]# make install&lt;br&gt;<br>
WAF_MAKE=1 python ./buildtools/bin/waf install&lt;br&gt;<br>
Waf: Entering directory `/root/samba-4.7.5/bin'&lt;br&gt;<br>
<略>&lt;br&gt;<br>
* installing bin/default/pidl/Parse::Pidl::Wireshark::NDR.3pm as /usr/local/samba/share/man/man3/Parse::Pidl::Wireshark::NDR.3pm&lt;br&gt;<br>
Waf: Leaving directory `/root/samba-4.7.5/bin'&lt;br&gt;<br>
'install' finished successfully (6m48.094s)&lt;br&gt;<br>
[root@adserver samba-4.7.5]#

7. インストール完了確認

sambaのバージョン確認

[root@adserver ~]# /usr/local/samba/sbin/samba -V&lt;br&gt;<br>
Version 4.7.5&lt;br&gt;<br>
[root@adserver ~]#

8. Active Directoryのセットアップ
ドメイン「adosakana.local」を作成します。
また、sambaの機能を使ってAD DNSを構築するので「SAMBA_INTERNAL」を選択します。

なお、「–use-rfc2307」はADにNIS連携機能を追加するオプションです。AD上にUnix用のUID/GID/shell情報なども格納できるようにします。Samba環境では有効にしておくべきものです。

[root@adserver ~]# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive&lt;br&gt;<br>
Realm [ADOSAKANA.LOCAL]:&lt;br&gt;<br>
 Domain [ADOSAKANA]:&lt;br&gt;<br>
 Server Role (dc, member, standalone) [dc]:&lt;br&gt;<br>
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:&lt;br&gt;<br>
 DNS forwarder IP address (write 'none' to disable forwarding) [172.30.50.100]:&lt;br&gt;<br>
Administrator password:&lt;br&gt;<br>
Retype password:&lt;br&gt;<br>
Looking up IPv4 addresses&lt;br&gt;<br>
Looking up IPv6 addresses&lt;br&gt;<br>
No IPv6 address will be assigned&lt;br&gt;<br>
Setting up secrets.ldb&lt;br&gt;<br>
Setting up the registry&lt;br&gt;<br>
Setting up the privileges database&lt;br&gt;<br>
Setting up idmap db&lt;br&gt;<br>
Setting up SAM db&lt;br&gt;<br>
Setting up sam.ldb partitions and settings&lt;br&gt;<br>
Setting up sam.ldb rootDSE&lt;br&gt;<br>
Pre-loading the Samba 4 and AD schema&lt;br&gt;<br>
Adding DomainDN: DC=adosakana,DC=local&lt;br&gt;<br>
Adding configuration container&lt;br&gt;<br>
Setting up sam.ldb schema&lt;br&gt;<br>
Setting up sam.ldb configuration data&lt;br&gt;<br>
Setting up display specifiers&lt;br&gt;<br>
Modifying display specifiers&lt;br&gt;<br>
Adding users container&lt;br&gt;<br>
Modifying users container&lt;br&gt;<br>
Adding computers container&lt;br&gt;<br>
Modifying computers container&lt;br&gt;<br>
Setting up sam.ldb data&lt;br&gt;<br>
Setting up well known security principals&lt;br&gt;<br>
Setting up sam.ldb users and groups&lt;br&gt;<br>
Setting up self join&lt;br&gt;<br>
Adding DNS accounts&lt;br&gt;<br>
Creating CN=MicrosoftDNS,CN=System,DC=adosakana,DC=local&lt;br&gt;<br>
Creating DomainDnsZones and ForestDnsZones partitions&lt;br&gt;<br>
Populating DomainDnsZones and ForestDnsZones partitions&lt;br&gt;<br>
Setting up sam.ldb rootDSE marking as synchronized&lt;br&gt;<br>
Fixing provision GUIDs&lt;br&gt;<br>
A Kerberos configuration suitable for Samba AD has been generated at /usr/local/samba/private/krb5.conf&lt;br&gt;<br>
Setting up fake yp server settings&lt;br&gt;<br>
Once the above files are installed, your Samba AD server will be ready to use&lt;br&gt;<br>
Server Role:           active directory domain controller&lt;br&gt;<br>
Hostname:              adserver&lt;br&gt;<br>
NetBIOS Domain:        ADOSAKANA&lt;br&gt;<br>
DNS Domain:            adosakana.local&lt;br&gt;<br>
DOMAIN SID:            S-1-5-21-98280047-2622333268-1688910966&lt;/p&gt;<br>
&lt;p&gt;[root@adserver ~]#

なお、password_hashでエラーとなるとおもいます。
現状の /etc/krb5.conf の内容が問題で発生しています。
この後の手順で正しいものに置き換えるので、この段階では単純に「mv /etc/krb5.conf /etc/krb5.conf.org」などの手段で別の名前として使わなくすれば大丈夫です。

Setting up sam.ldb users and groups&lt;br&gt;<br>
ERROR(ldb): uncaught exception - operations error at ../source4/dsdb/samdb/ldb_modules/password_hash.c:3132&lt;br&gt;<br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/netcmd/__init__.py", line 176, in _run&lt;br&gt;<br>
    return self.run(*args, **kwargs)&lt;br&gt;<br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/netcmd/domain.py", line 474, in run&lt;br&gt;<br>
    nosync=ldap_backend_nosync, ldap_dryrun_mode=ldap_dryrun_mode)&lt;br&gt;<br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", line 2175, in provision&lt;br&gt;<br>
    skip_sysvolacl=skip_sysvolacl)&lt;br&gt;<br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", line 1787, in provision_fill&lt;br&gt;<br>
    next_rid=next_rid, dc_rid=dc_rid)&lt;br&gt;<br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", line 1447, in fill_samdb&lt;br&gt;<br>
    "KRBTGTPASS_B64": b64encode(krbtgtpass.encode('utf-16-le'))&lt;br&gt;<br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/common.py", line 55, in setup_add_ldif&lt;br&gt;<br>
    ldb.add_ldif(data, controls)&lt;br&gt;<br>
  File "/usr/local/samba/lib64/python2.7/site-packages/samba/__init__.py", line 229, in add_ldif&lt;br&gt;<br>
    self.add(msg, controls)

9. sambaを起動

[root@adserver ~]# ps -ef|grep samba&lt;br&gt;<br>
root     11129 23028  0 16:01 pts/0    00:00:00 grep --color=auto samba&lt;br&gt;<br>
[root@adserver ~]# /usr/local/samba/sbin/samba&lt;br&gt;<br>
[root@adserver ~]# ps -ef|grep samba&lt;br&gt;<br>
root     11131     1 14 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11132 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11133 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11134 11132  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11135 11134 19 16:01 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground&lt;br&gt;<br>
root     11136 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11137 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11138 11131 21 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11139 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11140 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11141 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11142 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11143 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11144 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11145 11142  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11146 11131  2 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11147 11145 18 16:01 ?        00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground&lt;br&gt;<br>
root     11148 11131  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11151 11146  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11152 11151 17 16:01 ?        00:00:00 python /usr/local/samba/sbin/samba_dnsupdate&lt;br&gt;<br>
root     11153 11146  0 16:01 ?        00:00:00 /usr/local/samba/sbin/samba&lt;br&gt;<br>
root     11154 11153 17 16:01 ?        00:00:00 python /usr/local/samba/sbin/samba_spnupdate&lt;br&gt;<br>
root     11157 11135  0 16:01 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground&lt;br&gt;<br>
root     11158 11135  0 16:01 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground&lt;br&gt;<br>
root     11160 23028  0 16:01 pts/0    00:00:00 grep --color=auto samba&lt;br&gt;<br>
root     11161 11147  0 16:01 ?        00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground&lt;br&gt;<br>
[root@adserver ~]#

10.動作確認
CentOS内部からSMB接続を行うテストを実施。

[root@adserver ~]# /usr/local/samba/bin/smbclient --version&lt;br&gt;<br>
Version 4.7.5&lt;br&gt;<br>
[root@adserver ~]# /usr/local/samba/bin/smbclient -L localhost -U%&lt;/p&gt;<br>
&lt;p&gt;        Sharename       Type      Comment&lt;br&gt;<br>
        ---------       ----      -------&lt;br&gt;<br>
        netlogon        Disk&lt;br&gt;<br>
        sysvol          Disk&lt;br&gt;<br>
        IPC$            IPC       IPC Service (Samba 4.7.5)&lt;br&gt;<br>
Reconnecting with SMB1 for workgroup listing.&lt;/p&gt;<br>
&lt;p&gt;        Server               Comment&lt;br&gt;<br>
        ---------            -------&lt;/p&gt;<br>
&lt;p&gt;        Workgroup            Master&lt;br&gt;<br>
        ---------            -------&lt;br&gt;<br>
[root@adserver ~]#

以前は「Domain=[ADOSAKANA.LOCAL] OS=[Unix] Server=[Samba x.y.z]」という出力もあったのですが、Samba 4.7.5では無くなったようです。

netlogon共有にAdministrator権限でアクセスできるか確認。

[root@adserver ~]# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls'&lt;br&gt;<br>
Enter Administrator's password:&lt;br&gt;<br>
  .                                   D        0  Fri Mar  2 15:53:48 2018&lt;br&gt;<br>
  ..                                  D        0  Fri Mar  2 15:58:16 2018&lt;/p&gt;<br>
&lt;p&gt;                14034944 blocks of size 1024. 11789628 blocks available&lt;br&gt;<br>
[root@adserver ~]#

11.AD DNSの動作テスト
AD DNSが想定通りに動作しているかテストします。

まず、どんなzoneが登録されているのか確認

[root@adserver ~]# /usr/local/samba/bin/samba-tool dns zonelist 127.0.0.1 -U Administrator&lt;br&gt;<br>
Password for [ADOSAKANA\Administrator]:&lt;br&gt;<br>
  2 zone(s) found&lt;/p&gt;<br>
&lt;p&gt;  pszZoneName                 : adosakana.local&lt;br&gt;<br>
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE&lt;br&gt;<br>
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY&lt;br&gt;<br>
  Version                     : 50&lt;br&gt;<br>
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED&lt;br&gt;<br>
  pszDpFqdn                   : DomainDnsZones.adosakana.local&lt;/p&gt;<br>
&lt;p&gt;  pszZoneName                 : _msdcs.adosakana.local&lt;br&gt;<br>
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE&lt;br&gt;<br>
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY&lt;br&gt;<br>
  Version                     : 50&lt;br&gt;<br>
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED&lt;br&gt;<br>
  pszDpFqdn                   : ForestDnsZones.adosakana.local&lt;br&gt;<br>
[root@adserver ~]#

Active Directoryで使用するDNSのSRVレコードが登録されているかをhostコマンドを使って確認。

[root@adserver ~]# host -t SRV _ldap._tcp.adosakana.local 127.0.0.1&lt;br&gt;<br>
Using domain server:&lt;br&gt;<br>
Name: 127.0.0.1&lt;br&gt;<br>
Address: 127.0.0.1#53&lt;br&gt;<br>
Aliases:&lt;/p&gt;<br>
&lt;p&gt;_ldap._tcp.adosakana.local has SRV record 0 100 389 adserver.adosakana.local.&lt;br&gt;<br>
[root@adserver ~]# host -t SRV _kerberos._udp.adosakana.local 127.0.0.1&lt;br&gt;<br>
Using domain server:&lt;br&gt;<br>
Name: 127.0.0.1&lt;br&gt;<br>
Address: 127.0.0.1#53&lt;br&gt;<br>
Aliases:&lt;/p&gt;<br>
&lt;p&gt;_kerberos._udp.adosakana.local has SRV record 0 100 88 adserver.adosakana.local.&lt;br&gt;<br>
[root@adserver ~]#

ADサーバのホスト名が登録されているか確認

[root@adserver ~]# host -t A adserver.adosakana.local 127.0.0.1&lt;br&gt;<br>
Using domain server:&lt;br&gt;<br>
Name: 127.0.0.1&lt;br&gt;<br>
Address: 127.0.0.1#53&lt;br&gt;<br>
Aliases:&lt;/p&gt;<br>
&lt;p&gt;adserver.adosakana.local has address 172.17.44.40&lt;br&gt;<br>
[root@adserver ~]#

12. DNSサーバの変更
ADサーバの/etc/resolv.confを、ADサーバ自身を使う様に書き換え

13. /etc/krb5.conf の変更
/usr/local/samba/private/krb5.conf に元となるものがあるので、それを使用する。

[root@adserver ~]# cat /etc/krb5.conf&lt;br&gt;<br>
[logging]&lt;br&gt;<br>
 default = FILE:/var/log/krb5libs.log&lt;br&gt;<br>
 kdc = FILE:/var/log/krb5kdc.log&lt;br&gt;<br>
 admin_server = FILE:/var/log/kadmind.log&lt;/p&gt;<br>
&lt;p&gt;[libdefaults]&lt;br&gt;<br>
 default_realm = EXAMPLE.COM&lt;br&gt;<br>
 dns_lookup_realm = false&lt;br&gt;<br>
 dns_lookup_kdc = false&lt;br&gt;<br>
 ticket_lifetime = 24h&lt;br&gt;<br>
 renew_lifetime = 7d&lt;br&gt;<br>
 forwardable = true&lt;/p&gt;<br>
&lt;p&gt;[realms]&lt;br&gt;<br>
 EXAMPLE.COM = {&lt;br&gt;<br>
  kdc = kerberos.example.com&lt;br&gt;<br>
  admin_server = kerberos.example.com&lt;br&gt;<br>
 }&lt;/p&gt;<br>
&lt;p&gt;[domain_realm]&lt;br&gt;<br>
 .example.com = EXAMPLE.COM&lt;br&gt;<br>
 example.com = EXAMPLE.COM&lt;br&gt;<br>
[root@adserver ~]# cat /usr/local/samba/private/krb5.conf&lt;br&gt;<br>
[libdefaults]&lt;br&gt;<br>
        default_realm = ADOSAKANA.LOCAL&lt;br&gt;<br>
        dns_lookup_realm = false&lt;br&gt;<br>
        dns_lookup_kdc = true&lt;br&gt;<br>
[root@adserver ~]# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf&lt;br&gt;<br>
cp: `/etc/krb5.conf' を上書きしてもよろしいですか(yes/no)? y&lt;br&gt;<br>
[root@adserver ~]# cat /etc/krb5.conf&lt;br&gt;<br>
[libdefaults]&lt;br&gt;<br>
        default_realm = ADOSAKANA.LOCAL&lt;br&gt;<br>
        dns_lookup_realm = false&lt;br&gt;<br>
        dns_lookup_kdc = true&lt;br&gt;<br>
[root@adserver ~]#

14. Kerberosの動作確認

kinitコマンドを実行して確認します。

[root@adserver ~]# kinit administrator@ADOSAKANA.LOCAL&lt;br&gt;<br>
Password for administrator@ADOSAKANA.LOCAL:&lt;br&gt;<br>
Warning: Your password will expire in 41 days on 2018年04月13日 15時58分15秒&lt;br&gt;<br>
[root@adserver ~]#

正常に設定されていれば、上記の様にAdministratorユーザのパスワード有効期限が表示されます。

ドメイン名指定の大文字/小文字を間違えると下記の様なエラーとなります。

[root@adserver ~]# kinit administrator@adosakana.local&lt;br&gt;<br>
Password for administrator@adosakana.local:&lt;br&gt;<br>
kinit: KDC reply did not match expectations while getting initial credentials&lt;br&gt;<br>
[root@adserver ~]#

また、DNSサーバ指定が誤っている場合は下記の様なエラーです。

[root@adserver ~]# kinit administrator@ADOSAKANA.LOCAL&lt;br&gt;<br>
kinit: Cannot resolve servers for KDC in realm "ADOSAKANA.LOCAL" while getting initial credentials&lt;br&gt;<br>
[root@adserver ~]#

「klist」コマンドを実行することでも確認出来ます。

[root@adserver ~]# klist&lt;br&gt;<br>
Ticket cache: FILE:/tmp/krb5cc_0&lt;br&gt;<br>
Default principal: administrator@ADOSAKANA.LOCAL&lt;/p&gt;<br>
&lt;p&gt;Valid starting       Expires              Service principal&lt;br&gt;<br>
2018-03-02T16:06:21  2018-03-03T02:06:21  krbtgt/ADOSAKANA.LOCAL@ADOSAKANA.LOCAL&lt;br&gt;<br>
        renew until 2018-03-03T16:06:18&lt;br&gt;<br>
[root@adserver ~]#

15. フォレストとドメインの機能レベル確認
作成したActive Directoryのドメインの機能レベルとフォレストの機能レベルを確認します。

[root@adserver ~]# /usr/local/samba/bin/samba-tool domain level show&lt;br&gt;<br>
Domain and forest function level for domain 'DC=adosakana,DC=local'&lt;/p&gt;<br>
&lt;p&gt;Forest function level: (Windows) 2008 R2&lt;br&gt;<br>
Domain function level: (Windows) 2008 R2&lt;br&gt;<br>
Lowest function level of a DC: (Windows) 2008 R2&lt;br&gt;<br>
[root@adserver ~]#

Samba 4.7.5では、Windows Sevrer 2008R2と設定されているようです。

16. firewalldの設定

CentOS7ではfirewalldによりポートが制限されています。
現状を「firewall-cmd –list-all」で確認。

# firewall-cmd --list-all&lt;br&gt;<br>
public (active)&lt;br&gt;<br>
  target: default&lt;br&gt;<br>
  icmp-block-inversion: no&lt;br&gt;<br>
  interfaces: ens160&lt;br&gt;<br>
  sources:&lt;br&gt;<br>
  services: ssh dhcpv6-client&lt;br&gt;<br>
  ports:&lt;br&gt;<br>
  protocols:&lt;br&gt;<br>
  masquerade: no&lt;br&gt;<br>
  forward-ports:&lt;br&gt;<br>
  source-ports:&lt;br&gt;<br>
  icmp-blocks:&lt;br&gt;<br>
  rich rules:&lt;br&gt;<br>
# 

開けるべきポートのテンプレートがあらかじめ用意されているので「firewall-cmd –get-services」を実行して確認します。

# firewall-cmd --get-services&lt;br&gt;<br>
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server&lt;br&gt;<br>
#

SambaをADとして使う場合のポートを「Samba AD DC Port Usage」で確認します。

CentOS7のfirewalldで定義されているものと待避させてみると・・・

サービス ポート プロトコル firewalld定義
DNS 53 tcp/udp dns
Kerberos 88 tcp/udp kerberos,freeipa-ldap,freeipa-ldaps
End Point Mapper (DCE/RPC Locator Service) 135 tcp freeipa-trust
NetBIOS Name Service 137 udp samba,samba-client
NetBIOS Datagram 138 udp samba,samba-client,freeipa-trust
NetBIOS Session 139 tcp samba,freeipa-trust
LDAP 389 tcp/udp freeipa-trust(ldap,freeipa-ldapはtcpのみ)
SMB over TCP 445 tcp samba,freeipa-trust(freeipa-trustはudpも含む)
Kerberos kpasswd 464 tcp/udp kpasswd,freeipa-ldap,freeipa-ldaps
LDAPS 636 tcp ldaps,freeipa-ldaps
Dynamic RPC Ports(4.7以前) 1024-1300 tcp freeipa-trust
Dynamic RPC Ports(samba 4.7以降) 49152-65535 tcp ?
Global Catalog 3268 tcp freeipa-trust
Global Catalog SSL 3269 tcp なし

・firewalldの定義「samba」「dns」「freeipa-ldaps」「freeipa-trust」を使用
・「Dynamic RPC Ports(samba 4.7以降):49152-65535」を追加するか、smb.confで「rpc server port」を定義するか。
・「Global Catalog SSL:3269」を追加

# firewall-cmd --permanent --zone=public --add-service=samba&lt;br&gt;<br>
success&lt;br&gt;<br>
# firewall-cmd --permanent --zone=public --add-service=dns&lt;br&gt;<br>
success&lt;br&gt;<br>
# firewall-cmd --permanent --zone=public --add-service=freeipa-ldaps&lt;br&gt;<br>
success&lt;br&gt;<br>
# firewall-cmd --permanent --zone=public --add-service=freeipa-trust&lt;br&gt;<br>
success&lt;br&gt;<br>
# firewall-cmd --reload&lt;br&gt;<br>
success&lt;br&gt;<br>
# firewall-cmd --list-all&lt;br&gt;<br>
public (active)&lt;br&gt;<br>
  target: default&lt;br&gt;<br>
  icmp-block-inversion: no&lt;br&gt;<br>
  interfaces: ens160&lt;br&gt;<br>
  sources:&lt;br&gt;<br>
  services: ssh dhcpv6-client samba dns freeipa-ldaps freeipa-trust&lt;br&gt;<br>
  ports:&lt;br&gt;<br>
  protocols:&lt;br&gt;<br>
  masquerade: no&lt;br&gt;<br>
  forward-ports:&lt;br&gt;<br>
  source-ports:&lt;br&gt;<br>
  icmp-blocks:&lt;br&gt;<br>
  rich rules:&lt;/p&gt;<br>
&lt;p&gt;#

# firewall-cmd --permanent --zone=public --add-port=49152-65535/tcp&lt;br&gt;<br>
success&lt;br&gt;<br>
# firewall-cmd --permanent --zone=public --add-port=3269/tcp&lt;br&gt;<br>
success&lt;br&gt;<br>
# firewall-cmd --reload&lt;br&gt;<br>
success&lt;br&gt;<br>
# firewall-cmd --list-all&lt;br&gt;<br>
public (active)&lt;br&gt;<br>
  target: default&lt;br&gt;<br>
  icmp-block-inversion: no&lt;br&gt;<br>
  interfaces: ens160&lt;br&gt;<br>
  sources:&lt;br&gt;<br>
  services: ssh dhcpv6-client samba dns freeipa-ldaps freeipa-trust&lt;br&gt;<br>
  ports: 49152-65535/tcp 3269/tcp&lt;br&gt;<br>
  protocols:&lt;br&gt;<br>
  masquerade: no&lt;br&gt;<br>
  forward-ports:&lt;br&gt;<br>
  source-ports:&lt;br&gt;<br>
  icmp-blocks:&lt;br&gt;<br>
  rich rules:&lt;br&gt;<br>
#

17. systemdへの登録
systemdへの登録については「Managing the Samba AD DC Service Using Systemd」を参照のこと
CentOS6の場合は「Managing the Samba AD DC Service Using an Init Script

以上で設定は終了です。

samba 4.7.4で作ったActive Directory環境でWindowsServer2016フェールオーバークラスターを動作させた



以前試したときはうまくいかなかったが、どうやら、動くらしい、という話を聞いて試してみた。

Samba 4.7.4で、ドメインレベル/フォレストレベルをWindows Server 2008R2に設定した状態で実施。
(レベルの確認・変更については「samba 4.xでドメイン/フォレストの機能レベルを変更する」を参照のこと)

クラスタの検証は問題なく通過し、実際に組んで見るとネットワークへのリソース名登録周りでエラーが発生。

ログの名前:         System
ソース:           Microsoft-Windows-FailoverClustering
日付:            2018/02/28 18:41:44
イベント ID:       1194
タスクのカテゴリ:      ネットワーク名リソース
レベル:           エラー
キーワード:         
ユーザー:          SYSTEM
コンピューター:       server1.adosakana.local
説明:
クラスター ネットワーク名リソース 'クラスタリソース1' は、ドメイン 'adosakana.local' の関連付けられたコンピューター オブジェクトを作成できませんでした (期間: Resource online)。

関連するエラー コードのテキストは次のとおりです: アクセスが拒否されました。

ドメイン管理者と協力して、次のことを確認してください。
- クラスター ID 'クラスタ名$' が、コンピューター オブジェクトを作成するためのアクセス許可を持っていること。既定では、すべてのコンピューター オブジェクトがクラスター ID 'クラスタ名$' と同じコンテナー内に作成されます。
- コンピューター オブジェクトのクォータに達していないこと。
- 既存のコンピューター オブジェクトがある場合は、[Active Directory ユーザーとコンピューター] のツールを使用して、クラスター ID 'クラスタ名$' にそのコンピューター オブジェクトに対するフル コントロールのアクセス許可があることを確認してください。

解決方法はMicrosoftのKB「クラスター環境においてクライアント アクセス ポイントを作成または削除した際、イベント ID 1222 と 1197 が記録される。」にあるままでした。
下記の設定を行ったところ、クラスタが起動するようになりました。

1. Domain Administrator権限を持っているユーザで「Active Directory ユーザーとコンピューター」を開く
2. 「表示」-「拡張機能」を選択し、セキュリティなどの設定が表示される状態に変更
3. 「Computers」コンテナのプロパティを開く
4. 「セキュリティ」タブの「詳細設定」を開く
5. 「追加」を開く
6. まず、「プリンシパルの選択」のリンクをクリック
 「オブジェクトの種類」を開き、「コンピュータ」にチェックを入れる
 「選択するオブジェクト名を入力してください」の下の欄にエラーがでた「クラスタ名」を入力
 「名前を確認」してOK
7. 種類「許可」、適用先「このオブジェクトとすべての子オブジェクト」が選択されていることを確認
8. アクセス許可は「すべてのプロパティの読み取り」と「すべての子オブジェクトの作成」にチェック
 他の項目は標準設定のままで良い
9. この設定でセキュリティの追加を完了する