INDEX
はじめに
Sambaで未実装のSysVolのレプリケーションについてです。
Samba WikiにはSamba DCのみの構成で使える3種類の方法が記載されています。
今回はrsyncとxinetdを使った方法を試します。
この方法は、常時rsyncのdaemonが動作しないので負荷がかかりません。
SysVol replication (DFS-R) - SambaWiki
Rsync based SysVol replication workaround - SambaWiki
注意
rsyncのコピーは一方向なので、ユーザー操作などのグループポリシー操作は1台目のDC1(FSMO)で行う必要があります。
環境
- DC1 FSMO Debian bullseye 64bit - Samba 4.17.12+dfsg-0+deb12u1 - xinetd 1:2.3.15.3-1+b1 - rsync 3.2.7-1+deb12u1 - DC2 Debian bullseye 64bit - Samba 4.17.12+dfsg-0+deb12u1 - rsync 3.2.7-1+deb12u1
Active Directoryの環境
1台目 DC1: 192.168.1.1 FSMO 2台目 DC2: 192.168.1.2 ドメイン名: ND レルム: ND.LOCAL
1台目(FSMO)の設定
1台目DC1の設定です。
必要なものをインストールします。
sudo apt install xinetd rsync
xinetdの設定を行います。
cd /etc/xinetd.d sudo vi /etc/xinetd.d/rsync
内容は以下となります。
service rsync { disable = no only_from = 192.168.1.2/24 <-- 2台目のIPアドレス socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
/etc/hostsの設定
名前解決のため、2台目のDC2のIPを/etc/hostsに記載します。
sudo vi /etc/hosts
内容は以下となります。
192.168.1.2 DC2.LOCAL DC2
rsyncのパスワード
rsyncのパスワードを記載します。
sudo vi /etc/samba/rsyncd.secret
rsyncのパスワード(MyPassWord:平文)を記載します。
sysvol-replication:MyPassWord
パーミッションを設定します。
sudo chmod 600 /etc/samba/rsyncd.secret
rsyncd.confの設定
2台目のDC2からrsyncで参照するための設定ファイルを作成します。
sudo vi /etc/rsyncd.conf
内容は以下となります。
「SysVol」が2台目のDC2からrsyncで指定する文字列です。
[SysVol] path = /var/lib/samba/sysvol/ comment = Samba Sysvol Share uid = root gid = root read only = yes auth users = sysvol-replication secrets file = /etc/samba/rsyncd.secret
xinetdの再起動
sudo systemctl restart xinetd sudo systemctl status xinetd
2台目のDC2の設定
rsyncをインストールして、パスワードを設定します。
sudo apt install rsync sudo vi /etc/samba/rsyncd.secret 内容は以下となります。 1台目のDC1で、/etc/samba/rsyncd.secretに設定したパスワード(平文)を記載します。 [bash] MyPassWord
rootだけが閲覧できるようにパーミッションを設定します。
sudo chmod 600 /etc/samba/rsyncd.secret
テスト
2台目のDC2で行います。
1台目のDC1からsysvolをコピーできるかテストします。
「–dry-run」を指定すると、実際にはコピーしません。
「192.168.1.1」は1台目のDC1のIPアドレスです。
sudo rsync --dry-run -XAavz --delete-after --password-file=/etc/samba/rsyncd.secret rsync://sysvol-replication@192.168.1.1/SysVol/ /var/lib/samba/sysvol/
cronの設定
2台目のDC2でcronを使って定期的にコピーするようにします。
sudo crontab -e
5分ごとにコピーするように設定します。
*/5 * * * * sudo rsync -XAavz --delete-after --password-file=/etc/samba/rsyncd.secret rsync://sysvol-replication@192.168.1.1/SysVol/ /var/lib/samba/sysvol/
Comments