Btrfsに手を加える:新しいLinuxファイルシステムを使った私の最初の実験

BtrfsはLinux用の新しいファイルシステムです。まだまだ開発が進んでいます。私はそれを「実験的」と正確には言いませんが、kernel.orgのWikiに書かれているように、「速く動くターゲット」です。

参考文献

Linuxシステムの将来にとって明らかにますます重要になってきており、私はそのような開発を続けたいと思っています;マウントされたファイルシステムのサイズを動的に変更することが可能です;ファイルシステムはオプションのRAIDサポートで物理ボリュームにまたがることができます。マウントされたファイルシステムから削除されたもの、圧縮オプション、スナップショット(読み込み専用と読み書き可能なものを含む)

また、ファイルシステムの基本的なフォーマットと構造が安定しているはずであることも公に言われていますが、それは重大な理由や必要が見つかった場合にのみ将来変更されるでしょう。

このすべての要点は明確でなければならない – それはまだ非常に早い時期であり、あらゆる種類の重要なシステムでbtrfsを使用することは推奨されない。

btrfs-toolsパッケージをインクルードします。これにより、btrfsファイルシステムを作成、変換、検査、操作することができます。

私は自分のシステムがどれほど重要なのかを決めるために読者に任せていますが、自分の目的のために私がテストベッドとして使ういくつかのシステムでbtrfsを使用しています。そのうちのいくつかを私と一緒に運び、 “本当の”テストが行​​われますが、私はパートナーと私が家事/仕事/ビジネス活動に使用するプライマリシステムでは使用しません。

だからこそ、それでは、今ポイントに着きましょう。私は、Btrfsの背後にある理由、他のファイルシステムよりも優れている利点のリスト、あるいはその欠点、制限、または好みの状況やシナリオについてWikiの情報を繰り返したり、言い換えるつもりはありません。

私はBtrfsに興味を持った理由は次の通りです

これは非常に短いリストに過ぎず、特に上記のWikiに含まれている詳細リストと比較すると、これらはすべて私が扱わなければならなかった、または何年もの間に対処できなかったという問題です。

オペレーティングシステムインストーラユーティリティにbtrfsのサポートを含めます。これはルートファイルシステムがbtrfsであることを意味し、インストーラは何とか起動できることを確実にする責任があります(次の点を参照してください)

これらの問題のいくつかまたはすべて(xfsとzfsが気になる)のように見えるファイルシステムには、これまでにいくつかの開発が行われていますが、理由の1つまたは別のもの(通常は技術的でない、残念なことに)一般に実行可能な選択肢にはならない。私はしばらくの間、btrfsを見ていて、十分に安定していて、Linuxで十分に統合され、サポートされているように見えるとき、私はそれを試してみると自分自身に語っていました。下に示すように、最新のopenSuSEとFedoraのリリースはその点に達しているようです。

最初のステップは、ある種のbtrfsファイルシステムを取得することです。これを行うには2つの方法があります – 1つを作成する(duh)、または1つを変換する(huh?really?cool!)。最も単純な例は、指定されたディスクパーティション内に新しいbtrfsファイルシステムを作成することです。

mkfs.btrfs / dev / sda16

もちろん、これは “古い学校”のCLIアプローチであり、gpartedのような最新のGUIディスク管理ユーティリティのほとんどを使って同じことができます

ブートローダにbtrfsのサポートを含める(grub、liloなど)。これは、システム全体がbtrfsで終わることができることを意味しますが、厳密には必要ではありません。他の新しいファイルシステムが来たときに学んだように、ext4以下のタイプの別々の/ bootパーティションを保持することができます。それ以外のもの(ルートファイルシステムを含む)btrfsを持っている間に、非btrfs互換のブートローダーでそれを使用してください。

openSuSE 13.1:もうひとつの優れたリリース、Linuxを使用してLogitechのUnifyingレシーバーでキーボードとマウスを管理する、OpenSuSE、Fedora、Linux Mint、Ubuntu、Windows 7で新しいモニターをテストする

あるいは、既存のext3またはext4ファイルシステムをbtrfsに変換することもできます。

重要!ルート(/)および/またはブート(/ boot)ファイルシステムにbtrfsを使用するには、さまざまな制限と制限があります。

