Archive for the ‘howto’ Category.

Syslog forwarding

Основной лог в Data ONTAP, как у “правильной юниксподобной OS”, ведется в виде syslog. И, как правильный syslog, он может передаваться на удаленную машину для сборки-разборки его в спциализированных программах.

Для того, чтобы настроить логи на передачу их на удаленную машину, надо изменить настройки в /etc/syslog.conf
Его синтаксис идентичен таковому в Linux/UNIX.

# Log all kernel messages, and anything of level err or higher to the console.
    *.err;kern.*                  /dev/console
# Also log console messages to a remote loghost system called adminhost.
    *.err;kern.*                  @adminhost

То есть: выводим все сообщения уровня ядра, а также все сообщения с уровнем err и выше в системную консоль, а также передаем их на систему adminhost (где его должен принимать syslog-сервер).

На указанной машине запустим сервер syslog (например Kiwi Syslog Server), и будем получать и обрабатывать эти логи, настроив по ним желаемые алерты и репорты.

Смотрите также статью: Swatch and Kiwi Syslog Daemon. К сожалению, за время, прошедшее с ее публикации, компанию-производителя Kiwi Syslog Daemon купили, и теперь их продукт платный, что, впрочем, не может помешать найти множество бесплатных вариатов той или иной степени удобности.

Полезные команды: filestats

Малоизвестной, но полезной командой для администратора NAS является команда filestats.
С ее помощью можно быстро составить картину распределения файлов на системе хранения по размеру, времени хранения, владельцу, и использовать это в планировании и администрировании.

Вот простой пример использования. Выведем статистику по файлам тома vol0 (системного root-vol), взяв для анализа снэпшот hourly.1:

toaster> filestats volume vol0 snapshot hourly.1
VOL=vol0 SNAPSHOT=hourly.1
INODES=274528 COUNTED_INODES=875 TOTAL_BYTостой примеррES=458354190 TOTAL_KB=143556

FILE SIZE         CUMULATIVE COUNT       CUMULATIVE TOTAL KB
1K                465                    1576
10K               832                    3356
100K              853                    3980
1M                856                    4660
10M               864                    32808
100M              875                    143524
1G                875                    143254
MAX               875                    143254

AGE(ATIME)        CUMULATIVE COUNT       CUMULATIVE TOTAL KB
0                 0                      0
30D               841                    132780
60D               850                    132932
90D               859                    143464
120D              875                    143528
MAX               875                    143528

UID               COUNT                  TOTAL KB
#0                873                    143528
#20041            2                      0

GID               COUNT                  TOTAL KB
#0                851                    41556
#30               21                     1972
#1                3                      0

Обратите внимание: счетчик количества выводится “накопительный” (cumulative). То есть, например, число файлов размера “до 1K” равно 465. А число файлов “до 10К (включая и файлы, посчитанные ранее в “до 1К”)” – 832. Таким образом число файлов “больше 1К, но меньше 10К” равно 832-465=367.

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

Полезные команды: dd

Несмотря на то, что Data ONTAP не только не является “Линуксом”, она даже UNIX в общепринятом смысле этого слова не является (не устаю это повторять снова и снова, потому что это один из самых распространенных мифов в отношении NetApp), тем не менее, для удобства администраторов, а первыми администраторами систем хранения NetApp были, конечно же, администраторы UNIX-систем, в ней многое сделано “очень похожим на UNIX”. Структура директорий, правила именования файлов, и даже большинство команд похожи на свои аналоги из мира Юникса.

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

Отдайте в консоли команду

fas1> priv set advanced

Эта команда переведет вас в специальный “расширенный режим”, в котором вы получаете доступ к расширенному набору команд, но, ВНИМАНИЕ, эти команды могут быть опасны для работы системы, и для сохранности данных! Пользуйтсь ими с ответственностью, и исключительно на свой страх и риск!
После ввода этой команды вы заметите изменившийся значок подсказки. Он указывает вам на то, что вы работаете в режиме повышенных привилегий. Для того, чтобы вернуться на обычный уровень, введите команду priv set admin или просто priv set

