Bagaimana cara mengatur bcache?

11

Saya sudah mencoba mengatur bcache di Ubuntu 14.04 dengan instalasi baru dan /homepartisi kosong ( /dev/sdb2) sebagai perangkat pendukung. Saya memiliki sistem yang berjalan pada SSD saya dan saya ingin menggunakan /dev/sda2partisi untuk men-cache saya /home . Saya selalu berhasil menyortir masalah ubuntu saya dari forum, tetapi saya berjuang untuk memahami dasar-dasarnya di sini dan butuh bantuan:

  1. Akun apa yang saya perlukan untuk masuk ketika saya mengatur bcache? Jelas pengguna yang dibuat saat instalasi /dev/sdb2harus keluar untuk di /home-unmount, jadi saya mengatur akun pengguna sementara pada partisi terpisah untuk melakukannya. Ini sepertinya sudah terlalu canggung.
  2. make-bcache -Bdan -Ckeduanya memberi tahu saya bahwa ada superblok non-bcache pada perangkat jadi saya lakukan sudo wipefs -apada kedua perangkat. Partisi kemudian muncul sebagai tidak diformat tanpa UUID di GParted. Apakah ini normal?
  3. Jika demikian, apa yang terjadi pada fstab dan /homesaat boot? Apakah saya perlu menggunakan UUID bcache di fstab? Saya lakukan tetapi sistem tidak menemukan /homepartisi pada boot berikutnya.

  4. Keduanya echo /dev/sdb2 > /sys/fs/bcache/registerdan echo /dev/sda2 > /sys/fs/bcache/registermengembalikan pesan 'Izin ditolak'; seperti yang saya mengerti /systidak dapat ditulis.

    Jadi echo /dev/sdb2 | sudo tee /sys/fs/bcache/registersepertinya sudah berhasil.

Dapatkah seseorang memverifikasi ini adalah cara yang tepat untuk melakukannya di Ubuntu?

