ホーム領域のデータは、計3回、サルベージしましたが、差分があるのか確認を行いたいと思います。
rsyncに”-n”オプション等を付けて、確認する方法もありますが、CUIで確認するのは結果の見通しが悪く、手間が生じます。
そこで、ある意味セキュリティホールになり得る”samba3”の動作を使って、”Windows11パソコン”上の”AllwaySync”にて差分確認を行おうと思います。【注*1】
- 小生の健忘禄、兼作業記録になっていますことをお詫び申し上げます🙇♂️
samba3 NTプライマリドメインコントローラ(NT-PDC)では、FreeBSDのwheelユーザーである”root”として、ネットワークドライブに接続することが出来てしまいます(*2、注*3)😅。
ただ、この動作を逆手に取ると、他のユーザーの”ホーム”も含めて、すべての”フォルダ”/”ファイル”のファイルサイズ・タイムスタンプを確認できるので、差分を確認することが出来ます😀。
1. samba3/NT-PDC上の設定変更
(1)"root"ホームディレクトリでの設定(NT-PDC)
NT-PDC上の、rootのホームディレクトリに、一時的に3回分(*4)のサルベージホーム領域フォルダへのシンボリックリンク張りと、nfsマウントを行います。
| root@NT-PDC:# cd | ||
| root@NT-PDC:~# | ||
| root@NT-PDC:~# mkdir mainsv_recovery/ | ||
| root@NT-PDC:~# cd mainsv_recovery/ | ||
| root@NT-PDC:~/mainsv_recovery/# | ||
| root@NT-PDC:# mount -t nfs mainsv:/share/Home /root/mainsv_recovery/Homes_mainsv | ||
| root@NT-PDC:# mount -t nfs replsv:/share/Replicate/mainsv/share/Home /root/mainsv_recovery/Homes_replsv | ||
| root@NT-PDC:# ln -s /share/Backups/zfs.recovery/Home /root/mainsv_recovery/Homes_ad-dc |
(2)smb.confの修正
smb.confを一時的に修正して、rootのホームディレクトリに作成した、3回分の”サルベージフォルダ共有”を作成します。
| root@NT-PDC:# vi /usr/local/samba3/lib/smb.conf | ; | 。 |
下記の黄色字部分を追加します。
|
[..] [homes]
|
2. サルベージデータ差分確認(Windows11)
差分確認は、Windows用アプリ”AllwaySync”無料版を利用します(*5)。
ただし、無料版では1か月に処理できるファイル数に制限があるため😅、ファイル数が多い場合(>40,000/月)、処理しきれない場合があります[*6](*7)。
なお、”AllwaySync”は2023年1月1日に開発とサポートが終了しており、複数のプラットフォーム(Win,Mac,Linux,Android,iOS)をサポートしているサブスクリプション版の"GoodSync"に統合されています[*8][*9](*10、*11)。
(1)ネットワークドライブの割り当て
NT-PDCには、ユーザー”root”で接続することが出来ます。

接続したネットワークドライブに”サルベージフォルダ”が見える様になります😀。
(2)AllwaSyncのジョブ作成
まずは、"AllwaSync"の新規ジョブを作成します。

(3)AllwaysSyncのジョブオプション変更
NT-PDCのファイル共有を"writable=no"にしてありますが、"AllwaSync"のデフォルトジョブ設定のままだと、誤って削除・更新を行う可能性があるので😅、"削除"と”変更”を行わないようにオプションを変更します😀。

(4)除外フィルタの設定
小生のホームディレクトリでは、複数のファイルシステム領域にシンボリックリンクが張ってあります。
シンボリックリンクはWin11から見た場合、通常のファイル/フォルダとして見えます😅。
(4)差分確認

⚠この時、間違っても<同期>ボタンを押さないように気を付けます。
ジョブ実行時に、他のジョブで”無料版での利用範囲を超えている”可能性がある場合、”重要なメッセージ”が表示されることがあります😅。

