26 сентября 2019 г.

Видео-лекция Fibre Channel SAN

В посте "Как стать SAP BASIS администратором" я попробовал объединить в одну схему все знания, которые я считаю необходимыми хорошему администратору SAP систем.

Из схемы видно, что разброс знаний для администратора большой. Не все из этих знаний нужны администратору систем SAP на глубоком уровне, но иметь базовые знания в той или иной области нужно. 

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

Сегодня хочу поделиться хорошей видео-лекцией про основы построения сетей хранения данных (SAN) на основе протокола Fibre Channel. Лекцию читает инженер компании Brocade Григорий Никонов. Лекция построена вокруг оборудования данной компании, но учитывая, что решения в области SAN от разных компаний идентичны, информацию можно принять как общие знания по данной теме. 

Лекция состоит из двух частей. Язык: русский. Смотрится нормально на скорости х1,25.




Ещё один совет по поводу изучения новых технологий: не изучайте всё подряд, особенно не хватайтесь за то, с чем может быть никогда не столкнётесь. Изучайте со всей тщательностью то, что используется у вас и есть под рукой. Те технологии, решения тех компаний, которые используются у вас на проекте или которые собираются в ближайшее время внедрять. Потому что теория, без закрепления на практике как шапка без головы: слова красивые есть, а понимания и практических навыков нет. А если учесть, что в информационных технологиях редко когда появляются технологии максимально новые, а часто что-то на что-то похоже или является развитием старой технологии. И в будущем, зная досконально старую технологию, легче понять новое. 


Автор: Шиболов Вячеслав Анатольевич


23 сентября 2019 г.

Расширение функциональности транзакции SM04

В статье "Мониторинг рабочих процессов SAP системы" я описывал транзакцию SM50. Данная транзакция используется для мониторинга рабочих процессов ABAP инстанции. Так же в статье упоминалось, что начиная с релиза системы SAP NetWeaver 7.40 SP08, транзакция получила расширенную функциональность и позволяет просматривать рабочие процессы всех инстанций текущей SAP системы. Таким образом, произошла замена функциональности транзакции SM66. При запуске транзакции SM66 в новых релизах SAP систем вызывается транзакция SM50 с расширенным отображением рабочих процессов по всем инстанциям. Запуск старой версии транзакции SM66 возможен через код транзакции SM66_OLD. И в прошлом посте я объяснил, чем она может быть интересна и полезна. 

Теперь хочу рассказать о том, что такие же изменения произошли и в паре транзакций SM04 - AL08. Первая транзакция (SM04) служит для просмотра списка пользователей, выполнивших вход в текущую ABAP инстанцию. В транзакции можно просмотреть список открытых режимов каждого пользователя. Можно закрыть режим пользователя или все режимы, принудительно выбросив пользователя из SAP системы. Это бывает необходимо, например, перед ручным удалением блокировок из таблицы блокировок SAP, о чём я писал тут. Также в транзакции можно просмотреть количество памяти SAP системы выделенной пользователю. Начальный экран транзакции знаком всем тем, кто в той или иной степени приобщён к делу администрирования SAP системы (рис. 1).

Рис. 1. Список пользователей, выполнивших вход в ABAP инстанцию.

Как вы знаете, SAP система поддерживает горизонтальное масштабирование. Производительность уровня сервера приложений SAP может быть увеличена через установку дополнительных диалоговых инстанций, или как их сейчас называют Additional Application Server (AAS). В этом случае для просмотра пользователей, выполнивших вход во все ABAP инстанции текущей SAP системы, необходимо пользоваться транзакцией AL08 (рис. 2).

Рис. 2. Просмотр пользователей по всей системе в транзакции AL08.

В новых версиях SAP систем, основанных на SAP NetWeaver 7.40 SP08 и выше, ситуация немного изменилась. В транзакции SM04 появилась возможность перейти в режим просмотра пользователей по всей системе. Для этого необходимо перейти в пункт меню "Перейти к -> Список по всем системам" (рис. 3).

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

После этого в списке появятся пользователи других ABAP инстанций, а в таблицу добавится столбец с именами инстанций серверов приложений (рис. 4).

