Archive for the ‘tricks’ Category.

Средства мониторинга производительности: sysstat

Команда консоли sysstat похожа на vmstat и iostat свернутые в одну команду. Она сообщает данные производительности систем хранения, такие как CPU utilization, размеры дискового трафика, объемы ввода-вывода, как сетевого, так и по FC, а также трафик передачи данных на ленту, если она используется. При запуске без опций, sysstat печатает новую строку каждые 15 секунд, с базовым набором информации. Вы можете прервать вывод нажав control-C (^c) или установить при запуске определенный интервал работы (-c count ) для автоматической остановки через заданное время.
Список ключей команды:

-f статистика FCP
-i статистика iSCSI
-b расширенная статистика SAN (’blocks’)
-u расширенная статистика загрузки системы (’utilization’)
-x расширенный (’extended’) формат вывода. Включает в себя все доступные поля вывода.

Обратите внимание, что вывод производится в формате шире чем 80 символов, и предназначен скорее для “off-line” анализа, чем для непосредственного чтения с экрана.

-m отображает статистику по загрузке CPU на многопроцессорных системах. Применимо только на многопроцессорных системах, не работает на однопроцессорных.

Описания некоторых колонок вывода команды sysstat.

Cache age : возраст в минутах старейшего read-only блока в кэше. Значение в этой колонке показывает, насколько быстро операции чтения проходят через память системы; когда система читает очень большие файлы, значение buffer cache age будет низким. Кроме этого, если чтение преимущественно случайное, то cache age также будет низок. Если вы столкнулись с проблемой низкой производительности на чтении, то значение этого поля сможет помочь определить что вам нужно больше кэша, или нужно проанализировать работу приложения, чтобы снизить уровень “случайности” его запросов.

Cache hit : Величина в процентах для WAFL cache hit rate. Показывает, в скольки процентах читаемых с WAFL блоков они оказывались при этом уже в кэше. Прочерк в этой колонке, означает, что в измеряемый период данные не читались.

CP Ty : Тип (’type’) Consistency Point (CP). Показывает, что было причиной создания CP в рассматриваемом интервале. Тип CP может быть:

- не было CP в заданный интервал (не было записей на диск в указанный период времени)

(число) число CP, созданных в заданном интервале

B : Back to back CPs (CP generated CP) (система настолько загружена, что она начинает писать новую CP сразу за окончанием записи предыдущей)

b : задержанные back to back CPs (CP generated CP) (условия, вызвавшие состояние back to back стали хуже)

F : CP вызван заполнением NVLog (половина nvram log была заполнена, и он был сброшен на диск)

H : CP вызван high water mark (редко встречается. Система полностью заполнила одну половину nvram logs, и решила сбросить данные на диск).

L : CP вызван low water mark

S : CP вызван операцией создания snapshot

T : CP вызван таймером (каждые 10 секунд система хранения сбрасывает данные кэша на диск (flush))

U : CP вызван сбросом данных на диск (flush)

: продолжение CP с предыдущего интервала (означает, что CP все еще создается, например во время 1-секундного интервала)

Символ, следующий далее, показывает проходящую фазу создания CP на момент окончания интервала замера. Если CP завершился полностью во время интервала измерения, то второй символ будет пустой. Фазы могут быть следующие:

0 ??нициализация
n обработка обычных файлов
s обработка специальных файлов
f сброс измененных данных на диск
v сброс измененного суперблока на диск

Большинство перечисленных выше значений можно увидеть только в случае предельно малых интервалов замеров, или на сильно загруженных системах, так как сброс CP происходит очень быстро. Обычно в поле CP ty вы будете видеть ‘T’, штатный сброс Consistency Point по таймеру.

Давайте разберем пример.

sysstat.txt (для более удобного вида отключите в нотепаде word wrap и расширьте окно)

Что мы можем сказать о данной системе?
Это малозагруженная, практичеси находящаяся в покое система (параметры CPU, Disk Usage и Total), использующая CIFS и FCP (небольшие ненулевые значения показывают фоновые операции по этим протоколам). Большиство операций в этой покоящейся системе совершается в виде чтения содержимого кэша (значение Cache hit). Кэш практически пуст, на что указывает монотонное возрастание значения Cache age, данные лежат, и ничто их не вытесняет. Consistency Points создаются исключительно сбросом по таймеру, что нормальное поведение для незагруженной системы.
Довольно высокие значения Disk read write при малой загрузке CPU, практически нулевом сетевом траффике и операциях ввода-вывода по блочным протоколам указывает на работу процесса Disk Scrubbing, фонового процесса контроля целостности данных и дисков, при котором система перечитывает и перезаписывает данные на дисках, возможно также что работает дедупликация, хотя она обычно дает повыше чем 1-3% загрузку, также, возможно, это признак работы дефрагментации WAFL (wafl reallocate).

Так выглядит типичный вывод sysstat малонагруженной типовой системы NetApp FAS.

А вот так выглядит система под рабочей нагрузкой: sysstat3.txt

Как видите, уже заметно нагружен процессор (это FAS6070, поэтому запас еще весьма существеннен ;), около 20%. Так как система используется как SAN, то весь трафик идет по колонке FCP. Несмотря на заметную нагрузку, ниже приведенный отчет по utilization показывает производительность около 15000 IOPS, и около 23 MB/s чтения с дисков ( и 70-90MB/s по интерфейсам FC), это не перегрузило систему. Большой объем кэша на чтение позволяет 90% операций читаться из кэша, а не с дисков.
Возраст самого старого блока в кэше составляет примерно 10-12 минут, то есть кэш еще далек от заполнения.
Здесь уже периодически проскакивают символы, показывающие фазу сброса CP, и само время записи CP увеличилось, так как вырос объем записи, хотя он и составляет всего около 1/10 от объемов чтения.

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

