前回、Windows Server 2022にActive Directoryの動作を確認した。
今回は、Windows Server 2016のActive DirectoryからWindows Server 2022にActive Directoryへ移行を行う。
参考)
・ドメイン コントローラーの降格方法 | Microsoft Japan Windows Technology Support Blog
・【Windowsインフラの闇】ActiveDirectory移行時のトラブル #WindowsServer – Qiita
想定手順
- Hyper-V で 両ホストともにチェックポイントを作成 →本番で言うところのバックアップ
- 両方のサーバー起動
- Windowsのイベントビューアーでエラーが出ていないか確認
- ADのレプリケーション確認
- FSMOの役割をWinSv2016からWinSv2022へ転送
- WinSv2016のドメインコントローラーの降格 →降格処理に失敗した場合は、強制降格が必要(発生しないことを祈る。)
- WinSv2016をシャットダウン
- WinSv2022のIPアドレス及びホスト名をWinSv2016のものに変更
- AlmaLinuxからログインできるか確認
こんなところかな。1と2については省略する。
結果から先に書いておくと、ホスト名に関してはもう少し手順を踏んで実施しないとエラーが発生しもとに戻せなくなる。本記事ではその解決には至っていない。
Windowsのイベントビューアーでエラーが出ていないか確認
どこかでイベントビューアーでエラーを確認しておかないとダメというような記載を見た気がしたので実施する。だが、WinSv2016とWinSv2022を確認したところ、どのエラーを確認したらいいかわからんのでとりあえず放置。
ADのレプリケーションの確認
「repadmin /showrepl」を実行するとWinSv2016側はエラーが出る。(なんか壊れているように思われる…)WinSv2022側は正常とのこと。
「repadmin /syncall」を実行しても両サーバともにエラーなし。
FSMOの役割をWinSv2016からWinSv2022へ転送
両方のサーバで、「netdom query fsmo」を実行すると、以下のようになるので、2016がプライマリーであると確認できる。
C:\\Users\\Administrator>netdom query fsmo
スキーマ マスター WINSV2016AD.nyan.local
ドメイン名前付けマスター WINSV2016AD.nyan.local
PDC WINSV2016AD.nyan.local
RID プール マネージャー WINSV2016AD.nyan.local
インフラストラクチャ マスター WINSV2016AD.nyan.local
コマンドは正しく完了しました。
WinSv2016でPowerShellを起動してMove-ADDirectoryServerOperationMasterRole -Identity "WINSV2022AD" -OperationMasterRole 0,1,2,3,4のコマンドを実行する。
PS C:\\Users\\Administrator> Move-ADDirectoryServerOperationMasterRole -Identity "WINSV2022AD" -OperationMasterRole 0,1,2,3,4
操作マスターの役割の移動
役割 'PDCEmulator' をサーバー 'WINSV2022AD.nyan.local' に移動しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
操作マスターの役割の移動
役割 'RIDMaster' をサーバー 'WINSV2022AD.nyan.local' に移動しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
操作マスターの役割の移動
役割 'InfrastructureMaster' をサーバー 'WINSV2022AD.nyan.local' に移動しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
操作マスターの役割の移動
役割 'SchemaMaster' をサーバー 'WINSV2022AD.nyan.local' に移動しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
操作マスターの役割の移動
役割 'DomainNamingMaster' をサーバー 'WINSV2022AD.nyan.local' に移動しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
これで、WinSv2022へ移動したはずなので、コマンドプロンプトでnetdom query fsmoを実行すると両方のサーバともにWinSv2022に切り替わっている。
C:\\Users\\Administrator.NYAN>netdom query fsmo
スキーマ マスター WINSV2022AD.nyan.local
ドメイン名前付けマスター WINSV2022AD.nyan.local
PDC WINSV2022AD.nyan.local
RID プール マネージャー WINSV2022AD.nyan.local
インフラストラクチャ マスター WINSV2022AD.nyan.local
コマンドは正しく完了しました。
WinSv2016のドメインコントローラーの降格
サーバーマネージャーのダッシュボードの管理から「役割と機能の削除」をクリック

「開始する前に」ではそのまま「次へ」をクリック

「対象サーバーの選択」では、サーバが選択されていることを確認して「次へ」をクリック

「サーバーの役割の削除」では、「Active Directory ドメイン サービス」のチェックをクリック

ポップアップで削除確認が表示されるので、「機能の削除」をクリック

警告のメッセージが表示されるので「このドメイン コントローラーを降格する」をクリック

「Active Directory ドメイン サービス構成ウィザード」が表示される。「資格情報」では、「次へ」をクリック

「警告」では、「削除の続行」をチェックONにして「次へ」をクリック

「新しいAdministrator パスワード」では、新しいパスワードを入力して「次へ」をクリック

「オプションの確認」では、「降格」をクリック

降格処理が始まるのでしばらく待機。

降格処理が終わると自動的に再起動が行われるので「閉じる」をクリック

これでWinSv2016サーバは何の役割もないサーバとなった。
再起動すると、ログイン画面が表示されるので、「他のユーザー」をクリック(この画面で前のユーザーパスワードを入力してもログインできない)

「別のドメインにサインインするには」をクリック

「サーバー名\Administrator」と「パスワード」を入力してEnterを押下する。

まだActive Directoryの情報とか残っているようだけど、何もできないのでシャットダウンする。