Рис. 4. Просмотр пользователей по всем инстанциям в транзакции SM04.

И именно этот экран отображается в свежих релизах SAP систем при вызове кода транзакции AL08. 

Для вызова же старой версии транзакции AL08 служит отдельная транзакция - AL08_OLD
Кто-то может быть к ней очень сильно привык. :) 

Отличается она от новой версии, например, тем, что список всех инстанций системы с распределением пользователей по ним отображается сразу в верхней части экрана транзакции (рис. 5). Но каких-то функциональных особых "фишек" я в ней не знаю.

Рис. 5. Отображение ABAP инстанций SAP системы и пользователей в них в транзакции AL08_OLD.

Официально об этом в SAP note 2445935 - AL08 new layout as of EHP7.




16 сентября 2019 г.

Развитие SAP NetWeaver. Структура директорий

SAP NetWeaver 7.0 - SAP NetWeaver 7.0 EHP3

Начиная с первых версий SAP NetWeaver 7.0 (первоначальное название версии 2004s), компания SAP для систем, работающих на Unix-like операционных системах, внедрила новую структуру директорий и файловых систем (рис. 1).

Рис. 1. Структура директорий для систем на базе SAP NetWeaver 7.0.

Файловых систем, монтирование которых необходимо выполнить при подготовке операционной системы к установке SAP системы, только две:
  • /sapmnt
  • /usr/sap

Первая файловая система является хранилищем общих файлов для всех инстанций SAP системы:
  • общие файлы, например, журналы фоновых процессов (директория global), 
  • файлы профилей (директория profile), 
  • ядро SAP системы (директория exe).

Вторая файловая система содержит отдельную директорию для транспортной системы (trans), общую логическую директорию (SYS) и директории для каждой инстанции SAP системы:
  • DVEBMGS<No> - директория для центральной инстанции (CI),
  • D<No> - директория для дополнительной инстанции (DI),
  • ASCS<No> - директория для инстанции центральных сервисов,
  • ERS<No> - директория для Enqueue Replication Server (ERS) инстанции, используемой в отказоустойчивых инсталляциях.

Здесь <No> - номер инстанции, который используется в нумерации портов для доступа к процессам инстанции.
По умолчанию эти директории не создаются. Директория инстанции будет присутствовать в структуре, только если данная инстанция была установлена. 

Вернёмся к директории /usr/sap/<SAPSID>/SYS. Данная директория является в большей степени логической структурой, так как содержит ссылки на реальные директории файловой системы /sapmnt. То есть директории global, profile, run это символьные ссылки на физические директории в другой файловой системе (фиолетовые пунктирные линии на рисунке). На центральную логическую директорию с ядром SAP (/usr/sap/<SAPSID>/SYS/exe/run) указывает параметр SAP системы с именем DIR_CT_RUN. Данная директория является лишь хранилищем для исполняемых файлов ядра, запуска процессов из неё не происходит. Для каждой инстанции системы есть собственная директория с исполняемыми файлами ядра SAP. Например, для центральной инстанции это директория - /usr/sap/<SAPSID>/DVEBMGS<No>/exe. И на эту директорию указывает уже другой параметр - DIR_EXECUTABLE. Вот эти файлы и создают рабочие процессы текущей инстанции.

Зачем же нужно центральное хранилище SAP ядра? Для упрощения поддержки и обновления. Дело в том, что при старте каждой инстанции SAP системы в первую очередь запускается процесс sapcpe, который актуализирует локальные файлы ядра из центрального хранилища. Таким образом, при обновлении SAP ядра системы достаточно только сменить файлы в центральном хранилище (/sapmnt/<SAPSID>/exe), а остальную работу за вас выполнит программа sapcpe. При работы программы создаётся журнал sapcpe.log, который можно найти в локальных work-директориях инстанций. Процесс актуализации ядра SAP инстанций на рисунке 1 отображён пунктирными стрелками черного цвета.


SAP NetWeaver 7.10 - SAP NetWeaver 7.40

Начиная с версии SAP NetWeaver 7.10, структура директорий изменилась. Основная цель изменений - упрощение поддержки гетерогенных установок, когда в системе используются SAP ядра для различных платформ (рис. 2).

