29 мая 2020 г.

Пятничный юмор

SAP HANA это не только революция в продуктах компании SAP, но и большой жизненный этап для консультантов и пользователей. И у них есть только два пути. :)




P.S. Опрос про знание английского языка завершён. Результаты по ссылке.

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

14 мая 2020 г.

Отключение принудительной проверки файловых систем при старте Linux

В операционных системах Linux создано большое количество файловых систем. Основным семейством исторически является ветка etx2/ext3/ext4, но есть ещё много хороших вариантов. Например, xfs. Сегодня обсуждать отличия, плюсы и минусы файловых систем я не буду.

Компания SAP для своих продуктов, разворачиваемых на Linux, даёт собственные рекомендации по поводу использования файловых систем. Их можно найти, например, в SAP note 405827 - Linux: Recommended file systems

Иногда на уровне файловой системы случаются сбои и возникают ошибки. Для проверки и устранения их в Linux используется универсальная утилита fsck. Она может быть использована для большинства видов файловых систем, так как на самом деле является лишь общим фронтендом для утилит проверки конкретных файловых систем, которые она ищет в системе. Например, fsck.ext3. За подробностями добро пожаловать в man fsck.

В SUSE Linux Enterprise Server (по крайней мере, в версии 11 SP4) утилита создания файловых систем (mkfs) автоматически активирует в настройках файловых систем параметр "Maximum mount count". Для файловых систем  etx2/ext3/ext4 текущие значения этого параметра можно просмотреть командой вида:
 tune2fs -l /dev/device_file 
Дело в том, что файловая система в своём супер-блоке (super-block) хранит, в частности, счётчик количества монтирований (рис. 1).

Рис. 1. Пример вывода настроек файловой системы.

В данном примере счётчик монтирований уже равен 21. И когда это значение достигнет параметра "Maximum mount count" (в данном примере это 37), операционная система автоматически при следующем старте выполнит принудительную проверку файловой системы утилитой fsck (рис. 2).

Рис. 2. Автоматическая проверка файловой системы при старте операционной системы.

Если вы хотите, чтобы система автоматически проверяла файловые системы при каждом старте, то необходимо параметр "Maximum mount count" выставить в значение "1".

Есть ещё один момент в операционной системе - это файл /etc/fstab, который содержит записи монтирования файловых систем. Значение последнего шестого поля в записях в этом файле используется утилитой fsck при автоматической проверке во время старта операционной системы. Дело в том, что утилита, для ускорения тестирования использует параллелизм, а очередь тестирования файловых систем регулируется значением из шестого поля файла /etc/fstab. Если стоит "1", то файловая система проверяется в первую очередь. Такое значение устанавливается обычно для корневой файловой системы. Если значение равно "2", то проверка будет производится во вторую очередь (рис. 3).

Рис. 3. Пример содержимого файла /etc/fstab.

Если выставить значение поля в "0", то проверка такой файловой системы проводиться не будет. Даже если сработает механизм тестирования по количеству монтирований, описанный выше.

В моей ситуации в SUSE Linux Enterprise Server в созданных файловых системах активировался данный механизм. Для больших файловых систем, на которых расположены файлы базы данных и SAP системы, я использовал механизм логических томов - LVM. Для уникальной идентификации файловых систем в Linux есть генератор UUID. Сгенерированный для каждой файловой системы UUID рекомендуется прописать в файле /etc/fstab вместо файлов-устройств. Таким образом, можно обезопасить себя от изменении имени файла-устройства файловой системы при рестарте сервера. Просмотреть UUID для файловых систем можно командой blkid.

Возвращаемся к авто-тестированию файловых систем.

При достижении счётчиком монтирований значения равного параметру "Maximum mount count" текущей файловой системы происходил запуск процедуры тестирования при следующем старте операционной системы. Мало того, что для больших файловых систем этот процесс далеко не быстрый, так еще и конкретно на моей конфигурации активация проверки для одной из файловых систем приводила к возникновению ошибки. Причём, ошибка была связана не с проверкой текущей файловой системы, а с конвертацией (resolve) UUID других файловых систем в файлы-устройств. В итоге старт операционной системы после проверки файловой системы останавливался в maintanance режиме, не смотря на успешность самой проверки (рис. 4).

Рис. 4. Ошибка при автоматической проверке файловой системы.

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

