Netgear stora ms2000 ��������� linux

Netgear Stora MS-2000

Стал обладателем данного 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

Измените в файле /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
>

3. Логирование отправки почты, попыток аутентификации и сообщений ядра.
В конце файла /etc/syslog.conf напишите:

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

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

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

Читайте также:  Media tech camera driver windows

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

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

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

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

6. Парковка головок на жестких дисках
Подробнее: &http_path.value;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 @

То есть запускать короткий автотест ежедневно между 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 памяти. Скорее всего, это произыедено из-за совместимости и удобста пользователей — таким образов настройки не сбиваются при смене жесткого диска. Мы же охраняем каждый байт памяти. Итак.

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

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

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

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 — управление первым (левым) 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:

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

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

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

Источник

Оцените статью