仮に、”無料版での利用範囲を超えた場合”、その段階で”Pro版のライセンスキー入力”を求められて、ジョブは完了しなくなります😢。
ファイルサイズ/タイムスタンプから怪しファイルを見つけると(*12)、"重要な"メッセージとしてリストアップされます。
メインファイルサーバーのサルベージフォルダ)と、2回分のサルベージフォルダからに差分があれば、怪しファイルを確認してrsyncでデータを転送します。
今回は、差分がありませんでしたので😮💨、最後に行ったサルベージデータを”サルベージ確定データ”として、メインファイルサーバーの仮運用に入ることにしま😀す。

3. 作業後処理
ホーム領域のサルベージデータ差分確認の後始末をしておきます。
(1)NFSマウント解除/シンボリックリンク解除
NT-PDC上に仮作成した、rootのホームディレクトリに2回分のサルベージNFS共有のNFSマウントをunmountします。
仮のホームディレクトリとして運用していたNFS共有へのシンボリックリンクも削除し、サルベージデータ差分確認用に作成したディレクトリも削除します。
(2)smb.confの修正
smb.confから一時的に作成した、”ファイル共有”削除して、samba3を再起動します。
(3)サルベージフォルダの整理
AD-DCに接続した”バックアップ用エンクロージャー”に保管しておいた、2回目のホーム領域サルベージフォルダを丸ごと削除してしまいます。
| [admin@ad-dc~]$ sudo rm -fR /share/Dev2Partition1/mainsv.zfs.recovery/Home/ | ; | 。 |
Relicateサーバー上のホーム領域は、"rsync over ssh"設定後にメインファイルサーバーからホーム領域をRelicateするためにそのまま残しておくことにします😀。
4. ホーム領域NFSサーバーの変更
これまでは、AD-DCに接続した”バックアップ用エンクロージャー”上のサルベージホーム領域を、am-utilsを用いて”ro(読み込み専用)”にてNFS共有していました。
メインファイルサーバーの仮運用に入ることにしますので、am-utilsの設定を変更して、メインファイルサーバー上の”ホーム領域”を”rw(読書き可)”でNFS共有する設定に戻します😀。
NISマップを修正します。
| root@NT-PDC:# make | ; | 。 |
あとは、各FreeBSDマシンで”amq -f”で、新しいマウントマップをam-utilsにリロードさせれば、後始末がまだ多少残っていますが、”zfs/pool”を飛ばした直前の状態にほぼ戻りました😮💨。
長かった😅。。。。
疲れた😖。。。。
【次回に続く予定】
出典・引用・備考
*1:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。
*2:samba3のドメインメンバー/スタンドアロンサーバー、samba4で同じことが出来るかは確認していません
*3:ただし、この設定を永続的に行っていると、クラッカーにアタックされた場合、ユーザー”root”のホームディレクトリに余計なものが置れ、セキュリティホールになる可能性があります。
*4:
- ファイルサーバー上での回復テストでのサルベージデータ
- FreeBSD8.4なメインファイルサーバー実機でサルベージデータ
- FreeBSD13.5をクリーンインストールした後のメインファイルサーバー実機でサルベージデータ
*5:このソフト、かかゆいところに手が届くWindows用ファイル同期アプリで、小生は20年近く愛用し、すべてのWindowsパソコンにインストールしています😀。
*6:"Allway Sync End User License Agreement"、Botkind, Inc.、https://allwaysync.com/license、最終閲覧日:2025年11月12日
*7:今回のようなことが無ければ、”>40,000/月”を超えるような処理はこれまで、生じたことがないので、無料版で十分でしたが。。。
*9:https://en.wikipedia.org/wiki/Allway_Sync
*10:”AllwaysSync”はすでにダウンロードすることはできなくなっており、2023年1月1日以前にインストールされたものについては、継続的に利用することが許諾されています。
*11:ただし、"GoodSync"も試用期間30日を超えると、処理できるファイル数の制限が大幅に厳しくなるものの(ファイル数100)😢、継続して利用出来そうな感じですが🤔。。。
*12:怪しいファイル/ファオルダがリストアップされます。

リストアップされた"重要な"メッセージの”ファイルビュー”をクリックすると当該ファイルのファイルサイズ/タイムスタンプを確認することが出来ます😀。