Оригинал тут:

http://unixfoo.blogspot.com/2007/11/netapp-performance-monitoring-sysstat_16.html

А вообще это, за исключением моего разбора примера вывода, практически перевод манов к команде из встроенного хелпа.

Некоторые полезные команды в консоли управления NetApp

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

license add xxxx
Добавляет лицензию на ту или иную функцию системы

df -h
Отображает степень занятости дискового тома (volume)

df -i
Отображает использование inode на томе

df -A -h
Отображает степень занятости aggregate

maxfiles
Увеличивает число inodes на том

sysstat -us 1
начинает вывод значений загрузки (utilization) системы хранения с 1-секундным интервалом (для остановки - crtl-c)

statit -b / statit -e
Начинает (-b) или заканчивает (-e) performance workload sampling

nfsstat -d [-z]
Выводит статистику nfs с последней перезагрузки (-z обнуляет счетчики)

nfs_hist [-z]
Отображает гистограмму задержек операций nfs с последней перезагрузки (-z обнуляет счетчики)

aggr status -i
Отображает aggregate и тома, содержащиеся на каждом aggregate

date -u
Показывает дату в формате UTC

storage show disk -p
Показывает пути подключения (primary и secondary) для каждого диска

fcadmin device_map
Показывает, где какой диск в полках

nfsstat -l [-z]<br />
Показывает статистику по клиентам nfs.

lun stats -o
Отображает статистику загрузки lun

lun show -m
Отображает информацию о lun mapping

qtree stats
shows statistics per qtree

sysconfig [-a]
Отображает аппаратную конфигурацию системы (-a для более подробного вывода)

environment
Отображает статус состояния среды (температура, и т.д.) полок и шасси системы хранения

led_on 4a.17
Зажигает лампочку на диске 4a.17 (или любом другом) :)

disk_fw_update
Обновляет firmware дисков (может вызывать downtime если у вас не кластер!)

iscsi show initiator
Показывает подключенные iscsi initiators

rm /vol/vol0/some_file
Встроенная команда rm (только для файлов, но не для папок!)

version [-v]
Показывает версию Data OnTap вашей системы. -v показывает,
оптимизировано ли ядро.

ndmpcopy /vol/vol0/qtree1 /vol/vol1/qtree1
Копирование данных с тома на том, средствами самой системы хранения, при помощи NDMP

rdfile /etc/resolv.conf
Показывает содержимое текстового файла

Оригинал тут:
http://unixfoo.blogspot.com/2007/10/untitled.html

Это любопытно.

Очень часто владельцы систем хранения NetApp, читающих тут меня, или слушающих на семинарах про новые фишки этих систем, думают: “Ну на словах-то они все мастера загибать, пока сам не увижу, сам не пощупаю, пока на своей системе, в моей собственной задаче не увижу как работает - ни в жизнь не поверю!” ?? тут они по своему правы. Маркетинговые балаболы давно заслужили недобрую славу в нашей отрасли.

Однако тут у NetApp есть совершенно убойный ответ: вы можете получить временные полнофункциональные лицензии, установить их на свою собственную систему и включить для оценки любой желаемый на ней функционал, с тем, чтобы проверить его работу и применимость в вашей конкретной задаче. А потом уже, не торопясь, с полным владением всеми деталями, убедившись и протестировав все досконально решать, покупать вам такую опцию или нет.
Хотите посмотреть как работает “вживую” FlexClone? SnapMirror? CIFS NAS? NFS с Oracle или VMware?

На сайте NOW (NetApp on Web), по адресу http://now.netapp.com/eservice/evallicense (этот адрес требует авторизации вашим логином, как и весь NOW) можно сгенерировать для вашей системы хранения evaluation licenses на любую опцию систем хранения NetApp.

Если ваш уровень доступа не позволяет вам зайти на эту страницу, то покажите этот адрес сотруднику вашего поставщика-партнера NetApp, с партнерским уровнем доступа эта странца отрывается точно, однако многие партнеры даже и сами не знают о существовании возможности самостоятельно генерировать evaluation licenses для своих клиентов.

Внимательно прочтите условия, введите серийный номер вашей системы (для кластерной системы нужны номера обоих контроллеров, так как лицензии для них устанавливаются на обе “головы” независимо).
Лицензия генерируется для каждого серийного номера системы индивидуально.

Обратите внимание, что установить на систему такую evaluation license можно только три раза, каждый по 90 дней максимум, после чего установка evaluation license для данной опции блокируется. Установить после этого на ту же систему полнофункциональную лицензию конечно же можно.

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

Это любопытно.

Начиная с версии Data ONTAP 6.4 можно посмотреть текущие логи системы и забрать core dump, при его существовании, через веб-браузер по адресу:

http://your-fas-system/na_admin/logs
и
http://your-fas-system/na_admin/cores

Начиная с версии 7.2 эта опция по умолчанию выключена, вернее выключено формирование индексной страницы, так что если вы хотите попробовать, то сперва скажите в консоли:

fas> options httpd.autoindex.enable on

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