これらの種類の重要なファイルシステムをbtrfsに変換することは避けてください。なぜなら、その結果にはほとんど間違いなく失望するからです。 btrfsに変換する可能性がある種類のものは、自宅、仕事、データなどの追加のファイルシステムです。

Btrfsはまだ開発中であるだけでなく、間違いや何かに驚いたり、削除や壊滅などの結果を招く可能性があるため、適切なバックアップを取っていることを確認する必要があります変換されたファイルシステムでデータを失う。

エンタープライズソフトウェア、Sweet SUSE! HPは、Linuxディストリビューション、クラウド、Red HatはまだOpenStackの企業、エンタープライズソフトウェア、Linuxの初期段階からのLinux、Linuxのサバイバルガイド:LinuxとWindowsの間で簡単に移動できるように計画しています

既存のext3 / ext4ファイルシステムをbtrfsに変換することは可能です。ファイルシステムはアンマウントしなければならず、まずチェックする必要があります(fsck)。変換コマンドは単純です

btrfs-convert / dev / sd XX

上の例のXXを変換するパーティションに置き換えます。これにより、ファイルシステムがbtrfsに変換され、元のパーティションのバックアップコピーが作成され、変換されたファイルシステムのサブボリュームに格納されます。

この時点で私はbtrfsファイルシステムを持っています。新しく作成されたemtpyか、既存のext3 / ext4ファイルシステムから変換されたデータを含んでいます。私はここから続けて、サブボリューム、スナップショット、拡大、縮小、パーティションやデバイスの追加などについて学ぶことができます。しかし、私の関心は完全なbtrfsベースのシステムを作成することにありますので、私はそれについて行きます。後の投稿で、これらの他の機能のほとんどについての議論に戻ります。

btrfs Wikiによると、少なくとも以下のLinuxディストリビューションには、btrfsファイルシステムのサポートが含まれています:Arch、Debian、Fedora、Gentoo、openSuSE、Ubuntu

私はもちろん、上記のリストの多くのバリエーションや派生物を含むこの時期までに他の人がいることを知っています。もちろんSUSE、Red Hat、Oracleなどの商用ディストリビューションもあります。私はopenSuSE(13.1だけ)とFedora(20が出てくる)からの新しいリリースの真っ只中にいるので、テストに使うことにしました。

あなたが “btrfsサポートを含む”ディストリビューションについて話すとき、可能な3つの非常に一般的なレベルがあります

openSuSE 13.1はブート機能を含むbtrfsスルースルーシステムであり、btrfsシステムの作成は、ディスクパーティション画面の適切なボックスをチェックするのと同じくらい簡単です

ここでは簡単にするために、別の/ homeパーティションを削除しました。ウィンドウにはこのレイアウトを作成するためのアクションが表示されますが、先に進む前にこの情報を確認することをお勧めします。

なんらかの理由で、既存のパーティションを削除、上書き、または破棄していた場合は、そこに赤で表示されます。これは、特に私の通常のext4の選択と比較して、アクションのかなり怖いリストのように見えますが、ここでは1行または2行が生成されますが、詳細な点検ではかなり簡単です。新しいパーティション(/ dev / sda15)が1つだけ作成され、次の11行はルートファイルシステムのさまざまな部分を設定するためのサブパーティションです。最後の2行は、既存のスワップパーティションとEFIブートパーティションを使用するようにopenSuSEを設定します。これは実際にはとてもシンプルで簡単にできるので、最初はうまくいくと思っていましたが、実際にはうまくいきました。

Fedora 20はext4 / boot設定のbtrfsルートであり、それを達成するにはもう少し操作が必要です。インストール用のディスクを選択したら、以下に示すインストールオプション画面が表示されます。この画面で、パーティション・スキームをデフォルトのLVMからBTRFSに変更します。他のすべてのデフォルト(ファイルシステムのサイズとレイアウト)を受け入れるつもりだったら、インストーラを実行させるだけで済みます。私は既定値を調整することを好みます – 最も重要なのは既存のスワップパーティションとEFIブートパーティションを使用することです – この画面では “私は見直したい/変更します”オプションもチェックします。

