Posts tagged ‘howto’

??спользование STATSPACK для Oracle

Сайзинг под базы Oracle есть критически важный параметр для создания системы хранения достаточной производительности. Сбор данных perfstat* и Oracle STATSPACK позволит выбрать правильно сконфигурированную систему хранения NetApp, как в плане размера, так и производительности.

Важно помнить несколько вещей, когда вы собираете статистику системы:

  • Собирайте данные, когда система под большой нагрузкой
  • Собирайте данные со всех хостов инфраструктуры
  • Собирайте данные в perfstat и STATSPACK за один период времени

Установка Oracle STATSPACK.

STATSPACK это утилита диагностики произвдительности СУБД, которая доступна начиная с Oracle8i. STATSPACK это дальнейшее развитие утилит BSTAT и ESTAT. Рекомендуется установить timed_statistics в true. Для установки STATSPACK выполните следующие шаги:

1. Создайте PERFSTAT Tablespace:

SQL> CREATE TABLESPACE statspack
DATAFILE ‘/path_to_file.dbf’ SIZE 200M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K
SEGMENT SPACE MANAGEMENT AUTO
PERMANENT
ONLINE;

2. Запустите catdbsyn.sql и dbmspool.sql как SYS из SQLPLUS

$ sqlplus "/ as sysdba"

SQL> @?/rdbms/admin/catdbsyn.sql

SQL> @?/rdbms/admin/dbmspool.sql

3. Запустите скрипт

$ sqlplus "/ as sysdba"

SQL> @?/rdbms/admin/spcreate

Можете начинать пользоваться Oracle STATSPACK.

Сбор Oracle Statspack с помощью Perfstat с хоста Unix.

Как я могу собирать данные Oracle Statspack и Perfstat одновременно?

Для Perfstat версии 6.28 или позднее мы можем собирать данные Oracle Statspack из Perfstat используя единую команду Perfstat. Это работает для версии perfstat под unix, и не работает для версии perfstat под Windows.

Небольшая выжимка их манов к Perfstat:

Требования:

1. Perfstat может собирать данные Oracle STATSPACK только с одного хоста.
2. ??нстанс Oracle должен быть запущен до того, как будет вызван Perfstat.
3. ??спользуйте флаг -o чтобы передать специфические опции statspack в perfstat.

Опции и значения по умолчанию:

oracle_host=`hostname`
sqlplus=”sqlplus”
oracle_login=”perfstat/perfstat”
runas=”"
sysdba=”false”

-oracle_host - умолчание для localhost, может быть одним из хостов, определенных с помощью -h из команд perfstat

-sqlplus - может быть использован для того, чтобы определить абсолтный путь к команде ’sqlplus’

-runas - может использоваться для запуска sqlplus от имени другого пользователя (то есть пользователь Unix, где установлен Oracle, обычно не root.)

-sysdba - может использоваться для подключения к oracle как sysdba, игнорируя параметр oracle_login. Ключ sysdba вводит следующие команды в логин к sqlplus:

  • a. sqlplus /nolog
  • b. connect / as sysdba.

Примеры:

perfstat.sh -a oracle
perfstat.sh -h host1 -a oracle -o oracle_host=host1
perfstat.sh -h host1 -a oracle -o oracle_host=host1,sqlplus=/oracle/bin/sqlplus/
perfstat.sh -a oracle -o oracle_login=user/pass
perfstat.sh -a oracle -o runas=oracle,sysdba=true

Более сложные примеры:

perfstat.sh -a oracle -t 5 -i 5 -f filer -o runas=oracle, sysdba=true >/opt/perfstat.out

Note: Для того, чтобы собирать статистику самого файлера вместе с данными статистики Oracle, должен быть использован ключ -f.

Пример приведенный выше запускает perfstat и statspack 5 раз по 5 минут. Он переключает пользователя в oracle (с помощью команды su - oracle), и входит в sqlplus с помощью:

  • a. sqlplus /nolog
  • b. connect / as sysdba.

