Як налаштувати bcache?


11

Я намагався налаштувати bcache в Ubuntu 14.04 зі свіжою установкою та порожнім /homeрозділом ( /dev/sdb2) в якості резервного пристрою. У мене на своєму SSD працює система, і я хотів би використовувати її /dev/sda2розділ для кешування мого /home . Мені завжди вдавалося розбирати свої проблеми з ubuntu з форумів, але я намагаюся зрозуміти основи тут і мені потрібна допомога:

  1. Який обліковий запис потрібно ввійти, коли я налаштовував bcache? Очевидно, що користувач, створений під час встановлення /dev/sdb2, повинен вийти з системи, /homeщоб відключити його, тому я створив тимчасовий обліковий запис користувача на окремому розділі, щоб це зробити. Це здається занадто незграбним.
  2. make-bcache -Bі -Cобидва кажуть мені, що на пристрої є суперблоки, що не входять у кеш, так що я робив sudo wipefs -aна обох пристроях. Потім розділи видаються неформатованими без UUID в GParted. Це нормально?
  3. Якщо так, що станеться з fstab та /homeпід час завантаження? Чи потрібно використовувати UUID bcache у fstab? Я це зробив, але система не знайшла /homeрозділу при наступному завантаженні.

  4. Обидва echo /dev/sdb2 > /sys/fs/bcache/registerта echo /dev/sda2 > /sys/fs/bcache/registerповертають повідомлення "У дозволі відмовлено"; наскільки я розумію, /sysне можна писати.

    Так echo /dev/sdb2 | sudo tee /sys/fs/bcache/registerздається, спрацювало.

Чи може хтось перевірити, що це правильний спосіб зробити це в Ubuntu?

Мені здається, мені вдалося створити, зареєструвати та приєднати резервний диск, але згідно з даними tail /sys/block/bcache0/bcache/stats_total/*я лише обійшов дані. У мене вся установка зараз безлад, тому будь-яке уточнення буде дуже вдячно.


Ви перевірили? Здається, що ви знаєте "як", що вам потрібно знати?
Брайам

Я перевірив це як вище, і я отримую кеш-хіти, пропуски та обходи. Проблема - це мій резервний пристрій, який повинен бути моїм домашнім розділом, не встановлюється як домашній при запуску, а як окремий диск. Тож мій / дім - це папка на / в даний момент, і я тестую bcache, копіюючи файли на резервний пристрій і отримуючи доступ до них. Я возився з fstab, що, мабуть, було помилкою, і зараз у мене немає дійсного UUID для мого / домашнього розділу, якщо це має сенс. Що мені потрібно - це ідіотне проходження, спеціально для ubuntu.
Ласло Алмасі

Гаразд, я зіпсував fstab та / home був неправильний UUID. Здається, зараз це працює. Мене все одно цікавить, як саме слід встановити bcache: з тимчасового облікового запису користувача, прямого CD / USB чи іншого?
Ласло Алмасі

Відповіді:


7

З Ubuntu 15.10 відповідь Алекса вже не правильна. initramfsЗображення фіксується в інсталятор і не буде автоматично регенерується при установці системи. Таким чином, у вас буде bcacheвстановлення, але він не зможе завантажитися. Я написав більш детальний опис наступного процесу в інших місцях ; однак, ось основи:

1. Розбиття

Завантажте Ubuntu live-cd та створіть наступну схему розділів за допомогою fdiskабо gparted. Припустимо, що /dev/sdaце ваш SSD та /dev/sdbваш жорсткий диск:

/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

Після деяких проб і помилок я прийшов до наступного рішення для чистої установки:

  • Розділіть жорсткий диск так, як вам подобається (припускаючи /dev/sdb2, що ви хочете для цього місця /home).
  • # apt-get install bcache-tools
  • # make-bcache -B /dev/sdb2 -C /dev/sda2 (Це створює /dev/bcache0, але інсталятор інтерфейсу ще не може його використовувати.)
  • # mkfs.ext4 /dev/bcache0 (Це робить інсталятор бачити "розділ / dev / bcache0" під "device / dev / bcache0" і дозволяє використовувати його як "/ home" під час встановлення.)
  • Запустіть інсталятор як завжди, обов'язково виберіть розширені параметри розділів диска.
  • Інсталятор створює initrdзображення з bcacheвключеним і завантаженим модулем ядра завдяки тому, що ми встановили bcache-toolsраніше, тому після перезавантаження він просто працює.
  • Після завантаження встановленої системи встановіть bcache-toolsще раз, щоб подальші оновлення не скалічили процес завантаження, опустивши необхідний модуль ядра bcache з зображення initrd.

У кінцевому підсумку я пройшов без bcache, тому що мені потрібно кешування для Ubuntu та Windows у конфігурації подвійного завантаження, а також я отримую доступ до своїх накопичувачів з іншої системи. Тому я вирішив, що кешування просто не підходить для цього ПК. Дякуємо за вашу допомогу.
Ласло Алмасі

0

Я теж багато разів намагався і не зміг, поки не знайшов цих інструкцій: http://www.wdong.org/wordpress/blog/2014/05/28/installing-ubuntu-14-04-to-bcache/

Вони звучать дещо волохато, але це, мабуть, єдино можливий спосіб запустити bcache, принаймні, поки bcache не стане частиною інсталятора ubuntu.

Єдиний цікавий недолік в інструкціях - це останній етап.

Після того як ви все зробили, знайдіть UUID кешу, встановленого в / sys / fs / bcache, і зробіть це:

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

Якщо ви хочете ввімкнути режим запису (що я настійно рекомендую):

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

введення різних файлів у /sys/block/bcache0/bcache/вас розповість про те, як кеш працює. Я створив свою систему за допомогою цих інструкцій 26 липня цього року і з тих пір усе працює ідеально. cat /sys/block/bcache0/bcache/stats_total/cache_hit_ratioпоказує надзвичайно задовільні 88 відсотків і суб'єктивно машина відчуває себе як все-SSD.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.