PDA

Bekijk de volledige versie : Подтормаживания WL-500gP при работе с USB HDD



Dinos
08-07-2006, 11:56
Приветствую всех!

Имеется роутер WL-500gP с прошивкой WL500gp-1.9.2.7-7f-pre4.trx и внешний винт TOSHIBA MK1233GAS на 120 гибабайт. Внешний винт сейчас подключен без питания.

Винт разбит следующим образом:

Disk /dev/scsi/host0/bus0/target0/lun0/disc: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 14560 16953168+ 83 Linux
/dev/scsi/host0/bus0/target0/lun0/part2 14561 14593 265072+ 82 Linux swap


Смонтировано все так:

/dev/discs/disc0/part1 on /tmp/harddisk type ext3 (rw,noatime)
/dev/discs/disc0/part1 on /opt type ext3 (rw,noatime)
/dev/discs/disc0/part1 on /home type ext3 (rw,noatime)

Своп раздел на 256М тоже включен в post-mount и работает.

Jul 8 11:06:30 kernel: Adding Swap: 265064k swap-space (priority -1)


А теперь проблемы -
1. При работе с файловой системой на жестком диске, время от времени при попытках: открыть/создать файл, прочитать содержание директорий, роутер подтормаживает (до 30 секунд)

2. При попытке залить по ftp (сервер VSFTPD) большой файл ~700Мб, в самом конце закачки роутер рвет все управляющие соединения (SSH, telnet, WEB-доступ). Роутинг продолжает работать и в Инет ходить можно, но посмотреть что произошло невозможно.

Я подозреваю нехватку памяти для работы с большим файлом, и
пробовал писать log syslog'а на жесткий диск для дальнейшего анализа:


killall syslogd
syslogd -m 0 -O /home/syslog.log -S -l 7


После подвисания всех управляющих соединений и перезагрузки роутера в log'е ничего подозрительного не обнаружил:



cat /home/syslog.log
Jul 8 11:41:33 syslogd started: BusyBox v1.1.3
Jul 8 11:45:43 dropbear[179]: password auth succeeded for 'root' from ::ffff:xxx.xxx.xxx.xxx:1164

Пытался мониторить расход память с помощью free


total used free shared buffers
Mem: 13932 12372 1560 0 2920
Swap: 265064 488 264576
Total: 278996 12860 266136


Свободная память была вплоть до разрыва всех подключений.

