web-dev-qa-db-ja.com

すべてのZFSスナップショットディレクトリが空なのはなぜですか?

Oracle 11ボックスをZFSストレージアプライアンスとして実行しており、cronを介してZFSファイルシステムの定期的なスナップショットを取得しています。

以前は、スナップショットから特定のファイルを取得したい場合、読み取り専用のコピーが.zfs/snapshot/{name}/に保持され、そこに移動してファイルを引き出すことができたことがわかっています。これは文書化されています OracleのWebサイトで

しかし、先日これを行ったところ、スナップショットディレクトリ内のZFSディレクトリがすべて空であることに気付きました。 zfs list -t snapshotは、存在する必要のあるスナップショットのリストを正しく表示し、.zfs/snapshotsは、各スナップショットのディレクトリを正しく含み、各スナップショットには、各ZFSファイルシステムのディレクトリが存在します。ただし、これらのディレクトリは空のようです。

あまり使用されていない共有のファイルに触れて、最新の1時間ごとのスナップショットにロールバックすることで復元をテストしましたが、これは正常に機能しているようです。したがって、ロールバック機能があります。

Oracleはスナップショットの実行方法を変更しましたか?それともここで何か深刻な問題がありますか?

13
growse

子孫のZFSファイルシステムがある場合、たとえばtank/newfs。そうすると、tank/newfsフォルダの/tank/.zfs/mysnapshotにファイルが見つからず、マウントポイントnewfsのみが存在します。ファイルにアクセスする場合は、/tank/newfs/.zfs/mysnapshotフォルダーでファイルを探す必要があります。

.zfs/snapshot/にリストされているスナップショットは、閲覧中にオンデマンドで自動的にマウントされ、使用されなくなったときに自動的にアンマウントされます。

ディレクトリで単純なlsを実行するだけでは、「デマンド」と見なすには明らかに不十分です。問題のディレクトリにcdを入力してから、lsコマンドを発行する必要があります。

ファイルシステムにsnapdir=visibleを設定する必要がある場合もあります。

0
Daniel