BLOGTIMES
2023/03/25

OmniOS/ZFS サーバに wbadmin でイメージバックアップが取れない時に確認すべきこと

  omnios  windows 
このエントリーをはてなブックマークに追加

以前、SMB 2.0 以降を使う Samba サーバの共有フォルダを対象にして Windows のイメージバックアップを取ろうとすると Sparse File の関係でバックアップが取れたり取れなかったりするという問題がありました。

同じような問題が OmniOS(illumos) でも発生していたので困っていました。
OmniOS は Open Solaris の系譜なので、ファイル共有は Samba ではなく Kernel 内蔵の smb です。
というわけで、Linux のSamba と同じテクニックは使えず、原因も Sparse File ではありません。

まず、結論から

いつも通り、解決するための結論から書いて置きます。

以下のようなコマンドで zfs 共有の nbmand(Non Blocking mandatory locks)*1*2 プロパティを on にしてやります。

zfs set nbmand=on tank/share

どうもこの nbmand というプロパティが off だとクライアントがファイルをうまくロックすることができず、これが原因になっていたようです。

nbmand のデフォルトは off ですし、おそらくパフォーマンス等に対するペナルティもあると思われるので、今回はバックアップに使う共有でだけ on にしています。Open Solaris の時から nbmandcross-protocol locking (例えば NFS と SMB を同時に使う)が必要な時だけ on にする必要がある*3という認識だったのですが、どうやらちょっと僕の認識が間違っていたようです。これまで off でもファイルサーバとしては特に問題になる挙動に当たったことがなかったのですが、このあたり近日中に詳しく調べてみたいと思います。

実際に発生するエラー

実際にバックアップを取ろうとすると発生するエラーは以下のような感じです。

Microsoft Windows [Version 10.0.22621.1413] (c) Microsoft Corporation. All rights reserved. C:\Windows\System32>wbadmin start backup -backuptarget:\\192.168.0.1\path\to\dir -include:c: -allCritical -quiet wbadmin 1.0 - バックアップ コマンドライン ツール (C) Copyright Microsoft Corporation. All rights reserved. 注意: この保存先では、バックアップ データを安全に保護することはできません。 リモート共有フォルダーに保存されたバックアップは、ネットワーク上の他の ユーザーによってアクセスされる可能性があります。バックアップは、信頼できる ユーザーがアクセスする場所か、セキュリティ対策が実施されているネットワーク にのみ保存してください。 ボリューム情報を取得しています... これにより (EFI システム パーティション),(C:),(\\?\Volume{00000000-0000-0000-0000-000000000000}\) が \\192.168.0.1\path\to\dir にバックアップされます。 \\192.168.0.1\path\to\dir へのバックアップ操作を開始しています。 バックアップに指定されたボリュームのシャドウ コピーを作成しています... バックアップに指定されたボリュームのシャドウ コピーを作成しています... ボリューム (EFI システム パーティション) (100.00 MB) のバックアップを完了できませんでした。エラー: プロセスはファイルにアクセ スできません。別のプロセスがファイルの一部をロックしています。 バックアップ操作の概要: ----------------------- バックアップ操作が完了する前に停止しました。 バックアップ操作が完了する前に停止しました。 エラーの詳細: プロセスはファイルにアクセスできません。別のプロセスがファイルの一部をロックしています。 正常にバックアップされたファイルのログ: C:\WINDOWS\Logs\WindowsBackup\Backup-25-03-2023_15-08-17.log バックアップに失敗したファイルのログ: C:\WINDOWS\Logs\WindowsBackup\Backup_Error-25-03-2023_15-08-17.log バックアップ セットのいずれかのボリュームのバックアップ イメージを準備しているときにエラーが発生しました。 プロセスはファイルにアクセスできません。別のプロセスがファイルの一部をロックしています。

トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/13892
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン