› Статьи › Linux › Netgear Stora MS-2000

Netgear Stora MS-2000/MS2110


Стал обладателем данного NAS. Привлекла низкая цена и полноценный Linux.

Все недостатки перекрывает бесшумность работы! Сначала хотел собрать mini-ITX компьютер на Atom'е с пассивным охлаждением, однако не нашел готовых корпусов с внешним блоком питания - вентиляторы внутренних корпусов всего 4см, многооборотистые и из-за этого сильно шумные. Также минусом было отсутствие нестандартно малых корпусов miniITX. Все-таки ~30см - уже много для mini-NAS.

 

После покупки обнаружились интересные фичи Netgear Stora MS-2000. К примеру, у произвидителя есть премиум-аккуаунт,

подразумевающий неограниченное число пользователей, Secure FTP, torrent. Стоит он всего 20 долларов в год.

Здесь не будут описаны способы "взлома".

Все действия производятся от имени root

Предполагается, что в /etc/environment указаны пути PATH

 

bash-3.2# cat /etc/environment
PATH=/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/sbin:/opt/sbin:/usr/sbin:/sbin
LANG=en_US.utf8

Параметр LANG не обязателен.

 

1. Перед заливкой файлов и твиками обновитесь на последнюю прошивку.

Если не получается обновится и появляется сообщение "Software update failed" на новом устройстве "из коробки", откройте в браузере ссылку http://support.netgear.hipserv.com/updates/selfcheck/ -- это автоматическое тестирование через интернет. Введите Product Key и нажмите Submit. Через несколько секунд Stora должна начать мигать синей ламплчкой. Возможны перезагрузки и даже перепрошивка. Важно в это время обеспечить ей доступ в Интернет и электропитание. Жесткий диск должен быть всавлен и отформатирован в файловую систему XFS. После этого обычно можно обновлять прошивку. Сделать это надо будет несколько - более поздние прошивки не могут быть применены к более ранним. Обычно 3-4 раза после запроса обновлений Stora будет предлагать сохранить, а потом установить новую прошивку. Сейчас последняя прошивка - 5033 (v2.5.1). "Из коробки" обычно идет v2.3. По ощущениям прошиваться стоит - стало намного красивее, убрано много багов. Все описанные здесь твики справедливы для прошивки 5033 (v2.5.1).

 

2. Логирование vsFTPd

Баг с настройками. По умолчанию логи пишутся в /var/log, который смонтирован в tmpfs (оперативную память). Если будут много качать через ФТП, на виртуальном диске может кончиться свободное место. Также хочется, чтобы логи сохранялись после перезагрузки. Решение: перенести лог файл в /home


mkdir /home/common_log
chmod 777 /home/common_log

 

Измените в файле /etc/vsftpd/vsftpd.conf


xferlog_file=/home/common_log/vsftpd.log

 

Измените в файле /etc/logrotate.d/syslog /var/log на /home/common_log:

 

/home/common_log {
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
        /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

 

Выполните

 

/etc/init.d/vsftpd restart

 

3. Логирование отправки почты, попыток аутентификации и сообщений ядра.

В конце файла /etc/syslog.conf напишите:


authpriv.info;auth.*;local0.*;kern.*;mail.*             /home/common_log/syslog.log

 

Поскольку данный файл располагается на жестком диске, а Stora управляет отключением дисков через файл /etc/pwrmgr.conf (параметр idletime в минутах), события выбраны из числа тех, которые либо очень важны либо влекут за собой дисковую активность. Подумайте, прежде чем добавлять вывод новых событий!

 

Выполните

 

/etc/init.d/syslog restart

 

После создания файла логов можете задать ему права. Например:

 

chmod 644 /home/common_log/syslog.log

 

То есть можно всем читать, писать - только root.

 

chmod 600 /home/common_log/syslog.log

 

То есть можно читать и писать только root

 

4. Ошибка конфигурирования PAM для vsFTPd.

Ошибка не критичная, но засоряет лог-файл.

 

axentraserver vsftpd: Deprecated pam_stack module called from service "vsftpd"

 

PAM библиотеки новые, а конфиг /etc/pam.d/vsftpd старого образца

#%PAM-1.0
auth       required     pam_stack.so service=system-auth
auth       required     pam_nologin.so
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth
session    required     pam_loginuid.so

 

Содержимое файла нужно заменить на

#%PAM-1.0

auth       required     pam_nologin.so

auth       include      system-auth

account    include      system-auth

password   include      system-auth

session    required     pam_loginuid.so

session    include      system-auth

Объяснение: http://www.gentoo.org/proj/en/base/pam/upgrade-0.99.xml

 

5. Лишний файл на диске Stora
Выполните

 

rm /usr/share/phlickr/Phlickr/Tests/Offline/Import/sample_gallery_for_tests.zip

Так мы освободим 5МБ места
Посмотреть совбодное место можно командой

 

df -h

 

если вывод не умещается на экран, то:

 

df -h | less

 

Вообще свободное место на NAND диске Stora можно узнать командой

 

df -t rootfs -h

 

6. Парковка головок на жестких дисках

Подробнее: http://1io.ru/articles/progs/load_cycle_count/ 

 

7. Перенос сессий PHP на жесткий диск

Аналогично п. 2. В /etc/php.ini исправить


error_log = /home/httpd_error_log
sesion.save_path = /home/0phpsessions

 

Далее создать каталог и установить права

 

mkdir /home/0phpsessions (от рута)
chmod 777 /home/0phpsessions

 

И напоследок обязательно в файле /etc/cron.d/php
изменить путь /var/lib/php/session на /home/0phpsession и время запуска с */10 * * * * на 59 * * * *

Внимание! Без жесткого диска в веб интерфейс будет невозможно зайти!!!

 

8. Узнать скорость работы жесткого диска

hdparm -t /dev/sd[a-b]

/dev/sda:
 Timing buffered disk reads:  138 MB in  3.04 seconds =  45.40 MB/sec


 

9. SMART диска

smartctl -a -d marvell /dev/sd[a-b]

 

или

 

for d in /dev/sd?; do smartctl -A -d marvell $d | grep Load_Cycle_Count; done

 

Также можно запустить демон /etc/init.d/smartd start

 

А в конфигурационном файле /etc/smartd.conf написать

 

/dev/sda -d marvell -a -o on -S on -s (S/../.././02|L/../../6/03) -m <user>@<yourdomain>

 

То есть запускать короткий автотест ежедневно между 2-3 часами ночи, а полный (Long не что иное как Extended) - по субботам между 3-4 часами утра и результат отправить на Email.

Синтаксис файла: http://smartmontools.sourceforge.net/man/smartctl.8.html

 

10. Управление отключением жесткого диска

В файле /etc/pwrmgr.conf измените значение параметра idletime=10 (кол-во минут неактивности, после которого будет отключен жесткий диск).

Данный параметр нужно изменить под свои цели использования. К примеру, если на Stora будет много мелких файлов, к которым идет обращение в течение дня, то следует выставить значение таким образом, чтобы диск по возможности включался как можно меньшее кол-во раз.

Для запрета отключения жесткого диска установите данный параметр в 0.

Можно вручную отключить (отправить в сон) жесткий диск посредством отправки команды

 

hdparm -Y /dev/sd[a-b]

 

За выключение по расписанию отвечает запускаемый ежеминутно скрипт /usr/lib/spd/scripts/pwrmgr/timedShutdown.php

 

11. Дефрагментация жестких дисков

По каким-то причинам нет файла, производящего дефрагментацию. Это решаемо. Надо скопировать файл в /usr/sbin/

и выставить ему право на исполнение:

 

chmod +x /usr/sbin/xfs_fsr

 

Оценить фрагментацию (предполагается, что есть 2-й диск, подключенный "вручную" - не в RAID1 и не JBOD):

 

xfs_db -r -c frag /dev/md0
xfs_db -r -c frag /dev/sdb1


 

Запустить дефрагментацию в фоновом режиме:

 

nohup xfs_fsr /dev/md0 &
nohup xfs_fsr /dev/sdb1 &

 

Примерный скрипт для дефрагментации:

 

#!/bin/bash
date +%F' '%T' ----- Prew. fragmentation:' >> /home/common_log/xfs_fsr.log
/usr/sbin/xfs_db -r -c frag /dev/md0 >> /home/common_log/xfs_fsr.log
/usr/bin/xfs_fsr -t 10800 /dev/md0 >> /home/common_log/xfs_fsr.log
echo ------------------------- Curr. fragmentation after: >> /home/common_log/xfs_fsr.log
/usr/sbin/xfs_db -r -c frag /dev/md0 >> /home/common_log/xfs_fsr.log
date +%F' '%T' ------------------------------- XFS_fsr Exit.' >> /home/common_log/xfs_fsr.log

 

Проверка на Bad-blocks

 

badblocks -v /dev/md0
badblocks -v /dev/sdb1

 

12. Правка менеджера торрентов Transmission

Опять-таки по каким-то причинам конфигурационный файл записан в область NAND памяти. Скорее всего, это произыедено из-за совместимости и удобста пользователей - таким образов настройки не сбиваются при смене жесткого диска. Мы же охраняем каждый байт памяти. Итак.


Оставновить демон

 

/etc/init.d/transmission.init stop

 

Скопировать

 

cp -rp /etc/transmission /home

 

Заменить в файле /etc/init.d/transmission.init в параметре директории настроек с /etc/transmission на /home/transmission.

Поправить в файле /home/transmission/settings.json  каталог загрузки на нормальный (в исходном варианте символическая ссылка):


"download-dir": "/home/0common/Torrent Downloads",

 

Порт RPP-сервиса (по умолчанию 9091):


"rpc-port": 23322

 

Также в параметр rpc-whitelist можно через пробел вписать маски разрешенных IP адресов для управления закачками. Тогда надо установить параметр rpc-whitelist-enabled в true.

 

После всех манипуляций перезапустить демон

 

/etc/init.d/transmission.init restart

 

Если все запустилось, удаляем старый каталог

 

rm -rf /etc/transmission

 

Если не нравится структура файлов в каталоге загрузки, останавливаем демон, рассортировываем файлы по папкам и делаем жесткие ссылки в каталог загрузки /home/0common/Torrent Downloads

 

ln /path/to_moved_file /path_to_hard_link

 

Запускаем демон. Возможно, начнется перехеширование торрентов.

 

13. Бекап системных файлов:
Выполните

 

tar -cvpf /home/archive_stora.tar / --directory / --exclude=proc --exclude=dev --exclude=sys --exclude=links --exclude=home

 

и сразу же добавим (если есть) зависимые каталоги из /home

 

tar -uf  /home/archive_stora.tar /home/transmission /home/common_log


Разворачивать архив нужно на той же Stora, предварительно поместив его в корень системы:


tar -xvpf /archive_stora.tar

Лучше пользоваться Hardware Reset, а все изменения в Stora протоколировать.

 

14. Hard Reset Stora MS2000
Выполните следующие действия:
- Чтобы перевести устройство в режим восстановления, предварительно извлеките жесткие диски, включите устройство (при включенном Интеренте и работающем DHCP сервере), подождите 15 секунд, затем зажмите кнопку сброса (Reset). Синий индикатор Power будет продолжать моргать.
- Процесс займет около 30 секунд, синий индиеатор будет мигать в течение этого периода.
- Как только механизм восстановления запустится, синий индикатор выключится, и HDDLED1 станет оранжевым. Кнопку сброса отпустить (есть мнение, что кнопку сброса надо дежать нажатой пока индикаторы HDDLED не мигнут 6 раз).
- Устройство будет попытаться получить IP адрес
  - Если получит IP, HDDLED2 загорится оранжевым на 1 секунду.
  - Если не получит IP, процесс восстановления остановится. Индикатор питания выключится, а HDDLED1 и HDDLED2 мигнут 3 раза синфазно.

(Проверьте сетевой кабель и раьоту DHCP сервера)
- Если все нормально - индикатор питания выключится, а HDDLED1 и HDDLED2 будут мигать противофазно.
- Прошивка может закачиваться 10-30 мин, даже если соединение интернет высокоскоростное. Не выключайте устройство!
  - После того как прошивка будет скачена без ошибок, все индикаторы включатся на 5 сек и устройство перезагрузится.
  - Если прошивку записать не удается, HDDLED1 и HDDLED2 будут мигать синфазно. Повторите для верности процедуру сначала. Если результат не изменится, скорее всего вам дорога в сервис-центр.

Если получилось сделать Hard Reset, при регистрации на сайте указывайте тот же ключ продукта, имя устройства, логин и пароль, что и при первой регистрации!После этого выключите устройство и вставьте HDD.

 

15. Файлы, созданные через FTP, не удаляются из веб-приложения

Все дело в том, что сервер FTP задает доступ к файлам имени и группы пользователя (того, через которого был произведен логин в FTP). А менеджер запущен от группы www.

Решение:

 

chown -R :www $HOME/path_to_file

 

команда рекурсивно меняет владельца файлов, начиная с каталога path_to_file

 

16. Как заменить жесткий диск в Stora на другой

Самое общее решение данного вопроса можно прочитать в статье о подготовке дисков с размером сектора 4кБ (Advanced Format) - там рассказывается, как отформатировать диск в любую файловую систему. Тогда он может использоваться в качестве второго диска не в RAID1/JBOD. Многие люди спрашивают, как отформатировать диск, скажем в EXT3.

 

А если надо отформатировать системный диск или файловая система XFS в принципе подходит, то лучше поправить скрипты Stora, чтобы она сама правильно разбивала Advanced Format диски. Это просто.

Открываем файл /usr/lib/spd/scripts/raid/DiskClass.php и меняем в строке №273:

 

$cmd =  "/sbin/parted /dev/".$this->getDeviceName()." mkpart primary xfs 0 ...

 

на

 

$cmd =  "/sbin/parted /dev/".$this->getDeviceName()." mkpart primary xfs 8s ...

 

Далее желательно явно задать размер кластера файловой системы, кратный и не меньший размеру сектора. Для этого в строке №385 меняем:

 

$cmd = "/sbin/mkfs.xfs -f -b size=4096 ". $this->diskname ."1 ";

 

на

 

$cmd = "/sbin/mkfs.xfs -f -b size=4096 ". $this->diskname ."1 ";

 

17. Форвардинг портов (uPNP).

Если требуется добавить или удалить пробрасываемые роутером порты, в файле /usr/sbin/check_igd.pl
изменяем номера портов в строке


my @forwardedPorts = ( 22, 80, 443, 21, 20, 50000, 50001 );

где

20,21 - ftp
22 - ssh
80 - web
443 - ssl web
50000 и 50001 - порты для установления пассивного соединения vsftp.

 

18. Команды top, ps -aux, umtime выводят сообщение вида Unknown HZ value! (90) Assume 100.

Это для Stora нормально - данное сообщение есть даже после хард-ресета. Я много переделывал в ней и у меня это сообщение исчезло. К сожалению, не знаю на котором этапе.

 

19. Управление световыми индикаторами.

Надо запустить скрипт /usr/bin/oe-visual-indicator или /usr/bin/set-led-status и передать ему два параметра следующего вида:

 

[power|hdd0|hdd1] [mode]

 

где

power - управление индикатором работы

hdd0 - управление первым (левым) HDD

hdd1 - управление вторым (правым) HDD

 

где mode принимает следующие значения:
для power - [on|off|blink]
для hdd0 и hdd1 - [on|error]

 

20. После установки статического IP адреса не скачиваются торренты и файлы.

Когда устройство получает данные по DHCP, в файл /etc/resolv.conf записывается адрес DNS-сервера. При установке статического IP адреса и перезагрузке устройства данный файл обнуляется, так как смонтирован в оперативную память устройства.

Данные для сети на основе статического IP адреса записываются в файл /etc/sysconfig/network-scripts/ifcfg-eth0

К примеру:

 

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
BROADCAST=192.168.0.255
NETWORK=192.168.0.0
NETMASK=255.255.255.0
IPADDR=192.168.0.1
USERCTL=no
GATEWAY=192.168.0.1
DNS1=192.168.0.1

 

По какой-то причине сервер имен DNS1 не был записан в файл, хотя веб-интерфейс Stora показывал, что DNS1 есть.

Если у вас есть второй сервер имен, можно добавить его, назвав DNS2, по аналогии с DNS1.

После этого необходимо перезапустить вашу программу, нуждающуюся в доступе в сеть по имени хоста.

Например, для Transmission:

 

/etc/init.d/transmission.init restart

 

21. Средсва для дефрагментации файловой системы XFS

По умолчанию используется файловая система XFS. Для второго диска, если его подключать и монтировать вручную, можно использовать любую поддерживаемую ядром файловую систему. Даже NTFS (не рекомендуется при большой нагрузке на диск). Большой плюс XFS - очень быстрая работа с большими файлами и малый процент фрагментации. Большой минус - очень мало программ, способных восстанавливать данные, обусловленный сложностью XFS (исходный код заниамет более 100 тысяч строк кода).

Итак, смотрим процент фрагментации системы:

 

# xfs_db -r /dev/md0
xfs_db> frag
actual 103212, ideal 96001, fragmentation factor 6.02%
xfs_db> quit

 

Вполне может жить при 6% фрагментации.

 

Если все-таки подозреваете, что виной этому последний скаченный файл, можно проверить:

 

# xfs_bmap -v /home/0Common/some_path/Debian-LiveCD.iso
/home/0Common/some_path/Debian-LiveCD.iso:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..856476]: 456738465..467365846 10 (34568384..34874653) 709475

 

Первая цифра - индекс экстента. В данный момент он всего один, следовательно, файл не фрагментирован.

Если таких экстентов очень много, можно дефрагментироваться данный файл:

 

# xfs_fsr /home/0Common/some_path/Debian-LiveCD.iso

 

В качестве параметра может быть передано название устройства, например, /dev/md0 - тогда будет дефрегментирован целый раздел. Также можно добавить параметр -t и указать предельное время дефрагментации в секундах.

 

Продолжение следует...




19/05/2011
Добавлена версия стандарта C++
В главном меню сайта добавлена ссылка на нашу версию оформления кода на C++.
0

11/05/2011
Запуск сайта
Сегодня запущен портал
0



      Копирование материалов сайта возможно только при размещении прямой ссылки на www.kernel.pro