Как установить и использовать flashcache / bcache для кэширования жесткого диска на SSD?

Я хочу знать, есть ли кто-нибудь, кто пытался установить и запустить свое ядро, построенное с помощью flashcache или bcache для SSD-кэширования?

Как вы справились? сделать это?

52
задан 13 September 2013 в 19:16

4 ответа

Ну, мы получили ответ bcache, но никакой ответ flashcache. Я выбрал flashcache, потому что у меня уже была существующая установка, таким образом, bcache был вне рассмотрения. Мне казалось легче настроить также. Я выбрал метод DKMS, таким образом, я не застряну, восстанавливая модуль/инструменты каждый раз, когда я получил обновление ядра.

Эти шаги обрисованы в общих чертах в README-DKMS на GitHub.

Создание модуля

  1. Первая вещь, которую Вы делаете, установить предпосылки здания:

    sudo apt-get install dkms build-essential linux-headers-$(uname -r) git
    
  2. Затем поймайте источник:

    git clone git://github.com/facebook/flashcache; cd flashcache
    
  3. Создайте и установите модули:

    make -f Makefile.dkms
    

Создание flashcache устройства

(В этом примере я использую кэширование обратной записи - значение по умолчанию - но flashcache может сделать writearound и writethrough также),

Кэширование некорневого (не смонтированный в/) устройство

sudo flashcache_create -p back fcache /dev/sdbX /dev/sdaX Где fcache является созданным устройством (/dev/mapper/fcache),/dev/sdaX является партоном SSD (или целый диск), и/dev/sdbX является разделом жесткого диска.

Кэширование Вашего корневого устройства

Существует еще несколько шагов при кэшировании корневого устройства. Вам будет нужен Ubuntu LiveCD/USB для этого раздела.

  1. cd /path/to/flashcache/source

  2. make -f Makefile.dkms boot_conf

  3. Отредактируйте/boot/grub/grub.cnf и/etc/fstab для начальной загрузки от/dev/mapper/fcache (я не полагаю, что этот шаг действительно необходим, но он говорит). Обязательно запишите UUID Вашего исходного корневого устройства.

  4. Перезагрузка с LiveCD/LiveUSB.

  5. Смонтируйте свое корневое устройство: mount /dev/sda4 /mnt (/dev/sda4 мой корневой раздел Linux),

  6. cd /mnt/path/to/flashcache/source

  7. sudo apt-get install dkms build-essential linux-headers-$(uname -r)

  8. make; sudo make install Никакая потребность сделать целую установку DKMS в продуктивной среде

  9. Размонтируйте корневое устройство sudo umount /mnt

  10. 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 Вашего корневого раздела.

  11. Перезагрузка!

Протесты при использовании корневого устройства

Одно незначительное раздражение, когда flashcache используется для корневого устройства, - то, что датчик личинки не удается обнаружить корневое устройство и может испортить Ваше меню начальной загрузки так, чтобы у Вас было две записи Ubuntu. Но, это не должно иметь значения, который Вы используете во всей действительности начиная с make -f Makefile.dkms boot_conf шаг выше устанавливает некоторые сценарии в Вашем initrd, который будет обнаруживать и использовать flashcache устройство.

10
ответ дан 13 September 2013 в 19:16

Существует инструмент преобразования для включения bcache на существующем устройстве (раскрытие: я написал его). Это также способ перейти к новым установкам, поскольку современные установщики дистрибутивов не знают, как создавать устройства bcache (в этом случае: начните с установки на жесткий диск).

См. преобразование вашей корневой файловой системы в bcache в README blocks для получения инструкций.

bcache требует Linux 3.10 или более поздней версии, которая является дерзкой и может быть установлена ​​вручную с http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=M;O=D [ 116] (ищите новейшую версию с тегами, в настоящее время v3.11.5-saucy, и установите дэбы, соответствующие вашей архитектуре).

bcache-tools и blocks могут быть установлены из моего хранилища ppa .

0
ответ дан 13 September 2013 в 19:16

Я думал, что приду сюда и прокомментирую, что произошло со мной, когда я установил новое ядро. Я использовал flashcache только для моего раздела / home / folder. Я установил новое ядро, загрузился в него, и он остановился во время загрузки и сказал, что не может найти / 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

и выйти из вход в систему как root с выходом в командной строке, и он должен продолжить загрузку в обычном режиме. все сделано!

0
ответ дан 13 September 2013 в 19:16

Предварительное предупреждение: bcache нельзя использовать для существующей установки Ubuntu. Если вам требуется SSD-кэширование для вашей операционной системы, вам следует дождаться будущей или специальной версии установщика Ubuntu, которая могла бы настроить ваш SSD-кеш. Посмотрите этот ответ Оли здесь: Требуется ли для bcache новая установка?

Для всех, кто хочет использовать диск bcache для данных не из ОС:

сделать это обновить ядро, если вы используете 13.04 или старше, используя основной PPA ядра. Инструкции по его использованию можно найти здесь:

https://wiki.ubuntu.com/Kernel/MainlineBuilds

Убедитесь, что вы выбрали ядро ​​версии 3.9 или выше, когда загрузка или она не будет работать, и ваш диск исчезнет.

Установите bcache-tools, на данный момент вам нужно будет установить из репозитория 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 И жесткий диск), а затем соединить их вместе, чтобы создать новый блок устройства с использованием bcache. Опубликуйте комментарий, если вы найдете инструкции смущающими, и я дополню этот ответ упрощениями.

0
ответ дан 13 September 2013 в 19:16

Другие вопросы по тегам:

Похожие вопросы: