mikhailosherov (mikhailosherov) wrote,
mikhailosherov
mikhailosherov

Categories:

Как победить WD MY Cloud. Записки компьютерного чайника.

Как победить WD MY Cloud.

Записки компьютерного чайника.




Некоторое время назад я приобрёл относительно дешёвое и удобное устройство WD MY Cloud, предназначенное для хранения информации в электронном виде. Внешне – небольшая пластмассовая коробка, подключаемая по сетевому кабелю к роутеру. WD My Cloud выполняет функцию сетевого жёсткого диска. К которому могут иметь доступ все пользователи сети. Грубо говоря, это внешний винчестер, подключаемый по высокоскоростному сетевому кабелю.

Устройство WD My Cloud очень удобно в использовании. Оно подключается к роутеру и практически автоматически настраивается и адаптируется к сети. Но в процессе его эксплуатации выявились две крайне неприятные особенности.

Первая особенность этого устройства состояло в том, что по мере заполнения его винчестера оно начало сначала притормаживать. А потом откровенно тормозить и зависать. Смотреть сохранённые на нём в виде файлов кинофильмы стало совершенно невозможно. При этом число внешне само устройство было чем-то постоянно занято.

Поиск в интернете причины всего этого дал примерно следующее:

https://www.decker.su/2015/08/wd-mycloud-wdmcserverd-full-content-scan.html

«WD My Cloud. Постоянное сканирование контента.

Сегодня речь пойдет о замечательном NAS от WD серии MyCloud счастливым обладателем которого я являюсь. Не так давно, может полгода назад, я купил себе этот девайс с 3Tb WD Red внутри и какое-то время был доволен. Функции NAS, Samba-сервера, NFS, а также DLNA-сервера в домашней сети он выполнял отлично. В результате и на всех ПК была общая сетевая шара, и с местом для создания различных backup'ов проблем не возникало, и различных мультимедия контент, закачанный на него, смотрелся без проблем на всех устройствах, включая LED'овский ТВ от Samsung с функцией Smart TV. До того момента пока я не решил сохранить на него backup одного GIT'а объемом в 60 Gb более чем с миллионом мелких файлов внутри (т.е. фактически просто одна папка весом в 60 Gb, но с более чем миллионом файлов внутри). Продолжался процесс копирования информации на него больше двух суток, т.к. даже при гигабитном линке такое количество файлов обрабатывается достаточно долго и скорость интерфейса тут фактически ни на что не влияет. Так или иначе файлы успешно залились, но после этого с устройством начали происходить странные вещи.

То ляжет web-интерфейс, при попытке зайти на него отображается connection refused, то он вообще выпадет из сети, и как samba, и как dlna, принимая только ping'и, а то и вообще перестанет отвечать на любые запросы из сети. При этом если подойти к нему, то даже слышно, как он активно делает что-то с HDD. Т.е. фактически устройство чем-то занято. И хотя я давал себе слово не трогать эту шайтан-коробку, т.к. работает и ладно (о том что к ней можно прикрутить торрент-клиент и т.п. я знаю, просто хотел не вмешиваться и использовать именно штатный функционал), ситуация заставила. Первое что я сделал это включил SSH и посмотрел список процессов top'ом, как мы видим - загрузка CPU 100%.

В web-интерфейсе при этом отображались "потуги" над сканированием более чем миллиона файлов контента.

Как я понял, помимо всего прочего, он создает полную базу данных всех файлов на устройстве в /shares/.wdmc/wdmc.db ... Т.е., к примеру, у меня есть ресурс Decker, для которого в web-интерфейсе "Доставка м-медиа" и "Открытый доступ" выключены (именно туда я залил папку с git'ом) Однако, насколько я вижу в SQLite Viewer'е все файлы из Decker перечислены в БД /shares/.wdmc/wdmc.db. В результате размер файла wdmc.db - около 1 Гб.

Т.е. как мы видим он сканирует весь контент, даже в шарах для которого сканирование контента явно выключено в настройках (интересно, зачем ему понадобилось сканирование моего git'а ;)»


Второй неприятной особенностью этого устройства было то, что обращение к его настройкам происходит не напрямую, а через интернет. Решение это – то, что называется «кривое» и неправильное. Но так придумал разработчик.

Продравшись через огромное количество незнакомых мне слов, я понял, что для того, чтобы все работало нормально, нужно просто всё сделать так, как написано в этой статье – убрать процессы постоянного индексирования, то есть постоянного обращения ко всем файлам на диске + стереть лишние файлы.

/etc/init.d/wdmcserverd stop
/etc/init.d/wdphotodbmergerd stop

Но как это сделать?

Прежде всего я понял, что инструментом редактирования всего этого, всех этих процессов является программа Putty, которая умеет настраивать внешнее устройство из компьютера по различным протоколам.

Поскольку устройство WD My Cloud постоянно зависало в принципе, нужно было сначала понять, какие порты у него открыты. Для связи по протоколу FTP тоже можно было использовать программу Putty. Но, поскольку всё периодически зависало, мне посоветовали сначала проверить открытые порты терминалом – использовать в командном процессоре программу «Telnet». Также я понял, что пока всё периодически «виснет» ничего делать нельзя, и что нужно сначала уменьшить количество файлов, записанных на жёстком диске. Это было правильное решение, принятое после неоднократных попыток открыть настройки устройства WD My Cloud. Открытие настроек было необходимо для того, чтобы открыть доступ в него не только по протоколу FTP, но и по протоколу FTP – Telnet, но и по протоколу SSH, используя который можно осуществить всю настройку внешнего устройства.

Где-то на этой стадии начались то, что на языке программистов называется «Пляски с бубном». Из-за того, что устройство WD My Cloud постоянно зависало, до него невозможно было ни «достучаться», ни изменить его настройки, ни открыть протоколы. Вообще ничего не работало и не происходило.

После перезаписи с устройства на другой внешний диск около 400 Гб файлов и удаления их с устройства WD My Cloud оно, что называется, «задышало».

Далее нужно было разобраться во всех настройках, протоколах и командах. Первый этап – обращение к настройкам для открытия доступа по различным протоколам. В настройки устройства WD My Cloud можно попасть различными способами, я лично использовал программы WD Discovery и WD Access. В настройках входим в раздел «Сеть» и открываем там протоколы FTP и SSH.



Входим в настройки Виндоус и проверяем там наличие возможности использования программы Telnet. Ставим «галочку» в настройках для открытия этой программы.

Входим в Командный процессор Виндоус – в то, что ранее было старым добрым ДОСом. Для этого либо просто набираем cmd в командной строке, либо используем комбинацию клавиш «Виндоус» + “R”.

В командном процессоре набираем команду «telnet wdmycloud 80» (80 – номер порта, потом то же самое с портами 23 и22. Это – проверка на открытие портов по FTP.

Далее нам надо всё отрегулировать. Для этого надо зайти в устройство WD My Cloud по протоколу SSH программой Putty.



Входим в устройство, набираем команду top и видим все процессы.

Останавливаем ненужные процессы так, как написано выше в статье.





Добавить этот блог в друзья
Твиттер: https://twitter.com/MikhailOsherov

















Фейсбук
ВКонтакте
Твиттер
Tags: Израиль, интернет
Subscribe

Comments for this post were disabled by the author