URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 95638
[ Назад ]

Исходное сообщение
"зеркало из usb-флешек на фре"

Отправлено raven428 , 31-Май-14 13:47 
Здравствуйте. Пытаюсь сделать загрузочное зеркало из двух usb-флешек. Флешки обычные, ничего особенного:
May 31 07:47:28 vmstor kernel: da0 at umass-sim0 bus 0 scbus3 target 0 lun 0
May 31 07:47:28 vmstor kernel: da0: <UFD 3.0 Silicon-Power16G PMAP> Removable Direct Access SCSI-6 device
May 31 07:47:28 vmstor kernel: da0: Serial Number P1312160070B3C53D05D7171
May 31 07:47:28 vmstor kernel: da0: 40.000MB/s transfers
May 31 07:47:28 vmstor kernel: da0: 15120MB (30965760 512 byte sectors: 255H 63S/T 1927C)
May 31 07:47:28 vmstor kernel: da0: quirks=0x2<NO_6_BYTE>

Если делать scrub пула из одной флешки (без зеркала), то всё замечательно:
  scan: scrub in progress since Sat May 31 08:36:45 2014
        461M scanned out of 2,87G at 25,6M/s, 0h1m to go
        0 repaired, 15,71% done

Но когда я делаю attach второй флешки в зеркало, то начинается ужас:
  scan: resilver in progress since Sat May 31 07:49:55 2014
        242M scanned out of 2,87G at 122K/s, 6h17m to go
        242M resilvered, 8,25% done

Обе флешки только что из магазина. Тестировал их через dd: по одиночке около 33 мб/с чтение и около 25 мб/с запись. Если с помощью dd писать и/или читать их одновременно, то скорость ниже, но всё ещё приемлимая: около 17-20 мб/с. Операционная система такая "FreeBSD 10.0-STABLE #0 r266463: Tue May 20 18:24:03 UTC 2014". Конфигурация адра довольно простая:
include GENERIC
ident vmstor
nooptions INET6
nooptions AHC_REG_PRETTY_PRINT
nooptions AHD_REG_PRETTY_PRINT
options CONSPEED=19200
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=512
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
options DUMMYNET
options SHMMAXPGS=65536
options SEMMNI=128
options SEMMNS=32000
options SEMUME=40
options SEMMNU=120
options SEMOPM=250
options SEMMSL=250
options SHMMNI=4096
options SHMSEG=4096
options MAXDSIZ="(1024*1027*1024)"
options MAXSSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"
options SHMMAX=2147483647
options SHMALL=2097152
Железо - десктопные мамки с Intel 82801G (ICH7) USB controller на первом и Intel PCH USB 2.0 controller на второй компе. Ещё я попытался вставить дополнительный контроллер VIA VT6202 USB 2.0 PCI, чтобы разделить флешки по разным контроллерам, но это не помогло.

Так же я пробовал gmirror на этих двух флешках. Ребилдится он на высокой скорости типа 20-30 мб/с, но когда я запускаю restore на зеркало (конечно же после окончания ребилда), то проявляется тот же ужас в виде 100-200 кб/с на запись.

Вообще возможно ли построить такое зеркало как мне хочется на фре или я много хочу от обычного копеечного десктопного железа? Если это всё таки возможно, то что я делаю не так?


Содержание

Сообщения в этом обсуждении
"зеркало из usb-флешек на фре"
Отправлено pavlinux , 01-Июн-14 01:50 
> Железо - десктопные мамки с
> Intel 82801G (ICH7) USB controller на первом и
> Intel PCH USB 2.0 controller на второй компе. Ещё я попытался вставить дополнительный контроллер
> VIA VT6202 USB 2.0 PCI, чтобы разделить флешки по разным контроллерам, но это не помогло.

Уапрос, как две мамки связаны?

> тот же ужас в виде 100-200 кб/с на запись.

Переведи по буквам слово USB, особо букву S

> Вообще возможно ли построить такое зеркало

Можно, но нах...я?  

> Если это всё таки возможно, то что я делаю не так?

Поставь Linux, Фря - это детская поделка для офисных роутеров и прокладка для апача.


"зеркало из usb-флешек на фре"
Отправлено Hammer , 01-Июн-14 09:21 

> Поставь Linux, Фря - это детская поделка для офисных роутеров и прокладка
> для апача.

Вот это пернул, так пернул!


"зеркало из usb-флешек на фре"
Отправлено raven428 , 01-Июн-14 10:04 
> Поставь Linux, Фря - это детская поделка для офисных роутеров и прокладка
> для апача.

