bcacheの設定方法は?


11

Ubuntu 14.04でbcacheを新規インストールと空の/homeパーティション(/dev/sdb2)をバッキングデバイスとして設定しようとしました。SSDで実行中のシステムがあり、その/dev/sda2パーティションを使用してをキャッシュしたいと思い/home ます。私はいつもUbuntuの問題をフォーラムから整理することに成功しましたが、ここで基本を理解するのに苦労していて、助けが必要です。

  1. 最初にbcacheを設定するとき、どのアカウントにログインする必要がありますか?明らかに、インストール中に作成されたユーザー/dev/sdb2は、/homeマウントを解除するためにログアウトする必要があるため、別のパーティションに一時的なユーザーアカウントを設定してそれを行います。これはすでに不器用すぎるようです。
  2. make-bcache -Bそして-C、私がやったように、非bcacheのスーパーブロックがデバイス上にあることを教えて、両方sudo wipefs -aのデバイスの両方に。パーティションは、GPartedでUUIDなしで未フォーマットとして表示されます。これは正常ですか?
  3. もしそうなら、fstabと/homeブートはどうなりますか?fstabでbcacheのUUIDを使用する必要がありますか?私はそうしましたが、システムは/home次の起動時にパーティションを見つけられませんでした。

  4. との両方が「Permission denied」メッセージecho /dev/sdb2 > /sys/fs/bcache/registerecho /dev/sda2 > /sys/fs/bcache/register返します。私が理解/sysするように書くことができません。

    だから、 echo /dev/sdb2 | sudo tee /sys/fs/bcache/register働いているようです。

誰かがこれがUbuntuでそれを行う適切な方法であることを確認できますか?

