<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" >
  <channel>
  <title>ブランクがあるインフラエンジニアの備忘録</title>
  <link>https://norakura.blog.shinobi.jp/</link>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="https://norakura.blog.shinobi.jp/RSS/" />
  <description>サーバ・ネットワーク構築のメモ</description>
  <lastBuildDate>Sun, 19 Apr 2026 20:08:57 GMT</lastBuildDate>
  <language>ja</language>
  <copyright>© Ninja Tools Inc.</copyright>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />

    <item>
    <title>ローカル用パッケージリポジトリサーバーの構築</title>
    <description>
    <![CDATA[<div>Linuxは通常、インターネットを経由してパッケージを入手することが少なくありませんが、環境によってはインターネットへのアクセスが許されない場合や、独自のカスタムパッケージを社内のみで提供するといった、インターネットへ接続できない環境の場合、管理対象マシンは、社内のパッケージリポジトリサーバを使ってパッケージを入手します。構成例は以下の図になります。</div>
<div><br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/6b63bb23.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776629000/" alt="" /></a></div>
<div><strong>図・パッケージリポジトリサーバーの構成例</strong><br />
<br />
<br />
◆Nginxのインストール</div>
<div>リポジトリサーバでは、ネットワーク配信のプロトコルとしてHTTPやFTPが利用できます。</div>
<div>HTTPでRPMパッケージを配信する為には、Webサーバーの構築が必要になるので、今回はNginxをインストールします。</div>
<div></div>
<div><br />
[root@local1 ~]# dnf install -y nginx</div>
<div>[root@local1 ~]# systemctl enable --now nginx</div>
<div>Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service &rarr; /usr/lib/systemd/system/nginx.service.</div>
<div>[root@local1 ~]# systemctl is-active nginx</div>
<div>active</div>
<div>[root@local1 ~]# firewall-cmd --zone=public --add-service=http</div>
<div>success</div>
<div>[root@local1 ~]# firewall-cmd --runtime-to-permanent</div>
<div>success</div>
<div></div>
<div></div>
<div><br />
◆パッケージのisoイメージの入手、設置</div>
<div>[root@local1 ~]# mkdir -p /var/www/html/cdrom</div>
<div></div>
<div><br />
インターネットからAlmaLinuxのisoイメージをダウンロードする場合は以下を実行します。</div>
<div>[root@local1 ~]# curl -O https://repo.almalinux.org/almalinux/9.7/isos/x86_64/AlmaLinux-9.7-x86_64-dvd.iso</div>
<div></div>
<div><br />
最新版のisoを入手するには上記方法のが良いですが、ネットが制限された環境でCDドライブからisoを作製する場合は、CDドライブにOSメディアを挿入し、以下のコマンドを実施します。</div>
<div>[root@local1 ~]# dd if=/dev/cdrom of=AlmaLinux-9-3-x86_64-dvd.iso</div>
<div>[root@local1 ~]# ls | grep Alma</div>
<div>AlmaLinux-9-3-x86_64-dvd.iso</div>
<div></div>
<div><br />
上記何れかの手段で入手したisoイメージをマウントします。</div>
<div>[root@local1 ~]# mount -o loop,ro /root/AlmaLinux-9-3-x86_64-dvd.iso /mnt</div>
<div></div>
<div><br />
Nginxが提供する /usr/share/nginx/htmlディレクトリ以下にAL9のリポジトリ用のディレクトリalma9を作成し、DVD isoイメージ内のデータをコピーします。</div>
<div>[root@local1 ~]# mkdir -p /usr/share/nginx/html/alma9</div>
<div>[root@local1 ~]# cp -a /mnt/* /usr/share/nginx/html/alma9/</div>
<div></div>
<div><br />
alma9ディレクトリの中身を確認します。</div>
<div>[root@local1 ~]# ls -aF /usr/share/nginx/html/alma9/</div>
<div>./&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BaseOS/&nbsp; LICENSE&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; extra_files.json&nbsp; media.repo</div>
<div>../&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;EFI/&nbsp; &nbsp; &nbsp;RPM-GPG-KEY-AlmaLinux-9&nbsp; images/</div>
<div>AppStream/&nbsp; EULA&nbsp; &nbsp; &nbsp;TRANS.TBL&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isolinux/</div>
<div></div>
<div><br />
◆メタデータの作成</div>
<div>パッケージリポジトリのメタデータ（パッケージリポジトリ全体を管理する為の情報）を作成します。</div>
<div>メタデータをもとにパッケージの現在の状態を把握できます。リポジトリのメタデータはcreaterepoコマンドで作成します。</div>
<div><br />
以下のコマンドでインストールを実施します。</div>
<div>[root@local1 ~]# dnf install -y createrepo_c</div>
<div></div>
<div><br />
つづいてリポジトリのメタデータを作成します。</div>
<div>[root@local1 ~]# createrepo --database /usr/share/nginx/html/alma9</div>
<div>Directory walk started</div>
<div>Directory walk done - 6834 packages</div>
<div>Temporary output repo path: /usr/share/nginx/html/alma9/.repodata/</div>
<div>Preparing sqlite DBs</div>
<div>Pool started (with 5 workers)</div>
<div>Pool finished</div>
<div></div>
<div><br />
◆リポジトリの設定</div>
<div>リポジトリの設定ファイルalma9local,repoを作成します。</div>
<div>[root@local1 ~]# vi /etc/yum.repos.d/alma9local.repo</div>
<div>[local001]</div>
<div>name=AL 9 local repo</div>
<div>baseurl=http://10.0.1.11/alma9</div>
<div>gpgcheck=1</div>
<div>enabled=1</div>
<div>gpgkey=http://10.0.1.11/alma9/RPM-GPG-KEY-AlmaLinux-9</div>
<div><br />
設定ファイルのパラメーターの意味は以下の表のとおりです。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/c4ffd5cd.jpeg" title=""><img src="//norakura.blog.shinobi.jp/Img/1776629446/" alt="" /></a></div>
<div></div>
<div><br />
つづいてRPMパッケージリポジトリサーバーでメタデータを読み込みます。</div>
<div>[root@local1 ~]# dnf clean all</div>
<div>26 ファイルが削除されました</div>
<div>[root@local1 ~]# export no_proxy=10.0.1.11</div>
<div>[root@local1 ~]# dnf list available \</div>
<div>--enablerepo=local001 --disablerepo=baseos,appstream,extras,epel,crb</div>
<div>一致するリポジトリーがありません: epel</div>
<div>AL 9 local repo&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 37 MB/s | 8.4 MB&nbsp; &nbsp; &nbsp;00:00</div>
<div>メタデータの期限切れの最終確認: 0:00:02 前の 2026年04月20日 03時45分37秒 に実施 しました。</div>
<div>利用可能なパッケージ</div>
<div>389-ds-base.x86_64&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.3.6-3.el9_3&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; local001</div>
<div>389-ds-base-libs.x86_64&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.6-3.el9_3&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; local001</div>
<div>Box2D.i686&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.4.1-7.el9&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; local001</div>
<div>（以下略）</div>
<div></div>
<div></div>
<div><br />
◆リポジトリを利用したRPMパッケージのインストールテスト</div>
<div>作成したlocal001リポジトリを使って、RPMパッケージをインストールできるか、テストとしてlogwatchをインストールしてみます。</div>
<div></div>
<div><br />
logwatchがインストールされていないことを確認します。</div>
<div>[root@local1 ~]# rpm -qa | grep logwatch</div>
<div><br />
インストールされていないことを確認し、logwatchをインストールしてみます。</div>
<div>[root@local1 ~]# dnf install -y \</div>
<div>--enablerepo=local001 --disablerepo=baseos,appstream,extras,epel,crb \</div>
<div>logwatch</div>
<div>一致するリポジトリーがありません: epel</div>
<div>メタデータの期限切れの最終確認: 0:11:04 前の 2026年04月20日 03時45分37秒 に実施 しました。</div>
<div>依存関係が解決しました。</div>
<div>================================================================================</div>
<div>&nbsp;パッケージ&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Arch&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;バージョン&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; リポジトリー&nbsp; &nbsp;サイズ</div>
<div>================================================================================</div>
<div>インストール:</div>
<div>&nbsp;logwatch&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;noarch&nbsp; &nbsp; &nbsp; &nbsp;7.5.5-6.el9&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;local001&nbsp; &nbsp; &nbsp; &nbsp;382 k</div>
<div>依存関係のインストール:</div>
<div>&nbsp;perl-Date-Manip&nbsp; &nbsp; &nbsp; &nbsp; noarch&nbsp; &nbsp; &nbsp; &nbsp;6.85-3.el9&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; local001&nbsp; &nbsp; &nbsp; &nbsp;1.0 M</div>
<div>(中略)</div>
<div></div>
<div>インストール済み:</div>
<div>&nbsp; logwatch-7.5.5-6.el9.noarch&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;perl-Date-Manip-6.85-3.el9.noarch</div>
<div>&nbsp; perl-Sys-CPU-0.61-26.el9.x86_64&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;perl-Sys-MemInfo-0.99-18.el9.x86_64</div>
<div>&nbsp; perl-diagnostics-1.37-480.el9.noarch&nbsp; &nbsp; perl-lib-0.65-480.el9.x86_64</div>
<div>&nbsp; s-nail-14.9.22-6.el9.x86_64</div>
<div></div>
<div>完了しました!</div>
<div></div>
<div><br />
logwatch RPMパッケージがインストールされている事を確認します。</div>
<div>[root@local1 ~]# rpm -qa | grep logwatch</div>
<div>logwatch-7.5.5-6.el9.noarch</div>
<div></div>
<div><br />
◆クライアントマシンで確認。</div>
<div>RPMを取得したいクライアントマシンでパッケージリポジトリサーバーが提供するlocal001リポジトリが利用できるかテストします。</div>
<div>クライアントマシンでログインし、RPMパッケージリポジトリサーバーのリポジトリ設定ファイルalma9local.repoファイルをコピーします。</div>
<div></div>
<div><br />
[root@client ~]# scp 10.0.1.11:/etc/yum.repos.d/alma9local.repo \<br />
/etc/yum.repos.d/</div>
<div>root@10.0.1.11's password:</div>
<div>alma9local.repo&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100%&nbsp; 138&nbsp; &nbsp; 38.3KB/s&nbsp; &nbsp;00:00</div>
<div></div>
<div><br />
つづいて、クライアントマシンからdnfでRPMパッケージが取得できるか確認します。</div>
<div>[root@client ~]# dnf install -y \</div>
<div>--enablerepo=local001 --disablerepo=baseos,appstream,extras,epel,crb \</div>
<div>logwatch</div>
<div><br />
一致するリポジトリーがありません: epel</div>
<div>AL 9 local repo&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;9.8 MB/s | 8.4 MB&nbsp; &nbsp; &nbsp;00:00</div>
<div>メタデータの期限切れの最終確認: 0:00:03 前の 2026年04月20日 04時10分14秒 に実施 しました。</div>
<div>依存関係が解決しました。</div>
<div>================================================================================</div>
<div>&nbsp;パッケージ&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Arch&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;バージョン&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; リポジトリー&nbsp; &nbsp;サイズ</div>
<div>================================================================================</div>
<div>インストール:</div>
<div>&nbsp;logwatch&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;noarch&nbsp; &nbsp; &nbsp; &nbsp;7.5.5-6.el9&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;local001&nbsp; &nbsp; &nbsp; &nbsp;382 k</div>
<div>依存関係のインストール:</div>
<div>&nbsp;perl-Date-Manip&nbsp; &nbsp; &nbsp; &nbsp; noarch&nbsp; &nbsp; &nbsp; &nbsp;6.85-3.el9&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; local001&nbsp; &nbsp; &nbsp; &nbsp;1.0 M</div>
<div>（中略）</div>
<div>インストール済み:</div>
<div>&nbsp; logwatch-7.5.5-6.el9.noarch&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;perl-Date-Manip-6.85-3.el9.noarch</div>
<div>&nbsp; perl-Sys-CPU-0.61-26.el9.x86_64&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;perl-Sys-MemInfo-0.99-18.el9.x86_64</div>
<div>&nbsp; perl-diagnostics-1.37-480.el9.noarch&nbsp; &nbsp; perl-lib-0.65-480.el9.x86_64</div>
<div>&nbsp; s-nail-14.9.22-6.el9.x86_64</div>
<div></div>
<div>完了しました!</div>
<div></div>
<div><br />
logwatch RPMパッケージがインストールされている事を確認します。</div>
<div>[root@client ~]#rpm -qa | grep logwatch</div>
<div>logwatch-7.5.5-6.el9.noarch</div>]]>
    </description>
    <category>ローカルリポジトリ</category>
    <link>https://norakura.blog.shinobi.jp/%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA/%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E6%A7%8B%E7%AF%89</link>
    <pubDate>Sun, 19 Apr 2026 20:08:57 GMT</pubDate>
    <guid isPermaLink="false">norakura.blog.shinobi.jp://entry/88</guid>
  </item>
    <item>
    <title>Windows Server 2016→2022へAD移行⑤　ドメイン/フォレストの機能レベルの変更</title>
    <description>
    <![CDATA[◆<span color="#333333" style="color: #333333;">ドメイン/フォレストの機能レベルの変更のイメージ</span><br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/5.jpg" title=""><img src="//norakura.blog.shinobi.jp/Img/1776006530/" alt="" /></a> <br />
◆ドメイン/フォレストの機能レベルの確認及び変更手順<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/44191747.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776019785/" alt="" /></a> <br />
➀「サーバー マネージャー」を起動し ます。 「ツール」をクリックし、「Active Directory ドメインと信頼関係」をク リックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/8972a3ab.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776019862/" alt="" /></a> <br />
➁ 「Active Directory ドメインと信頼 関係」が表示されます。 「&lt;ドメイン名&gt;」で右クリックし、 「ドメインの機能レベルの昇格」をク リックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/7dcfcf2c.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776019910/" alt="" /></a> <br />
③ 「ドメインの機能レベルの昇格」が表 示されます。<br />
Windows 2016ドメインから Windows 2019ドメインに移行した 場合など、移行前のドメイン機能レベ ルが「Windows Server 2016」だった 場合は、これ以上上げることはできま せん。「現在のドメインの機能レベル」 がすでに「Windows Server 2016」と 表示されている場合は昇格の作業が必要ありません。<br />
上記の状態の場合、「閉じる」をクリックします。<br />
<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/1c3216ee.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776020103/" alt="" /></a> <br />
④ 「Active Directory ドメインと信頼 関係 [&lt;dc名&gt;]」で右クリックし、 「フォレストの機能レベルの昇格」を クリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/dddbe813.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776020188/" alt="" /></a> <br />
⑤「フォレストの機能レベルの昇格」が 表示されます。<br />
Windows 2016ドメインから Windows 2019ドメインに移行した場合など、移行前のフォレスト機能レベルが「Windows Server 2016」だった場合は、これ以上上げることはできません。「現在のフォレストの機能レ ベル」がすでに「Windows Server 2016」と表示されている場合は昇格の作業は必要ありません。<br />
上記の場合、「閉じる」をクリックします。<br />
<br />
以上でドメイン移行作業は完了です。移行完了後は稼働確認を実施します。<br />
例えば既存DCに参加していたクライアントＰＣが新規DCのドメインに参加できるか、新規のクライアントPCも問題なくドメインに参加できるか等を確認します。]]>
    </description>
    <category>Active Directory の移行</category>
    <link>https://norakura.blog.shinobi.jp/active%20directory%20%E3%81%AE%E7%A7%BB%E8%A1%8C/windows%20server%202016%E2%86%922022%E3%81%B8a_86</link>
    <pubDate>Sun, 12 Apr 2026 18:58:15 GMT</pubDate>
    <guid isPermaLink="false">norakura.blog.shinobi.jp://entry/86</guid>
  </item>
    <item>
    <title>Windows Server 2016→2022へAD移行④続き　IPアドレスの変更</title>
    <description>
    <![CDATA[◆IP アドレスの変更 <br />
新規DCのIPアドレスとドメインメンバーのDNSサーバー設定に関して、表 5の変更方法が考え られます。お客様の環境や要件に合わせて(A)、(B)、どちらかのパターンの変更方法を選択する必要があります。<br />
■表　IPアドレス変更方法。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/0.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776022723/" alt="" /></a> <br />
<br />
▢パターン（A）のIPアドレス変更（移行前のDCが使用していたIPアドレスへの変更）<br />
◆IPアドレス、一時的なDNSサーバー設定の変更（本手順は、WIN2022DC1、WIN2022DC2で行います。）<br />
➀WIN2022DC1のIPアドレスとDNSを以下に変更します。<br />
IP：10.0.1.111&rarr;10.0.1.11<br />
代替DNSサーバー：10.0.1.112&rarr;無し<br />
<br />
➁WIN2022DC2のIPアドレスとDNSを以下に変更します。<br />
IP：10.0.1.112&rarr;10.0.1.12<br />
優先DNSサーバー：127.0.0.1&rarr;10.0.1.11<br />
代替DNSサーバー：10.0.1.111&rarr;無し<br />
<br />
<br />
<br />
◆DNSレコードの確認と複製<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/86d51b97.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776022888/" alt="" /></a> <br />
➀ 「サーバー マネージャー」を起動しま す。 「このローカル サーバーの構成」をク リックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/eb353df5.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776022956/" alt="" /></a> <br />
➁「DNS マネージャー」が表示されま す。 「前方参照ゾーン」の「&lt;ドメイン名&gt;」 を開きます。 名前が「(親フォルダーと同じ)」、種類 が「Host (A)」のレコードを確認しま す。 変更後のWIN2022DC1、WIN2022DC2のIPア ドレスが登録されていない場合は登録 します。 変更前のIPアドレスが残っている場 合は削除します。 <br />
<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/df25408e.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776023692/" alt="" /></a> <br />
③手順➁と同様に、名前がWIN2022DC1、WIN2022DC2、種類が「Host (A)」のレコー ドを確認します。 <br />
変更後のWIN2022DC1、WIN2022DC2のIPア ドレスが登録されていない場合は登録します。 変更前のIPアドレスが残っている場 合は削除します。 <br />
<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/6f11c033.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776023764/" alt="" /></a> <br />
④ 「DomainDnsZones」を開きます。 手順➁と同様に、名前が「(親フォル ダーと同じ)」、種類が「Host (A)」のレ コードを確認します。<br />
変更後のWIN2022DC1、WIN2022DC2のIPア ドレスが登録されていない場合は登録します。 変更前のIPアドレスが残っている場 合は削除します。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/ac4a72e1.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776023854/" alt="" /></a> <br />
⑤「ForestDnsZones」を開きます。 手順➁と同様に、名前が「(親フォル ダーと同じ)」、種類が「Host (A)」のレ コードを確認します。<br />
変更後のWIN2022DC1、WIN2022DC2のIPア ドレスが登録されていない場合は登録します。 変更前のIPアドレスが残っている場 合は削除します。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/65e3015e.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776023928/" alt="" /></a> <br />
⑥「_msdcs.&lt;ドメイン名&gt;」の「gc」を 開きます。 手順➁と同様に、名前が「(親フォル ダーと同じ)」、種類が「Host (A)」のレ コードを確認します。<br />
変更後のWIN2022DC1、WIN2022DC2のIPア ドレスが登録されていない場合は登録します。 変更前のIPアドレスが残っている場 合は削除します。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/3817c330.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776023992/" alt="" /></a> <br />
⑦ 管理者としてコマンドプロンプトを起 動し、次のコマンドを実行します。<br />
ipconfig /flushdns<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/b3bec600.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776024041/" alt="" /></a> <br />
⑧ 次のコマンドを実行します。<br />
repadmin /syncall /AeP<br />
<br />
すべてのパーティションで「SyncAll はエラーなしで終了しました。」と表示 されることを確認します。 <br />
<br />
◆DNSサーバー設定の変更<br />
➀WIN2022DC1のDNSを以下に変更します。<br />
代替DNSサーバー：無し&rarr;10.0.1.12<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/5d2f7675.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776024452/" alt="" /></a> <br />
<br />
➁WIN2022DC2のDNSを以下に変更します。<br />
優先DNSサーバー：10.0.1.11&rarr;127.0.0.1<br />
代替DNSサーバー：無し&rarr;10.0.1.11<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/d836d028.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776024590/" alt="" /></a> <br />
<br />
▢パターン(B) ドメインメンバーのDNSサーバー設定を変更 <br />
ドメインメンバーのDNSサーバー設定を新規DCのIPアドレスに変更する場合、以下を実施します。<br />
⑴ドメインメンバーのDNSサーバー設定を静的に管理している環境ではすべてのドメインメンバーのDNS サーバー設定を変更します。<br />
⑵DHCP サーバーで DNS サーバー設定を配布している環境では DHCPサーバーの設定を変更します。<br />
<br />
これらの場合は、すべてのドメインメンバーのDNSサーバー設定を変更する作業にかかる時間や、 DHCP サーバーでの変更がすべてのドメインメンバーに反映されるまでの時間を考慮する必要があ ります。既存DCを降格する前に、新規DCを参照するようDNSサーバー設定を変更し、すべての ドメインメンバーで変更が反映されてから既存DCの降格作業を行います。]]>
    </description>
    <category>Active Directory の移行</category>
    <link>https://norakura.blog.shinobi.jp/active%20directory%20%E3%81%AE%E7%A7%BB%E8%A1%8C/windows%20server%202016%E2%86%922022%E3%81%B8a_87</link>
    <pubDate>Sun, 12 Apr 2026 18:10:37 GMT</pubDate>
    <guid isPermaLink="false">norakura.blog.shinobi.jp://entry/87</guid>
  </item>
    <item>
    <title>Windows Server 2016→2022へAD移行④　既存DCに対してメンバーサーバーへの降格、ワークグループへの変更、 ネットワークからの撤去</title>
    <description>
    <![CDATA[◆<span style="color: #333333;">既存DCに対してメンバーサーバーへの降格、ワークグループへの変更、 ネットワークからの撤去のイメージ<br />
<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/4.jpg" title=""><img src="//norakura.blog.shinobi.jp/Img/1776006470/" alt="" /></a> <br />
<br />
◆</span>Windows Server 2016DCの降格<br />
既存DCの降格、ワークグループへの変更を行い、ネットワークから撤去します。<br />
<br />
DNSサーバー設定の変更 各DCのDNSサーバーの設定で、既存DCのWIN2016DC1、WIN2016DC2のIPアドレスは削除し、新規 DCのWIN2022DC1、WIN2022DC2のIPアドレスを追加します。&nbsp;<br />
<br />
<span style="color: #333333;">◆本検証のDNS設定<br />
</span>DNSを以下の設定に変更します。<br style="color: #333333;" /><span style="color: #333333;">➀WIN2016DC1</span><br style="color: #333333;" /><span style="color: #333333;">DNS:127.0.0.1(優先)、10.0.1.12（代替）&rarr;10.0.1.111</span><span style="color: #333333;">(優先)、10.0.1.112（代替）</span><br style="color: #333333;" /><br style="color: #333333;" /><span style="color: #333333;">➁WIN2016DC2</span><br style="color: #333333;" /><span style="color: #333333;">DNS:127.0.0.1(優先)、10.0.1.11（代替）</span><span style="color: #333333;">&rarr;10.0.1.111</span><span style="color: #333333;">(優先)、10.0.1.112（代替）</span><br style="color: #333333;" /><br style="color: #333333;" /><span style="color: #333333;">③WIN2022DC1</span><br style="color: #333333;" /><span style="color: #333333;">DNS:10.0.1.11(優先)、10.0.1.112（代替）</span><span style="color: #333333;">&rarr;127.0.0.1</span><span style="color: #333333;">(優先)、10.0.1.112（代替）</span><br style="color: #333333;" /><br style="color: #333333;" /><span style="color: #333333;">④WIN2022DC2</span><br style="color: #333333;" /><span style="color: #333333;">DNS:10.0.1.11(優先)、10.0.1.112（代替）</span><span style="color: #333333;">&rarr;127.0.0.1</span><span style="color: #333333;">(優先)、10.0.1.112（代替）<br />
<br />
◆</span>DNS委任レコードの変更（本作業は<span style="color: #333333;">WIN2022DC1で行います</span>）<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/b83f27a8.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776013550/" alt="" /></a> <br />
&nbsp;<span style="color: #333333;"><br />
➀</span> 「サーバー マネージャー」を起動しま す。 「ツール」をクリックし、「DNS」をク リックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/7952329d.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776013588/" alt="" /></a> <br />
➁ 「DNS マネージャー」が表示されま す。 「前方参照ゾーン」、「&lt;ドメイン名&gt;」 の「_msdcs」を開きます。 「_msdcs」を右クリックし、「プロパ ティ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/2_1.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776013798/" alt="" /></a> <br />
因みに上記の様に「_msdcs」を右クリックし ても「プロパティ」がなく、「_msdcs」 のアイコンが黄色で表示されている場 合は、「_msdcs」が委任ではなく「&lt;ド メイン名&gt;」の下にドメインとして作 成されています。 この場合は、以降の手順は不要です。 次項の既存DCの降格に進みます。<br />
<span style="color: #333333;"><a target="_blank" href="//norakura.blog.shinobi.jp/File/bec75c3b.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776013877/" alt="" /></a> <br />
③</span> 「_msdcs のプロパティ」が表示され ます。 「ネーム サーバー」で、既存の Windows Server 2016DC1を選択 し、「削除」をクリックします。 既存のWindows Server 2016DCが 複数登録されている場合はすべて削除 します。<br />
<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/97ab16c8.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776013941/" alt="" /></a> <br />
<span style="color: #333333;">④</span>「追加」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/7973d87b.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776013979/" alt="" /></a> <br />
<span style="color: #333333;">⑤</span>「新規ネーム サーバー レコード」が 表示されます。 「サーバーの完全修飾ドメイン名 (FQDN)」にWIN2022DC1のFQDN （「WIN2022DC1.nora.ac.jp」）を入 力し、「解決」をクリックします。&nbsp;<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/59f3003e.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014062/" alt="" /></a> <br />
<span style="color: #333333;">⑥</span> 「この NS レコードの IP アドレス」 にWIN2022DC1のIPアドレスが入力され ます。 「::1」が入力された場合は、これを選 択して「削除」をクリックし、IPv4ア ドレスのみにします。<br />
<span style="color: #333333;"><a target="_blank" href="//norakura.blog.shinobi.jp/File/d973e1f9.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014134/" alt="" /></a> <br />
⑦</span> 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/288fbbec.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014166/" alt="" /></a> <span style="color: #333333;"><br />
⑧</span>「_msdcs のプロパティ」に戻ります。 「追加」をクリックします。<span style="color: #333333;"><br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/26447f90.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014201/" alt="" /></a> <br />
⑨</span>「新規ネーム サーバー レコード」が 表示されます。 「サーバーの完全修飾ドメイン名 (FQDN)」にWIN2022DC1のFQDN （「WIN2022DC1.nora.ac.jp」）を入 力し、「解決」をクリックします。 「この NS レコードの IP アドレス」 にdc2019-2のIPアドレスが入力され ます。 「OK」をクリックします。&nbsp;<span style="color: #333333;"><br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/93f99915.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014287/" alt="" /></a> <br />
⑩</span> 「_msdcs のプロパティ」に戻ります。 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/d9079109.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014316/" alt="" /></a> <br />
<span style="color: #333333;"><br />
⑪</span> 「DNS マネージャー」に戻ります。 名前が「(親フォルダーと同じ)」、種類 が「Name Server (NS)」のレコードと して、WIN2022DC1、WIN2022DC2が登録され たことを確認します。&nbsp;<span style="color: #333333;"><br />
<br />
<br />
◆既存DCの降格(本手順は、WIN2016DC1、WIN2016DC2で行います。)<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/97bd3de5.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014442/" alt="" /></a> <br />
➀ 「サーバー マネージャー」を起動しま す。 「管理」をクリックし、「役割と機能の 削除」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/e0cdbe70.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014472/" alt="" /></a> <br />
➁「役割と機能の削除ウィザード」が開 始し、「開始する前に」が表示されます。 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/5572f640.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014503/" alt="" /></a> <br />
③「対象サーバーの選択」が表示されま す。 「サーバー プールからサーバーを選 択」を選択します。 「サーバー プール」から「WIN2016DC1」 を選択し、「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/14727bd8.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014549/" alt="" /></a> <br />
④「サーバーの役割の削除」が表示され ます。 「Active Directory ドメイン サービ ス」のチェックをクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/5147b0bb.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014576/" alt="" /></a> <br />
⑤「Active Directory ドメイン サービ ス を必要とする機能を削除します か?」のダイアログが表示されます。 「機能の削除」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/5c7d54cf.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014653/" alt="" /></a> <br />
⑥「検証結果」が表示されます。 「このドメイン コントローラーを降 格する」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/30f384ad.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014680/" alt="" /></a> <br />
⑦ 「資格情報」が表示されます。 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/707ad620.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014715/" alt="" /></a> <br />
⑧「警告」が表示されます。 「削除の続行」にチェックを入れます。 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/20f01893.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014758/" alt="" /></a> <br />
⑨ 「新しい Administrator パスワード」 が表示されます。 降格した後のローカルコンピューター のAdministratorユーザーのパスワー ドを入力します。 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/a1c43992.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014787/" alt="" /></a> <br />
⑩「オプションの確認」が表示されます。 「降格」をクリックします。 DC降格処理が開始されます。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/0e9144a3.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014814/" alt="" /></a> <br />
⑪ DC降格処理が完了すると自動で再起 動が行われます。<br />
<br />
⑫もう一台の既存DCにも同じ手順を実施します。<br />
<br />
◆ワークグループへの変更（本手順は、WIN2016DC1、WIN2016DC2で行います。）<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/abe84d46.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014950/" alt="" /></a> <br />
➀「サーバー マネージャー」を起動しま す。 「このローカル サーバーの構成」をク リックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/0dedbc14.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776014973/" alt="" /></a> <br />
➁ ドメイン名をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/7a3a0ef3.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776015010/" alt="" /></a> <br />
③「システムのプロパティ」が表示され ます。 「コンピューター名」タブの「変更」を クリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/58f5fc28.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776015056/" alt="" /></a> <br />
④「コンピューター名/ドメイン名の変 更」が表示されます。 「ワークグループ」を選択し、 「WORKGROUP」と入力します。 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/8092800f.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776015091/" alt="" /></a> <br />
⑤ 上記メッセージが表示されます。 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/d6ed3805.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776015128/" alt="" /></a> <br />
⑥上記メッセージが表示されます。 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/d668e21d.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776015159/" alt="" /></a> <br />
⑦上記メッセージが表示されます。 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/987057c7.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776015192/" alt="" /></a> <br />
⑧「システムのプロパティ」に戻ります。 「閉じる」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/57f04877.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776015216/" alt="" /></a> <br />
⑨上記メッセージが表示されます。 「今すぐ再起動する」をクリックしま す。 再起動が開始されます。<br />
⑩再起動後、WIN2016DC1をシャットダウンし、ネットワークから撤去します。<br />
⑪WIN2016DC2についても同様の手順を実施します。<br />
<br />
&nbsp;<br />
◆既存DC降格後の確認<br />
降格したWIN2016DC1、WIN2016DC2の情報が残っていないか、以下の場所を確認します。もし、WIN2016DC1、WIN2016DC2&nbsp;の情報が残っていた場合は削除し、WIN2022DC1、WIN2022DC2の名前もしくは IP アドレス のみにします。（降格後も一部残った情報に関しては画像付き）<br />
<br />
・ 「Active Directory ユーザーとコンピューター」の「&lt;ドメイン名&gt;」-「Domain Controllers」 OU配下<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/510ea3f2.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776016929/" alt="" /></a> <br />
・ 「Active Directory サイトとサービス」の「Sites」-「&lt;サイト名&gt;」-「Servers」配下<br />
・ 「DNS マネージャー」の「&lt;ドメイン名&gt;」ゾーンにある以下のレコード <br />
　 名前が「(親フォルダーと同じ)」、種類が「Name Server (NS)」のレコード <br />
　 名前が「(親フォルダーと同じ)」、種類が「Host (A)」のレコード <br />
　 「_sites」-「&lt;サイト名&gt;」-「_tcp」にある、名前が「_gc」、「 _kerberos」、「 _ldap」、 種 類 が「Service Location (SRV)」のレコード <br />
　 「_tcp」にある、名前が「_gc」 、「 _kerberos」 、「 _kpasswd」 、「 _ldap」、種 類 が「 Service Location&nbsp;(SRV)」のレコード <br />
　 「_udp」にある、名前が「_kerberos」、「 _kpasswd」、 種 類 が 「 Service Location (SRV)」の レコード<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/595766a9.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776017032/" alt="" /></a> <br />
　 「DomainDnsZones」にある、名前が「(親フォルダーと同じ)」、種 類 が「 Host (A)」のレコー ド <br />
　 「DomainDnsZones」-「_sites」-「&lt;サイト名&gt;」-「_tcp」にある、名前が「_ldap」、 種 類 が「Service Location (SRV)」のレコード<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/cd6a9531.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776017092/" alt="" /></a> <br />
　 「DomainDnsZones」-「_tcp」にある、名前が「_ldap」、種類が「Service Location (SRV)」 のレコード<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/3768cf38.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776017131/" alt="" /></a> <br />
　 「ForestDnsZones」にある、名前が「(親フォルダーと同じ)」、 種 類 が 「 Host (A)」のレコー ド<br />
　 「ForestDnsZones」-「_sites」-「&lt;サイト名&gt;」-「_tcp」にある、名前が「_ldap」、 種 類 が「Service Location (SRV)」のレコード<br />
<br />
　 「ForestDnsZones」-「_tcp」にある、名前が「_ldap」、 種 類 が 「 Service Location (SRV)」 のレコード<br />
<br />
・ 「DNS マネージャー」の「_msdcs.&lt;ドメイン名&gt;」ゾーンにある以下のレコード <br />
　 名前が「(親フォルダーと同じ)」、種類が「Name Server (NS)」のレコード <br />
　 名前が「<guid dc="">」、種類が「Alias (CNAME)」のレコード <br />
　 「dc」-「_sites」-「&lt;サイト名&gt;」-「_tcp」にある、名前が「_kerberos」、「 _ldap」、 種 類 が「Service Location (SRV)」のレコード <br />
　 「dc」-「_tcp」にある、名前が「_kerberos」、「 _ldap」、 種 類 が 「 Service Location (SRV)」 のレコード <br />
　 「domains」-「<guid>」-「_tcp」にある、名前が「_ldap」、種 類 が「 Service Location (SRV)」 のレコード <br />
　 「gc」にある、名前が「(親フォルダーと同じ)」、種類が「Host (A)」のレコード <br />
　 「gc」-「_sites」-「&lt;サイト名&gt;」-「_tcp」にある、名前が「_ldap」、種 類 が「 Service Location (SRV)」のレコード <br />
　 「gc」-「_tcp」にある、名前が「_ldap」、種類が「Service Location (SRV)」のレコード</guid></guid><br />
<br />
また、次の場所についてもFSMO（PDC エミュレーター）の役割を転送させた WIN2022DC1 の名前に なっているか確認します。<br />
・ 「DNS マネージャー」の「_msdcs.&lt;ドメイン名&gt;」ゾーンにある次のレコード <br />
　 「pdc」-「_tcp」にある、名前が「_ldap」、種類が「Service Location (SRV)」のレコード&nbsp;<br />
<br />
</span>]]>
    </description>
    <category>Active Directory の移行</category>
    <link>https://norakura.blog.shinobi.jp/active%20directory%20%E3%81%AE%E7%A7%BB%E8%A1%8C/windows%20server%202016%E2%86%922022%E3%81%B8a_85</link>
    <pubDate>Sun, 12 Apr 2026 17:19:24 GMT</pubDate>
    <guid isPermaLink="false">norakura.blog.shinobi.jp://entry/85</guid>
  </item>
    <item>
    <title>Windows Server 2016→2022へAD移行③　FSMOの転送 </title>
    <description>
    <![CDATA[◆<span style="color: #333333;">FSMOを新規DCに転送するイメージ<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/3.jpg" title=""><img src="//norakura.blog.shinobi.jp/Img/1776006427/" alt="" /></a> <br />
◆</span>FSMOの転送<br />
Active Directory では、フォレストもしくはドメイン内で1台のDCのみで実行する必要のある処理 があります。このような処理を実行するよう割り当てられた DC を「Flexible Single Master Operations」 (FSMO) の役割の所有者と呼びます。 FSMOには次があります。 ・ PDCエミュレーター ・ RIDマスター ・ インフラストラクチャーマスター ・ スキーママスター ・ ドメイン名前付け操作マスター FSMO の役割を持った DC が存在しない状態とならないよう、既存DCを降格する前に新規DCに FSMOの役割を転送します。<br />
以下を新規DC（WIN2022DC1）で実行します。<br />
<br />
➀管理者としてPowerShellを起動し、次 のコマンドを実行します。<br />
Move ADDirectoryServerOperationMas terRole -Identity "WIN2022DC1" OperationMasterRole PDCEmulator,RIDMaster,Infrastr uctureMaster,SchemaMaster,Do mainNamingMaster<br />
<br />
PDCエミュレーター、RIDマス ター、インフラストラクチャーマス ター、スキーママスター、ドメイン名 前付け操作マスターを移動するか確認 のメッセージが表示されます。それぞ れに対して「Y」を入力し、Enter キーを押します。 移動に成功するとエラーなどは表示さ れずに終了します。<br />
<br />
以下、実施例<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/446f052b.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776012533/" alt="" /></a> <br />
<br />
➁次のコマンドを実行します。<br />
Get-ADDomain | Select-Object PDCEmulator,RIDMaster,Infrastr uctureMaster | fl<br />
<br />
PDCエミュレーター、RIDマス ター、インフラストラクチャーマス ターがWIN2022DC1に変更されたことを 確認します。 以下、実行例<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/b5aa902e.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776012676/" alt="" /></a> <br />
<br />
③次のコマンドを実行します。 <br />
&nbsp;&nbsp;Get-ADForest | Select-Object SchemaMaster,DomainNamingMaster | fl <br />
スキーママスター、ドメイン名前付け 操作マスターが WIN2022DC1に変更され たことを確認します。以下、実行例。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/d863377c.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776012801/" alt="" /></a><br />
<br />
<br />
<br />
<br />
<br />
]]>
    </description>
    <category>Active Directory の移行</category>
    <link>https://norakura.blog.shinobi.jp/active%20directory%20%E3%81%AE%E7%A7%BB%E8%A1%8C/windows%20server%202016%E2%86%922022%E3%81%B8a_84</link>
    <pubDate>Sun, 12 Apr 2026 16:55:13 GMT</pubDate>
    <guid isPermaLink="false">norakura.blog.shinobi.jp://entry/84</guid>
  </item>
    <item>
    <title>Windows Server 2016→2022へAD移行➁　Windows Server 2022DC の追加</title>
    <description>
    <![CDATA[◆Windows Server 2022DC の追加イメージ<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/2.jpg" title=""><img src="//norakura.blog.shinobi.jp/Img/1776006299/" alt="" /></a> <br />
今回は上記イメージの右側の新規DC2台を追加していきます。<br />
<br />
◆Windows Server 2022マシンにActive Directoryをインストール<br />
（WIN2022DC1、WIN2022DC2の両方で実施）<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/bf10f7bb.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776009931/" alt="" /></a> <br />
➀「サーバー マネージャー」を起動しま す。 「ダッシュボード」で「役割と機能の 追加」をクリックします。&nbsp;<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/f2f97ade.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776009954/" alt="" /></a> <br />
➁「役割と機能の追加ウィザード」が開 始し、「開始する前に」が表示されます。 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/e3f200b8.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776009981/" alt="" /></a> <br />
<br />
③「インストールの種類の選択」が表示 されます。 「役割ベースまたは機能ベースのイン ストール」を選択し、「次へ」をクリッ クします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/20df55d0.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776010018/" alt="" /></a> <br />
④ 「対象サーバーの選択」が表示されま す。 「サーバー プールからサーバーを選 択」を選択します。 「サーバー プール」で「（ホスト名）」を 選択し、「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/cb7e606f.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776010113/" alt="" /></a> <br />
⑤ 「サーバーの役割の選択」が表示され ます。 「Active Directory ドメイン サービ ス」にチェックを入れます。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/42eed37d.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776010153/" alt="" /></a> <br />
⑥「Active Directory ドメイン サービ スに必要な機能を追加しますか?」のダ イアログが表示されます。 「機能の追加」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/d491c2cb.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776010187/" alt="" /></a> <br />
<br />
⑦「サーバーの役割の選択」の画面に戻 ります。 「Active Directory ドメイン サービ ス」にチェックがついたことを確認し、 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/8_1.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776010524/" alt="" /></a> <br />
⑧「機能の選択」が表示されます。 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/d935f2d8.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776010232/" alt="" /></a> <br />
⑨「Active Directory ドメイン サービ ス」が表示されます。 「次へ」をクリックします。 <br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/f434354e.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776010273/" alt="" /></a> <br />
⑩「インストール オプションの確認」が 表示されます。 「インストール」をクリックします。<br />
以降、「インストールの進行状況」が表示さ れ、Active Directory ドメイン サー ビスのインストールが開始します。 完了するまで待機します。<br />
&nbsp;Active Directory ドメイン サービス のインストールが完了すると、「構成が 必要です。&lt;サーバー名&gt;でインストー ルが正常に完了しました。」というメッ セージが表示されます。 「閉じる」をクリックします。<br />
<br />
⑪1台目が終了したら2台目も同様の手順を行います。<br />
<br />
◆ドメインコントローラーへの昇格<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/3f7b71b2.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776010978/" alt="" /></a> <br />
<br />
➀「サーバー マネージャー」の通知アイ コンをクリックし、「このサーバーをド メイン コントローラーに昇格する」を クリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/87454d9e.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011013/" alt="" /></a> <br />
➁ 「Active Directory ドメイン サービ ス構成ウィザード」が開始し、「配置構 成」が表示されます。 「既存のドメインにドメイン コント ローラーを追加する」を選択します。 ドメインの「選択」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/967bf575.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011101/" alt="" /></a> <br />
③「Windows セキュリティ」が表示さ れます。 ドメインの管理者ユーザーの名前とパ スワードを入力します。 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/c61038d3.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011148/" alt="" /></a> <br />
④「フォレストからのドメインの選択」 が表示されます。 ドメインを選択し、「OK」をクリックし ます。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/14.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011196/" alt="" /></a> <br />
⑤ ドメイン名と資格者情報が入力されたことを確認し、「次へ」をクリックしま す。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/15.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011224/" alt="" /></a> <br />
⑥ 「ドメイン コントローラー オプショ ン」が表示されます。 「ドメイン ネーム システム (DNS) サーバー」、「グローバル カタログ (GC)」のチェックをオンにします。 「サイト名」は、リストからサイト名 を選択します。 ディレクトリサービス復元モード （DSRM）のパスワードを入力します。 すべての設定が完了したら、「次へ」を クリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/16.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011272/" alt="" /></a> <br />
⑦ 「DNS オプション」が表示されます。 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/17.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011309/" alt="" /></a> <br />
⑧「追加オプション」が表示されます。 「レプリケート元」は「任意のドメインコントローラー」を 選択します。 「次へ」をクリックします。（なお、既存のドメインコントローラーを選んだ時はエラーが発生しました）<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/18.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011411/" alt="" /></a> <br />
⑨「パス」が表示されます。 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/19.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011446/" alt="" /></a> <br />
⑩ 「準備オプション」が表示されます。 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/20.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011482/" alt="" /></a> <br />
⑪ 「オプションの確認」が表示されます。 「次へ」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/21.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011524/" alt="" /></a> <br />
⑫「前提条件のチェック」が表示されま す。 チェックが完了するまで待機します。<br />
&nbsp;チェックに問題がなければ、上記の様に「すべての 前提条件のチェックに合格しました。 [インストール] をクリックしてイン ストールを開始してください。」と表示 されます。 「インストール」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/22.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776011595/" alt="" /></a> <br />
⑬Active Directory ドメイン サービス の構成が完了すると、サーバーは自動 的に再起動します。<br />
<br />
⑭もう一台の新規DCにも同様の手順を実施します。<br />
<br />

<div>◆ 同期の確認<br />
・ コマンドプロンプトで「repadmin /replsummary」コマンドを実行します。<br />
以下、実行例。&nbsp;<br />
&nbsp;&nbsp;</div>
<div>C:\Users\Administrator.NORA&gt;repadmin /replsummary</div>
<div>レプリケーションの要約開始時刻: 2026-04-12 00:23:27</div>
<div></div>
<div><br />
レプリケーションの要約のためのデータ収集を開始します。</div>
<div>これにはしばらく時間がかかる場合があります:</div>
<div>&nbsp; .......</div>
<div></div>
<div></div>
<div><br />
ソース DSA&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 最大デルタ&nbsp; &nbsp; 失敗/合計 %%&nbsp; &nbsp;エラー</div>
<div>&nbsp;WIN2016DC1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 35m:11s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div>&nbsp;WIN2016DC2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 35m:11s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div>&nbsp;WIN2022DC1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 36m:32s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div>&nbsp;WIN2022DC2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 17m:18s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div></div>
<div></div>
<div><br />
宛先 DSA&nbsp; &nbsp; &nbsp;最大デルタ&nbsp; &nbsp; 失敗/合計 %%&nbsp; &nbsp;エラー</div>
<div>&nbsp;WIN2016DC1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 27m:15s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div>&nbsp;WIN2016DC2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 36m:35s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div>&nbsp;WIN2022DC1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 35m:14s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div>&nbsp;WIN2022DC2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 04m:05s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div></div>
<div><br />
実行結果から、「失敗/合計」の列で失敗の数 (「/」の左側の数) が0であること、「最大デルタ」</div>
<div>の列で最近複製されたことを確認します。</div>
<div></div>
<div></div>
<div></div>
<div>・ コマンドプロンプトで「net share」コマンドを実行します。<br />
以下、実行例。<br />
&nbsp;<br />
C:\Users\Administrator.NORA&gt;net share</div>
<div></div>
<div><br />
共有名&nbsp; &nbsp; &nbsp; &nbsp;リソース&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 注釈</div>
<div></div>
<div><br />
-------------------------------------------------------------------------------</div>
<div>C$&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;C:\&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Default share</div>
<div>IPC$&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Remote IPC</div>
<div>ADMIN$&nbsp; &nbsp; &nbsp; &nbsp;C:\Windows&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Remote Admin</div>
<div>NETLOGON&nbsp; &nbsp; &nbsp;C:\Windows\SYSVOL\sysvol\nora.ac.jp\SCRIPTS</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Logon server share</div>
<div>SYSVOL&nbsp; &nbsp; &nbsp; &nbsp;C:\Windows\SYSVOL\sysvol&nbsp; &nbsp; &nbsp; &nbsp; Logon server share</div>
<div>コマンドは正常に終了しました。</div>
<div></div>
<div><br />
実行結果から、「共有名」の列に「NETLOGON」と「SYSVOL」の共有が出力されることを確認</div>
<div>します。&nbsp;</div>
<div></div>
<div></div>
<div></div>
<div><br />
・Powershellで「 Get-CimInstance -Namespace "root\microsoftdfs" -ClassName "DfsrReplicatedFolderInfo"」コマンドレットを実行します。以下、実行例。<br />
</div>
<div>C:\Users\Administrator.NORA&gt; Get-CimInstance -Namespace "root\microsoftdfs" -ClassName "DfsrReplicatedFolderInfo"</div>
<div></div>
<div></div>
<div><br />
PS C:\Users\Administrator.NORA&gt; Get-CimInstance -Namespace "root\microsoftdfs" -ClassName "DfsrReplicatedFolderInfo"</div>
<div></div>
<div></div>
<div><br />
CurrentConflictSizeInMb&nbsp; : 0</div>
<div>CurrentStageSizeInMb&nbsp; &nbsp; &nbsp;: 0</div>
<div>LastConflictCleanupTime&nbsp; : 2026/04/12 0:20:39</div>
<div>LastErrorCode&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : 0</div>
<div>LastErrorMessageId&nbsp; &nbsp; &nbsp; &nbsp;: 0</div>
<div>LastTombstoneCleanupTime : 2026/04/12 0:20:39</div>
<div>MemberGuid&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: F64AD7D0-49FC-4B3C-9BE0-5657D98E8F26</div>
<div>MemberName&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: WIN2022DC2</div>
<div>ReplicatedFolderGuid&nbsp; &nbsp; &nbsp;: 6A0FF805-9A20-43F5-821A-B0FB1CB1CA1A</div>
<div>ReplicatedFolderName&nbsp; &nbsp; &nbsp;: SYSVOL Share</div>
<div>ReplicationGroupGuid&nbsp; &nbsp; &nbsp;: 88B86D7B-FB66-4630-955E-9FE5AA0A1DFE</div>
<div>ReplicationGroupName&nbsp; &nbsp; &nbsp;: Domain System Volume<br />
State&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : 4</div>
<div>PSComputerName&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:</div>
<div></div>
<div><br />
「ReplicatedFolderName : SYSVOL Share」の「State : 」が「4」となっていることを確認します。<br />
<br />
<br />
・イベントビューアーの確認。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/310d9a73.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776012050/" alt="" /></a> <br />
イベントビューアーを開き、「アプリケーションとサービス ログ」-「DFS Replication」イベン トログに、DFSRでの初期同期完了を示すID:4604のイベントが記録されていることを確認しま す。<br />
<br />
&nbsp;・「C:\Windows\SYSVOL\domain」フォルダーにテスト用のファイルを作成し、他のDCにファ イルが複製されることを確認します。&nbsp;</div>]]>
    </description>
    <category>Active Directory の移行</category>
    <link>https://norakura.blog.shinobi.jp/active%20directory%20%E3%81%AE%E7%A7%BB%E8%A1%8C/windows%20server%202016%E2%86%922022%E3%81%B8a_83</link>
    <pubDate>Sun, 12 Apr 2026 16:35:58 GMT</pubDate>
    <guid isPermaLink="false">norakura.blog.shinobi.jp://entry/83</guid>
  </item>
    <item>
    <title>Windows Server 2016→2022へAD移行➀　ドメイン移行のイメージと移行事前作業</title>
    <description>
    <![CDATA[◆既存ドメインのバージョンアップの概要<br />
ドメイン移行に伴い、リプレイスを行うことを仮定とした検証を実施します。<br />
手順のイメージは以下の様になります。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/1.jpg" title=""><img src="//norakura.blog.shinobi.jp/Img/1776006043/" alt="" /></a> <br />
➀nora.ac.jpドメインにWindows Server 2016のWIN2016DC1、WIN2016DC2という二台の既存ドメインコントローラー（以下、DC）が設置されています。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/2.jpg" title=""><img src="//norakura.blog.shinobi.jp/Img/1776006299/" alt="" /></a> <br />
➁既存ドメインにWindows Server 2022の新規DCを二台追加します。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/3.jpg" title=""><img src="//norakura.blog.shinobi.jp/Img/1776006427/" alt="" /></a> <br />
③FSMOを新規DCに転送します。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/4.jpg" title=""><img src="//norakura.blog.shinobi.jp/Img/1776006470/" alt="" /></a> <br />
④既存DCに対してメンバーサーバーへの降格、ワークグループへの変更、 ネットワークからの撤去を行います。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/5.jpg" title=""><img src="//norakura.blog.shinobi.jp/Img/1776006530/" alt="" /></a> <br />
<br />
⑤（機能レベルが&ldquo;Windows Server 2012 R2&rdquo;以前である場合） 機能レベルを&ldquo;Windows Server 2016&rdquo;に変更します。<br />
<br />
◆本検証のネットワーク設定<br />
➀WIN2016DC1<br />
OS:Windows Server 2016<br />
IP:10.0.1.11/24<br />
DNS:127.0.0.1(優先)、10.0.1.12（代替）<br />
<br />
➁WIN2016DC2<br />
OS:Windows Server 2016<br />
IP:10.0.1.12/24<br />
DNS:127.0.0.1(優先)、10.0.1.11（代替）<br />
<br />
③WIN2022DC1<br />
OS:Windows Server 2022<br />
IP:10.0.1.111/24<br />
DNS:10.0.1.11(優先)、10.0.1.12（代替）<br />
<br />
④WIN2022DC2<br />
OS:Windows Server 2022<br />
IP:10.0.1.112/24<br />
DNS:10.0.1.11(優先)、10.0.1.12（代替）<br />
<br />
③④のDNSは移行時のみの一時的な設定です。<br />
又、③④のIPアドレスに関しては最終的にそのまま使うか、既存DC➀➁と同じにするか二つのパターンについて別稿で説明します。<br />
<br />
<br />
◆移行事前作業<br />
⑴既存ドメインのDCのバックアップ<br />
問題が発生した場合に元に戻せるよう、既存のドメインのすべてのDCでバック アップを取得します。 Windows Server 2022 の DCを追加することでスキーマのバージョンアップが行われます。スキーマ バージョンも元に戻さなければならない場合に備えて、すべての DC でバックアップを取得します。 もし問題が発生し、移行作業開始前の状態に戻す必要がある場合には、すべてのDCをバックアップ からリストアします。&nbsp;<br />
<br />
⑵ 既存ドメインの確認<br />
Windows 2022 ドメインへの移行を行う前に、既存のWindows 2016ドメインが次の状態である ことを確認します。 <br />
・ ADやSYSVOLの複製が正常に行われていること <br />
・ フォレストの機能レベルが&rdquo;Windows Server 2008&rdquo;以降であること <br />
・ SYSVOLの複製方式がDFSRであること <br />
<br />
◆ADやSYSVOLの複製の確認 <br />
ADやSYSVOLの複製が正常に行われていることを確認するには、各DCで以下の確認を行います。<br />
・ 「repadmin /replsummary」コマンドを実行。<br />
以下、実行例<br />

<div style="color: #333333;">C:\Users\Administrator.NORA&gt;repadmin /replsummary</div>
<div style="color: #333333;">レプリケーションの要約開始時刻: 2026-04-11 00:00:27</div>
<div style="color: #333333;"></div>
<div style="color: #333333;"><br />
レプリケーションの要約のためのデータ収集を開始します。</div>
<div style="color: #333333;">これにはしばらく時間がかかる場合があります:</div>
<div style="color: #333333;">&nbsp; .......</div>
<div style="color: #333333;"></div>
<div style="color: #333333;"></div>
<div style="color: #333333;"><br />
ソース DSA&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 最大デルタ&nbsp; &nbsp; 失敗/合計 %%&nbsp; &nbsp;エラー</div>
<div style="color: #333333;">&nbsp;WIN2016DC1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 35m:11s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div style="color: #333333;">&nbsp;WIN2016DC2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 35m:11s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div style="color: #333333;"></div>
<div style="color: #333333;"></div>
<div style="color: #333333;"><br />
宛先 DSA&nbsp; &nbsp; &nbsp;最大デルタ&nbsp; &nbsp; 失敗/合計 %%&nbsp; &nbsp;エラー</div>
<div style="color: #333333;">&nbsp;WIN2016DC1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 27m:15s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<div style="color: #333333;">&nbsp;WIN2016DC2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 36m:35s&nbsp; &nbsp; 0 /&nbsp; 10&nbsp; &nbsp; 0</div>
<br />
実行結果から、「失敗/合計」の列で失敗の数 (「/」の左側の数) が0であること、「最大デルタ」 の列で最近複製されたことを確認します。<br />
<br />
・ 「net share」コマンドを実行。<br />
以下、実行例<br />

<div style="color: #333333;">C:\Users\Administrator.NORA&gt;net share</div>
<div style="color: #333333;"></div>
<div style="color: #333333;"><br />
共有名&nbsp; &nbsp; &nbsp; &nbsp;リソース&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 注釈</div>
<div style="color: #333333;"></div>
<div style="color: #333333;"><br />
-------------------------------------------------------------------------------</div>
<div style="color: #333333;">C$&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;C:\&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Default share</div>
<div style="color: #333333;">IPC$&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Remote IPC</div>
<div style="color: #333333;">ADMIN$&nbsp; &nbsp; &nbsp; &nbsp;C:\Windows&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Remote Admin</div>
<div style="color: #333333;">NETLOGON&nbsp; &nbsp; &nbsp;C:\Windows\SYSVOL\sysvol\nora.ac.jp\SCRIPTS</div>
<div style="color: #333333;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Logon server share</div>
<div style="color: #333333;">SYSVOL&nbsp; &nbsp; &nbsp; &nbsp;C:\Windows\SYSVOL\sysvol&nbsp; &nbsp; &nbsp; &nbsp; Logon server share</div>
<div style="color: #333333;">コマンドは正常に終了しました。</div>
<br />
<br />
実行結果から、「共有名」の列に「NETLOGON」と「SYSVOL」の共有が出力されることを確認 します。<br />
<br />
・ 「C:\Windows\SYSVOL\domain」フォルダー (もしくは、SYSVOL の複製方式を FRS から DFSR に移行した環境では、「C:\Windows\SYSVOL_DFSR\domain」フォルダー) にテスト用 のファイルを作成し、他のDCにファイルが複製されることを確認します。<br />
<br />
上記のいずれかで問題が見られる場合は、しばらく時間をあけたり、OS 再起動を行ったりした後に 再度ご確認ください。その後も問題が見られる場合は、以降の手順に進む前に複製の問題を解消します。<br />
<br />
◆ドメイン／フォレスト機能レベルの確認 <br />

<div>Windows 2022ドメインへの移行は、既存ドメインのフォレスト機能レベルが&rdquo;Windows Server 2008&rdquo;以上である必要があります。&nbsp;</div>
<div>既存のWindows 2016ドメインのドメイン機能レベル、フォレスト機能レベルが&rdquo;Windows Server 2003&rdquo;である場合は、ドメイン機能レベル、フォレスト機能レベルを&rdquo;Windows Server 2008&rdquo;以上に上げます。</div>
<div>手順は以下になります。<br />
<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/1.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776007772/" alt="" /></a> <br />
<br />
➀スタートボタンより「Windows管理ツール」＞「Active Directory ドメインと信頼関係」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/2.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776007856/" alt="" /></a> <br />
➁「Active Directory ドメインと信頼 関係」が表示されます。 「&lt;ドメイン名&gt;」で右クリックし、 「ドメインの機能レベルの昇格」をク リックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/3.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776007897/" alt="" /></a> <br />
③ 「ドメインの機能レベルの昇格」が表 示されます。 「利用可能なドメインの機能レベル を選択してください」で、「Windows Server 2008」以上を選択します。（上記は「Windows Server 2008」なので問題ないのですが、練習の為「Windows Server 2016」を 選択しています。）&nbsp;<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/4.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776007964/" alt="" /></a> <br />
④「上げる」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/5.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008016/" alt="" /></a> <br />
⑤上記メッセージが表示されます。 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/6.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008048/" alt="" /></a> <br />
⑥上記メッセージが表示されます。 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/7.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008097/" alt="" /></a> <br />
<br />
⑦再度➁を実行し、「現在のドメ インの機能レベル」が「Windows Server 2008」以上になっていること を確認します。 <br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/8.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008244/" alt="" /></a> <br />
⑧「Active Directory ドメインと信頼関係&lt;dc名&gt;」で右クリックし、「フォレストの機能レベルの昇格」を クリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/9.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008293/" alt="" /></a> <br />
⑨「フォレストの機能レベルの昇格」が 表示されます。 「利用可能なフォレストの機能レベ ルを選択してください」で、 「Windows Server 2008」以上を選択 します。（右では「Windows Server 2016」を選択しています。）&nbsp;<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/10.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008328/" alt="" /></a> <br />
⑩「上げる」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/11.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008379/" alt="" /></a> <br />
⑪上記メッセージが表示されます。 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/12.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008421/" alt="" /></a> <br />
⑫上記メッセージが表示されます。 「OK」をクリックします。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/13.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008453/" alt="" /></a> <br />
⑬ 再度、手順⑧を実行し、「現在のフォ レストの機能レベル」が「Windows Server 2008」以上になっていること を確認します。 「OK」または「キャンセル」をクリッ クします。<br />
<br />

<div></div>
<div>◆SYSVOL複製方式の確認&nbsp;</div>
<div>既存ドメインが過去にWindows 2003ドメインから移行し、SYSVOL複製方式をFRSからDFSRに変更していない場合は、既存ドメインではFRSが使用されています。&nbsp;</div>
<div>&nbsp;</div>
<div>Windows Server 2019、Windows Server 2022はFRSをサポートしていません。既存ドメインのSYSVOL複製方式がFRSである場合は、Windows 2022ドメインへの移行を行う前にFRSからDFSRに変更する必要があります。</div>
<div></div>
<div>現在のDFSR移行のグローバル状態を取得します。&nbsp;</div>
<div>管理者としてコマンドプロンプトを起動し、次のコマンドを実行します。&nbsp;</div>
<div></div>
<div>dfsrmig /GetGlobalState&nbsp;<br />
<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/dfsr.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008592/" alt="" /></a></div>
<div></div>
<div>上記の様に「削除済み」と表示された場合はすでにDFSRが使用されているため、DFSRへの移行は不要です。</div>
<br />
◆Hyper-V等仮想環境使用時の新規DC側ホストの設定<br />
　Hyper-V等の仮想環境でADを構築すると、イベントビューアーで以下の様な警告が発生することがあります。</div>
<div><a target="_blank" href="//norakura.blog.shinobi.jp/File/01274aa4.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776008807/" alt="" /></a> <br />
<br />
　上記警告はホストの物理マシンのHDDがSATAで、仮想マシンの仮想HDDもSATAで、デバイスの書き込みキャッシュが有効だと発生します。以下の様にデバイスマネージャーの仮想ディスクから確認できます。<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/7ba9b60f.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776009020/" alt="" /></a> <br />
「デバイスマネージャー」＞「ディスク　ドライブ」＞「（ディスク名）」を右クリックし、「プロパティ」<br />
<a target="_blank" href="//norakura.blog.shinobi.jp/File/54fa4113.png" title=""><img src="//norakura.blog.shinobi.jp/Img/1776009132/" alt="" /></a> <br />
「ポリシー」タブで「デバイスの書き込みキャッシュを有効にする」のチェックを外し、「OK」をクリックすれば、デバイスの書き込みキャッシュが無効になります。</div>
<div>ただし、この操作は仮想マシン上ではエラーになるので、ホストの物理マシン上で行います。<br />
<br />
既存環境の場合は上記操作は事前に検討が必要ですが、新規の物理ホストでSATAの使用せざるを得ない場合や、仮想マシンインストール用の物理ディスクを分割されている場合等は、上記キャッシュを無効にするのが望ましいかもしれません。</div>]]>
    </description>
    <category>Active Directory の移行</category>
    <link>https://norakura.blog.shinobi.jp/active%20directory%20%E3%81%AE%E7%A7%BB%E8%A1%8C/windows%20server%202016%E2%86%922022%E3%81%B8a</link>
    <pubDate>Sun, 12 Apr 2026 15:00:14 GMT</pubDate>
    <guid isPermaLink="false">norakura.blog.shinobi.jp://entry/82</guid>
  </item>
    <item>
    <title>Pacemaker④　DRBD</title>
    <description>
    <![CDATA[<div>今回は<a href="https://clusterlabs.org/projects/pacemaker/doc/3.0/Clusters_from_Scratch/html/shared-storage.html" title="" target="_blank">Pacemakerの公式サイト</a>を参考にDRBDを用いたストレージの複製を行います。</div>
<div><br />
<br />
◆ DRBDパッケージをインストールします。</div>
<div>[root@pcmk-1 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org</div>
<div>[root@pcmk-1 ~]# dnf install -y https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm</div>
<div>[root@pcmk-1 ~]# dnf install -y kmod-drbd9x drbd9x-utils</div>
<div>[root@pcmk-1 ~]# dnf install -y policycoreutils-python-utils</div>
<div></div>
<div><br />
DRBDはデフォルトのSELinuxセキュリティポリシーでは動作できません。ここでは単純にDRBDプロセスをSELinuxから除外します。</div>
<div>[root@pcmk-1 ~]# semanage permissive -a drbd_t</div>
<div></div>
<div><br />
別ノード（pcmk-2）もここまでのインストール及び設定を行います。同じなので内容は省略します。</div>
<div></div>
<div>DRBDはポート7789を使用するように設定しますので、各ホストからはそのポートを許可します。</div>
<div>[root@pcmk-1 ~]# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" \</div>
<div>source address="10.0.1.102" port port="7789" protocol="tcp" accept'</div>
<div>success</div>
<div>[root@pcmk-1 ~]# firewall-cmd --reload</div>
<div>success</div>
<div></div>
<div>[root@pcmk-2 ~]# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" \</div>
<div>source address="10.0.1.101" port port="7789" protocol="tcp" accept'</div>
<div>success</div>
<div>[root@pcmk-2 ~]# firewall-cmd --reload</div>
<div>success</div>
<div></div>
<div><br />
◆DRBD用のディスクボリュームを割り当てる</div>
<div>DRBDは各ノードに独自のブロックデバイスが必要です。これは物理ディスクパーティションや論理ボリューム次のようになります。</div>
<div>公式ドキュメントによれば、512MiBの論理ボリュームを使用しますが、これは単一のHTMLファイルとGFS2メタデータには十分すぎるほどだそうです。</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# vgs</div>
<div>&nbsp; VG&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #PV #LV #SN Attr&nbsp; &nbsp;VSize&nbsp; VFree</div>
<div>&nbsp; almalinux_basic&nbsp; &nbsp;2&nbsp; &nbsp;2&nbsp; &nbsp;0 wz--n- 19.99g 1020.00m</div>
<div>[root@pcmk-1 ~]# lvcreate --name drbd-demo --size 512M almalinux_basic</div>
<div>&nbsp; Logical volume "drbd-demo" created.</div>
<div>[root@pcmk-1 ~]# lvs</div>
<div>&nbsp; LV&nbsp; &nbsp; &nbsp; &nbsp; VG&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Attr&nbsp; &nbsp; &nbsp; &nbsp;LSize&nbsp; &nbsp;Pool Origin Data%&nbsp; Meta%&nbsp; Move Log Cpy%Sync Convert</div>
<div>&nbsp; drbd-demo almalinux_basic -wi-a----- 512.00m&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp; root&nbsp; &nbsp; &nbsp; almalinux_basic -wi-ao---- &lt;17.00g&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp; swap&nbsp; &nbsp; &nbsp; almalinux_basic -wi-ao----&nbsp; &nbsp;2.00g</div>
<div><br />
＊余談ですが本来、VGの「almalinux_basic」の部分はインストール時のhostnameが正しいのですが、今回は雛型マシン「almalinux_basic」をVirtualBOXのコピー機能で複製した仮想マシンの為 、VGがそのまま残っています。本来のVGは「pcmk-1」となり、次に行うノード、pcmk-2のVGは「pcmk-2」となりますが、以下の例も同じ雛型マシンからコピーした為、VGが同じ「almalinux_basic」になっています。VGの名前を変更するとマシンが起動しなくなったため、止むを得ずそのまま使っていますが、VGが別ノードと重なっても正常に動作確認出来た為、VGはそのまま使用します。</div>
<div><br />
同じサイズで2つ目のノードを繰り返します</div>
<div>[root@pcmk-1 ~]# ssh pcmk-2 -- lvcreate --name drbd-demo --size 512M almalinux_basic</div>
<div>&nbsp; Logical volume "drbd-demo" created.</div>
<div></div>
<div><br />
念の為に2つ目のノードで確認</div>
<div>[root@pcmk-2 ~]# lvs</div>
<div>&nbsp; LV&nbsp; &nbsp; &nbsp; &nbsp; VG&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Attr&nbsp; &nbsp; &nbsp; &nbsp;LSize&nbsp; &nbsp;Pool Origin Data%&nbsp; Meta%&nbsp; Move Log Cpy%Sync Convert</div>
<div>&nbsp; drbd-demo almalinux_basic -wi-a----- 512.00m&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp; root&nbsp; &nbsp; &nbsp; almalinux_basic -wi-ao---- &lt;17.00g&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp; swap&nbsp; &nbsp; &nbsp; almalinux_basic -wi-ao----&nbsp; &nbsp;2.00g</div>
<div></div>
<div></div>
<div><br />
◆DRBDの設定</div>
<div>DRBD構成を構築するための一連のコマンドは存在しないため、単純に 両方のノードでこのサンプル構成を実行します。</div>
<div>[root@pcmk-1 ~]#cat &lt;&lt;END &gt;/etc/drbd.d/wwwdata.res</div>
<div>resource "wwwdata" {</div>
<div>&nbsp; device minor 1;</div>
<div>&nbsp; meta-disk internal;</div>
<div></div>
<div><br />
&nbsp; net {</div>
<div>&nbsp; &nbsp; protocol C;</div>
<div>&nbsp; &nbsp; allow-two-primaries yes;</div>
<div>&nbsp; &nbsp; fencing resource-and-stonith;</div>
<div>&nbsp; &nbsp; verify-alg sha1;</div>
<div>&nbsp; }</div>
<div>&nbsp; handlers {</div>
<div>&nbsp; &nbsp; fence-peer "/usr/lib/drbd/crm-fence-peer.9.sh";</div>
<div>&nbsp; &nbsp; unfence-peer "/usr/lib/drbd/crm-unfence-peer.9.sh";</div>
<div>&nbsp; }</div>
<div>&nbsp; on "pcmk-1" {</div>
<div>&nbsp; &nbsp; disk "/dev/almalinux_basic/drbd-demo";</div>
<div>&nbsp; &nbsp; node-id 0;</div>
<div>&nbsp; }</div>
<div>&nbsp; on "pcmk-2" {</div>
<div>&nbsp; &nbsp; disk "/dev/almalinux_basic/drbd-demo";</div>
<div>&nbsp; &nbsp; node-id 1;</div>
<div>&nbsp; }</div>
<div>&nbsp; connection {</div>
<div>&nbsp; &nbsp; host "pcmk-1" address 10.0.1.101:7789;</div>
<div>&nbsp; &nbsp; host "pcmk-2" address 10.0.1.102:7789;</div>
<div>&nbsp; }</div>
<div>}</div>
<div>END</div>
<div></div>
<div><br />
別ノード（pcmk-2）も上記と同じファイルを作成します。</div>
<div></div>
<div></div>
<div><br />
◆DRBDの初期化</div>
<div>設定が整ったことで、DRBDを稼働させることができます。</div>
<div>これらのコマンドはDRBDリソースのローカルメタデータを作成します。 DRBDカーネルモジュールが読み込まれていることを確認し、DRBDリソースを呼び出します。 1つのノードで実行します。</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# drbdadm create-md wwwdata</div>
<div>initializing activity log</div>
<div>initializing bitmap (16 KB) to all zero</div>
<div>Writing meta data...</div>
<div>New drbd meta data block successfully created.</div>
<div>[root@pcmk-1 ~]# modprobe drbd</div>
<div>[root@pcmk-1 ~]# drbdadm up wwwdata</div>
<div></div>
<div></div>
<div><br />
&nbsp; --==&nbsp; Thank you for participating in the global usage survey&nbsp; ==--</div>
<div>The server's response is:</div>
<div></div>
<div><br />
you are the 3769th user to install this version</div>
<div></div>
<div><br />
このノードでのDRBDの状況を確認します。</div>
<div>[root@pcmk-1 ~]# drbdadm status</div>
<div>wwwdata role:Secondary</div>
<div>&nbsp; disk:Inconsistent open:no</div>
<div>&nbsp; pcmk-2 connection:Connecting</div>
<div></div>
<div><br />
別ノード（pcmk-2）も同様の操作を行います。</div>
<div>[root@pcmk-2 ~]# drbdadm create-md wwwdata</div>
<div></div>
<div><br />
&nbsp; --==&nbsp; Thank you for participating in the global usage survey&nbsp; ==--</div>
<div>The server's response is:</div>
<div><br />
[root@pcmk-2 ~]# modprobe drbd</div>
<div>[root@pcmk-2 ~]# drbdadm up wwwdata</div>
<div>結果が表示されない？</div>
<div></div>
<div><br />
再びpcmk-1でDRBDの状況を確認すると、2つのDRBDノードが正しく通信していることが確認出来ます。</div>
<div>[root@pcmk-1 ~]# drbdadm status</div>
<div>wwwdata role:Secondary</div>
<div>&nbsp; disk:Inconsistent open:no</div>
<div>&nbsp; pcmk-2 role:Secondary</div>
<div>&nbsp; &nbsp; peer-disk:Inconsistent</div>
<div></div>
<div><br />
データの整合性を保つために、DRBDにどのノードを指定すべきかを伝える必要があります。</div>
<div>pcmk-1からみてwwwdata role:Secondaryに成っている為、このノードをPrimaryにするには以下のコマンドを実行します。</div>
<div>[root@pcmk-1 ~]# drbdadm primary --force wwwdata</div>
<div></div>
<div><br />
暫くして状況を確認すると以下の様に表示されます。</div>
<div>[root@pcmk-1 ~]# drbdadm status</div>
<div>wwwdata role:Primary</div>
<div>&nbsp; disk:UpToDate open:no</div>
<div>&nbsp; pcmk-2 role:Secondary</div>
<div>&nbsp; &nbsp; peer-disk:UpToDate</div>
<div></div>
<div><br />
別ノードから確認すると以下の様になります。</div>
<div>[root@pcmk-2 ~]# drbdadm status</div>
<div>wwwdata role:Secondary</div>
<div>&nbsp; disk:UpToDate open:no</div>
<div>&nbsp; pcmk-1 role:Primary</div>
<div>&nbsp; &nbsp; peer-disk:UpToDate</div>
<div><br />

<div>最終的には以下の表示になります</div>
<div>[root@pcmk-1 ~]# drbdadm status</div>
<div>wwwdata role:Primary</div>
<div>&nbsp; disk:UpToDate open:no</div>
<div>&nbsp; pcmk-2 role:Secondary</div>
<div>&nbsp; &nbsp; peer-disk:UpToDate</div>
<div><br />
<br />
</div>
<div>[root@pcmk-2 ~]# drbdadm status</div>
<div>wwwdata role:Secondary</div>
<div>&nbsp; disk:UpToDate open:no</div>
<div>&nbsp; pcmk-1 role:Primary</div>
<div>&nbsp; &nbsp; peer-disk:UpToDate</div>
</div>
<div><br />
<br />
◆DRBDディスクの入力</div>
<div>プライマリの役割を持つノード（pcmk-1）上のDRBDデバイス上でファイルシステムを作成します。</div>
<div>[root@pcmk-1 ~]# mkfs.xfs /dev/drbd1</div>
<div>meta-data=/dev/drbd1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;isize=512&nbsp; &nbsp; agcount=4, agsize=32765 blks</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sectsz=512&nbsp; &nbsp;attr=2, projid32bit=1</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;crc=1&nbsp; &nbsp; &nbsp; &nbsp; finobt=1, sparse=1, rmapbt=0</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;reflink=1&nbsp; &nbsp; bigtime=1 inobtcount=1 nrext64=0</div>
<div>data&nbsp; &nbsp; &nbsp;=&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bsize=4096&nbsp; &nbsp;blocks=131059, imaxpct=25</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sunit=0&nbsp; &nbsp; &nbsp; swidth=0 blks</div>
<div>naming&nbsp; &nbsp;=version 2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bsize=4096&nbsp; &nbsp;ascii-ci=0, ftype=1</div>
<div>log&nbsp; &nbsp; &nbsp; =internal log&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bsize=4096&nbsp; &nbsp;blocks=16384, version=2</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sectsz=512&nbsp; &nbsp;sunit=0 blks, lazy-count=1</div>
<div>realtime =none&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;extsz=4096&nbsp; &nbsp;blocks=0, rtextents=0</div>
<div></div>
<div></div>
<div><br />
[root@pcmk-1 ~]# mount /dev/drbd1 /mnt</div>
<div></div>
<div><br />
念の為に正常にマウントが行われたのか確認します。</div>
<div>[root@pcmk-1 ~]# df -h</div>
<div>ファイルシス&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;サイズ&nbsp; 使用&nbsp; 残り 使用% マウント位置</div>
<div>devtmpfs&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4.0M&nbsp; &nbsp; &nbsp;0&nbsp; 4.0M&nbsp; &nbsp; 0% /dev</div>
<div>tmpfs&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 854M&nbsp; &nbsp;33M&nbsp; 822M&nbsp; &nbsp; 4% /dev/shm</div>
<div>tmpfs&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 342M&nbsp; 5.4M&nbsp; 337M&nbsp; &nbsp; 2% /run</div>
<div>/dev/mapper/almalinux_basic-root&nbsp; &nbsp; 17G&nbsp; 5.1G&nbsp; &nbsp;12G&nbsp; &nbsp;30% /</div>
<div>/dev/sda1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 960M&nbsp; 389M&nbsp; 572M&nbsp; &nbsp;41% /boot</div>
<div>tmpfs&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 171M&nbsp; &nbsp;52K&nbsp; 171M&nbsp; &nbsp; 1% /run/user/42</div>
<div>tmpfs&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 171M&nbsp; &nbsp;36K&nbsp; 171M&nbsp; &nbsp; 1% /run/user/0</div>
<div>/dev/drbd1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;448M&nbsp; &nbsp;29M&nbsp; 419M&nbsp; &nbsp; 7% /mnt</div>
<div></div>
<div><br />
新規作成したファイルシステムのマウントを確認出来たらウェブドキュメントを埋め込みます・</div>
<div>[root@pcmk-1 ~]# cat &lt;&lt;-END &gt;/mnt/index.html</div>
<div>&nbsp;&lt;html&gt;</div>
<div>&nbsp; &lt;body&gt;My Test Site - DRBD&lt;/body&gt;</div>
<div>&nbsp;&lt;/html&gt;</div>
<div>END</div>
<div><br />
[root@pcmk-1 ~]# cat /mnt/index.html</div>
<div>&nbsp;&lt;html&gt;</div>
<div>&nbsp; &lt;body&gt;My Test Site - DRBD&lt;/body&gt;</div>
<div>&nbsp;&lt;/html&gt;</div>
<div></div>
<div><br />
ウェブドキュメントのルートと同じSELinuxポリシーを適用後、アンマウントします。</div>
<div>[root@pcmk-1 ~]# chcon -R --reference=/var/www/html /mnt</div>
<div>[root@pcmk-1 ~]# umount /dev/drbd1</div>
<div></div>
<div><br />
◆DRBDデバイス用クラスタの設定</div>
<div>便利な機能の一つは、複数の変更をキューに入れられることです。ファイルに変更をまとめてコミットします。これを行うには、まずCIBの現在の生のXML設定でファイルに入力します。</div>
<div>[root@pcmk-1 ~]# pcs cluster cib drbd_cfg</div>
<div></div>
<div><br />
DRBDデバイス用のクラスタリソースを作成し、両方のノードで同時にリソースを実行できるように追加のクローンリソースを作成します。</div>
<div>[root@pcmk-1 ~]# pcs -f drbd_cfg resource create WebData ocf:linbit:drbd \</div>
<div>&nbsp; &nbsp; &nbsp;drbd_resource=wwwdata op monitor interval=29s role=Promoted \</div>
<div>&nbsp; &nbsp; &nbsp;monitor interval=31s role=Unpromoted</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs -f drbd_cfg resource promotable WebData \</div>
<div>&nbsp; &nbsp; &nbsp;promoted-max=1 promoted-node-max=1 clone-max=2 clone-node-max=1 \</div>
<div>&nbsp; &nbsp; &nbsp;notify=true</div>
<div>Deprecation Warning: configuring meta attributes without specifying the 'meta' keyword is deprecated and will be removed in a future release</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs resource status</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-1</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-1</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs resource config</div>
<div>Resource: ClusterIP (class=ocf provider=heartbeat type=IPaddr2)</div>
<div>&nbsp; Attributes: ClusterIP-instance_attributes</div>
<div>&nbsp; &nbsp; cidr_netmask=24</div>
<div>&nbsp; &nbsp; ip=10.0.1.103</div>
<div>&nbsp; Operations:</div>
<div>&nbsp; &nbsp; monitor: ClusterIP-monitor-interval-30s</div>
<div>&nbsp; &nbsp; &nbsp; interval=30s</div>
<div>&nbsp; &nbsp; start: ClusterIP-start-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=20s</div>
<div>&nbsp; &nbsp; stop: ClusterIP-stop-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=20s</div>
<div>Resource: WebSite (class=ocf provider=heartbeat type=apache)</div>
<div>&nbsp; Attributes: WebSite-instance_attributes</div>
<div>&nbsp; &nbsp; configfile=/etc/httpd/conf/httpd.conf</div>
<div>&nbsp; &nbsp; statusurl=http://localhost/server-status</div>
<div>&nbsp; Operations:</div>
<div>&nbsp; &nbsp; monitor: WebSite-monitor-interval-1min</div>
<div>&nbsp; &nbsp; &nbsp; interval=1min</div>
<div>&nbsp; &nbsp; start: WebSite-start-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=40s</div>
<div>&nbsp; &nbsp; stop: WebSite-stop-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=60s</div>
<div></div>
<div><br />
すべての変更に納得したら、コミットできます。ファイルをライブCIBにプッシュすることで、すべて一度に処理します。</div>
<div>[root@pcmk-1 ~]# pcs cluster cib-push drbd_cfg --config</div>
<div>CIB updated</div>
<div></div>
<div><br />
なお、以下のように上記のアップデートを一度で行うこともできます。</div>
<div># pcs resource create WebData ocf:linbit:drbd \</div>
<div>&nbsp; &nbsp; drbd_resource=wwwdata op monitor interval=29s role=Promoted \</div>
<div>&nbsp; &nbsp; monitor interval=31s role=Unpromoted \</div>
<div>&nbsp; &nbsp; promotable promoted-max=1 promoted-node-max=1 clone-max=2&nbsp; \</div>
<div>&nbsp; &nbsp; clone-node-max=1 notify=true</div>
<div></div>
<div><br />
クラスターが新しい構成で何をしたのか見てみます。</div>
<div>[root@pcmk-1 ~]# pcs resource status</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-1</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-1</div>
<div>&nbsp; * Clone Set: WebData-clone [WebData] (promotable):</div>
<div>&nbsp; &nbsp; * Promoted: [ pcmk-1 ]</div>
<div>&nbsp; &nbsp; * Unpromoted: [ pcmk-2 ]</div>
<div></div>
<div><br />
&nbsp;DRBDのデバイスがPromoted: [ pcmk-1 ]がプライマリ、Unpromoted: [ pcmk-2 ]がセカンダリとして動作している事が分かります。</div>
<div></div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs resource config</div>
<div>Resource: ClusterIP (class=ocf provider=heartbeat type=IPaddr2)</div>
<div>&nbsp; Attributes: ClusterIP-instance_attributes</div>
<div>&nbsp; &nbsp; cidr_netmask=24</div>
<div>&nbsp; &nbsp; ip=10.0.1.103</div>
<div>&nbsp; Operations:</div>
<div>&nbsp; &nbsp; monitor: ClusterIP-monitor-interval-30s</div>
<div>&nbsp; &nbsp; &nbsp; interval=30s</div>
<div>&nbsp; &nbsp; start: ClusterIP-start-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=20s</div>
<div>&nbsp; &nbsp; stop: ClusterIP-stop-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=20s</div>
<div>Resource: WebSite (class=ocf provider=heartbeat type=apache)</div>
<div>&nbsp; Attributes: WebSite-instance_attributes</div>
<div>&nbsp; &nbsp; configfile=/etc/httpd/conf/httpd.conf</div>
<div>&nbsp; &nbsp; statusurl=http://localhost/server-status</div>
<div>&nbsp; Operations:</div>
<div>&nbsp; &nbsp; monitor: WebSite-monitor-interval-1min</div>
<div>&nbsp; &nbsp; &nbsp; interval=1min</div>
<div>&nbsp; &nbsp; start: WebSite-start-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=40s</div>
<div>&nbsp; &nbsp; stop: WebSite-stop-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=60s</div>
<div>Clone: WebData-clone</div>
<div>&nbsp; Meta Attributes: WebData-clone-meta_attributes</div>
<div>&nbsp; &nbsp; clone-max=2</div>
<div>&nbsp; &nbsp; clone-node-max=1</div>
<div>&nbsp; &nbsp; notify=true</div>
<div>&nbsp; &nbsp; promotable=true</div>
<div>&nbsp; &nbsp; promoted-max=1</div>
<div>&nbsp; &nbsp; promoted-node-max=1</div>
<div>&nbsp; Resource: WebData (class=ocf provider=linbit type=drbd)</div>
<div>&nbsp; &nbsp; Attributes: WebData-instance_attributes</div>
<div>&nbsp; &nbsp; &nbsp; drbd_resource=wwwdata</div>
<div>&nbsp; &nbsp; Operations:</div>
<div>&nbsp; &nbsp; &nbsp; demote: WebData-demote-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=90</div>
<div>&nbsp; &nbsp; &nbsp; monitor: WebData-monitor-interval-29s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=29s role=Promoted</div>
<div>&nbsp; &nbsp; &nbsp; monitor: WebData-monitor-interval-31s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=31s role=Unpromoted</div>
<div>&nbsp; &nbsp; &nbsp; notify: WebData-notify-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=90</div>
<div>&nbsp; &nbsp; &nbsp; promote: WebData-promote-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=90</div>
<div>&nbsp; &nbsp; &nbsp; reload: WebData-reload-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=30</div>
<div>&nbsp; &nbsp; &nbsp; start: WebData-start-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=240</div>
<div>&nbsp; &nbsp; &nbsp; stop: WebData-stop-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=100</div>
<div></div>
<div><br />
◆ファイルシステム用クラスタの設定</div>
<div>動作するDRBDデバイスができたので、そのファイルシステムをマウントする必要があります。</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs cluster cib fs_cfg</div>
<div>[root@pcmk-1 ~]# pcs -f fs_cfg resource create WebFS Filesystem \</div>
<div>&nbsp; &nbsp; device="/dev/drbd1" directory="/var/www/html" fstype="xfs"</div>
<div>Assumed agent name 'ocf:heartbeat:Filesystem' (deduced from 'Filesystem')</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs -f fs_cfg constraint colocation add \</div>
<div>&nbsp; &nbsp; WebFS with Promoted WebData-clone</div>
<div><br />
[root@pcmk-1 ~]# pcs -f fs_cfg constraint order \</div>
<div>&nbsp; &nbsp; promote WebData-clone then start WebFS</div>
<div>Adding WebData-clone WebFS (kind: Mandatory) (Options: first-action=promote then-action=start)</div>
<div></div>
<div><br />
また、Apacheも同じ環境で動かす必要があるとクラスターに伝える必要があります。Apacheが開始する前に、マシンがファイルシステムとして機能しなければなりません。</div>
<div>[root@pcmk-1 ~]# pcs -f fs_cfg constraint colocation add WebSite with WebFS</div>
<div>[root@pcmk-1 ~]# pcs -f fs_cfg constraint order WebFS then WebSite</div>
<div>Adding WebFS WebSite (kind: Mandatory) (Options: first-action=start then-action=start)</div>
<div></div>
<div><br />
更新された設定を確認します。</div>
<div>[root@pcmk-1 ~]# pcs -f fs_cfg constraint</div>
<div>Location Constraints:</div>
<div>&nbsp; resource 'WebSite' prefers node 'pcmk-2' with score 50</div>
<div>Colocation Constraints:</div>
<div>&nbsp; resource 'WebSite' with resource 'ClusterIP'</div>
<div>&nbsp; &nbsp; score=INFINITY</div>
<div>&nbsp; Started resource 'WebFS' with Promoted resource 'WebData-clone'</div>
<div>&nbsp; &nbsp; score=INFINITY</div>
<div>&nbsp; resource 'WebSite' with resource 'WebFS'</div>
<div>&nbsp; &nbsp; score=INFINITY</div>
<div>Order Constraints:</div>
<div>&nbsp; start resource 'ClusterIP' then start resource 'WebSite'</div>
<div>&nbsp; promote resource 'WebData-clone' then start resource 'WebFS'</div>
<div>&nbsp; start resource 'WebFS' then start resource 'WebSite'</div>
<div></div>
<div><br />
新しい設定を確認した後、アップロードして、クラスターがそれを実行します。</div>
<div>[root@pcmk-1 ~]# pcs cluster cib-push fs_cfg --config</div>
<div>CIB updated</div>
<div>[root@pcmk-1 ~]# pcs resource status</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-1</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-1</div>
<div>&nbsp; * Clone Set: WebData-clone [WebData] (promotable):</div>
<div>&nbsp; &nbsp; * Promoted: [ pcmk-1 ]</div>
<div>&nbsp; &nbsp; * Unpromoted: [ pcmk-2 ]</div>
<div>&nbsp; * WebFS&nbsp; &nbsp; &nbsp; &nbsp;(ocf:heartbeat:Filesystem):&nbsp; &nbsp; &nbsp; Started pcmk-1</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs resource config</div>
<div>Resource: ClusterIP (class=ocf provider=heartbeat type=IPaddr2)</div>
<div>&nbsp; Attributes: ClusterIP-instance_attributes</div>
<div>&nbsp; &nbsp; cidr_netmask=24</div>
<div>&nbsp; &nbsp; ip=10.0.1.103</div>
<div>&nbsp; Operations:</div>
<div>&nbsp; &nbsp; monitor: ClusterIP-monitor-interval-30s</div>
<div>&nbsp; &nbsp; &nbsp; interval=30s</div>
<div>&nbsp; &nbsp; start: ClusterIP-start-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=20s</div>
<div>&nbsp; &nbsp; stop: ClusterIP-stop-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=20s</div>
<div>Resource: WebSite (class=ocf provider=heartbeat type=apache)</div>
<div>&nbsp; Attributes: WebSite-instance_attributes</div>
<div>&nbsp; &nbsp; configfile=/etc/httpd/conf/httpd.conf</div>
<div>&nbsp; &nbsp; statusurl=http://localhost/server-status</div>
<div>&nbsp; Operations:</div>
<div>&nbsp; &nbsp; monitor: WebSite-monitor-interval-1min</div>
<div>&nbsp; &nbsp; &nbsp; interval=1min</div>
<div>&nbsp; &nbsp; start: WebSite-start-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=40s</div>
<div>&nbsp; &nbsp; stop: WebSite-stop-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=60s</div>
<div>Resource: WebFS (class=ocf provider=heartbeat type=Filesystem)</div>
<div>&nbsp; Attributes: WebFS-instance_attributes</div>
<div>&nbsp; &nbsp; device=/dev/drbd1</div>
<div>&nbsp; &nbsp; directory=/var/www/html</div>
<div>&nbsp; &nbsp; fstype=xfs</div>
<div>&nbsp; Operations:</div>
<div>&nbsp; &nbsp; monitor: WebFS-monitor-interval-20s</div>
<div>&nbsp; &nbsp; &nbsp; interval=20s timeout=40s</div>
<div>&nbsp; &nbsp; start: WebFS-start-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=60s</div>
<div>&nbsp; &nbsp; stop: WebFS-stop-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; interval=0s timeout=60s</div>
<div>Clone: WebData-clone</div>
<div>&nbsp; Meta Attributes: WebData-clone-meta_attributes</div>
<div>&nbsp; &nbsp; clone-max=2</div>
<div>&nbsp; &nbsp; clone-node-max=1</div>
<div>&nbsp; &nbsp; notify=true</div>
<div>&nbsp; &nbsp; promotable=true</div>
<div>&nbsp; &nbsp; promoted-max=1</div>
<div>&nbsp; &nbsp; promoted-node-max=1</div>
<div>&nbsp; Resource: WebData (class=ocf provider=linbit type=drbd)</div>
<div>&nbsp; &nbsp; Attributes: WebData-instance_attributes</div>
<div>&nbsp; &nbsp; &nbsp; drbd_resource=wwwdata</div>
<div>&nbsp; &nbsp; Operations:</div>
<div>&nbsp; &nbsp; &nbsp; demote: WebData-demote-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=90</div>
<div>&nbsp; &nbsp; &nbsp; monitor: WebData-monitor-interval-29s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=29s role=Promoted</div>
<div>&nbsp; &nbsp; &nbsp; monitor: WebData-monitor-interval-31s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=31s role=Unpromoted</div>
<div>&nbsp; &nbsp; &nbsp; notify: WebData-notify-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=90</div>
<div>&nbsp; &nbsp; &nbsp; promote: WebData-promote-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=90</div>
<div>&nbsp; &nbsp; &nbsp; reload: WebData-reload-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=30</div>
<div>&nbsp; &nbsp; &nbsp; start: WebData-start-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=240</div>
<div>&nbsp; &nbsp; &nbsp; stop: WebData-stop-interval-0s</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; interval=0s timeout=100</div>
<div></div>
<div><br />
◆クラスターフェイルオーバーのテスト</div>
<div>クラスターのサービスをstopしてテストしていましたが別のサービスも稼働している為、ノード故障を安全にシミュレートするにはstandbyを実行します。</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs node standby pcmk-1</div>
<div>[root@pcmk-1 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div></div>
<div><br />
WARNINGS:</div>
<div>warning: Support for the Master role is deprecated and will be removed in a future release. Use Promoted instead.</div>
<div>Warnings found during check: config not valid</div>
<div></div>
<div><br />
Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-2 (version 2.1.10-1.1.el9_7-5693eaeee) - partition with quorum</div>
<div>&nbsp; * Last updated: Sat Apr&nbsp; 4 18:53:17 2026 on pcmk-1</div>
<div>&nbsp; * Last change:&nbsp; Sat Apr&nbsp; 4 18:53:13 2026 by root via root on pcmk-2</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 5 resource instances configured</div>
<div></div>
<div><br />
Node List:</div>
<div>&nbsp; * Node pcmk-1: standby</div>
<div>&nbsp; * Online: [ pcmk-2 ]</div>
<div></div>
<div><br />
Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-2</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-2</div>
<div>&nbsp; * Clone Set: WebData-clone [WebData] (promotable):</div>
<div>&nbsp; &nbsp; * Promoted: [ pcmk-2 ]</div>
<div>&nbsp; &nbsp; * Stopped: [ pcmk-1 ]</div>
<div>&nbsp; * WebFS&nbsp; &nbsp; &nbsp; &nbsp;(ocf:heartbeat:Filesystem):&nbsp; &nbsp; &nbsp; Started pcmk-2</div>
<div></div>
<div><br />
Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled</div>
<div></div>
<div><br />
リソースが全てpcmk-2に移動したことを確認出来たので、ノードのスタンバイ状態を戻します。</div>
<div>[root@pcmk-1 ~]# pcs node unstandby pcmk-1</div>
<div>[root@pcmk-1 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div>Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-2 (version 2.1.10-1.1.el9_7-5693eaeee) - partition with quorum</div>
<div>&nbsp; * Last updated: Sat Apr&nbsp; 4 18:56:06 2026 on pcmk-1</div>
<div>&nbsp; * Last change:&nbsp; Sat Apr&nbsp; 4 18:56:04 2026 by root via root on pcmk-2</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 5 resource instances configured</div>
<div></div>
<div><br />
Node List:</div>
<div>&nbsp; * Online: [ pcmk-1 pcmk-2 ]</div>
<div></div>
<div><br />
Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-2</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-2</div>
<div>&nbsp; * Clone Set: WebData-clone [WebData] (promotable):</div>
<div>&nbsp; &nbsp; * Promoted: [ pcmk-2 ]</div>
<div>&nbsp; &nbsp; * Unpromoted: [ pcmk-1 ]</div>
<div>&nbsp; * WebFS&nbsp; &nbsp; &nbsp; &nbsp;(ocf:heartbeat:Filesystem):&nbsp; &nbsp; &nbsp; Started pcmk-2</div>
<div></div>
<div><br />
Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled</div>
<div></div>
<div></div>
<div><br />
クラスターは以前行ったリソースの固定設定のため、そのままになります。</div>
<div>pcmk-1にリソースを戻すにはpcmk-2も同様に一旦スタンバイ状態にします。</div>
<div>[root@pcmk-1 ~]# pcs node standby pcmk-2</div>
<div></div>
<div><br />
暫く経ってから確認すると以下の状態になります。</div>
<div>[root@pcmk-1 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div></div>
<div><br />
WARNINGS:</div>
<div>warning: Support for the Master role is deprecated and will be removed in a future release. Use Promoted instead.</div>
<div>Warnings found during check: config not valid</div>
<div></div>
<div><br />
Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-2 (version 2.1.10-1.1.el9_7-5693eaeee) - partition with quorum</div>
<div>&nbsp; * Last updated: Sat Apr&nbsp; 4 19:00:07 2026 on pcmk-1</div>
<div>&nbsp; * Last change:&nbsp; Sat Apr&nbsp; 4 18:59:42 2026 by root via root on pcmk-1</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 5 resource instances configured</div>
<div></div>
<div><br />
Node List:</div>
<div>&nbsp; * Node pcmk-2: standby</div>
<div>&nbsp; * Online: [ pcmk-1 ]</div>
<div></div>
<div><br />
Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-1</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-1</div>
<div>&nbsp; * Clone Set: WebData-clone [WebData] (promotable):</div>
<div>&nbsp; &nbsp; * Promoted: [ pcmk-1 ]</div>
<div>&nbsp; &nbsp; * Stopped: [ pcmk-2 ]</div>
<div>&nbsp; * WebFS&nbsp; &nbsp; &nbsp; &nbsp;(ocf:heartbeat:Filesystem):&nbsp; &nbsp; &nbsp; Started pcmk-1</div>
<div></div>
<div><br />
Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled</div>
<div></div>
<div><br />
pcmk-1にリソースが移動したことを確認後、pcmk-2のスタンバイを解除します。</div>
<div>[root@pcmk-1 ~]# pcs node unstandby pcmk-2</div>
<div></div>
<div><br />
暫く経った後、正常稼働を確認します。</div>
<div>[root@pcmk-1 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div>Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-2 (version 2.1.10-1.1.el9_7-5693eaeee) - partition with quorum</div>
<div>&nbsp; * Last updated: Sat Apr&nbsp; 4 19:03:18 2026 on pcmk-1</div>
<div>&nbsp; * Last change:&nbsp; Sat Apr&nbsp; 4 19:02:17 2026 by root via root on pcmk-1</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 5 resource instances configured</div>
<div></div>
<div><br />
Node List:</div>
<div>&nbsp; * Online: [ pcmk-1 pcmk-2 ]</div>
<div></div>
<div><br />
Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-1</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-1</div>
<div>&nbsp; * Clone Set: WebData-clone [WebData] (promotable):</div>
<div>&nbsp; &nbsp; * Promoted: [ pcmk-1 ]</div>
<div>&nbsp; &nbsp; * Unpromoted: [ pcmk-2 ]</div>
<div>&nbsp; * WebFS&nbsp; &nbsp; &nbsp; &nbsp;(ocf:heartbeat:Filesystem):&nbsp; &nbsp; &nbsp; Started pcmk-1</div>
<div></div>
<div><br />
Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled</div>
<div><br />
<br />
◆参考<br />
<a href="https://clusterlabs.org/projects/pacemaker/doc/3.0/Clusters_from_Scratch/html/shared-storage.html" title="" target="_blank">Clusters from Scratch &raquo; 8. Replicate Storage Using DRBD</a><br />
<a href="https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#ch-configure" title="" target="_blank">DRBD9.0 LINBIT</a><br />
<br />

<ul style="margin: 0px; padding: 0px 0px 0px 1em; list-style: none; color: #3f3f3f; font-family: 'Roboto Slab', serif; font-size: 13.3333px;">
<li class="nav-item nav-item-this" style="display: inline;"></li>
</ul>
</div>]]>
    </description>
    <category>LinuC level3 304</category>
    <link>https://norakura.blog.shinobi.jp/linuc%20level3%20304/pacemaker%E2%91%A3%E3%80%80drbd</link>
    <pubDate>Sat, 04 Apr 2026 10:30:21 GMT</pubDate>
    <guid isPermaLink="false">norakura.blog.shinobi.jp://entry/81</guid>
  </item>
    <item>
    <title>Pacemaker③　Apache HTTP Serverをクラスタサービスとして追加</title>
    <description>
    <![CDATA[<div>今回は<a href="https://clusterlabs.org/projects/pacemaker/doc/3.0/Clusters_from_Scratch/html/apache.html" title="" target="_blank">公式サイト</a>を参考にApacheをクラスタサービスとして追加してみます。</div>
<div></div>
<div>◆Apacheをインストールする</div>
<div>[root@pcmk-1 ~]# dnf install -y httpd wget</div>
<div>[root@pcmk-1 ~]# firewall-cmd --permanent --add-service=http</div>
<div>success</div>
<div>[root@pcmk-1 ~]# firewall-cmd --reload</div>
<div>success</div>
<div></div>
<div><br />
◆ウェブサイト文書の作成</div>
<div>[root@pcmk-1 ~]# cat &lt;&lt;-END &gt;/var/www/html/index.html</div>
<div>&nbsp;&lt;html&gt;</div>
<div>&nbsp;&lt;body&gt;My Test Site - $(hostname)&lt;/body&gt;</div>
<div>&nbsp;&lt;/html&gt;</div>
<div>END</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# cat /var/www/html/index.html</div>
<div>&nbsp;&lt;html&gt;</div>
<div>&nbsp;&lt;body&gt;My Test Site - pcmk-1&lt;/body&gt;</div>
<div>&nbsp;&lt;/html&gt;</div>
<div></div>
<div><br />
Apache Status URLを有効にする</div>
<div>ペースメーカーはリソースエージェントを使って状態を監視します&nbsp;</div>
<div>[root@pcmk-1 ~]# cat &lt;&lt;-END &gt;/etc/httpd/conf.d/status.conf</div>
<div>&nbsp;&lt;Location /server-status&gt;</div>
<div>&nbsp; &nbsp; SetHandler server-status</div>
<div>&nbsp; &nbsp; Require local</div>
<div>&nbsp;&lt;/Location&gt;</div>
<div>END</div>
<div></div>
<div><br />
別ノード（pcmk-2）にもここまでの流れと同じ事を実施します。</div>
<div>（上記と同じなので内容は省略します）</div>
<div></div>
<div><br />
◆クラスタの設定</div>
<div>[root@pcmk-1 ~]# pcs resource create WebSite ocf:heartbeat:apache&nbsp; \</div>
<div>&nbsp; &nbsp; &nbsp; configfile=/etc/httpd/conf/httpd.conf \</div>
<div>&nbsp; &nbsp; &nbsp; statusurl="http://localhost/server-status" \</div>
<div>&nbsp; &nbsp; &nbsp; op monitor interval=1min</div>
<div></div>
<div><br />
デフォルトでは、すべてのリソースの開始、停止、監視、および その他の操作は20秒です。</div>
<div>ここではグローバルオペレーションのタイムアウトのデフォルトを240秒に調整します</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs resource op defaults</div>
<div>[root@pcmk-1 ~]# pcs resource op defaults update timeout=240s</div>
<div>Warning: Defaults do not apply to resources which override them with their own defined values</div>
<div>[root@pcmk-1 ~]# pcs resource op defaults</div>
<div>Meta Attrs: op_defaults-meta_attributes</div>
<div>&nbsp; timeout=240s</div>
<div></div>
<div></div>
<div><br />
暫くたった後、クラスターの状態を確認します。</div>
<div></div>
<div>[root@pcmk-1 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div>Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-1 (version 2.1.10-1.1.el9_7-5693eaeee) - MIXED-VERSION partition with quorum</div>
<div>&nbsp; * Last updated: Wed Apr&nbsp; 1 03:25:22 2026 on pcmk-1</div>
<div>&nbsp; * Last change:&nbsp; Wed Apr&nbsp; 1 03:23:34 2026 by root via root on pcmk-1</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 2 resource instances configured</div>
<div></div>
<div><br />
Node List:</div>
<div>&nbsp; * Online: [ pcmk-1 pcmk-2 ]</div>
<div></div>
<div><br />
Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-1</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-2</div>
<div></div>
<div><br />
Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled</div>
<div></div>
<div><br />
「WebSite」の行で「(ocf:heartbeat:apache):」とapache起動が確認できますが、「Started pcmk-2」となっています。</div>
<div></div>
<div><br />
なお、もしリソース起動が失敗したら以下のコマンドで原因を探ります</div>
<div>wget -O - http://localhost/server-status</div>
<div></div>
<div>Not FoundForbidden&lt;Location /server-status&gt;</div>
<div><br />
この様に表示された場合、ブロックが正しいか確認します。</div>
<div></div>
<div></div>
<div><br />
◇リソースが同じホスト上で実行されることを確実にする</div>
<div>Pacemakerは、1台のマシンの負荷を軽減するために、一般的に 設定済みのリソースをクラスタノード間に分散させます。</div>
<div>しかし、クラスタに対して、同じホストの2つのリソースが関連していて、実行する必要があることを伝えることができます。</div>
<div>これを実現するために、リソースを起動するノードのスコア値を設定し、同居制約を用います。</div>
<div>スコア値の優先度は以下になります。</div>
<div>-INFINITY &lt; 負の値 &lt; 0 &lt; 正の値 &lt; INFINITY</div>
<div></div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs constraint colocation add WebSite with ClusterIP INFINITY</div>
<div>[root@pcmk-1 ~]# pcs constraint</div>
<div>Colocation Constraints:</div>
<div>&nbsp; resource 'WebSite' with resource 'ClusterIP'</div>
<div>&nbsp; &nbsp; score=INFINITY</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div>Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-2 (version 2.1.10-1.1.el9_7-5693eaeee) - partition with quorum</div>
<div>&nbsp; * Last updated: Wed Apr&nbsp; 1 03:34:50 2026 on pcmk-1</div>
<div>&nbsp; * Last change:&nbsp; Wed Apr&nbsp; 1 03:34:20 2026 by root via root on pcmk-1</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 2 resource instances configured</div>
<div></div>
<div><br />
Node List:</div>
<div>&nbsp; * Online: [ pcmk-1 pcmk-2 ]</div>
<div></div>
<div><br />
Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-1</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-1</div>
<div></div>
<div><br />
Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled</div>
<div></div>
<div><br />
上記の様に、WebSiteのStartedがpcmk-1になったことが確認出来ます。</div>
<div></div>
<div></div>
<div><br />
◇リソースの開始と停止を順序通りに行う</div>
<div>[root@pcmk-1 ~]# pcs constraint order ClusterIP then WebSite</div>
<div>Adding ClusterIP WebSite (kind: Mandatory) (Options: first-action=start then-action=start)</div>
<div>[root@pcmk-1 ~]# pcs constraint</div>
<div>Colocation Constraints:</div>
<div>&nbsp; resource 'WebSite' with resource 'ClusterIP'</div>
<div>&nbsp; &nbsp; score=INFINITY</div>
<div>Order Constraints:</div>
<div>&nbsp; start resource 'ClusterIP' then start resource 'WebSite'</div>
<div></div>
<div><br />
◇あるノードを他より優先する</div>
<div>[root@pcmk-1 ~]# pcs constraint location WebSite prefers pcmk-2=50</div>
<div>[root@pcmk-1 ~]# pcs constraint</div>
<div>Location Constraints:</div>
<div>&nbsp; resource 'WebSite' prefers node 'pcmk-2' with score 50</div>
<div>Colocation Constraints:</div>
<div>&nbsp; resource 'WebSite' with resource 'ClusterIP'</div>
<div>&nbsp; &nbsp; score=INFINITY</div>
<div>Order Constraints:</div>
<div>&nbsp; start resource 'ClusterIP' then start resource 'WebSite'</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div>Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-2 (version 2.1.10-1.1.el9_7-5693eaeee) - partition with quorum</div>
<div>&nbsp; * Last updated: Wed Apr&nbsp; 1 03:52:00 2026 on pcmk-1</div>
<div>&nbsp; * Last change:&nbsp; Wed Apr&nbsp; 1 03:51:22 2026 by root via root on pcmk-1</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 2 resource instances configured</div>
<div></div>
<div><br />
Node List:</div>
<div>&nbsp; * Online: [ pcmk-1 pcmk-2 ]</div>
<div></div>
<div><br />
Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-1</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-1</div>
<div></div>
<div><br />
Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled</div>
<div></div>
<div><br />
現在のスコア値を確認するには以下のコマンドを入力します。</div>
<div>[root@pcmk-1 ~]# crm_simulate -sL</div>
<div>Current cluster status:</div>
<div>&nbsp; * Node List:</div>
<div>&nbsp; &nbsp; * Online: [ pcmk-1 pcmk-2 ]</div>
<div></div>
<div><br />
&nbsp; * Full List of Resources:</div>
<div>&nbsp; &nbsp; * ClusterIP (ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-1</div>
<div>&nbsp; &nbsp; * WebSite&nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-1</div>
<div></div>
<div><br />
Assignment Scores:</div>
<div>&nbsp; * pcmk__primitive_assign: ClusterIP allocation score on pcmk-1: 200</div>
<div>&nbsp; * pcmk__primitive_assign: ClusterIP allocation score on pcmk-2: 50</div>
<div>&nbsp; * pcmk__primitive_assign: WebSite allocation score on pcmk-1: 100</div>
<div>&nbsp; * pcmk__primitive_assign: WebSite allocation score on pcmk-2: -INFINITY</div>
<div></div>
<div><br />
上記の場合、スコア値からpcmk-1の方がClusterIP及び WebSiteリソースが優先されます。</div>
<div></div>
<div></div>
<div><br />
◇資源を手動で移動する</div>
<div>上記ではWebSiteのリソースがpcmk-1でしたが、これをpcmk-2に移動してみます。</div>
<div>[root@pcmk-1 ~]# pcs resource move WebSite pcmk-2</div>
<div>Location constraint to move resource 'WebSite' has been created</div>
<div>Waiting for the cluster to apply configuration changes...</div>
<div>Location constraint created to move resource 'WebSite' has been removed</div>
<div>Waiting for the cluster to apply configuration changes...</div>
<div>resource 'WebSite' is running on node 'pcmk-2'</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs constraint</div>
<div>Location Constraints:</div>
<div>&nbsp; resource 'WebSite' prefers node 'pcmk-2' with score 50</div>
<div>Colocation Constraints:</div>
<div>&nbsp; resource 'WebSite' with resource 'ClusterIP'</div>
<div>&nbsp; &nbsp; score=INFINITY</div>
<div>Order Constraints:</div>
<div>&nbsp; start resource 'ClusterIP' then start resource 'WebSite'</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div>Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-2 (version 2.1.10-1.1.el9_7-5693eaeee) - partition with quorum</div>
<div>&nbsp; * Last updated: Wed Apr&nbsp; 1 04:01:04 2026 on pcmk-1</div>
<div>&nbsp; * Last change:&nbsp; Wed Apr&nbsp; 1 03:59:59 2026 by root via root on pcmk-1</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 2 resource instances configured</div>
<div></div>
<div><br />
Node List:</div>
<div>&nbsp; * Online: [ pcmk-1 pcmk-2 ]</div>
<div></div>
<div><br />
Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-2</div>
<div>&nbsp; * WebSite&nbsp; &nbsp; &nbsp;(ocf:heartbeat:apache):&nbsp; Started pcmk-2</div>
<div></div>
<div><br />
Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled<br />
<br />
<br />
◆参考<br />
<a href="https://clusterlabs.org/projects/pacemaker/doc/3.0/Clusters_from_Scratch/html/apache.html" title="" target="_blank">Clusters from Scratch &raquo; 7. Add Apache HTTP Server as a Cluster Service</a></div>]]>
    </description>
    <category>LinuC level3 304</category>
    <link>https://norakura.blog.shinobi.jp/linuc%20level3%20304/pacemaker%E2%91%A2%E3%80%80apache%20http%20ser</link>
    <pubDate>Sat, 04 Apr 2026 10:14:55 GMT</pubDate>
    <guid isPermaLink="false">norakura.blog.shinobi.jp://entry/80</guid>
  </item>
    <item>
    <title>Pacemaker➁　Active/Passive Clusterの作成</title>
    <description>
    <![CDATA[<div>前回の構成にActive/Passive Clusterの作成します。</div>
<div></div>
<div><br />
◇リソースの追加</div>
<div>[root@pcmk-1 ~]# pcs resource create ClusterIP ocf:heartbeat:IPaddr2 \</div>
<div>&nbsp; &nbsp; ip=10.0.1.103 cidr_netmask=24 op monitor interval=30s</div>
<div></div>
<div>「ocf:heartbeat:IPaddr2」は追加したい３つのリソースを伝えています。</div>
<div>最初のフィールド(上記ではocf)はリソースの基準となるもの</div>
<div>2つ目のフィールド（上記ではheartbeat）はプロバイダーと呼ばれ現在OCFリソースのみでサポートされています。</div>
<div>3つ目のフィールド（上記ではIPaddr2）はリソースエージェントの名前。</div>
<div></div>
<div>フィールドごとのリソースについて詳細を見て行きます。<br />
最初のフィールドのリソース標準のリストを取得するには以下のコマンドを入力します。</div>
<div>[root@pcmk-1 ~]# pcs resource standards</div>
<div>lsb</div>
<div>ocf</div>
<div>service</div>
<div>systemd</div>
<div></div>
<div><br />
<br />
2つ目のフィールドのプロバイダーのリソースのリストを取得するには以下のコマンドを入力します。</div>
<div>[root@pcmk-1 ~]# pcs resource providers</div>
<div>heartbeat</div>
<div>openstack</div>
<div>pacemaker</div>
<div></div>
<div><br />
3つ目のフィールドの利用可能な全てのリソースエージェントを取得するには以下のコマンドを入力します。</div>
<div>root@pcmk-1 ~]# pcs resource agents ocf:heartbeat</div>
<div>apache</div>
<div>conntrackd</div>
<div>corosync-qnetd</div>
<div>（中略）</div>
<div>IPaddr2</div>
<div>（略）</div>
<div></div>
<div><br />
システム上で利用可能なすべてのリソースエージェントをリストアップしたい場合は、以下のコマンドを入力します。</div>
<div>[root@pcmk-1 ~]# pcs resource list</div>
<div>ocf:heartbeat:CTDB - CTDB Resource Agent</div>
<div>ocf:heartbeat:Delay - Waits for a defined timespan</div>
<div>ocf:heartbeat:Dummy - Example stateless resource agent</div>
<div>ocf:heartbeat:Filesystem - Manages filesystem mounts</div>
<div>ocf:heartbeat:IPaddr2 - Manages virtual IPv4 and IPv6 addresses (Linux specific</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; version)</div>
<div>（略）</div>
<div></div>
<div></div>
<div><br />
「Full List of Resources」の「ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2)」が追加されている事を確認します。</div>
<div>[root@pcmk-1 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div>Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-2 (version 2.1.10-1.1.el9_7-5693eaeee) - partition with quorum</div>
<div>&nbsp; * Last updated: Wed Apr&nbsp; 1 01:46:45 2026 on pcmk-1</div>
<div>&nbsp; * Last change:&nbsp; Wed Apr&nbsp; 1 01:34:06 2026 by root via root on pcmk-1</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 1 resource instance configured</div>
<div></div>
<div>Node List:</div>
<div>&nbsp; * Online: [ pcmk-1 pcmk-2 ]</div>
<div></div>
<div>Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-1</div>
<div></div>
<div>Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled</div>
<div></div>
<div><br />
リソースが実行されているノードでIPアドレスが追加されているのを確認します。</div>
<div>以下の場合、「enp0s8」の行に「inet 10.0.1.103/24」が追加されています。</div>
<div>[root@pcmk-1 ~]# ip -o addr show</div>
<div>1: lo&nbsp; &nbsp; inet 127.0.0.1/8 scope host lo\&nbsp; &nbsp; &nbsp; &nbsp;valid_lft forever preferred_lft forever</div>
<div>1: lo&nbsp; &nbsp; inet6 ::1/128 scope host \&nbsp; &nbsp; &nbsp; &nbsp;valid_lft forever preferred_lft forever</div>
<div>2: enp0s3&nbsp; &nbsp; inet 192.168.128.101/24 brd 192.168.128.255 scope global noprefixroute enp0s3\&nbsp; &nbsp; &nbsp; &nbsp;valid_lft forever preferred_lft forever</div>
<div>2: enp0s3&nbsp; &nbsp; inet6 2400:2200:5be:5f91:a00:27ff:fec5:4ceb/64 scope global dynamic mngtmpaddr \&nbsp; &nbsp; &nbsp; &nbsp;valid_lft 86208sec preferred_lft 14208sec</div>
<div>2: enp0s3&nbsp; &nbsp; inet6 fe80::a00:27ff:fec5:4ceb/64 scope link \&nbsp; &nbsp; &nbsp; &nbsp;valid_lft forever preferred_lft forever</div>
<div>3: enp0s8&nbsp; &nbsp; inet 10.0.1.101/24 brd 10.0.1.255 scope global noprefixroute enp0s8\&nbsp; &nbsp; &nbsp; &nbsp;valid_lft forever preferred_lft forever</div>
<div>3: enp0s8&nbsp; &nbsp; inet 10.0.1.103/24 brd 10.0.1.255 scope global secondary enp0s8\&nbsp; &nbsp; &nbsp; &nbsp;valid_lft forever preferred_lft forever</div>
<div>3: enp0s8&nbsp; &nbsp; inet6 fe80::a00:27ff:fe16:428/64 scope link \&nbsp; &nbsp; &nbsp; &nbsp;valid_lft forever preferred_lft forever</div>
<div></div>
<div><br />
<br />
◇フェイルオーバーを実行する</div>
<div>高可用性を確認する為に、リソース実行中のマシンを止めてフェイルオーバーをトリガーします。</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs cluster stop pcmk-1</div>
<div>pcmk-1: Stopping Cluster (pacemaker)...</div>
<div>pcmk-1: Stopping Cluster (corosync)...</div>
<div></div>
<div>稼働していない事を確認します。</div>
<div>[root@pcmk-1 ~]# pcs status</div>
<div>Error: error running crm_mon, is pacemaker running?</div>
<div>&nbsp; crm_mon: Connection to cluster failed: Connection refused</div>
<div></div>
<div><br />
別のノードでクラスタ状態を確認します。</div>
<div>[root@pcmk-2 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div>Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-2 (version 2.1.10-1.1.el9_7-5693eaeee) - partition with quorum</div>
<div>&nbsp; * Last updated: Wed Apr&nbsp; 1 01:59:53 2026 on pcmk-2</div>
<div>&nbsp; * Last change:&nbsp; Wed Apr&nbsp; 1 01:34:06 2026 by root via root on pcmk-1</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 1 resource instance configured</div>
<div></div>
<div>Node List:</div>
<div>&nbsp; * Online: [ pcmk-2 ]</div>
<div>&nbsp; * OFFLINE: [ pcmk-1 ]</div>
<div></div>
<div>Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-2</div>
<div></div>
<div>Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled</div>
<div></div>
<div><br />
上記の様にフェイルオーバーが起きたことを確認できます。</div>
<div>次に止めたノードを再起動して、暫くしてからクラスタの状態を確認します。</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs cluster start pcmk-1</div>
<div>pcmk-1: Starting Cluster...</div>
<div></div>
<div><br />
[root@pcmk-2 ~]# pcs status</div>
<div>Cluster name: mycluster</div>
<div>Cluster Summary:</div>
<div>&nbsp; * Stack: corosync (Pacemaker is running)</div>
<div>&nbsp; * Current DC: pcmk-2 (version 2.1.10-1.1.el9_7-5693eaeee) - partition with quorum</div>
<div>&nbsp; * Last updated: Wed Apr&nbsp; 1 02:07:12 2026 on pcmk-2</div>
<div>&nbsp; * Last change:&nbsp; Wed Apr&nbsp; 1 01:34:06 2026 by root via root on pcmk-1</div>
<div>&nbsp; * 2 nodes configured</div>
<div>&nbsp; * 1 resource instance configured</div>
<div></div>
<div>Node List:</div>
<div>&nbsp; * Online: [ pcmk-1 pcmk-2 ]</div>
<div></div>
<div>Full List of Resources:</div>
<div>&nbsp; * ClusterIP&nbsp; &nbsp;(ocf:heartbeat:IPaddr2):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Started pcmk-2</div>
<div></div>
<div>Daemon Status:</div>
<div>&nbsp; corosync: active/disabled</div>
<div>&nbsp; pacemaker: active/disabled</div>
<div>&nbsp; pcsd: active/enabled</div>
<div></div>
<div><br />
ノードリストでマシンが2台ともOnlineになっていることが確認出来ます。</div>
<div></div>
<div><br />
逆のノードでも同じことを試してみます。</div>
<div>（内容省略）</div>
<div></div>
<div><br />
◇回復後のリソース移動を防ぐ</div>
<div>AlmaLinux 9では、クラスタのセットアッププロセスが自動的に行われます デフォルトのリソース粘着度スコア</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs resource defaults</div>
<div>Meta Attrs: build-resource-defaults</div>
<div>&nbsp; resource-stickiness=1</div>
<div></div>
<div><br />
以下の例ではデフォルトのリソースの固定度を100に上げています</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs resource defaults update resource-stickiness=100</div>
<div>Warning: Defaults do not apply to resources which override them with their own defined values</div>
<div></div>
<div><br />
[root@pcmk-1 ~]# pcs resource defaults</div>
<div>Meta Attrs: build-resource-defaults</div>
<div>&nbsp; resource-stickiness=100</div>]]>
    </description>
    <category>LinuC level3 304</category>
    <link>https://norakura.blog.shinobi.jp/linuc%20level3%20304/pacemaker%E2%9E%81%E3%80%80active-passive</link>
    <pubDate>Wed, 01 Apr 2026 09:19:21 GMT</pubDate>
    <guid isPermaLink="false">norakura.blog.shinobi.jp://entry/79</guid>
  </item>

    </channel>
</rss>