Рис. 2. Структура директория для систем на базе SAP NetWeaver 7.10.

Изменения коснулись лишь директории с SAP ядром. В ней появились следующие поддиректории:
  • jvm - содержит файлы виртуальной машины JAVA от SAP (используется с 2011 года),
  • uc/<platform> - содержит исполняемые файлы для Unicode ядра конкретной платформы (например, linuxx86_64),
  • nuc/<platform> - содержит исполняемые файлы для Non-Unicode ядра конкретной платформы.

Количество символических ссылок из директории /usr/sap/<SAPSID>/SYS тоже увеличилось. Концепция при этом осталась прежней: центральное хранилище исполняемых файлов в файловой системе - /sapmnt, а /usr/sap/<SAPSID>/SYS лишь логическая структура с ссылками.

В SAP note # 1104735 - Upgrade to the new instance-specific directory on UNIX описана процедура перевода системы на новую структура директорий при обновлении с ранних версий SAP NetWeaver.



SAP NetWeaver 7.5

Здесь нововведений не так много. Если вы читали пост "Развитие SAP NetWeaver. ASCS инстанция", то помните, что c версии SAP NetWeaver 7.3 произошло переименование инстанций. Это и отразилось в структуре директорий, начиная с версии SAP NetWeaver 7.5 (рис. 3).

Рис. 3. Структура директорий для систем на базе SAP NetWeaver 7.50.

Теперь директории D<No> могут содержать файлы или Primary Application Server (PAS) или Additional Application Server (AAS).

Реальный пример структуры директорий на системе SAP ERP 6.0 EHP8 (основана на SAP NetWeaver 7.50) можно посмотреть на рисунке 4.

Рис. 4. Пример структуры директорий на системе SAP ERP 6.08.


Предыдущие статьи рубрики:
- "Развитие SAP NetWeaver. ASCS инстанция".
- "Развитие SAP NetWeaver. Start profile".
- "Развитие SAP NetWeaver. Мандант 066".


Автор: Шиболов Вячеслав Анатольевич

9 сентября 2019 г.

Блокировка объектов SAP репозитория в транспортных запросах

При внедрении своих систем компания SAP рекомендует использовать трёхсистемный ландшафт, в который обычно объединены:
  • система разработки и настройки (DEV),
  • система тестирования или контроля качества (QAS),
  • продуктивная система или система промышленной эксплуатации (PRD).

Разработка новых решений и корректировки ошибок выполняются в первой системе. В тестовой системе производится тестирование изменений на продуктивном объеме данных. И в итоге, протестированное решение переносится в систему промышленной эксплуатации, где с ним сталкиваются конечные пользователи. Все эти системы объединяются в единый ландшафт с помощью транспортный системы, а изменения переносятся между системами с помощью транспортных запросов. Обо всём этом можно прочитать в этом или этом постах.

Родоначальницей транспортных запросов в ландшафте является система разработки и настройки. Когда разработчик изменяет или создаёт новый объект SAP репозитория (например, программу или функциональный модуль), то для объекта автоматически создаётся транспортный запрос с типом "запрос инструментальных средств" (Worbench request). Так как разработчиков, работающих в системе, обычно больше одного, то для сохранения целостности и безопасности необходим механизм, гарантирующий, что с одним объектом репозиториия одновременно может работать только один разработчик. И до тех пор, пока он не закончит разработку-изменение и не деблокирует запрос (released), объекты привязанные к запросу будут не доступны для изменения со стороны других разработчиков. 

На уровне SAP системы (сервера приложений ABAP) этот механизм реализован с помощью двух таблиц:
  • E071 - хранит записи всех объектов в запросах/задачах,
  • TLOCK - таблица блокировок объектов в открытых запросах.

Таким образом, пока запрос открыт, его объекты должны присутствовать в таблице TLOCK. При попытке других разработчиков (отличных от владельца запроса)  внести изменения в объект репозитория, система проверяет записи в таблице TLOCK. Если запись с объектом есть, то разработчик получает отказ на изменение объекта.

