btrfsスナップショットを書き込み可能にする方法は?


37

btrfs Readonlyスナップショットパッチによると、「スナップショットをオンザフライで読み取り専用/書き込み可能に設定する」ことが可能です。そのため、読み取り専用スナップショット(で作成btrfs snapshot -r)を書き込み可能にする必要があります。

しかし、btrfsサブボリュームのマンページも、そのマンページの他の部分も、それを行う方法を提供していないようです。


回避策として、読み取り専用のスナップショットの書き込み可能なスナップショットを作成できます。(この質問を検索するインターネットがない場合はこれを行います)
matega

回答:


42

btrfsのマンページはproperty、ソースをgrepすることで見つけたサブコマンドのドキュメント化に失敗します。にもありbtrfs --helpます。

スナップショットを読み取り/書き込みに設定するには、次のようにします。

btrfs property set -ts /path/to/snapshot ro false

に変更しtrueて、読み取り専用に設定します。

またlist、使用可能なプロパティを表示するために使用できます。

btrfs property list -ts /path/to/snapshot
ro                  Set/get read-only flag of subvolume.

-t作業するオブジェクトのタイプを指定しますs。サブボリュームを意味します。他のオプションは、f(ファイルシステム)、i(inode)、およびd(デバイス)です。指定しない場合は、該当するすべてのリストが表示されるか、get / setを推測しようとします。

編集:最新のbtrfsツールには、btrfs-propertyそのサブコマンドを文書化したマンページがありますが、メインのマンページにはまったく記載されていません。wikiのbtrfs-propertyページとしても利用可能です。

(注:これには、新しい十分なbtrfs-toolsが必要です。DebianWheezyでは、wheezy-backportsから更新されたものをインストールする必要があります。artfulrobotに感謝します)。


2
また、カーネルAPIが進化し、ディストリビューションには新しいカーネルが追加btrfs-toolsされていますが、同じディストリビューションで見つかったものが常に揃っているとは限りません。そのため、カーネルのbtrfs機能を使用できるように、上流のgitリポジトリから最新のbtrfs-toolsをコンパイルしなければならないことが時々ありました(少なくとも数年前はそうでした)。
ステファンシャゼル14

@StéphaneChazelasはい、間違いなく。この場合、Debianテストを行っていますが、これにはbtrfs-tools 3.14が含まれています。
デロベルト14

1
@mikeserv実際、3.14.2はそれらを分割しているようです。kernel.orgのgitによると、3.14.1がありますが、これはほんの数か月前です。しかし、現在のmanページでもプロパティについて言及していません。私もウィキで現在のものをチェックしました(そしてリンクしました)。ただし、これ別のリンクされていないマンページです。
デロバート14

これを機能させるには、Wheezy-backportsからbtrfs-toolsをインストールする必要がありました。
artfulrobot

@artfulrobotありがとう、回答にメモを追加しました。
デロベルト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.