Еще почитать:
http://www.akadia.com/services/ora_statspack_survival_guide.html
https://now.netapp.com/Knowledgebase/solutionarea.asp?id=kb9096
http://www.dba-oracle.com/art_statspack.htm
http://www.datadisk.co.uk/html_docs/oracle/awr.htm

Взято тут:
http://blogs.netapp.com/databases/2009/07/gathering-oracle-statspack-data-for-netapp.html

* perfstat - собственная утилита - shell-script NetApp для сбора статистики, может быть скачана с вебсайта NOW: http://now.netapp.com/NOW/download/tools/perfstat/

Экономим usable space. “Bad but useful practices”.

Многие пользователи NetApp, в особенности их младших моделей (Low Enterprise Class, FAS2020 и FAS2050) часто жалуются на большие потери при создании usable space. Зачастую usable space может составлять всего 50% от raw, а иногда бывает и того менее.
Действительно, на системах с малым числом дисков, а зачастую именно такие попадают в сравнительно небольшие компании и проекты, величина пространства, которая отнимается по умолчанию из дискового пространства такой системы довольно велика. Чем больше в системе дисков, тем меньшую роль это играет, однако на небольших системах этот эффект довольно значителен.

Что с этим делать, и насколько это серьезная проблема?

Как вы уже знаете, индивидуальные настройки системы хранения NetApp находятся на создаваемом при первом запуске системы томе vol0 в директории /etc. В отличие от решений конкурентов, этот том не какой-то специальный, а самый обыкновенный, и все содержимое его за исключением занятого под /etc мы можем использовать для хранения пользовательских данных.

Однако такой том нужен для каждого из двух контроллеров, и, в случае использования RAID-4 мы потратим на их создание как минимум 2 диска на parity disks для их RAID-групп (и 4 в случае RAID-DP), плюс еще диски на parity для RAID-групп данных. Плюс hot spare. Вот и убегает, при создании системы с настройками “по умолчанию”, половина всех доступных дисков. Хотя, говоря начистоту, при использовании RAID-10 в “других система хранения” мы тоже получаем 50% usable от raw, но в данном случае все равно как-то жаба грызет.

??так, каким хитрым способом можно получить максимально возможное количество usable space на системе типа FAS2020A, с, допустим, дисками SATA 1TB 7200RPM?

С самого начала скажу, что нижеописанная схема никакой не Best Practices (а скорее даже Bad Practices), но тем не менее позволят получить максимум usable space на небольших системах, типа FAS2020. Если вас угораздило купить такую, да еще с небольшим количеством больших дисков SATA в базе, невзирая на все, что вам говорили при этом при продаже - читайте дальше.

Можно создать aggr0 из всего пары дисков в RAID-4 (1 диск данных и 1 диск parity), и разместить на нем vol0 для первого контроллера. На этом vol0 находится служебная информация, необходимая для загрузки и работы контроллера, директория /etc, поэтому создавать его придется на “полностью чистой” системе из меню Maintenace mode. Служебная директория займет примерно мегабайт 30. Остальное место, почти терабайт, мы можем использовать для хранения каких-нибудь наших данных. По умолчанию на vol0 создается директория home, в которой можно разместить homedir подключенных к NAS пользователей. Однако следует помнить, что быстродействие тома, построеного на RAID из всего двух дисков будет невелико. Так что лучше если это будут какие-нибудь не критичные к быстродействию данные

Оставшиеся 10 дисков мы распределяем таким образом: 1 диск оставляем в hot spare*, а все оставшиеся 9 помещаем в один большой aggregate, в одну RAID-группу типа RAID-4 или RAID-DP (1 или 2 pariy, 8 или 7 дисков данных). ?? на этой большой группе создаем vol0 для второго контроллера.
А все оставшееся место, за вычетом 30Mb на содержимое /etc, мы можем занять нашими данными, причем они будут распределены уже по “длинному” и, следовательно, более быстродействующему RAID.

Disk layout

Disk layout

Отмечу, что, если не ошибаюсь, начиная с ONTAP 7.3, для системы хранения NetApp назначается 2 диска hot spare на каждый контроллер, что для малых систем, на мой взгляд, чересчур расточительно. Это значение можно изменить в системных опциях*.