а у линукса zfs в ядре появилось?


"зеркало из usb-флешек на фре"
Отправлено pavlinux , 07-Июн-14 03:08 
>> Поставь Linux, Фря - это детская поделка для офисных роутеров и прокладка
>> для апача.
> а у линукса zfs в ядре появилось?

Нищебродская СХД? Не нету. Чо ещё?


"зеркало из usb-флешек на фре"
Отправлено Аноним , 03-Июл-14 22:19 
>>> Поставь Linux, Фря - это детская поделка для офисных роутеров и прокладка
>>> для апача.
>> а у линукса zfs в ядре появилось?
> Нищебродская СХД? Не нету. Чо ещё?

Там нет тебя, а это всё остальное перевешивает :)


"зеркало из usb-флешек на фре"
Отправлено universite , 01-Июн-14 18:15 
> Здравствуйте. Пытаюсь сделать загрузочное зеркало из двух usb-флешек. Флешки обычные,
> ничего особенного:
> Так же я пробовал gmirror на этих двух флешках. Ребилдится он на
> высокой скорости типа 20-30 мб/с, но когда я запускаю restore на
> зеркало (конечно же после окончания ребилда), то проявляется тот же ужас
> в виде 100-200 кб/с на запись.
> Вообще возможно ли построить такое зеркало как мне хочется на фре или
> я много хочу от обычного копеечного десктопного железа? Если это всё
> таки возможно, то что я делаю не так?

Вот именно, что обычные.
Проведите тесты чтения-записи мелкими файлами - 1М, 512K, 256K, 128K
и вы увидите низкую скорости.

Вот, похожая на вашу флешку:
http://s018.radikal.ru/i509/1406/cc/a6b19429e674.jpg
http://s52.radikal.ru/i137/1406/82/b113e87498b1.jpg


"зеркало из usb-флешек на фре"
Отправлено raven428 , 01-Июн-14 19:51 
>> Здравствуйте. Пытаюсь сделать загрузочное зеркало из двух usb-флешек. Флешки обычные,
>> ничего особенного:
> Вот именно, что обычные.
> Проведите тесты чтения-записи мелкими файлами - 1М, 512K, 256K, 128K
> и вы увидите низкую скорости

да, действительно, очень печальное зрелище:

[~@vmstor/15:13:33]
raven$ sudo dd if=/dev/zero of=/dev/da7 bs=512
^C1248+0 records in
1247+0 records out
638464 bytes transferred in 31.285647 secs (20408 bytes/sec)
[~@vmstor/15:14:33]
raven$ sudo dd if=/dev/zero of=/dev/da7 bs=1024
^C1356+0 records in
1355+0 records out
1387520 bytes transferred in 31.484652 secs (44070 bytes/sec)
[~@vmstor/15:15:48]
raven$ sudo dd if=/dev/zero of=/dev/da7 bs=2048
^C1256+0 records in
1255+0 records out
2570240 bytes transferred in 23.480575 secs (109462 bytes/sec)

есть варианты с каким-нибудь кэшем или буфером? если взять пару http://usbflashspeed.com/device/41355 , то должна ли ситуация исправиться? не будет ли каких-то подножек со стороны USB подсистемы FreeBSD?


"зеркало из usb-флешек на фре"
Отправлено universite , 01-Июн-14 20:28 

> есть варианты с каким-нибудь кэшем или буфером? если взять пару http://usbflashspeed.com/device/41355
> , то должна ли ситуация исправиться? не будет ли каких-то подножек
> со стороны USB подсистемы FreeBSD?

У вас по ссылке устройство USB 3.0, а на материнке - 2.0.

Смотрите в сторону Solid-State Mini IDE Flash Drives (Flash Disk Modules) (http://www.psism.com/mini-ide-drive.htm)
Потом в сторону обычных HDD.
А потом в сторону SSD...


"зеркало из usb-флешек на фре"
Отправлено upf , 02-Июн-14 09:43 
есть мнение что средней поршивости винт в одиночку быдет быстрее и надежнее вашего зеркала )) в разы, а местами и на порядки ))

