Skip to content

Latest commit

 

History

History
257 lines (172 loc) · 10.2 KB

functions.md

File metadata and controls

257 lines (172 loc) · 10.2 KB

is_command_exists()

Аргументы

  1. $1 - аргумент функции представляющий команду или утилиту в системе (например dmsetup)

Описание

Функция проверяет существование утилиты или команды в системе.
В случае отсутсвия команды или утилиты завершается с кодом ошибки '1'

Используемые команды внутри функции

  • command - запуск команды (или вывод ее описания)

Возвращаемые значения

0 в случае успеха

Логирование

DEBUG, ERROR

is_module_loaded()

Аргументы

  1. $1 - аргумент функции представляющий имя модуля ядра (например dm_mod)

Описание

Функция проверяет загруженность модуля в системе.
В случае отсутствия модуля в памяти, функция завершается с кодом ошибки '1'

Используемые команды внутри функции

  • lsmod - выводит список загруженных модулей в системе

Возвращаемые значения

0 в случае успеха

Логирование

ERROR

is_systemd_service_exists()

Аргументы

  1. $1 - аргумент функции представляющий имя systemd сервиса (например multipathd)

Описание

Функция проверяет существует ли указанный сервис в системе.
В случае отсутствия сервиса функция завершается с кодом ошибки '1'

Используемые команды внутри функции

  • systemctl - команда управления systemd юнитами

Возвращаемые значения

0 в случае успеха

Логирование

ERROR

is_systemd_service_active()

Аргументы

  1. $1 - аргумент функции представляющий имя systemd сервиса (например multipathd)

Описание

Функция проверяет активен ли указанный сервис в системе в данный момент.
В случае если сервис не активен функция завершается с кодом ошибки '1'

Используемые команды внутри функции

  • systemctl - команда управления systemd юнитами

Возвращаемые значения

0 в случае успеха

Логирование

ERROR

remove_record()

Аргументы

  1. $1 - аргумент функции представляющий полный путь до файла multipath конфигурации
  2. $2 - аргумент функции представляющий wwid луна, который требуется удалить

Описание

Функция удаляет целиком блок вида:

multipath {
    .........
}

в котором указан wwid, который принимается вторым аргументом функции
Перед удалением создается бэкап конфигурационного файла
Удаление производится спомощью sed
В случае ошибки функция завершается с кодом ошибки '1'

Используемые команды внутри функции

  • mktemp - для создание временной директории под бэкап
  • date - для формирования имени бэкапного файла с датой
  • cp - для копирования файла конфигурации
  • sed - для поиска и удаления блока конфигурации

Возвращаемые значения

0 в случае успеха

Логирование

INFO,ERROR,CRITICAL

clear_mpio_record()

Аргументы

  1. $1 - аргумент функции представляющий wwid луна, который требуется удалить (используется для поиска)

Описание

Функция осуществляет поиск файлов конфигурации мультипаса, в которых прописан переданный первым параметром wwid
Функция также учитывает, несколько директорий, а также кастомную конфигурацию мультипаса в виде параметра config_dir:

  • /etc/multipath.conf
  • /etc/multipath/conf.d

Возвращаемые значения

0 в случае успеха

Логирование

Наследуется от функции remove_record()

is_multipath_device()

Аргументы

  1. $1 - имя блочного устройтсва

Описание

Функция проверяет что переданный аргумент - это действительно multipath устройство

Используемые команды внутри функции

  • multipathd - команда управления демоном мультпаса

Возвращаемые значения

0 в случае успеха
0 в случае ошибки

Логирование

ERROR

mpio_wwid_to_dm()

Аргументы

  1. $1 - аргумент функции представляющий wwid луна, который требуется сопоставить с device-mapper устройством

Описание

Функция возвращает device-mapper устройство соответсвующее переданному wwid
В случае ошибки, функция завершается с кодом ошибки '1'

Используемые команды внутри функции

  • lsmod - выводит список загруженных модулей в системе

Возвращаемые значения

строка в виде dm устройства (например dm-10)

Логирование

ERROR
наследование от is_mpio_device_exists

mpio_alias_to_wwid()

Аргументы

  1. $1 - аргумент функции представляющий alias луна, который требуется сопоставить с wwid

Описание

Функция возвращает wwid переданному alias В случае ошибки, функция завершается с кодом ошибки '1'

Используемые команды внутри функции

  • multipathd - выводит список загруженных мап в системе

Возвращаемые значения

wwid устройства в виде 16-ричной строки

Логирование

ERROR

mpio_wwid_to_alias()

Аргументы

  1. $1 - аргумент функции представляющий wwid луна, который требуется сопоставить с alias

Описание

Функция возвращает alias переданному wwid В случае ошибки, функция завершается с кодом ошибки '1'
В случае, если alias не существует, выводится warning и возвращается wwid вместо alias

Используемые команды внутри функции

  • multipathd - выводит список загруженных мап в системе

Возвращаемые значения

alias устройства или wwid устройства в виде 16-ричной строки

Логирование

ERROR, WARNING

is_device_busy()

Аргументы

  1. $1 - аргумент функции представляющий dm-устройство

Описание

Функция проверяет значение 'Open count:' у dm-устройства для определения того,
используется ли устройство еще кем-то или нет.
В случае ошибки функция завершается с кодом ошибки '1'

Используемые команды внутри функции

  • dmsetup - выводит список загруженных мап в системе

Возвращаемые значения

0 - в случае успеха

Логирование

ERROR

is_mpio_device_exists()

Аргументы

  1. $1 - аргумент функции представляющий alias или wwid устройства

Описание

Функция проверяет существует ли мультипас устройство в памяти по wwid или alias
В случае ошибки функция завершается с кодом ошибки '1'

Используемые команды внутри функции

  • multipathd - выводит список загруженных мап в системе

Возвращаемые значения

0 - в случае успеха

Логирование

ERROR

is_device_in_lvm()

Аргументы

  1. $1 - аргумент функции представляющий path устройства
  2. $2 - аргумент функции представляющий alias устройства

Описание

Функция проверяет присуствует ли диск в lvm с помощью поиска записи вида lvm-pv-uuid ссылающейся на путь устройства в /dev/disks/by-id/. В случае ошибки функция завершается с кодом ошибки '1'

Используемые команды внутри функции

  • pvs - выводит список pv

Возвращаемые значения

0 - в случае успеха

Логирование

ERROR