Среди множества дополнительных команд вам будет доступна и команда dd – disk dump, прямого посектороного копирования.

fas1*> dd if=/vol/vol0/etc/rc of=/vol/newroot/etc/rc – копирование rc в новое место 
  
Обратите внимание, вы НЕ можете запустить команду dd в фоне (еще раз напомню, что Data ONTAP это не линукс, и внешняя схожесть команд еще не значит внутреннего подобия), поэтому, если вы используете dd, то все копирование будет происходить “основной задачей”, наберитесь терпения. Кстати это еще один повод использовать вместо dd что-нибудь более продвинутое, например ndmpcopy.
Прервать работу dd можно нажатием Ctrl-C

Syslog Translator

Несмотря на то, что в целом ONTAP стремится быть понятной и “самоописательной”, как в своих командах, так и в сообщениях в логах, в них нередко встречаются сообщения довольно “загадочные”.

Для того, чтобы лучше разобраться в сообщениях syslog, на сайте NOW (NetApp on Web) есть полезная служба: System Log Translator
ниже – скриншот:

image

Например, мы видим в логе сообщение:

[scsitarget.partnerPath.misconfigured:error]: FCP Partner Path Misconfigured - Host I/O access through a non-primary and non-optimal path was detected.

Введенное в Syslog Translator оно покажет следующее:

image

Уже гораздо понятнее что делать и куда бечь.

Полезные команды: cifs top

Если с занимающими много места на дисках пользователями NAS можно справиться механизмом квот, то что делать с пользователями, которые используют много, но не места, а системных ресурсов, например загружая систему большим числом операций ввода-вывода?

Прежде всего таких следует найти и оценить загрузку от них. В этом поможет команда cifs top.

Для начала нам надо включить системную опцию:

fas1> options cifs.per_client_stats.enable on

Далее, собрав некоторую статистику, введем команду:

fas1> cifs top –n 3 –s w - показать трех самых активных пользователей, отсортировав список по объемам записи

    ops/s  reads(n, KB/s) writes(n, KB/s) suspect/s   IP              Name
     263 |     29   215 |     137   627 |        0 | 10.56.10.120 ENGR\varun
     248 |     27   190 |     126   619 |        1 | 10.56.10.120 ENGR\jill
     246 |     26   195 |     125   616 |       19 | 10.56.12.118 MKTG\bob

 

Более подробно о доступных ключах команды можно узнать из встроенной документации и манов.

Полезные команды: logger

Простая, малоизвестная, но весьма полезная команда – logger. Эта команда пишет данную ей в аргументе текстовую строку в системный лог (/etc/messages). С ее помошью можно заносить в лог определенные записи, например отмечать там свои действия.

fas1> logger   *** Starting shelf firmware upgrade ***

Запущенная без аргумента она ожидает ввода со stdin (клавиатуры), завершаемого “по юниксному” – точкой в начале новой строки

fas1> logger 
—– > System going down for UPS system maintenance  < —–
System is expected to halt ungracefully while we test battery duration
-  > Sysadmin
.

Мониторинг среды: команда environment

Малоизвестная, но полезная команда консоли environment позволит наблюдать за различными показателями “среды обитания” системы хранения, таких как, например, температура, скорости вращения вентиляторов охлаждения, или состояние блоков питания.

fas> environment status – показывает всю доступную информацию 
fas> environment shelf – показывает информацию, относящуюся к дисковым полкам 
fas> environment chassis all – показывает информацию о шасси контроллера
fas> environment chassis list-sensors – показыват все датчики шасси, их состояния и пороги