バッキングドライブを作成、登録、接続できたようですが、tail /sys/block/bcache0/bcache/stats_total/*私によると、データをバイパスしただけです。私の全体のセットアップは今かなり混乱しているので、どんな説明でも大歓迎です。


あなたはそれをテストしましたか?「ハウツー」を知っているように見えますが、何を知っておく必要がありますか?
Braiam

上記のようにテストしたところ、キャッシュヒット、ミス、バイパスが発生しています。問題は、ホームパーティションになるはずのバッキングデバイスが、起動時にホームとしてマウントされず、別のドライブとしてマウントされることです。したがって、私の/ homeは現時点では/上のフォルダであり、バッキングデバイスにファイルをコピーしてアクセスすることでbcacheをテストしています。私はおそらく間違いであるfstabをいじっていましたが、それが理にかなっている場合、/ homeパーティションに有効なUUIDがありません。ubuntu専用のばか証明のウォークスルーが必要です。
Laszlo Almasi 2014

OK、私はfstabをめちゃくちゃにして、/ homeが間違ったUUIDを持っていました。今は動いているようです。一時的なユーザーアカウント、ライブCD / USB、またはその他から、bcacheがどのように設定されることに正確に興味があるのですか?
Laszlo Almasi 2014

回答:


7

Ubuntu 15.10では、アレックスの答えは正しくありません。initramfs画像は、インストーラにロックされ、システムのインストール時に自動的に再生成されません。したがって、1つはbcacheインストールされますが、起動できなくなります。以下のプロセスについて、他の場所でより詳細な説明を書きました。ただし、基本は次のとおりです。

1.パーティショニング

Ubuntu live-cdを起動し、fdiskまたはを使用して次のパーティション構成を作成しますgparted/dev/sdaSSD /dev/sdbがHDDであると仮定します。

/dev/sda1 - 1024 MB, EXT4, used for /boot (grub/grub2 doesn't support bcache)
/dev/sda2 - any format, for cache
/dev/sdb1 - EFI partition (if your machine needs it)
/dev/sdb2 - swap
/dev/sdb3 - any format, backing partition

2. bcacheデバイスを作成します

ターミナルを開き、バッキングおよびキャッシングデバイスのファイルシステムをワイプします。

sudo wipefs -a /dev/sda2
sudo wifefs -a /dev/sdb3

デバイスをインストールbcache-toolsして作成しbcacheます。

sudo apt-get update
sudo apt-get install bcache-tools
sudo make-bcache -B /dev/sdb3 -C /dev/sda2
sudo mkfs.ext4 /dev/bcache0

3. Ubuntuをインストールする

次のように、カスタムパーティショナーを使用してオペレーティングシステムをインストールします。

/dev/bcache0 - format EXT4, use as /
/dev/sda1    - format EXT4, use as /boot
/dev/sdb1    - EFI partition (if your machine needs it)
/dev/sdb2    - swap

インストーラーの完了後は再起動ないでください。

4.新しいインストールにbcacheをインストールします

新しいインストールにchrootインストールを使用しbcache-toolsます。環境をセットアップしてDNS解決を有効にする

sudo mount /dev/bcache0 /mnt
sudo mount /dev/sda1 /mnt/boot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

に入りchroot、インストールを行います

sudo chroot /mnt
sudo apt-get update
sudo apt-get install bcache-tools

インストール中に、initramfsが再生成されて(chroot-ed)/bootパーティションにインストールされていることに注意してください。

5.クリーンアップ

ファイルシステムをきれいにマウント解除して再起動します。

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt
sudo reboot

2

試行錯誤の末、クリーンインストールのための次の解決策にたどり着きました

  • HDDを好きなようにパーティション分割します(必要な/dev/sdb2スペースを想定しています/home)。
  • # apt-get install bcache-tools
  • # make-bcache -B /dev/sdb2 -C /dev/sda2 (これにより/dev/bcache0が作成されますが、UIインストーラーはまだ使用できません。)
  • # mkfs.ext4 /dev/bcache0 (これにより、インストーラーは「デバイス/ dev / bcache0」の下の「パーティション/ dev / bcache0」を参照し、インストール時に「/ home」として使用できるようになります。)
  • 通常どおりインストーラを実行します。必ずディスクパーティションの詳細オプションを選択してください。
  • インストーラーは、以前にインストールしたためにカーネルモジュールが含まれ、ロードされたinitrdイメージを作成します。そのため、再起動後、それは機能します。bcachebcache-tools
  • インストールされたシステムを起動した後、bcache-toolsもう一度インストールします。これにより、以降の更新でinitrdイメージから必要なbcacheカーネルモジュールが省略され、起動プロセスが妨げられることがなくなります。

ダブルブート構成でUbuntuとWindowsの両方にキャッシュを追加する必要があり、さらに別のシステムからもドライブにアクセスしたため、最終的にbcacheを使用しませんでした。そのため、このPCにはキャッシュが適切でないと判断しました。とにかくあなたの助けをありがとう。
Laszlo Almasi 2015年

0

これらの指示が見つかるまで、何度も試して失敗しました:http : //www.wdong.org/wordpress/blog/2014/05/28/installing-ubuntu-14-04-to-bcache/

少し毛むくじゃらに聞こえますが、少なくともbcacheがubuntuインストーラーの一部になるまでは、これがおそらくbcacheを実行する唯一の実行可能な方法です。

指示の唯一の奇妙な省略は、最後の段階です。

すべてを完了したら、/ sys / fs / bcacheでキャッシュセットのUUIDを検索し、次のようにします。

echo <UUID> > /sys/block/bcache0/bcache/attach

ライトバックモードを有効にしたい場合(私はこれを強くお勧めします):

echo writeback > /sys/block/bcache0/bcache/cache_mode

さまざまなファイルをcattingすると/sys/block/bcache0/bcache/、キャッシュの実行方法がすべてわかります。今年の7月26日にこれらの手順を使用してシステムをセットアップし、それ以来すべてが完全に実行されています。cat /sys/block/bcache0/bcache/stats_total/cache_hit_ratio非常に満足のいく88%を示し、主観的に、マシンはすべてSSDのセットアップのように感じます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.