ПОДНИМАЕМ RAID НА РОУТЕРЕ
1.Перекидываем модули на роутер.
Мне было легче всего через samba. samba встроенная, не samba3
Предполагаю, что Вы настраивали свой роутер по инструкции
http://wl500g.info/showthread.php?t=3171
и установили mc
2.Заходим на роутер по телнет
3.Если у Вас есть smb shares на флешке на роутере с разрешением на запись, то пропустите этот пункт.
Если у Вас нет smb shares на флешке, то создайте с разрешением на запись, через web-интерфейс
Если у Вас есть есть smb shares на флешке на роутере, без разрешения на запись(мой случай), то делаем следующее
убиваем smbd
Правим /etc/smb.conf через mc
Заходим в описание Вашей шары и дописываем 2 строчки writable = yes и force user = admin, так чтобы получилось что-то типа
Code:
[flash]
path = /tmp/mnt/disca_1
writable = yes
force user = admin
comment = no discp
Выходим и сохраняем файл smb.conf
Запускаем smbd
3. Заходим на Вашу шару через nautilus (Ctrl + l и пишем адрес роутера с шарами, к примеру, smb://192.168.1.1). Выбираем шару и копируем туда модули ядра.
Потом можно закрыть доступ на запись в samba share. Можете либо поправить обратно /etc/smb.conf и сделать перезагрузку демона типа
Code:
$ killall smbd ; smbd -D
Или просто забыть про это до перезагрузки роутера, ведь мы же не сохраняли ничего через flashfs.
4.Прописываем модули.
Делаем папку для модулей. В данном случае для raid
Code:
$ mkdir -p /opt/lib/modules/2.6.22.19/kernel/drivers/md
Теперь копируем в нее модули linear.ko md-mod.ko
Дописываем информацию о месторасположении новых модулей в modules.dep
Code:
$ echo "/opt/lib/modules/2.6.22.19/kernel/drivers/md/linear.ko:" >> /opt/lib/modules/2.6.22.19/modules.dep
$ echo "/opt/lib/modules/2.6.22.19/kernel/drivers/md/md-mod.ko:" >> /opt/lib/modules/2.6.22.19/modules.dep
5. Загружаем модули и улыбаемся.
У меня работает только вот в такой последовательности
Code:
$ modprobe md-mod ; modprobe linear
Если попросить linear первым, то ругается
Code:
can't load module linear (/opt/lib/modules/2.6.22.19/kernel/drivers/md/linear.ko): unknown symbol in module, or unknown parameter
По-моему, на ноуте таких проблем нет, просишь linear - автоматом подгружает md-mod
СКОРОСТИ ЗАПИСИ И ЧТЕНИЯ
Флешка физически одна и та же. /dev/sda
sda1 - примонтирована прямо
sda2 - состоит в линейном массиве при модулях md_mod.ko и linear.ko. В массиве только один элемент - sda2
dd bs=1024 - самый быстрый способ записи который я знаю, это штука зависит то ли от памяти устройства, то ли от размера кластера файловой системы. Если от размера кластера файловой системы, то тогда наверняка - результаты очень не объективны. Делал файловую систему ext3 на обоих устройствах одинаково. Вот что выдал dumpe2fs:
Code:
$ dumpe2fs /dev/sda1
Block size: 1024
Fragment size: 1024
$ dumpe2fs /dev/md0
Block size: 4096
Fragment size: 4096
Все делал через telnet.
Code:
$ mount
/dev/discs/disca/part1 on /tmp/mnt/disca_1 type ext3 (rw,noatime,data=ordered)
/dev/md0 on /tmp/mnt/md0 type ext3 (rw,data=ordered)
итак, запись:
прямой mount
Code:
[admin@WL-E0CB4E247889 disca_1]$ dd if=/dev/zero of=file bs=1024 count=40000 ; rm -f file
40000+0 records in
40000+0 records out
40960000 bytes (39.1MB) copied, 29.815137 seconds, 1.3MB/s
md-mod.ko
Code:
[admin@WL-E0CB4E247889 md0]$ dd if=/dev/zero of=file bs=1024 count=40000 ; rm -f file
40000+0 records in
40000+0 records out
40960000 bytes (39.1MB) copied, 11.175866 seconds, 3.5MB/s
чтение
Параметр bs=1024 сильно повлиял и на чтение(!)
прямой mount
Code:
$ dd if=file of=/dev/null bs=1024
40000+0 records in
40000+0 records out
40960000 bytes (39.1MB) copied, 0.439018 seconds, 89.0MB/s
md-mod.ko
Code:
$ dd if=file of=/dev/null bs=1024
40000+0 records in
40000+0 records out
40960000 bytes (39.1MB) copied, 0.502551 seconds, 77.7MB/s
Почему так получилось - не знаю. Повторял несколько раз.
Вообще не могу никак оценить эти результаты, если Вы понимаете почему так, пожалуйста растолкуйте и мне.
http://dommedtest.ru/images/md-all.tar.bz2
внутри архива
dm-crypt.ko dm-mod.ko dm-zero.ko multipath.ko raid456.ko
dm-delay.ko dm-multipath.ko faulty.ko raid0.ko xor.ko
dm-emc.ko dm-round-robin.ko linear.ko raid10.ko
dm-mirror.ko dm-snapshot.ko md-mod.ko raid1.ko
md-linear.tar.bz2
внутри архива md-mod.ko linear.ko