Я создаю устройство dm-cache, используя мой скрипт:http://pastebin.com/KTSzL6EA
Фактически он запускает эти команды:
dmsetup create suse-cache-metadata --table 0 15872 linear /dev/mapper/suse-cache 0
dmsetup create suse-cache-blocks --table 0 125813248 linear /dev/mapper/suse-cache 15872
dmsetup create storagecached --table 0 2930266112 cache /dev/mapper/suse-cache-metadata /dev/mapper/suse-cache-blocks /dev/mapper/storage 512 1 writethrough default 0
dmsetup resume storagecached
на 60 ГБ тома SSD LVM для кеширования 1,5 ТБ USB 2.0 HDD. Я устанавливаю кешированное устройство dm с помощью:
mount -t btrfs -o noatime,autodefrag,compress=lzo,space_cache /dev/mapper/storagecached /mnt/storage
Однако, похоже, это не работает вообще. Я заметил, что внешний жесткий диск раскручивается КАЖДЫЙ раз, когда я обращаюсь к любому контенту на кэшированном устройстве, и каждый раз, когда какой-то бот обращается к моему веб-сайту, даже он должен быть кеширован, я полагаю, это довольно раздражает и, в конце концов, приводит к ошибкам ввода-вывода после около одной недели, потому что внешний жесткий диск не может справиться с непрерывными ускорениями и замедлениями.
Я решил выполнить некоторые тесты и скопировать 8-гигабайтный файл в /dev /null с помощью команды dd
получив всего 40 МБ / с. Это та же скорость, что и у не кешированных HDD. Всегда. Как при пробном запуске с уничтоженным кэшем, так и при третьем или четвертом чтении, которое, я думаю, должно быть кэшировано. SSD, используемый для кэширования, достигает 92 МБ / с в корневом разделе. Конечно, после каждой проверки я очищал кеш Linux, чтобы исключить влияние на производительность кеширования.
Я на самом деле использую этот скрипт на 2 компьютерах, и ни один из них, кажется, не работает. Я знаю, что писание не ускорит письмо, но я все равно больше интересуюсь чтением.
РЕДАКТИРОВАТЬ:
Изучив dmsetup status
я заметил, что у меня очень низкие коэффициенты попадания в кэш. Это может быть вина Btrfs?