Пример вывода команды environment status shelf:

          Environment for adapter 3:
                  Shelves monitored: 1    enabled: yes
                  Swap in progress? no    Environmental failure? no

                  EDM 1 (active):
                  SES Configuration, via loop id 3 in shelf 0x0:
                   logical identifier=0x3003040000000000
                   vendor identification=EuroLogc
                   product identification=Eurologic EDM
                   product revision level=0x01000101
                  Vendor-specific information:
                   backplane byte=0x1e     cabinet id=0x0
                   Backplane Type : Single Fibre Channel Backplane
                   Backplane Function : Storage System
                   Kernel Version : 1.0.A          App. Version : 1.1.A
                  Shelf:0         SES path:3.3    Device mask: 0x7f
                  Power Supply present: 0x3; with error: 0x0
                  Fans present: 0x3; with error: 0x0
                  Temperature Sensor present: 0x1; with error: 0x0
                  SES Electronics present: 0x1; with error: 0x0
                  Shelf temperature: 29C (84F)
                  High thresholds: critical: 55C (131F); warning 50C (122F)
                  Low thresholds: critical: 0C (32F); warning 10C (50F)

                  Disks physically present on adapter 3
                    Devices 0x1f-0x00: 0000007f
                    Devices 0x3f-0x20: 00000000
                    Devices 0x5f-0x40: 00000000
                    Devices 0x7f-0x60: 00000000

Banner message в консоли

В админской консоли, будь то терминал консольного порта, телнет или ssh, при подключении можно вывести на экран подключающегося (до ведения логина) какую-нибудь полезную информацию. В Linux/UNIX это часто называется banner или motd (message of the day).

Например туда можно написать какую-нибудь полезную информацию о контакте с дежурным админом:

В экстренных случаях, для контакта с системным администратором данной системы, позвоните по номеру +7-916-1234567 (круглосуточно)

Или принадлежности данной системы в большом хозяйстве датацентра:

Данная система хранения принадлежит отделу автоматизации ОАО Проммехавтоматика (комната 414, здание Б), ответственный Приходько Б.П.

Или вывесить в нем строгое предупреждение любителям посканировать открытые порты:

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

Для того, чтобы вывести сообщение при подключении, запишите его в файл /etc/issue или /etc/motd

Самым простым способом будет сделать это непосредственно из консоли с помощью команды wrfile, которая перенаправляет нажатия клавиш в файл, завершить запись файла можно нажатием Ctrl-C:

fas> wrfile /etc/issue
Warning: This system to be accessed only by Acme Corporation employees.
Have a nice day.
 
<Ctrl+C> error: broken pipe

Блокировка трафика протоколов на портах

Иногда бывает важно сделать так, чтобы трафик определенных протоколов вообще не ходил по определенным портам. Например, у нас есть система хранения, лицензированы протоколы iSCSI, CIFS и настроена репликация SnapMirror. Каждый из этих протоколов работает в своей физической сети. По CIFS ходят юзеры за файлами, по iSCSI прицеплены сервера, а SnapMirror льет свои данные по третьей сети, выделенной только под трафик репликации.

И мы хотели бы гарантировать, что каждый трафик будет существовать только в своей сети. До ONTAP 7.3 минимальные средства такого управления были только для iSCSI. Можно было разрешить или запретить iSCSI на конкретном порту, и только. Но начиная с 7.3 появилась новая возможность.

fas> options interface.cifs.blocked e0b
fas> options interface.iscsi.blocked e1a,e1b,e1c,e1d
fas> options interface.nfs.blocked e0a,e0c
fas> options interface.snapmirror.blocked e0d

Из приведенных примеров, как мне кажется, все понятно. Обратите внимание, что настройки на обоих контроллерах кластера должны быть строго идентичны! Также имейте ввиду, что данные настройки не работают для iSCSI HBA и TOE-карт, то есть это только для обычных NIC, как onboard, так и карт расширения.

NDMP – что это, и как использовать?

NDMP – Network Data Management Protocol – это разработанный еще в 90-х годах компаниями NetApp и Legato(ныне EMC Software Group) сетевой IP-протокол, и концепция архитектуры резервного копирования для NAS-устройств. Основной идеей, создавшей концепцию NDMP, являлось желание дать NAS-системам хранения, представляющим из себя обычно довольно мощный сервер сам по себе, возможность самостоятельно, своими силами осуществлять резервное копирование своего содержимого.

(Дальше много текста с картинками)

Continue reading ‘NDMP – что это, и как использовать?’ »

19/0.474