1.3. Sambaの通常メンテナンス
1.3.1. Sambaサービスの運用管理
動作しているSambaデーモンのモニタと操作
Sambaを制御するための手段として構成ファイルに設定を記述する方法(smb.confの編集)とプログラムにメッセージを送る方法(smbcontrolコマンド)がある。
smbcontrolコマンド
smbcontrolはSambaのプロセス(smbd、nmbd、winbindd)にメッセージを送って制御するためのプログラムのこと。
smbcontrol [destination] [message-type] [parameter]
# 例
smbcontrol smbd shutdown- [destination] … メッセージの宛先を指定- smbd,nmbd,winbindd or allで指定
 
- [message-type] … プロセスに送るコマンド- shotdown:デーモン停止
- all status:すべてのSambaデーモンのステータスを出力
- reload-config:設定ファイルの再読み込み
- dubug ログレベル:指定したログレベルに変更
- debuglevel:デバックレベルを問い合わせて表示
 
- [parameter] … パラメータを必要とするコマンドの場合
smbstatusコマンド
Sambaサーバに接続しているクライアントの確認/サーバの稼働状況を確認できるコマンド。
共有に接続しているクライアントのユーザ名、グループ名、接続元IPアドレスとポートに加え、接続を受け付けたSambaのプロセスIDを表示する。
smbstatus1.3.2. TDB (Trivial Database) ファイルの管理
TDBファイルの役割と重要性
Sambaが内部情報(IDマッピング、ロック情報など)を保存するデータベースファイル
TDBファイルのバックアップとレストア
TDBファイルは、Sambaがランタイム情報(ロック、ブラウズリスト、IDマッピングなど)を格納するためのシンプルなデータベースのこと。
これらのファイルが破損すると、Sambaが正常に動作しなくなる可能性がある。
tdbbackupコマンド
TDBファイルを安全にバックアップするコマンド。
ファイルが使用中であっても、一貫性を保った状態でコピーを作成する。
tdbbackuptdbrestoreコマンド
TDBファイルのバックアップをリストアするコマンド。
tdbrestoreSamba AD DCとして動作している場合、TDBファイルの一部(
secrets.tdbなど)は非常に重要ですが、より大規模なデータ(LDAPデータベースなど)の整合性はsamba-toolで管理される。
1.3.3. Active Directoryドメインコントローラーのバックアップとリカバリ
Samba AD DCのバックアップは、ファイルシステムレベルのコピーではなく、専用のツールを使ってLDAPデータベース(NTDS.DITに相当)とSYSVOLの整合性を確保する必要がある。
Active Directoryドメインコントローラーのバックアップ
samba-tool domain backupコマンド
Samba AD DCの重要データ(LDAP DBとSYSVOL)の整合性を保った状態でバックアップを取得するコマンド。
このツールによるバックアップが、AD DCの標準的なバックアップ方法となる。
samba-tool domain backup --targetdir=/backupActive Directoryドメインコントローラーのリカバリ方針
AD DCのバックアップとリカバリの方針は以下が重要となる。
- 一貫性の確保- AD DCのデータベースは、複数のDC間で常にレプリケーションされており、単なるファイルコピーでは整合性が失われる
- リカバリでは、バックアップ時点の状態に正確に戻すことが目標となる
 
- 権威(Authority)のあるリストア- 複数DC環境でリストアを行う場合、そのDCの状態をネットワーク全体に強制的に適用する「権威のある(Authoritative)リストア」が必要になることがある
- samba-toolや関連ツールで実行される
 
- システム状態のバックアップ- Windows環境と同様に、Samba AD DCの完全なリカバリには、システム状態(レジストリ、SYSVOL、LDAPデータベース)のバックアップが必要となる
 
1.3.4. 仮想化環境における考慮事項
仮想環境でドメインコントローラーを運用する場合は、ホスト側の機能(スナップショットなど)の使用には細心の注意が必要となる。
Virtual Machine Generation Identifier (VM Generation ID)
VM Generation IDは仮想マシンが以前の状態からロールバックされた(スナップショットから復元された)ことをDC自身に通知するための仕組み。
Samba(AD DC)は、このIDの変更を検知すると、データベースの不整合(USNロールバック)を防ぐために自動的に対応措置(レプリケーションの再初期化など)を講じる。
Virtual Machine Snapshotsの危険性
DCをスナップショットからの復元する場合、DCのデータベースを古い状態に戻すため、USNロールバックという深刻なレプリケーションエラーを引き起こす可能性がある。
対策として、AD DCに対しては、スナップショット機能を使用せず、代わりに専用のバックアップツール(samba-tool domain backupなど)を使用することが、バックアップとリカバリの方針として強く推奨される。