В ошибке, я думаю, виновата LVM, которая на этапе проверки, возможно, не активирует все Volume Groups. Ошибку можно было бы как-то обойти. Но Виктор Ашик, к мнению которого в плане администрирования Linux я прислушиваюсь, не рекомендует использовать этот механизм принудительной проверки вовсе. Он в своих видео рассказывал истории из жизни, когда, посылая удалённый сервер, к консоли которого не было доступа, в перезагрузку, администраторы не могли дождаться его старта. И причиной была вышеописанная долгая проверка файловых систем при старте операционной системы. Так же он упоминал, что в RHEL данная функция отключена по умолчанию.

Я решил отключить проверку и на данных серверах. Как вы поняли из описания механизма, решения у этой задачи может быть два:
  • скорректировать параметр "Maximum mount count" для всех файловых систем,
  • выставить в шестом поле в записях в файле /etc/fstab значения в "0".

Я выбрал первый путь. Для того, чтобы отключить механизм автоматической проверки файловых систем по счётчику монтирований во время старта операционной системы достаточно установить параметр "Maximum mount count" в "-1". Сделать это можно командой вида:
 tune2fs -с -1 /dev/device_file 
После этого для этой файловой системы механизм будет деактивирован (рис. 5 и 6).

Рис. 5. Установка параметра "Maximum mount count" в -1.

Рис. 6. Проверка параметров файловой системы.

Почему я не выбрал второй путь? Потому что значение "2" в шестом поле не отключает механизм авто-проверки файловой системы совсем, а оставляет активными ещё два механизма.

Первый состоит в следующем трюке. Если создать в корне операционной системы файл forcefsck, например, командой:
 touch /forcefsck 
И перезагрузить операционную систему, то при старте будут проверены все файловые системы, у которых в /etc/fstab в шестом поле стоит "1" или "2". На этот случай я и не стал изменять записи в /etc/fstab.

А второй механизм - это проверка по прошествии временного интервала. В данном примере это 6 месяцев в параметре "Check interval" (рис. 1). В документации по tune2fs для журналируемых файловых систем не рекомендуется отключение обоих встроенных механизмов. Поэтому этот, второй, механизм я пока отключать не стал. Мне кажется, он более гибкий, чем счётчик количества монтирований. Так, в случае проверки файловой системы вручную, автоматом отодвигается принудительная проверка на указанный в параметре период.

Дополнительно можно заглянуть в хорошую статью на данную тему (на англ.).


P.S. Успейте поучаствовать в голосовании про ваш уровень английского языка, если ещё не оставили свой голос. Спасибо.



8 мая 2020 г.

Подарок от SAP: + 2 года поддержки для SAP ERP

В посте "Версии SAP ERP и SAP NetWeaver. А где же SAP S/4HANA?" я выкладывал таблицу с соответствиями версий основных продуктов компании SAP SE (S4/HANA, SAP ERP, SAP R/3) и технической платформы (NetWeaver, SAP WebAS, SAP_BASIS). Там же был затронут вопрос об окончании поддержки этих продуктов. 

Ни для кого не секрет, что на данный момент основным направлением компании является платформа SAP HANA и продукты, основанные на ней. Например, SAP S/4HANA. Это ERP-система, которая может работать только на базе данных SAP HANA. Обновления для S/4HANA выходят каждый год. На текущий момент последняя версия это 1909 (от 09.2019). 

Таким образом, предыдущий флагман - SAP ERP 6.0, система, в которой функционал обновлялся с помощью установки EHP, больше не продвигается компанией SAP. Соответственно это последняя версия системы, которая была в широком смысле кросс-платформенной, то есть поддерживала установку на большое количество платформ и баз данных. И в прошлый раз, я писал, что все версии систем SAP ERP 6.0, вне зависимости от EHP, будут поддерживаться компанией SAP до 31.12.2025. А потом только SAP S/4HANA.

Так вот есть новость. Помните, как в фильме "Джентльмены удачи"? 
- У тебя какой срок был? 
- Одииин год. 
- А теперь ещё три припаяют. 



В феврале 2020 года компания SAP SE опубликовала обновлённую версию "SAP Release and Maintenance Strategy". В документе есть изменения, касающиеся поддержки старой доброй SAP ERP 6.0. Теперь три последних версии EHP (это 6, 7 и 8) будут поддерживаться до 31.12.2027 года, а потом еще 3 года будет доступна поддержка в рамках Extended Maintenance

Информация из PAM это подтверждает (рис. 1 - 3).

Рис. 1. Дата окончания поддержки для SAP ERP 6.0 EHP6.

Рис. 2. Дата окончания поддержки для SAP ERP 6.0 EHP7.

Рис. 3. Дата окончания поддержки для SAP ERP 6.0 EHP8.