В посте "Использование транзакции SE03 для поиска запросов/задач" (рис. 7) я описывал возможность снять блокировку с объекта транспортного запроса. При использовании этой функции как раз и происходит удаление соответствующей строки из таблицы TLOCK.

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

Иногда в работе данного механизма SAP системы происходит сбой. В результате чего объект SAP репозитория может быть блокирован ошибочно (остались строки в таблице TLOCK) или не блокирован вовсе (нет записей в таблице TLOCK). Второе возможно при использовании вышеуказанного функционала транзакции SE03.

Для отслеживания соответствия объектов в транспортных запросах и их блокировок в SAP системе существует ABAP-программа RDDIT049. У программы нет привязанной транзакции, поэтому запуск осуществляется через транзакцию SE38 (рис. 1).

Рис. 1. Запуск программы RDDIT049.

На начальном экране программы необходимо галочками выбрать необходимые проверки и нажать на панели кнопку "Выполнить" (F8) (рис. 2).

Рис. 2. Запуск проверок блокировок в транспортных запросах.

Первая проверка проверяет все ли блокировки в таблице TLOCK принадлежат открытым запросам. А вторая часть - проверяет все ли блокировки корректны. Результат проверок выводится на экран (рис. 3).

Рис. 3. Результаты проверок.

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

Если вы столкнётесь с ситуацией, когда транспортная система ругается на блокировки объектов, а открытых запросов с данными объектами в системе нет, то теперь вы знаете где искать корни проблемы и как её исправить.


Автор: Шиболов Вячеслав Анатольевич


1 сентября 2019 г.

Полезные видео-лекции к дню знаний

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

Академия Яндекса

Первый проект, на который я наткнулся, это видео-лекции "Академии Яндекса". В своё время у них был проект Яндекс.Кит - расшифровывается как "Курсы информационных технологий" (не путать с мобильной операционной системой с идентичным названием). В рамках этих курсов набирали слушателей на лекции по различным направлениям, в том числе и по администрированию операционных систем. Причём, на сколько я понял, обучение проходит в вечернее время и на бесплатной основе. Яндекс после этого из этих групп набирает людей к себе на стажировку, высеивая таким образом наиболее интересных будущих сотрудников. В рамках данного направления курсы последний раз проводились в 2014 году, сейчас у них упор больше на разработчиков. Наверное, администраторов набрали достаточно. :)

Данный курс хорош тем, что курировал его и читал Виктор Ашик. Я уже в свое время натыкался в сети на его видео. Человек очень увлечен концепцией Unix/Linux, знает как глубокие основы, так и много нюансов работы с Linux. Люблю слушать увлечённых своей работой людей.

Рис. 1. Виктор Ашик.



Курс состоит из 7 лекций, записанных в 2011 году. Плейлист из всех 7-ми лекций доступен по ссылке.


Лекториум

Еще один просветительский проект в сети Интернет - Лекториум. На портале есть онлайн-курсы и медиатека с записями уже проведенных курсов. Вот в записях я и обнаружил курс "Архитектура ЭВМ и основы ОС". Читают курс на пару Кирилл и Михаил Кринкины (как я подозреваю, отец и сын).

Рис. 2. Кирилл Кринкин и Михаил Кринкин.

Курс ориентирован на будущих системных программистов, но из 12-ти лекций, только пара была не так интересна и близка мне, как системному администратору. Это там где много про ассемблер, который я с института "не брал в руки". Остальные лекции прекрасны.


Курс из 12 лекции выложен на YouTube, дата записи 2014 год. Весь плейлист можно получить по этой ссылке

Понравилась манера и наглядность изложения материала. Сразу видно, что лектор в теме. Строгой привязки к конкретной операционной системы нет, но периодически автор соскальзывает на нюансы Linux или Windows.


Кому это будет интересно? Прежде всего начинающим специалистам, погружающимся в секреты компьютерных технологий и операционных систем. Отличные лекции по базовым и, часто, практическим вещам. Опытным будет полезно просмотреть в "свободное время". Я начал и так увлёкся, что никаких сериалов не надо. :) 

Полезный совет: лекции легко смотрятся на скорости 1,5х от базовой, а Кирилла Кринкина даже на 2х легко можно понять.