"зеркало из usb-флешек на фре"
Отправлено raven428 , 02-Июл-14 19:31 
universite, Вы оказались абсолютно правы. купил sandisk extreme и всё заработало как надо, но обнаружился другой досадный глюк, который, впрочем, был и на предыдущих флешках тоже, но до этого я не обратил на него внимания :(

после создания zvol в zpool из обычных жёстких дисков на команду reboot или shutdown компьютер реагирует так: http://farm6.staticflickr.com/5506/14550830655_d517ab28f5_b.jpg и висит. реагирует только на кнопку на корпусе.

если убрать zvol, или грузиться не с usb-флешек, а с обычного винта или винтов, что с zfs, что с ufs, то глюк пропадает.


"зеркало из usb-флешек на фре"
Отправлено universite , 02-Июл-14 20:51 
> universite, Вы оказались абсолютно правы. купил sandisk extreme и всё заработало как
> надо, но обнаружился другой досадный глюк, который, впрочем, был и на
> предыдущих флешках тоже, но до этого я не обратил на него
> внимания :(
> после создания zvol в zpool из обычных жёстких дисков на команду reboot
> или shutdown компьютер реагирует так: http://farm6.staticflickr.com/5506/14550830655_d517ab28f5_b.jpg
> и висит. реагирует только на кнопку на корпусе.

версия FreeBSD? uname -a


> если убрать zvol, или грузиться не с usb-флешек, а с обычного винта
> или винтов, что с zfs, что с ufs, то глюк пропадает.

Оформите PR - https://bugs.freebsd.org/bugzilla/enter_bug.cgi

Там с USB и ACPI материнок хватает проблем.


"зеркало из usb-флешек на фре"
Отправлено raven428 , 02-Июл-14 21:21 
> версия FreeBSD? uname -a

версия всё та же, что и в первом посте: FreeBSD 10.0-STABLE #0 r266463: Tue May 20 18:24:03 UTC 2014

>> если убрать zvol, или грузиться не с usb-флешек, а с обычного винта
>> или винтов, что с zfs, что с ufs, то глюк пропадает.
> Оформите PR - https://bugs.freebsd.org/bugzilla/enter_bug.cgi
> Там с USB и ACPI материнок хватает проблем.

всегда стеснялся писать в pr то, что выглядит как подземный стук и на виртуальном окружении тоже непонятно как проверить. писать сейчас в pr такое - это нормально? сервер пора уже отправлять в production, экспериментировать с ним дальше уже не смогу, даже если pr кто-то подцепит.


"зеркало из usb-флешек на фре"
Отправлено universite , 02-Июл-14 21:29 
>[оверквотинг удален]
> версия всё та же, что и в первом посте: FreeBSD 10.0-STABLE #0
> r266463: Tue May 20 18:24:03 UTC 2014
>>> если убрать zvol, или грузиться не с usb-флешек, а с обычного винта
>>> или винтов, что с zfs, что с ufs, то глюк пропадает.
>> Оформите PR - https://bugs.freebsd.org/bugzilla/enter_bug.cgi
>> Там с USB и ACPI материнок хватает проблем.
> всегда стеснялся писать в pr то, что выглядит как подземный стук и
> на виртуальном окружении тоже непонятно как проверить. писать сейчас в pr
> такое - это нормально? сервер пора уже отправлять в production, экспериментировать
> с ним дальше уже не смогу, даже если pr кто-то подцепит.

Не оформите PR - никто не узнает об этой проблеме.



"зеркало из usb-флешек на фре"
Отправлено raven428 , 03-Июл-14 14:03 
> Не оформите PR - никто не узнает об этой проблеме.

зарегался, начал оформлять и наткнулся на решение: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=167685 - попробовал, помогло. и Вам, universite, спасибо за то, что толкнули меня туда. проблема решена.

теперь моя "Нищебродская СХД" (с) pavlinux будет грузиться с usb флешек, на которых zfs.


"зеркало из usb-флешек на фре"
Отправлено Аноним , 03-Июл-14 22:22 
> теперь моя "Нищебродская СХД" (с) pavlinux будет грузиться с usb флешек, на которых zfs.

в этом интернете где то грустит маленький павлинукс :) Погладь кота что ли :)

PS: Молодец что не сдался, такие люди нам нужны!(С)


"зеркало из usb-флешек на фре"
Отправлено universite , 03-Июл-14 22:37 
>> Не оформите PR - никто не узнает об этой проблеме.
> зарегался, начал оформлять и наткнулся на решение: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=167685
> - попробовал, помогло. и Вам, universite, спасибо за то, что толкнули
> меня туда. проблема решена.
> теперь моя "Нищебродская СХД" (с) pavlinux будет грузиться с usb флешек, на
> которых zfs.

Перед продакшеном сделайте опять тестирование скорости-записи мелких файлов и выложите сюда.
И выложите rc.conf, rc.local, loader.conf (с XXX.XXX.XXX.XXX реальными ip, если есть).
Чтоб последователи понимали логику.

