Разгоняем Ubuntu в 35 раз с помощью SSD и хитрого модуля ядра FlashCache

В основе проекта FlashCache лежит простая — как все гениальное — идея: если в компьютере установлен быстрый диск SSD и медленный HDD, то все часто используемые данные должны прозрачно для пользователя размещаться на SSD, а все остальное должно отправляться на HDD.

Какое именно ускорение дает FlashCache

Самой медленной операцией жесткого диска является произвольная запись. Из-за частых случайных перемещений головки, даже у современных дисков эта скорость может составлять около 2 Мб/с, что является узким местом, влияющим на общую производительность.

Экспериментатор с сайта LinuxJournal.com установил HDD, провел тестирование и привел его характеристики:

  • последовательное чтение: 115 Мб/с
  • последовательная запись: 72 Мб/с
  • произвольное чтение: 2 Мб/с
  • произвольная запись: 2 Мб/с

Может ли операционная система, записывающая данные со скоростью 2 Мб/с работать эффективно?

После этого измерения экспериментатор установил FlashCache и получил другие совсем другие данные, которые порадовали его больше:

  • последовательное чтение: 284 Мб/с
  • последовательная запись: 72 Мб/с
  • произвольное чтение: 284 Мб/с
  • произвольная запись: 71 Мб/с

Как видим, скорость произвольной записи возросла в 35,5 раз.

Установка FlashCache В Ubuntu

FlashCache распространяется в виде исходного кода модуля ядра. Репозиторием является GitHub, поэтому нам сначала потребуется установить инструментарий работы с git:

sudo apt-get install git-core

Теперь мы можем загрузить исходники:

git clone https://github.com/facebook/flashcache.git

В результате будет создана директория flashcache, в которую нужно перейти и дать команду на сборку программы:

sudo make

Учтите, что будет собран модуль для текущего ядра, исходники которого размещены (или должны быть размещены заранее) в директории /usr/src. Если требуется создать модуль к неработающему в данный момент ядру, то следует отдельно указать путь к исходникам:

sudo make KERNEL_TREE=/usr/src/custom-kernel

После компиляции нужно установить полученный модуль:

sudo make install

Запуск и настройка FlashCache

Сперва загрузим сам модуль:

sudo modprobe flashcache

Теперь убедимся, что всё собрали и установили правильно:

sudo dmesg | tail

Должно появиться сообщение, что «flashcache initialized». Теперь включим кэширование для произвольно выбранного раздела. Для примера возьмем /home, однако FlashCache умеет кэшировать любые разделы, даже загрузочные (через Dynamic Kernel Module Support).

sudo umount /home

Создадим новый виртуальный диск home_cached который будет сочетать сильные стороны SSD и HDD и игнорировать слабые:

sudo flashcache_create home_cached /dev/sdb /dev/sda2

Где /dev/sdb — это SSD-disk, а /dev/sda2 — прежний раздел /home на HDD-диске.

Теперь смонтируем /home обратно, однако вместо /dev/sda2 используем имя нового кэшируемого диска:

sudo mount /dev/mapper/home_cached /home

Внесите соответствующие изменения в /etc/fstab, чтобы после перезагрузки кэширование /home сохранилось.

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

Как еще разогнать Ubuntu

Можно не только включить кэширование, но и разогнать сам SSD. Читайте подробную инструкцию о том, как разогнать SSD-накопитель в Ubuntu с помощью включения поддержки TRIM.

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
Intercessio

А после такого разгона не надо ли будет искать новый SSD?

Ваша оценка: Нет Средняя оценка: 3 (2 votes)
pomodor

Нет, технология крутится на production-серверах Фейсбука, коих тысячи. Результаты внедрения признаны воодушевляющими.

Ваша оценка: Нет Средняя оценка: 4.7 (3 votes)

У меня после перезагрузки устройство cachedev исчезает и нужно его создавать заново. Может нужен какой-то скрипт? Или что-то не так настроено.

Система:
Ubuntu 12.04 обновлённая до 14.04
Установил из реп flashcache-dkms flashcache-utils

Ваша оценка: Нет
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Яндекс.Метрика