web-dev-qa-db-ja.com

nodatacowでマウントされたBTRFSボリュームのスナップショットを取得していますか?

BTRFSフォーマットの回転ディスクに2つのサブボリュームを作成する予定です。仮想マシンイメージとデータベースファイルをそこに効率的に格納できるように、これらのサブボリュームの1つをnodatacowでマウントする予定です。

Snapperを使用してnodatacowでマウントされたサブボリュームのスナップショットを有効にすることで問題はありますか?

COWを使用しないボリュームのスナップショットを作成するときに注意すべきことは何ですか?

これまでに見つけたのは、BTRFS FAQの文章だけです。

データブロックのコピーオンライトをオフにできますか?

はい、その方法はいくつかあります。

Nodatacowでマウントして無効にします。これはnodatasumも意味します。 スナップショットが取られた場合でもCOWが発生する可能性があります。

7
MountainX

nodatacowオプションに関して、Ohad Rodehの論文 BTRFS:The Linux B-tree Filesystem と題されている:

スナップショットがない限り、データブロックのコピーオンライトをキャンセルします。

nodatacowでマウントされたサブボリュームのスナップショットの作成に問題はありません。ただし、牛はスナップショットを作成する必要があるため、nodatacowを使用してサブボリュームにスナップショットを作成すると、nodatacow;は基本的に無視されます。通常どおり動作します。

ただし、興味深い質問が表示されます。nodatacowは永久に無視されますか? COWを無効にしてサブボリュームのスナップショットを作成しますか?手動で再び無効にするまでCOWを再度有効にしますか?

幸いなことに、違います。 btrfsから メーリングリスト ...

NOCOWファイルでは、スナップショット後の最初のファイルブロック(4096バイト)への最初の書き込みは、COWでなければなりません。スナップショットが古いバージョンを所定の位置にロックし、ファイルブロックが変更されたため、NOCOWの順序に関係なく、他の場所に書き込む必要があります。スナップショットをそのまま維持します。ただし、ファイルはNOCOW属性を保持し、同じファイルブロックへの追加の書き込みは当然次のスナップショットまで行われます。

14
Emmanuel Rosa