WinSv2022のIPアドレス及びホスト名をWinSv2016のものに変更
ホスト名の変更は、推奨されないとのこと。(AIがそう言っているだけなので、検証の必要あり
ではまずは、IPアドレスを変更してLinuxからADへログインしてみよう。
WinSv2022を起動して、右下の地球アイコンをクリックして、「ネットワークとインターネットの設定」をクリック

「設定」が開くので、「アダプターのオプションを変更する」をクリック

「ネットワーク接続」がでるので、「イーサネット」で右クリックしてプロパティをクリック

「イーサネット」のプロパティが開くのでIPv4を選択して「プロパティ」をクリック

IPアドレスを「10.0.0.20」から「10.0.0.10」に変更して「OK」をクリック

「イーサネットのプロパティ」に戻るので、「閉じる」をクリック

これでIPアドレスが変わった。AlmaLinux側からpingをうっても無事に返ってくる。
[root@alma10 ~]# realm discover nyan.local
nyan.local
type: kerberos
realm-name: NYAN.LOCAL
domain-name: nyan.local
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-common
required-package: oddjob
required-package: oddjob-mkhomedir
required-package: sssd-ad
required-package: adcli
required-package: samba-common-tools
login-formats: %U@nyan.local
login-policy: allow-realm-logins
AlmaLinux側からログオン・ログオフすると無事にWinSv2022のイベントビューアーで確認できた。
では問題が発生するかもしれない、ホスト名の変更。
ログインしてサーバーマネージャーの「ローカルサーバー」をクリック

コンピューター名をクリック

システムのプロパティが表示されるので、「変更」をクリック

警告が表示される。「OK」をクリック

ドメイン コントローラーをあるドメインから別のドメインに移動することはできません。別のドメインに移動するためには、ドメイン コントローラーを降格する必要があります。このドメイン コントローラーの名前を変更すると、一時的にユーザーとコンピューターから利用できなくなる可能性があります。代わりの名前変更方法を含む、ドメイン コントローラーの名前変更の詳細については、「Renaming a Domain Controller」(https://go.microsoft.com/fwlink/?LinkID=177447) を参照してください。このドメイン コントローラーの名前変更を続行するには、[OK] をクリックしてください。
コンピューター名/ドメイン名の変更が表示されるので、コンピューター名を「WINSV2022AD」から「WINSV2016AD」に変更して、「OK」をクリック
念の為、詳細を押して内容を確認するのもいいかも。見た感じは変更する必要もなさそうだったから省略する。

Windowsセキュリティが表示されるので、Administratorのユーザー名とパスワードを入力して「OK」をクリック

そうするとエラーが出る…

コンピューター名を “WINSV2016AD” に変更中に次のエラーが発生しました:
既に存在するファイルを作成することはできません。
ふーん…どこかになにかがあるってことだな…怪しそうなのはADコンピューターのところかなぁ…一旦シャットダウンしてチェックポイントを設定しておこう。
サーバーマネージャーの右上「ツール」→「Active Directory ユーザーとコンピューター」をクリック

Active Directory ユーザーとコンピューターが表示されるので、右ペインのComputersをクリック。右ペインに一覧が表示され、WINSV2016ADというコンピューターがいるので、それを右クリックして「削除」をクリック

警告が出るので「はい」をクリック

一覧から消えるので、もう一度コンピューター名の変更を試みる。(スクショは省略)
そしてエラーとなる。

コンピューター名を “WINSV2016AD” に変更中に次のエラーが発生しました:
アカウントは既に存在します。
えっと、アカウント?
もう一度システムのプロパティからコンピューター名を変更しようと試みると、あれ?WINSV2016ADになってて、変更できない?

システムのプロパティに、「変更はコンピューターの再起動後に有効になります。」って書いてあった…では再起動してみましょう。

再起動して、コンピューター名が変更されていることを確認した。
AlmaLinuxからADへログインしてみるが、できない…
[root@alma10 ~]# realm join nyan.local -U chatora
realm: Cannot join this realm
Please check
https://red.ht/support_rhel_ad
to get help for common issues.
なんかいろいろと情報が出るコマンドを叩いてみる。
[root@alma10 ~]# realm discover nyan.local
nyan.local
type: kerberos
realm-name: NYAN.LOCAL
domain-name: nyan.local
configured: no
なんかめちゃ減った。
サーバで「Active Directory ユーザーとコンピューター」を表示しようとするとエラーとなる。

名前付け情報を検索できません。
理由: 対象のプリンシパル名が間違っています。
システム管理者に問い合わせ、ドメインが正しく構成されていて、現在オンラインであるかどうかを確認してください。
中途半端にコンピューター名だけ変わってしまったって感じなのかなぁ?
コンピューター名を元に戻してみるとどうなるのだろうか?

戻せません…
やろうと思えばいろいろと調べてできるんだろうけど、やったところでどこに歪みが出てるかわからんし諦めます!
コンピューター名を変更するのは辞めといたほうが良さそうね。だけどやらなあかんみたいな話になるかもしれないし、どうしようかな。
ここ(ADの環境移行(その2) ~WindowsServer 2012R2からWindowsServer 2022へ~ #初心者 – Qiita)を見ていると、
プランA)ADのFSMOを移動する前に、旧サーバのホスト名を変更してFSMO移動から実施していけば変更が可能なのかもしれない。
プランB)DC(ドメインコントローラー)から降格して新サーバのADにログインしてからホスト名を変更するやり方でもできるかも。
プランAの場合だと、DCとして動いている状況だから変更ができないのかもしれない。
まとめ
これでWindows Server 2016からWindows Server 2022へActive Directoryの移行が完了した。
ホスト名の変更に関しては、検証してみるかもしれないしやらないかもしれない。やる方向で考えるけど。


コメント