Таким образом, компания SAP даёт немного больше времени на переход на SAP S4/HANA. Скорее всего темпы перехода не такие бодрые, как компании бы этого хотелось. На Хабре есть перевод статьи 2017 года (статья на вышла из "Песочницы" из-за ужасного перевода, но суть можно ухватить), которая объясняет откуда растут ноги этого обновления условий поддержки. Я сейчас говорю про темпы обновления уже работающих систем, старых проектов. При новом внедрении и выборе из систем SAP - однозначно только решения на SAP HANA.

Кто недавно начинал новый проект? Можно SAP продавить и купить именно SAP ERP 6.0 или уже нет?

По S4/HANA ничего не изменилось. По основному продукту поддержка до 31.12.2040, но каждая отдельная версия поддерживается не дольше 5 лет. Поддержка, например, версии 1909 заканчивается 31.12.2024. То есть, живя на этой системе, обновляться надо постоянно.

Поживём, увидим, что будет дальше.

Где можно почитать подробности:
- SAP note # 2881788 - End of SAP Business Suite 7 mainstream maintenance,
- SAP note # 1648480 - Maintenance for SAP Business Suite 7 Software including SAP NetWeaver.

P.S. За наводку на эту новость спасибо Дмитрию Бондареву.


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

6 мая 2020 г.

Как поддержать автора, если нравится читать этот блог?

Данный блог я веду с 2008 года. За это время я опубликовал (на момент середины 2020 года) больше 360 постов и статей. Некоторые из них совсем короткие, а некоторые чуть больше и основательнее. Есть статьи не совсем про администрирование, а, например, личного характера и даже юмор. Как бы то не было, но я стараюсь делать качественные посты и максимально придерживаться выбранной тематики. А тема эта очень узкая. Я не пишу про психологию отношений, машины, путешествия и не выкладываю фотографии котиков (этот  не в счёт). Хотя в этом случае, наверняка, аудитория была бы гораздо больше. И котики есть у меня: :)

Рис. 1. Помощник SAP администратора.

Но кто-то же должен писать и про нашу узкую сферу. 

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

Попытка в 2017 году найти соавторов, кто мог бы мне помогать и также делился своим опытом, не увенчалась успехом. Перед наступлением 2018 года я провёл опрос среди читателей, думая, что может быть это всё никому не интересно. Но достаточное количество людей высказалось о том, что надо продолжать. Я понял, что придётся нести этот груз одному. :)

Ещё годом ранее я написал пост "Зачем я веду этот блог?", где попытался описать, что блог денег не приносит. Приносит только моральное удовлетворение от того, что ты делишься своими знаниями, помогаешь кому-то в работе. Ну и оттачиваешь свой навык "оформления мыслей в слова": сравните мои посты в начале ведения блога и сейчас. Мне кажется, что качество чуть-чуть повысилось.

К чему я это всё? :) Пожаловаться, наверное. Понятно, что после такого количества контента, который я написал и опубликовал, бросать блог жалко. Тянуть я это всё, в той или иной мере, буду. Но часто для поддержания личной мотивации мне не хватает обратной связи. Как я уже написал - аудитория читателей блога небольшая. 

Поэтому, если вам понравился мой блог или помогла какая-то статья, то можно сделать что-то из следующего.
  1. Поддержать автора рублём. Карта, на которую принимаются лучики поддержки: 2202 2061 7799 8247 (Сбербанк). Можно перевести небольшую сумму мне на кофе с зефиркой. Дело, конечно же, не в деньгах, на жизнь мне хватает. Дело в том, что так я пойму, что кто-то оценил мой труд и дал обратную связь, отдав часть своей энергии. Что будет мотивировать меня писать чаще и больше.

  2. На сайте почти нет рекламы. Но много лет назад я подключился к Google AdSence и в блоге появляется иногда пара рекламных баннеров. Никто из нас не любит рекламу в Интернете, почти все мы пользуемся расширениями типа AdBlock, и я не исключение. Но если что-то понравилось и вы хотите сделать мне приятное, то отключите на время AdBlock и щелкните по баннерам на странице блога. Может быть эти клики накопят мне когда-нибудь 100 долларов, которые мне пришлёт Google. И это произойдёт благодаря вам. :) Хотя этот способ после 2022 года уже не работает. 

  3. Напишите мне комментарий под постом, который вам помог или научил чему-то новому. Честно скажу, это чертовски приятно. Гораздо приятнее получить отклик, чем написать в пустоту, не зная, пригодилось ли это кому-то или нет.
Спасибо, что читаете мой блог. Всем хорошего дня!