Преимущества:

  1. Мы получаем величину usable space равную 75% от raw (из 12 дисков выпадают 3: 1 на parity на первом контроллере, 1 на parity на втором контроллере, 1 на общий spare)
  2. Мы получаем большой раздел “одним куском”, и можем, например, создать на нем LUN размером 8TB (больше все равно не поддерживается на 2020)
  3. Этот большой раздел получается относительно быстродейстующий, так как распределен на максимально возможное в данном случае количество дисков.

Недостатки:

  1. Мы, по сути, делаем резко асимметричную систему, в которой контроллер 1 практически не занят, и вся рабочая нагрузка по обслуживанию доступа к данным ложится на второй.
  2. RAID-4 менее отазоустойчив, чем RAID-DP, в особености на SATA, и обеспечивает более долгое время ребилда в случае сбоя.
  3. 1 spare на 2 контроллера это “не рекомендованная” NetApp конфигурация.
  4. Такая схема разбиения “не рекомендуется” NetApp для использования.

Так что на свой страх и риск.

* Необходимо изменить системный параметр:
set options raid.min_spare_count 1

Дедупликация - включить и пользоваться

??так, если я вас убедил взять и попробовать использовать дедупликацию, то сделать это можно разными путями. Например таким:
Допустим лицензия на дедупликацию получена и введена.
Включить ее можно любым из доступных для управления системой хранения способов, например через командную строку. Но давайте посмотрим как это сделать с помощью нового System Manager-а, о котором я рассказывал совсем недавно. System Manager это приложение администрирования систем хранения NetApp, в виде MMC-оснастки (Microsoft Management Console) для любой Windows-системы.
Вот так включается дедупликация для тома, при его создании:
dedup-vol
В свойствах тома можно поменять расписание прохода дедупликации, выставив выбранное вами время, в том случае, если вас не устраивает автоматический режим (он срабатывает, напомню, при обнаружении простоя системы хранения, и запускает процесс дедупликации в фоновом режиме).
dedup-schedule
Страница управления томами также имеет средства запуска процесса вручную, например немедленно.
dedup-start
После окончания там же будет показана эффективность результата его работы.
dedup-savings
Ну и, наконец, если у вас используется VMware, и вы выбрали для хранения его датастора том по NFS, о преимуществах такого решения я много писал, то для такого случая есть специальный “мастер”.
dedup-wizard
Напомню, что NetApp гарантирует не менее чем двукратное снижение используемой емкости хранения, при использовании дедупликации и thin provisioning-а для систем VMware.

Обратная связь

Порой процесс взаимодействия меня, как автора, с читателями бывает довольно необычен.
Тем 44 посетителям, что зашли в течении прошедшего месяца с поисковиков по запросу:
netapp simulator how to add disk

Вот так:)

netapp simulator how to add disk

В корне папки симулятора лежит скрипт makedisks. Кроме добавления дисков, как видите, он еще может изменить кучу настроек, которые обычно ставятся в момент инсталляции симулятора.

HOWTO: Обновляем Data ONTAP на работающей системе

Процедура полного обновления OS и firmware системы хранения NetApp FAS

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

Загрузите с now.netapp.com:

Рекомендуется: Сообщите в саппорт о том, что вы приступаете к обновлению. Сгенерируйте письмо в AutoSupport с темой Maintenance или Upgrade, иначе вы можете получить кучу открытых кейсов для вашей системы и обеспокоенные звонки из техподдержки “чего это у вас там все ребутится в кластере?”
( > option autosupport.doit maintenance )
На крайний случай просто временно выключите AutoSupport (не рекомендуется, можно забыть включить назад)
(> option autosupport.enable off)

Смонтируйте на вашем компьютере как сетевой диск ресурс \\filerA\c$ и \\filerB\c$
Данное монтирование (C$) возможно в том числе, если вы не используете и не имеете лицензию CIFS.
Аналогично это возможно и с NFS в случае Linux/UNIX.

Сделайте резервную копию содержимого c$\etc\ на обоих системах

Скопируйте эту резервную копию в папку c$\backup\etc_хх-хх-хххх

Распакуйте архив прошивок полок в etc\shelf_fw на обоих контроллерах filerA и filerB

