Создание dm-кэша с помощью dmsetup Kernel 3.9.6

Я пытаюсь создать устройство dm-cache с помощью виртуальной машины. У меня есть несколько дисков с метками Cache_disk, Device_to_Cache и meta_data в /dev/sdb,sdc,sdd соответственно. При попытке создать кеш я запускаю команду:

dmsetup create my_cache --table '0 16775168 cache /dev/sdd1 /dev/sdb1 /dev/sdc1 512 1 writeback default 0'

как указано в статье dm-cache Документация страница

Я включил dm-cache в ядре, но ловлю эту ошибку:

device-mapper: reload ioctl failed: Invalid or incomplete multibyte or wide character
command failed

При просмотре dmesg device-mapper: метаданные кеша не проходят его sb_check

root@msali014-VirtualBox:/home/msali014# dmesg
[ 5432.738603] device-mapper: cache-policy-mq: version 1.0.0 loaded
[ 5432.794852] device-mapper: cache metadata: sb_check failed: magic 0: wanted 1623043
[ 5432.794862] device-mapper: block manager: superblock validator check failed for block 0
[ 5432.794867] device-mapper: cache metadata: couldn't read lock superblock
[ 5432.797952] device-mapper: table: 252:0: cache: Error creating metadata object

/var/log/syslog аналогичен:

Jun 28 11:17:01 msali014-VirtualBox CRON[2935]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jun 28 11:33:08 msali014-VirtualBox kernel: [ 5432.738603] device-mapper: cache-policy-mq: version 1.0.0 loaded
Jun 28 11:33:08 msali014-VirtualBox kernel: [ 5432.794852] device-mapper: cache metadata: sb_check failed: magic 0: wanted 1623043
Jun 28 11:33:08 msali014-VirtualBox kernel: [ 5432.794862] device-mapper: block manager: superblock validator check failed for block 0
Jun 28 11:33:08 msali014-VirtualBox kernel: [ 5432.794867] device-mapper: cache metadata: couldn't read lock superblock
Jun 28 11:33:08 msali014-VirtualBox kernel: [ 5432.797952] device-mapper: table: 252:0: cache: Error creating metadata object
Jun 28 11:33:08 msali014-VirtualBox kernel: [ 5432.797960] device-mapper: ioctl: error adding target to table
Jun 28 11:33:08 msali014-VirtualBox udevd[619]: inotify_add_watch(6, /dev/dm-0, 10) failed: No such file or directory
Jun 28 11:33:08 msali014-VirtualBox udevd[619]: inotify_add_watch(6, /dev/dm-0, 10) failed: No such file or directory

[ 5432.797960] device-mapper: ioctl: error adding target to table

Как изменить значение sb->magic, чтобы dm-cache успешно загружался? Любая помощь будет принята с благодарностью.


person thisismario123    schedule 28.06.2013    source источник


Ответы (2)


Сообщение об ошибке с многобайтовыми или широкими символами беспокоит меня, и у меня нет прямых советов, как это обойти.

Я предполагаю, что /dev/sdd1 и /dev/sdb1 — это ваши блочные устройства хранения метаданных и данных? Содержат ли они какие-либо данные?

Вы пытались обнулить том метаданных (dd if=/dev/zero of=/dev/sdd1)? У меня были проблемы с настройкой dm-cache некоторое время назад.

Вкратце я делаю следующее (в выпуске Ubuntu 13.04 + Linux 3.10):

dmsetup create ssd-metadata --table '0 19370 linear /dev/disk/by-id/scsi-SATA_OCZ-AGILITY2_f2d200034-part6 0'
dmsetup create ssd-blocks --table '0 189008982 linear /dev/disk/by-id/scsi-SATA_OCZ-AGILITY2_f2d200034-part6 19370'
dmsetup create home-cached --table '0 1048576000 cache /dev/mapper/ssd-metadata /dev/mapper/ssd-blocks /dev/vg0/spindle 512 1 writeback default 0'

Кстати, я без проблем запускал ядра 3.9.6 и несколько более ранних версий 3.9 на Ubuntu 12.11 и 13.04.

Если ничего не помогает, у меня есть рабочее решение для моей настройки в моем блоге с более подробной информацией, вы можете ознакомиться с пошаговым руководством.

person Kyle    schedule 01.07.2013
comment
Мультибайт выглядит как сообщение об ошибке зонтика из-за того, что я не полностью понял таблицу и ввел в нее какой-то мусор, я создал новые диски, но не создал метаданные ssd или блоки, как вы, но после этого и получил правильный смещение для домашнего кэшированного устройства, оно отлично работает! Спасибо за всю твою помощь. - person thisismario123; 01.07.2013
comment
Рад, что у тебя получилось. Нет никаких причин, по которым ваши выделенные разделы или выделенные устройства не должны работать. В долгосрочной перспективе я могу использовать lvm2 для управления своими dm-линейными областями вместо того, чтобы управлять ими самостоятельно. - person Kyle; 02.07.2013

У меня была точно такая же проблема:

[  968.960618] device-mapper: cache metadata: sb_check failed: blocknr 985712174465152: wanted 0

Копирование 0 на мое устройство метаданных устранило проблему.

dd bs=64k if=/dev/zero of=/dev/md1

Спасибо @Кайл.

person David B    schedule 27.04.2015