На хабре еще можно опубликовать статью.


"зеркало из usb-флешек на фре"
Отправлено raven428 , 04-Июл-14 08:48 
> Перед продакшеном сделайте опять тестирование скорости-записи мелких файлов и выложите
> сюда.

флешки от пула отцеплять уже не буду, но скорость записи мелких блоков после покупки мерял с помощью "dd of=/dev/zero of=/dev/da8 bs=512" и она была 2.5 мегабайта в секунду, что по сравнению со скоростью флешки из первого сообщения просто великолепно.

> И выложите rc.conf, rc.local, loader.conf (с XXX.XXX.XXX.XXX реальными ip, если есть).
> Чтоб последователи понимали логику.

ничего особенного там нет.
/boot/loader.conf:

autoboot_delay="3"
loader_logo="beastie"
geom_mirror_load="YES"
coretemp_load="YES"
zfs_load="YES"
kern.maxusers="2048"
net.inet.tcp.syncache.hashsize=1024
net.inet.tcp.syncache.bucketlimit=100
net.inet.tcp.tcbhashsize=4096
hw.igb.rxd=4096
hw.igb.txd=4096
kern.ipc.semmnu=1024
kern.ipc.semmni=1024
kern.ipc.semmap=1024
zfs_load="YES"
kern.cam.boot_delay=10000
kern.cam.scsi_delay=10000
vfs.zfs.prefetch_disable=1
vfs.root.mountfrom="zfs:zstick"

/etc/rc.conf:
# rc.conf
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
keymap="ru.koi8-r"
keyrate="fast"
mousechar_start="3"
saver="daemon"
scrnmap="koi8-r2cp866"
fsck_y_enable="YES"
background_fsck="YES"
dumpdev="NO"
clear_tmp_enable="NO"

# netif
hostname="vmstor0"
defaultrouter="192.168.77.111"
ifconfig_re0="inet 192.168.77.42 netmask 255.255.255.0"
firewall_enable="YES"
firewall_script="/etc/firewall/main"

# daemon
sshd_enable="YES"
named_enable="YES"
sendmail_enable="NO"
iscsid_enable="YES"
ctld_enable="YES"
zfs_enable="YES"
monit_enable="YES"
ntpd_enable="YES"

/etc/sysctl.conf:
net.inet.ip.fw.one_pass=0
security.jail.allow_raw_sockets=1
kern.ipc.nmbclusters=1010864
net.inet.tcp.syncookies=1
kern.ipc.somaxconn=4096
#kern.ipc.maxsockets=519205
kern.maxfiles=519203
kern.maxfilesperproc=467280
net.inet.tcp.msl=30000
net.inet.ip.portrange.first=20000
net.inet.ip.portrange.last=65535
net.inet.ip.portrange.randomized=0
net.inet.tcp.nolocaltimewait=1
net.inet.tcp.fast_finwait2_recycle=1
dev.igb.0.rx_processing_limit=4096
dev.igb.1.rx_processing_limit=4096
dev.igb.2.rx_processing_limit=4096
dev.igb.3.rx_processing_limit=4096
net.inet.icmp.icmplim=0
net.inet.ip.intr_queue_maxlen=6000      # 256
net.route.netisr_maxqlen=1024           # 256
net.inet.ip.fastforwarding=1            # 0
net.inet.ip.dummynet.io_fast=1
hw.usb.no_shutdown_wait=1


"зеркало из usb-флешек на фре"
Отправлено universite , 04-Июл-14 19:15 
>> Перед продакшеном сделайте опять тестирование скорости-записи мелких файлов и выложите
>> сюда.
> флешки от пула отцеплять уже не буду, но скорость записи мелких блоков
> после покупки мерял с помощью "dd of=/dev/zero of=/dev/da8 bs=512" и она
> была 2.5 мегабайта в секунду, что по сравнению со скоростью флешки
> из первого сообщения просто великолепно.
>> И выложите rc.conf, rc.local, loader.conf (с XXX.XXX.XXX.XXX реальными ip, если есть).
>> Чтоб последователи понимали логику.
> ничего особенного там нет.

Сомнительные значения:

>kern.maxusers="2048"

256 или 512 вам с головой хватит.

>font8x14="cp866-8x14"
>font8x16="cp866b-8x16"
>font8x8="cp866-8x8"
>keymap="ru.koi8-r"
>scrnmap="koi8-r2cp866"

лучше utf-8 кодировку использовать.