Flashcache на Xubuntu 13.04
Прежде всего, я новичок в использовании flashcache, и все, что я опубликую здесь, - это изучение.
У меня Asus K56CM, i5 с 500 ГБ HD и 24 ГБ SSD для кеша. В Windows 8, операционной системе по умолчанию, используется Expresscache для кэширования HD на SSD.
Я хочу сделать то же самое в Xubuntu, и я считаю Flashcache лучшим способом сделать это.
Я следую нескольким инструкциям, но что-то теряю.
Таблица разделов:
sda 8:0 0 465,8G 0 disk
├─sda1 8:1 0 5,9G 0 part [SWAP]
├─sda2 8:2 0 117,2G 0 part /
└─sda3 8:3 0 342,7G 0 part /home
sdb 8:16 0 22,4G 0 disk
├─sdb1 8:17 0 250M 0 part /boot/efi
├─sdb2 8:18 0 5,9G 0 part
└─sdb3 8:19 0 16,3G 0 part
SDA - это жесткий диск, а SDB - это SSD
В SDB2 я использую gdisk для Intel Rapid Boot и хочу кэшировать /home в SDB3.
Пошаговое руководство, за которым я следую, ( http://nitocris.over-blog.net/article-flash-cache-as-home-or-root-on-ubuntu-109792445.html):
- apt-get install git-core
- mkdir -p ~/Build/ ; cd ~/Build/
- git clone https://github.com/facebook/flashcache.git
- sudo apt-get install git build-essential dkms linux-headers-`uname -r` uuid-dev
- cd flashcache
- sudo make -f Makefile.dkms all boot_conf
- sudo make install
- sudo modprobe flashcache
- sudo echo "flashcache" >> /etc/modules
- dmesg | tail
И Flashcache теперь установлен. Но моя проблема в том, когда я создаю ссылку на flashcache.
Я беру UUID из SDA3 и делаю flashcache_Create на SDB3:
- umount /home
- flashcache_create -p back home_cached /dev/sdb3 /dev/disk/by-uuid/XXX-XXX (the ID)
А затем я редактирую FSTAB, комментируя монтирование /home и добавляя:
- /dev/mapper/home_cached /home reiserfs defaults 0 2
Все хорошо, но сейчас, потом, когда я перезагружаю систему, /home не монтируется... и я не знаю почему...
Любая помощь?
Спасибо!
PD: извините за мой английский, я испанский:S
РЕДАКТИРОВАТЬ: Хорошо, у меня есть решение. Flashcache должен создаваться при каждой перезагрузке, поэтому я создал скрипт для запуска при загрузке. Я описал это здесь: http://ubuntuforums.org/showthread.php?t=2179297
2 ответа
У меня такая же проблема; Я придумал этот файл конфигурации upstart, который найдет все диски flashcache и загрузит их, затем установит параметры sysctl для дисков и затем смонтирует их. Если вы добавляете больше дисков, все, что вам нужно сделать, это добавить их в /etc/fstab и убедиться, что у них есть опция nobootwait в четвертом поле, например
/dev/mapper/export /export ext4 nobootwait 0 1
Вот файл, который должен войти в /etc/init/flashcache.conf
:
# flashcache - Set up flashcache devices and mount them
description "Set up flashcache devices and mount them on boot"
start on mounted
task
console output
script
# Load any flashcache devices and get them ready to mount, then set sysctl settings.
PATH=/sbin:/bin:/usr/bin
# Load up any flashcache devices
for P in /dev/disk/by-id/*; do
if flashcache_load $P 2>/dev/null; then
echo "Loaded flashcache device from $P"
fi
done
# Now look through all WRITE_BACK devices and set the sysctl settings
for d in $(dmsetup table | grep 'cache mode(WRITE_BACK)' | perl -pe 's@.*ssd dev \(/dev/disk/by-id/(.*?)\), disk dev \(/dev/disk/.*?/(.*?)\).*@$1+$2@'); do
# disable writing dirty cache data at shutdown
sysctl -w dev.flashcache.$d.fast_remove=1
# change reclaim policy from FIFO to LRU
sysctl -w dev.flashcache.$d.reclaim_policy=1
# do not write "stale" data to disk until evicted due to lack of space
sysctl -w dev.flashcache.$d.fallow_delay=0
done
end script
Ссылаться на:
Как установить и использовать flashcache/bcache для кэширования жесткого диска на SSD?
Есть 2 случая, чтобы сделать / настроить ваш flashcache:
- Кэширование вашего корневого устройства, или
- Кэширование без полномочий root (не смонтировано в
/
) устройство