Хочу знати, чи є хтось, хто спробував встановити і запустити своє ядро, побудоване з flashcache або bcache для кешування SSD?
Як вам вдалося це зробити?
Хочу знати, чи є хтось, хто спробував встановити і запустити своє ядро, побудоване з flashcache або bcache для кешування SSD?
Як вам вдалося це зробити?
Відповіді:
Ну, ми отримали відповідь bcache, але не відповіді на flashcache. Я вибрав флеш-кеш, тому що в мене вже була встановлена установка, тому bcache не піддавався сумніву. Мені здалося, що так само простіше налаштувати. Я вибрав метод DKMS, щоб я не затримувався перебудовувати модуль / інструменти щоразу, коли отримував оновлення ядра.
Ці кроки викладені в README-DKMS на Github.
Побудова модуля
Перше, що ви робите, це встановити будівельні передумови:
sudo apt-get install dkms build-essential linux-headers-$(uname -r) git
Потім зачепіть джерело:
git clone git://github.com/facebook/flashcache; cd flashcache
Побудова та встановлення модулів:
make -f Makefile.dkms
Створення пристрою флеш-кешу
(У цьому прикладі я використовую кешування зворотного запису - за замовчуванням - але flashcache також може виконувати обробку та записування)
Кешування некореневого (не встановленого на /) пристрою
sudo flashcache_create -p back fcache /dev/sdbX /dev/sdaX
Там, де fcache - створений пристрій (/ dev / mapper / fcache), / dev / sdaX - це розділ SSD (або весь диск), а / dev / sdbX - розділ HDD.
Кешування кореневого пристрою
Ще кілька кроків, якщо ви кешуєте свій кореневий пристрій. Для цього розділу вам знадобиться Ubuntu LiveCD / USB.
cd /path/to/flashcache/source
make -f Makefile.dkms boot_conf
Відредагуйте /boot/grub/grub.cnf та / etc / fstab для завантаження з / dev / mapper / fcache (я не вірю, що цей крок дійсно необхідний, але він говорить). Не забудьте записати UUID свого оригінального кореневого пристрою.
Перезавантажте програму LiveCD / LiveUSB.
Підключіть свій кореневий пристрій: mount /dev/sda4 /mnt
(/ dev / sda4 - мій кореневий розділ Linux)
cd /mnt/path/to/flashcache/source
sudo apt-get install dkms build-essential linux-headers-$(uname -r)
make; sudo make install
Не потрібно робити цілі налаштування DKMS у прямому середовищі
Демонтуйте кореневий пристрій sudo umount /mnt
sudo flashcache_create -p back fcache /dev/sdbX /dev/disk/by-uuid/[UUID]
Там, де fcache - це створений пристрій (він повинен бути таким же, як ви ставите в / etc / fstab та /boot/grub/grub.cnf, в моєму випадку це fcache), / dev / sdbX - це розділ SSD (або весь диск ) і [UUID] - UUID вашого кореневого розділу.
Перезавантажте!
Застереження при використанні кореневого пристрою
Невеликий роздратування, коли флеш-кеш використовується для кореневого пристрою, полягає в тому, що grub-зонд не може виявити кореневий пристрій і може зіпсувати ваше завантажувальне меню, щоб у вас було два входи Ubuntu. Але це не має значення, яким ви користуєтесь у будь-якій реальності, оскільки на make -f Makefile.dkms boot_conf
етапі вище встановлено деякі сценарії у вашому initrd, які виявлять та використовувати пристрій flashcache.
linux /boot/vmlinuz-3.19.0-51-lowlatency root=UUID=0a540b91-5990-4df0-bc99-5d6e2cd3fed6 ro recovery nomodeset
до linux /boot/vmlinuz-3.19.0-51-lowlatency root=/dev/mapper/fcache ro recovery nomodeset
(тобто змінити root = параметр)
Існує інструмент перетворення для включення bcache на існуючому пристрої (розкриття: я написав це). Це також спосіб перейти до нових інсталяцій, оскільки нинішні інсталятори дистрибутивів не знають, як створити bcache пристрої (у цьому випадку: почніть з установки на жорсткий диск).
Інструкції див. Про перетворення кореневої файлової системи в bcache у програмі blocks
README.
bcache вимагає Linux 3.10 або новішої версії, який є досконалим, і його можна встановити вручну з
http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=M;O=D (шукайте найновіший тег випуску на даний момент v3.11.5-saucy
та встановіть деби, які відповідають вашій архітектурі).
bcache-tools
і blocks
може бути встановлений із моєї пам'яті ppa .
/
, /home
, /usr/
, ...) в той час як система працює (як maintboot зламана). В якості альтернативи ви можете використовувати живу USB-накопичувач, встановлювати blocks
її та використовувати її для перетворення дисків. Однак майте на увазі, що цей інструмент працює лише на первинних таблицях розділів MBR та GPT і вимагає 1MiB додаткового місця перед кожним розділом.
Попереднє попередження: bcache не можна використовувати для вашої існуючої установки Ubuntu. Якщо вам потрібне кешування SSD для вашої операційної системи, вам слід дочекатися майбутньої або спеціальної версії інсталятора Ubuntu, яка могла б налаштувати ваш кеш SSD. Дивіться цю відповідь Олі тут: чи потребує bcache свіжа установка?
Для всіх інших, хто хоче накопичувач bcache для даних, що не належать до ОС:
Перше, що потрібно зробити, - це оновити ядро, якщо ви використовуєте 13.04 або старші, використовуючи PPA основної лінії ядра. Інструкції по використанню цього можна знайти тут:
https://wiki.ubuntu.com/Kernel/MainlineBuilds
Переконайтесь, що ви вибрали ядро 3,9 або вище під час завантаження або воно не працюватиме, а ваш диск зникне.
Встановіть bcache-інструменти, на даний момент вам доведеться встановити з сховища git:
git clone http://evilpiepirate.org/git/bcache-tools.git
Якщо вам вдасться упакувати bcache-tools
для debian, повідомте нас, і це питання буде оновлено для вас. ( bcache-tools
залежності залежно від побудови є uuid-dev
і libblkid-dev
вони повинні бути встановлені, щоб будувати bcache-tools
.)
Як тільки у вас є всі інструменти на місці, ви готові спробувати і дотримуватися інструкції тут:
http://atlas.evilpiepirate.org/git/linux-bcache.git/tree/Documentation/bcache.txt
У цьому посібнику показано, як відформатувати диски (SSD AND жорсткий диск), а потім з'єднати їх, щоб створити новий блок пристроїв за допомогою bcache. Залиште коментар, якщо ви вважаєте, що інструкція є заплутаною, і я оновлю цю відповідь спрощеннями.
я думав, що приїду сюди і прокоментую те, що сталося зі мною, коли я встановив нове ядро. Я використовував флеш-кеш лише для мого / домашнього / розділу папок. Я встановив нове ядро, завантажився в нього і він зупинився під час завантаження і сказав, що він не може знайти / dev / mapper / home_cached, є 3 варіанти, коли ви отримуєте це повідомлення, і я вибираю варіант для входу як root і спроба виправити це. Я спершу спробував завантажити модуль flashcache, і він сказав, що не може його знайти. Тому я зрозумів, що мені доведеться компілювати та встановлювати його для цього ядра, яке я щойно встановив. У мене все ще була папка / flashcache /, розташована всередині / root /, тому я ввійшов до неї і побіг
make -f Makefile.dkms boot_conf
потім я побіг
make install
потім я завантажив модуль flashcache
modprobe flashcache
тоді я просто повинен був завантажити свій існуючий пристрій flashcache, який був
flashcache_load /dev/sdb1
тоді просто монтуйте мою домашню перегородку
mount /home
потім вийдіть із входу в систему як корінь з виходом у командному рядку, і він повинен продовжувати завантаження як звичайне. все зроблено!