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台目のDC(FSMO)で行う必要があります。
環境
- Debian bullseye 64bit - Samba 4.13.13+dfsg-1~deb11u5 - xinetd 1:2.3.15.3-1+b1 - rsync 3.2.3-4+deb11u1 - Windows Server 2022 Standard - Client - Windows10 Pro - Client
Active Directoryの環境
1台目のDC: beta(FSMOの役割) 192.168.1.1 2台目のDC: omega 192.168.1.2 ドメイン名: ND レルム: ND.somedomain 機能レベル : 2008 R2
1台目(FSMO)のDCの設定
1台目(FSMO:192.168.1.2)の設定です。
必要なものをインストールします。
sudo apt install xinted rsync
xinetdの設定を行います。
cd /etc/xinetd.d sudo vi /etc/xinetd.d/rsync
内容は以下となります。
service rsync { disable = no only_from = 192.168.1.2/24 <-- 2台目のDCのIPアドレス socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
/etc/hostsの設定
名前解決のため、2台目のDCのIPを/etc/hostsに記載します。
sudo vi /etc/hosts
内容は以下となります。
192.168.1.2 omega.somedomain omega
rsyncのパスワード
rsyncのパスワードを記載します。
sudo vi /etc/samba/rsyncd.secret
rsyncのパスワードを記載します。
MyPassWordは平文のパスワードです。
sysvol-replication:MyPassWord
rootだけが閲覧できるようにパーミッションを設定します。
sudo chmod 600 /etc/samba/rsyncd.secret
rsyncd.confの設定
2台目のDCからrsyncで指定するための設定ファイルを作成します。
sudo vi /etc/rsyncd.conf
内容は以下となります。
「SysVol」が2台目のDCから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
Daemonの再起動
xinetdを再起動します。
sudo systemctl restart xinetd sudo systemctl status xinetd
2台目のDCの設定
rsyncをインストールして、パスワードを設定します。
sudo apt install rsync sudo vi /etc/samba/rsyncd.secret 内容は以下となります。 1台目のDCで、/etc/samba/rsyncd.secretに設定したパスワードのみを記載します。 [bash] MyPassWord
rootだけが閲覧できるようにパーミッションを設定します。
sudo chmod 600 /etc/samba/rsyncd.secret
コマンドのテスト
1台目のDCから2台目のDCにsysvolをコピーできるかテストします。
「–dry-run」を指定すると、実際にはコピーしません。
「192.168.1.1」は1台目のDCの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台目のDCで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