Подскажите пожалуйста как на роутере посмотреть сколько памяти "съел" тот или иной процесс? ps aux не работает :( .

Еще вопрос, насколько я вижу на роутере используется только 16М оперативной памяти. Ддя использования всех 32М Олег советовал ввести.


nvram set sdram_init=0x0009
nvram set sdram_ncdl=0
nvram commit
reboot

Только я читал пару постов в которых писалось, что после ввода этих команд у роутера перестали отзываться LAN-порты. Сейчас эти сообщения найти не могу.
Подскажите, кто-нибудь пробовал ввести:
nvram set sdram_init=0x0009
nvram set sdram_ncdl=0
на WL-500gP?
И как результат?

И еще вопросы: 120 Гб это не слишком большой раздел для роутера?
HDD планируется использовать для хранения фильмов, т.е. файлы будут большими, но их будет немного. Как можно переформатировать раздел, чтобы уменьшить расход памяти при его использовании? Может быть имеет смысл разбить на два раздела поменьше, хотя этого не хотелось бы...


Заранее спасибо всем ответившим.

Tsvetkov
08-07-2006, 23:14
посмотри при помощи top
какой процесс грузит систему ?

ps какие скорости чнения записи с винта примерно ?

nik247
09-07-2006, 22:29
После ввода этих команд будет доступно 32М - порты не стали подвисать - это точно.

Dinos
11-07-2006, 09:26
посмотри при помощи top
какой процесс грузит систему ?

ps какие скорости чнения записи с винта примерно ?


Пытался померить скорость работы с винтом. Попытался читать большой файл. Где-то половина файла прочиталось. Потом в log'е появилась куча сообщений об ошибках чтения inode=...., Все номера inode'ов разные
После перезагрузки и запуска fsck ничего криминального не обнаружилось. Подцепил коробку с винтом к компу, винт даже не определился...

Думаю, что проблема может быть не в нехватке памяти, а в том, что винт работает без внешнего питания. Нашел дома маленький 5-ти вольтовый блок питания на 1А (известной китайской фирмы noname). Попробовал подключить к нему винт. Блок питания проработал пару часов и сгорел. Куплю БП ампер на пять и попробую все это собрать и потестить. О результатах напишу.

alexeit
11-07-2006, 19:12
Подключил 2.5" HDD Toshiba 40Gb к WL-500gx. Скорость передачи большого файла начинается с 3000 кбайт/сек, но быстро падает до 700-800 кбайт/сек. Подключение внешнего БП ситуацию не изменило.

Dinos
12-07-2006, 07:02
Куплю БП ампер на пять и попробую все это собрать и потестить. О результатах напишу.

Собрал. Теперь при работы с винчестером через какое-то время в syslog'е появляются сообщения:

Jul 12 09:53:32 kernel: scsi: device set offline - not ready or command retry failed after bus reset: host 0 channel 0 id 0 lun 0
Jul 12 09:53:32 kernel: SCSI disk error : host 0 channel 0 id 0 lun 0 return code = 50000
Jul 12 09:53:32 kernel: I/O error: dev 08:01, sector 3670032
Jul 12 09:53:32 kernel: EXT3-fs error (device sd(8,1)): ext3_get_inode_loc: unable to read inode block - inode=225793, block=458754
Jul 12 09:53:32 kernel: I/O error: dev 08:01, sector 0
Jul 12 09:53:32 kernel: I/O error: dev 08:01, sector 6295688
Jul 12 09:53:32 kernel: I/O error: dev 08:01, sector 6295728
Jul 12 09:53:32 kernel: I/O error: dev 08:01, sector 6295696
Jul 12 09:53:32 kernel: I/O error: dev 08:01, sector 6295696

Запускал fsck. Никаких проблем не обнаружено. При подключение к компьютеру все работает отлично. Правда комп довольно старый и у него USB 1.1, а не 2.0

Кто-нибудь может подсказать с чем это может быть связано?

Dinos
12-07-2006, 21:44
Кто-нибудь может подсказать с чем это может быть связано?

Читал англоязычную ветку форума. Выяснил, что проблема где-то на стыке USB-HDD (помехи и наводки в USB шнуре (например от беспроводной клавиатуры/мыши), "кривая" коробка для внешнего винта, "кривой" винт).

Винт подключил на компьютеру тестироваться на всю ночь (чтение/запись). Ошибок не выявлено.

У меня как раз беспроводные клавитатура и мышь и довольно старые (Genius TwinTouch+ 2.4 GHz). Поскольку, проводной периферии не осталось полностью отключить их не смог - пока поместил роутер с винтом на максимально возможное расстояние от беспрободных девайсов. Ошибки вида

I/O error: dev 08:01, sector 0
в syslog'е сразу пропали.

Попробовал потестировать скорости чтения/записи:
1,4 гигабайтный файл читается и пишется по ftp со скоростью 2,7 Мбайта/сек
892

Но работает все равно нестабильно. Периодически бывают "подтормаживания" роутера при работе с файловой системой на внешнем винте. Иногда случается такой сбой, что роутер разрывает часть управляющих соединений (Ssh, telnet, web). В syslog'е ничего подозрительного не пишет. Правда теперь разрываются не все соединения и иногда можно наблюдать в top что происходит:

1. Нормальная работа - закачиваются данные по ftp

Mem: 28852K used, 1288K free, 0K shrd, 488K buff, 19696K cached
Load average: 2.46, 2.26, 1.94 (State: S=sleeping R=running, W=waiting)

PID USER STATUS RSS PPID %CPU %MEM COMMAND
R 560 1 36.7 1.8 vsftpd
RWN 0 1 35.7 0.0 ksoftirqd_CPU0
RW 0 1 6.0 0.0 usb-storage-0
S 356 111 1.1 1.1 dropbear
SW 0 1 1.1 0.0 kswapd
R 344 166 0.9 1.1 top
S 524 139 0.0 1.7 sh
S 460 111 0.0 1.5 dropbear
S 344 1 0.0 1.1 httpd
S 340 1 0.0 1.1 upnp
S 312 1 0.0 1.0 dnsmasq
S 312 1 0.0 1.0 watchdog


2. "Подтормаживание" - остановился процесс закачки, в ssh клиенте не отзывается на нажатия клавиш.

Mem: 28748K used, 1392K free, 0K shrd, 404K buff, 19696K cached
Load average: 3.34, 3.30, 2.13 (State: S=sleeping R=running, W=waiting)

PID USER STATUS RSS PPID %CPU %MEM COMMAND
R 364 128 0.5 1.2 top
S 516 111 0.3 1.7 dropbear
S 576 154 0.0 1.9 sh
S 568 111 0.0 1.8 dropbear
S 356 1 0.0 1.1 httpd
S 356 127 0.0 1.1 sh
D 356 158 0.0 1.1 cp
S 328 1 0.0 1.0 upnp
S 312 1 0.0 1.0 watchdog


3. "Отлетела" часть управляющих соединений

Mem: 28664K used, 1476K free, 0K shrd, 424K buff, 12176K cached
Load average: 2.72, 3.26, 2.30 (State: S=sleeping R=running, W=waiting)

PID USER STATUS RSS PPID %CPU %MEM COMMAND
R 8456 0 98.2 28.0 init
R 364 128 0.9 1.2 top
S 516 111 0.7 1.7 dropbear
S 576 154 0.0 1.9 sh
S 568 111 0.0 1.8 dropbear
S 356 1 0.0 1.1 httpd
S 356 127 0.0 1.1 sh
S 328 1 0.0 1.0 upnp
S 312 1 0.0 1.0 watchdog
S 292 1 0.0 0.9 udhcpc
S 280 1 0.0 0.9 syslogd


Почему-то INIT "пожирает" все процессорное время и прилично памяти.
А файловая система становится read-only

[root@router part1]$ cp Chronicles.of.Narnia.\(rus\).\(CoRPoRaTCreW\).\(Ki nokabra.Ru\).avi tmp/
cp: Read Error: Input/output error
[root@router part1]$ cp Chronicles.of.Narnia.\(rus\).\(CoRPoRaTCreW\).\(Ki nokabra.Ru\).avi tmp/
cp: unable to open `tmp/Chronicles.of.Narnia.(rus).(CoRPoRaTCreW).(Kinokab ra.Ru).avi': Read-only file system
[root@router part1]$



В ближайшее время возьму у товарища другую "коробку" для внешнего винчестера и потестирую.


У меня вопрос, может кто подскажет.
Существует ли в природе экранированный кабель usb 2.0 с разъемами A-B (и там и там папа)? Существует ли кабель usb не 1,8 м, а меньше (чем меньше, тем лучше, 10 см вполне хватит)? А то паять самому не хочется (на месте пайки возможны дополнительные помехи). Если существует, подскажите, плз, где такие кабели можно купить в Москве.

Oleg
14-07-2006, 13:31
В syslog не пишет, поскольку демона уже к тому времени убили. Память заканчивается, видимо. Попробуйте после такого "проишествия" выдать команду dmesg.

Dinos
15-07-2006, 20:00
В ближайшее время возьму у товарища другую "коробку" для внешнего винчестера и потестирую.


Взял коробку для винта у товарища. Вставил туда свой винт. Проблема полностью исчезла.

Вопрос видимо исчерпан...