今私はManual Partitioning画面に入っています。ここでは、anacondaが作成したいスワップ領域を削除しました(既存のスワップパーティションが見つかることを心配しないでください)。また、EFIブートを既存のパーティションにリダイレクトしました。私たちの目的のためには、anacondaがbtrfsファイルシステムを作成し(デフォルトではディスク上のすべての空き領域を使って)、rootとhomeの両方を入れ、ext4 / bootパーティションを作成しました。

btrfsがディスク上の空き領域をすべて使用しないようにしたい場合は、修正して固定サイズを設定することができます。 「完了」をクリックすると、アナコンダが私にそれが取る行動を表示します。繰り返しますが、意図しない何かをしていないことを確認するために、これらをレビューすることをお勧めします。

驚きはありません。ブート用のext4パーティションとルート用のbtrfsパーティションを作成し、さらにルートとホーム用のサブパーティションを作成します。 anacondaがインストールを実行し、すべて正常に完了します。

インストールが完了すると(上記のいずれかまたは両方)、インストールされたシステムを再起動し、何が表示されますか?少なくともカジュアルな観察者にとってはそれほど多くはありません。それは、あなたの典型的なLinuxシステムのように、すべて見た目、感触、そして動作します。違いを見るためには少し調べる必要があります。たとえば、mountコマンドを使用して、他の行と混在させると、これが表示されます

/ dev / sda15 on / type btrfs(rw、realtime、space_cache)

ああ。ルートパーティションの名前がわかったので、btrfsユーティリティを使ってそれを調べることができます

linux-6569:/ home /#btrfsファイルシステムshow / dev / sda15

ラベル: ‘openSuSE_btrfs’ uuid:00e10875-995a-4bc6-a36b-7c823474cc85

総デバイス1 FSバイト使用4.76GiB

devid 1サイズ16.00GiB、7.04GiBパス/ dev / sda15を使用

Btrfs v0.20-rc1 + 20131031

確かにちょっといいです… btrfsファイルシステムで、固定サイズが16GBで、現在は4.76GBが使用されています。しかし、これはまだすべての情報が入手可能なわけではなく、openSuSEのインストーラのアクションでは、btrfsファイルシステム内にサブボリュームの束を作成すると言っていたことを覚えています。だから、それらを参照して、我々はbtrfsサブボリュームコマンドを使用することができます

btrfsサブボリューム・リスト/ home

ID 256 gen 40トップレベル5パスブート/ grub2 / x86_64-efi

ID 258 gen 145トップレベル5パスホーム

ID 259 gen 19トップレベル5パスopt

ID 260 gen 20トップレベル5パスsrv

ID 261 gen 142トップレベル5パスtmp

ID 262 gen 49トップレベル5パスusr / local

ID 263 gen 29トップレベル5パスvar / crash

ID 264 gen 144トップレベル5パスvar / log

ID 265 gen 30トップレベル5パスvar / opt

ID 266 gen 145トップレベル5パスvar / spool

ID 267 gen 144トップレベル5パスvar / tmp

ID 272 gen 94トップレベル5パス。スナップショット

ID 273 gen 50トップレベル5 path.snapshots / 1 / snapshot

ID 274 gen 51トップレベル5 path.snapshots / 2 / snapshot

ID 275 gen 61トップレベル5 path.snapshots / 3 / snapshot

ID 276 gen 62トップレベル5 path.snapshots / 4 / snapshot

ID 278 gen 76トップレベル5 path.snapshots / 5 / snapshot

ID 279 gen 80トップレベル5 path.snapshots / 6 / snapshot

ID 280 gen 84トップレベル5 path.snapshots / 7 / snapshot

ID 281 gen 93トップレベル5 path.snapshots / 8 / snapshot

ああ、彼らはすべてそこにあります…そして、途中で作られた自動スナップショットのように見える最後のいくつかのエクストラ。

だから、私はそれを1日と呼びかける準備ができています。これまでのところ、私はbtrfsファイルシステムを作成(またはext3またはext4から変換)することができました。そして、btrfsをルートファイルシステムとしてopenSuSE 13.1とFedora 20の両方をインストールすることができました。ここからは、次の記事で、btrfsのより興味深い特徴と機能のいくつかについて説明します。

甘いSUSE! HPEがLinuxディストリビューションに突入

?Red HatはまだOpenStackの会社であることを計画しています

?初期のLinuxで始める

Linuxのサバイバルガイド:この21のアプリケーションは、LinuxとWindowsの間で簡単に移動できるようにします