- -LinuxでBtrFSを使用してスナップショットを作成する方法

LinuxでBtrFSを使用してスナップショットを作成する方法

Linuxでデータのスナップショットを作成してほしい何かが削除された場合に備えてPC? BtrFSファイルシステムを使用すると、次のことができます。 BtrFSスナップショットを作成する前に、まず、BtrFSファイルシステムを使用しているLinux上のブロックデバイスが必要です。既存のドライブをその他のデータ用にBtrFSドライブに変更する場合は、以下の手順に従ってください。代わりにルートファイルシステムとしてBtrFSを使用したいですか?インストールプロセス中に必ず「カスタムインストール」を選択し、選択したファイルシステムとしてBtrFSを選択してください。

BtrFSファイルシステムがフォーマットされたブロックデバイスを持つことに加えて、ユーザーは btrfs-progs パッケージ。

注:実行する必要がある場合があります lsblk フォーマットするブロックデバイスを決定するコマンド。

Linux上のBtrFS

ドライブをフォーマットするには、まずそのドライブ上のすべてのデータをバックアップしてから、ターミナルを開きます。ターミナルゲインルートで次を使用します。 sudo -s。 ルートアクセスでは、 mkfs デバイス上に新しいファイルシステムを作成するコマンド。この例では、使用します / dev / sdd1

mkfs.btrfs -f /dev/sdd1

トラブルシューティング

BtrFSにフォーマットした後、ドライブが機能しませんか?新しいパーティションテーブルを作成する必要がある場合があります。方法は次のとおりです。

parted /dev/sdd
mklabel gpt
mkpart primary btrfs 1MiB 100%

次のコマンドでpartedツールを終了します。

quit

次に、formatコマンドを再実行します。

mkfs.btrfs -f /dev/sdd1

BtrFSを使用してスナップショットを作成する

スナップショットを撮る前に、いくつかを作成する必要がありますサブボリューム。メインのLinuxファイルシステムはBtrFSですか?この手順をスキップして、サブボリュームのセットアップに直接進みます。 BtrFSファイルシステムでセカンダリドライブを使用している場合のみ、プロセスのこの部分に従ってください。マウントする必要があります。この例では、ハードドライブは / dev / sdd.

sudo -s
mkdir /btrfs
mount -t btrfs /dev/sdd1 /btrfs

メインのBtrFSフォルダーが作成され、マウントされ、そして行く準備ができています。サブボリュームを作成します。サブボリュームとは何ですか?これは、BtrFSファイルシステムに付属する特別な機能であり、作成されたボリュームをブロックデバイスと同様に機能させることができます(/ dev / sda1などを考えてください)。

現実には、実際にはブロックされていませんデバイス。代わりに、それらは「名前空間」と呼ばれる技術を利用する派手なディレクトリです。複雑になりすぎることなく、BtrFSはこのネームスペーステクノロジーを利用して、ユーザーがブロックデバイスのように動作し、動作する個々のマウント可能なサブボリュームを作成できるようにします。

独自のサブボリュームを作成するには、次の手順に従います。 この例では、メインの/ btrfsフォルダーから始まる基本的なサブボリューム構造を示します。 BtrFSファイルシステムで実行される限り、好きな場所に独自のボリュームを作成できることに注意してください。

まず、ルートシェルを取得します。これらのコマンドはsudo権限で実行できますが、ファイルシステムとの(rootとしての)やり取りが面倒な場合があるため、すぐにrootを取得することをお勧めします。使用する sudo -s またはを使用してルートにログインします 。次に、以下を実行します。

btrfs subvolume create /btrfs/vol_a

最初のコマンドは、BtrFSサブボリュームを作成します / mnt / btrfs 私たちの / dev / sdd1 サンプルドライブ。 必要に応じて、ここで停止し、これをボリュームとして使用してすべての重要なデータを保存できます。または、サブサブボリュームを作成できます(必要な数だけ)。ボリューム内にボリュームを作成するには、次のようにします。

btrfs subvolume create /btrfs/vol_a/vol_b

スナップショットを作成するには、最初にすべての重要なデータをサブボリュームに移動/コピーします。例えば:

cp -R ~/Documents /btrfs/vol_a/

次に、ファイルシステムを使用してスナップショットを作成します。

btrfs subvolume snapshot /btrfs/vol_a/ /btrfs/vol_a/backup_1

注:「backup_1」スナップショットと呼びたいものは何でも。後で分類できるように明確にラベルを付けます。

以下を使用してスナップショットを復元します。 mv /btrfs/vol_a/ /mnt/btrfs/vol_a/backup_1

サブボリュームをブロックデバイスとしてマウントする

サブボリュームの優れた点の1つは、それらをすべて独立したデバイスとして個別にマウントできることです。これを行うには、最初にbtrfsコマンドを使用して、既知のすべてのボリュームをリストします。

btrfs subvolume list /btrfs

リストに目を通し、サブボリュームのID番号を見つけて、mountコマンドでマウントします。次に、IDを取得したらアンマウントします。

mount -o subvolid=XXX /dev/sdX /btrfs

XXXをIDに、/ dev / sdXをマウントするボリュームがあるドライブ。サブボリュームを最上位パーティションと同じパーティションにマウントすることはできないことに注意してください。代わりに、別のBtrFS形式のパーティションまたはドライブにマウントします。例えば:

mount -o subvolid=38 /dev/sdc1 /btrfs

Subvol 38は / dev / sdd1、 だが / dev / sdc1 また、BtrFSなので、スナップショットをそこにマウントできます。これは、個々のドライブで行う必要はありません。代わりに、それを / dev / sdc2、 や。。など。

デフォルトのサブボリュームを設定する

デフォルトのBtrFSサブボリュームを設定すると便利です。やり取りが簡単になります。デフォルトを設定するには、最初にsubvolume listコマンドを使用してIDを見つけます。 IDを取得し、set-defaultコマンドにプラグインします。

btrfs subvolume set-default XXX /btrfs

設定したデフォルトを削除するには、同じものを使用しますサブボリュームリストからボリュームIDを使用する代わりに、コマンド0を使用します。これにより、工場出荷時の設定に戻され、他のサブボリュームをデフォルトとして自由に使用できます。

btrfs subvolume set-default 0 /btrfs

サブボリュームを削除する

ボリュームをいつでも削除したい場合は、BtrFSを使用して削除できます。 「rmdir」や「rm -rf」などのコマンドを使用して、ハードドライブからサブボリュームを手動で削除しないでください。 BtrFSファイルシステムツールを使用することをお勧めします。

ボリュームを削除するには、次を実行します。

btrfs subvolume delete /btrfs/volume-name
</ p>

コメント