Распакуйте архив прошивок дисков в etc\disk_fw на обоих контроллерах filerA и filerB

* Обновление прошивки полок

Войдите в админскую консоль системы хранения.

Проверьте текущую версию shelf firmware ( > sysconfig -v )

Войдите в режим с повышенными привилегиями ( > priv set advanced )

Запустите обновление прошивки полок ( > storage download shelf )
Этот процесс обновит прошивки всех дисковых полок системы. Если вы хотите обновить только какие-то определенные, то используйте команду
> storage download shelf adapter_number.

Согласитесь на обновление, нажмите “y” и Enter.

После завершения проверьте версию прошивки полок ( > sysconfig -v )

Выйдите из режима повышенных привилегий ( > priv set admin )

* Обновление прошивки дисков

Прошивки дисков автоматически обновятся во время перезагрузки, если новые версии на этот момент будут лежать в папке disk_fw. Чтобы предотвратить такое поведение, например в случае очень больших систем с большим количеством дисков, можно изменить следующую системную опцию:
( > options raid.background_disk_fw_update.enable), она может быть в состоянии on или off. Рекомендуется оставить ее в on.

* Обновление Data ONTAP

Проверьте соответствие вашей системы опуликованным для полученного релиза Data ONTAP. При необходимости обновить версии прошивок полок и дисков сделайте это как описано выше.
Проверьте разделы known problems and limitations сопровождающей релиз информации. Проверьте списики исправленных багов между вашей рабочей системой и обновляемой.

* Процесс обновления

Распакуйте полученные архивы с новым дистрибутивом OS на смонтированные диски C$ обоих контроллеров в соответствуюшие папки (\etc\boot). Если вы проделываете это из под Windows, то рекомендуется воспользоваться стандартным путем, запустив на локальной машине самораспаковывающийся архив дистрибутива Data ONTAP и указав смонтированный на локальную машину диск \\filer\c$, как это указано в подсказке распаковки.

Запустите установку обновления новой OS на обоих системах ( > download )

Проверьте состояние кластера ( > cf status ) чтобы быть уверенным, что кластерный файловер работает

Выполните перехват системой filerB сервисов системы filerA ( > cf takeover )
Это отправит filerA в перезагрузку

Во время перезагрузки filerA нажмите ( ctrl-c ) для входа в maintenance mode
Вы должны делать это подключенным консольным кабелем к системе хранения, или через RMC (Remote Management Controller).

Находясь в maintenance mode наберите ( > halt ) чтобы выполнить полную перезагрузку

Нажмите ( del ) во время теста памяти, чтоы получить консоль CFE

Запустите прошивку нового firmware в flash командой CFE ( CFE> update_flash )

Перезагрузитесь командой ( bye ) на консоли и дождитесь завершения нормальной загрузки OS системы хранения filerA
Система filerA должна находиться в состоянии …waiting for giveback state

Для возвращения кластерных ресурсов на filerA мы должны дать команду
( > cf giveback –f ) с консоли filerB
Это необходимо сделать вручную, так как у нас сейчас различные версии Data ONTAP на контроллерах кластера.

После завершения giveback, проверьте версию прошивки и OS системы filerA
( > sysconfig –v )

После проверки успешности обновления повторяем действия с системой filerB:

Система filerA перехватывает сервисы filerB ( > cf takeover –n )

Наберите ( > halt ) в консоли filerB для перезагрузки

Во время перезагрузки filerB нажмите ( ctrl-c ) для входа в maintenance mode.
В maintenance mode наберите в консоли ( > halt ) для выполнения полной перезагрузки.
Нажмите ( del ) по время тестирования памяти чтобы получить консоль CFE.
Запустите обновление firmware командой ( CFE> update_flash )

Введите ( bye ) в консоли после завершения перепрошивки и выполните перезагрузку filerB

Если система filerB находится в состоянии …waiting for giveback state сделайте ручной giveback ( > cf giveback –f ) с контроллера filerA
Если процесс giveback завершен успешно, проверьте firmeware и версию OS на filerB при помощи ( > sysconfig –v )

Обе системы полностью обновлены.