web-dev-qa-db-ja.com

データを失うことなく2つのbtrfをマージできますか

私はbtrfsデバイスをマウントしていて、2つのパーティションで構成されており、シングルモードです(パーティションのサイズが同じではないため、RAID 0を使用できません)。

Ext4でフォーマットされた別のディスクがあります。データを失うことなくbtrfsに変換できることはわかっていますが、両方のデータを失うことなく最初のbtrfsに追加(変換後)できますか?

そして、これが可能であっても、これはすべてのデータのバックアップと復元よりも優れたソリューションですか? (断片化について)

5
eephyne

同じことを知りたかった。おそらく、btrfssendとbtrfsreceiveを使用して、最初から2番目にデータを送信することでそれを実行できると思います。次に、最初のファイルシステムを削除し、デバイスを新しいデバイスとして2番目のファイルシステムに追加できます。

これは、転送中にすべてのデータを保持するのに十分なスペースが2番目のデバイスにあることを前提としています。

最初のファイルシステムの読み取り専用スナップショットを作成し(読み取り専用サブボリュームのみを送信できるため)、それを2番目のファイルシステムに送信してから、目的の宛先に読み取り/書き込みコピーを作成する必要があります。

テストされていませんが、次のようなものです。

btrfs subvolume snapshot -r /first/ /first/snapshot
btrfs send /first/snapshot | btrfs receive /second/
btrfs subvolume snapshot /second/snapshot /second/whatever
btrfs subvolume delete /second/snapshot

[次に、最初のファイルシステムを削除し、2番目のファイルシステムでデバイスを再利用します]

2
Jon