Saya sepertinya telah berhasil membuat, mendaftar, dan melampirkan backing drive tetapi menurut data tail /sys/block/bcache0/bcache/stats_total/*saya hanya mem-bypass. Seluruh pengaturan saya cukup berantakan sekarang sehingga klarifikasi apa pun akan sangat dihargai.

Laszlo Almasi
sumber
Sudahkah Anda mengujinya? Tampaknya Anda tahu "bagaimana caranya", apa yang perlu Anda ketahui?
Braiam
Saya mengujinya seperti di atas dan saya mendapatkan hit cache, meleset dan memotong. Masalahnya adalah perangkat pendukung saya yang seharusnya menjadi partisi rumah saya tidak dipasang sebagai rumah saat startup tetapi sebagai drive terpisah. Jadi / home saya adalah folder pada / saat ini dan saya sedang menguji bcache dengan menyalin file ke perangkat pendukung dan mengaksesnya. Saya bermain-main dengan fstab yang mungkin merupakan kesalahan dan saya tidak memiliki UUID yang valid untuk partisi / home saya sekarang jika itu masuk akal .. Apa yang saya butuhkan adalah walk-through idiot-bukti khusus untuk ubuntu.
Laszlo Almasi
OK, saya mengacaukan fstab dan / rumah memiliki UUID yang salah. Tampaknya berfungsi sekarang. Saya masih tertarik pada bagaimana tepatnya bcache seharusnya diatur: dari akun pengguna sementara, live CD / USB, atau lainnya?
Laszlo Almasi

Jawaban:

7

Dengan Ubuntu 15.10, jawaban alex tidak lagi benar. The initramfsgambar terkunci dalam installer dan tidak akan secara otomatis kembali dihasilkan ketika sistem terinstal. Dengan demikian seseorang akan memiliki bcacheinstalasi, tetapi itu tidak akan bisa boot. Saya telah menulis deskripsi yang lebih jelas tentang proses berikut di tempat lain ; Namun, inilah dasar-dasarnya:

1. Mempartisi

Boot ke live-cd Ubuntu dan buat skema partisi berikut dengan fdiskatau gparted. Dengan asumsi /dev/sdaSSD Anda dan /dev/sdbHDD Anda:

/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. Buat perangkat bcache

Buka terminal, hapus sistem file pada perangkat backing dan caching:

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

Instal bcache-toolsdan buat bcacheperangkat:

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. Instal Ubuntu

Instal sistem operasi menggunakan partisi kustom sebagai berikut:

/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

JANGAN REBOOT setelah installer selesai!

4. Instal bcache pada instalasi baru

Menggunakan chrootkami menginstal bcache-toolspada instalasi baru. Siapkan lingkungan dan aktifkan resolusi 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

Masuk ke dalam chrootdan lakukan instalasi

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

Selama instalasi, Anda harus memperhatikan bahwa partisi ini initramfsdihasilkan dan diinstal ke partisi ( chroot-ed) /boot.

5. Pembersihan

Turun dari sistem file dan reboot.

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt
sudo reboot
bkloppenborg
sumber
2

Setelah beberapa percobaan dan kesalahan saya telah tiba pada solusi berikut untuk instalasi yang bersih:

  • Partisi HDD sesuka Anda (dengan asumsi /dev/sdb2ruang yang Anda inginkan /home).
  • # apt-get install bcache-tools
  • # make-bcache -B /dev/sdb2 -C /dev/sda2 (Ini dibuat /dev/bcache0, tetapi penginstal UI belum dapat menggunakannya.)
  • # mkfs.ext4 /dev/bcache0 (Ini membuat installer melihat "partisi / dev / bcache0" di bawah "device / dev / bcache0" dan memungkinkan Anda untuk menggunakannya sebagai "/ home" selama instalasi.)
  • Jalankan penginstal seperti biasa, pastikan untuk memilih opsi partisi disk tingkat lanjut.
  • Installer membuat initrdgambar dengan bcachemodul kernel yang disertakan dan dimuat karena kita sudah menginstal bcache-toolssebelumnya, jadi setelah reboot itu berfungsi.
  • Setelah mem-boot sistem yang terinstal, instal bcache-toolssekali lagi, sehingga pembaruan lebih lanjut tidak melumpuhkan proses booting dengan menghilangkan modul kernel bcache yang diperlukan dari gambar initrd.
alex
sumber
Saya pergi tanpa bcache pada akhirnya karena saya perlu melakukan cache untuk Ubuntu dan Windows dalam konfigurasi double-boot plus saya mengakses drive saya dari sistem lain juga. Jadi saya memutuskan cache tidak cocok untuk PC ini. Terima kasih atas bantuan Anda.
Laszlo Almasi
0

Saya juga mencoba dan gagal berkali-kali sampai saya menemukan petunjuk ini: http://www.wdong.org/wordpress/blog/2014/05/28/installing-ubuntu-14-04-to-bcache/

Kedengarannya agak berbulu tetapi ini mungkin satu-satunya cara yang memungkinkan untuk menjalankan bcache, setidaknya sampai bcache menjadi bagian dari penginstal ubuntu.

Satu-satunya penghilangan penasaran dalam instruksi adalah tahap terakhir.

Setelah Anda melakukan semuanya, cari UUID cache yang diset di / sys / fs / bcache dan lakukan ini:

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

Jika Anda ingin mengaktifkan mode penulisan kembali (yang saya sangat sarankan):

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

men-caching berbagai file /sys/block/bcache0/bcache/akan memberi tahu Anda semua tentang bagaimana cache berjalan. Saya mengatur sistem saya menggunakan instruksi ini pada 26 Juli tahun ini dan semuanya berjalan dengan sempurna sejak itu. cat /sys/block/bcache0/bcache/stats_total/cache_hit_ratiomenunjukkan 88 persen yang sangat memuaskan dan secara subyektif, mesin ini terasa seperti pengaturan semua SSD.

Vivek
sumber