Здесь размещено описание одного из функциональных блоков инструкций управления самодельным сетевым хранилищем на сочетании технологий "MDADM + LVM + XFS + NFS + MHDDFS" через простейшие BASH-скрипты. Отдельно неприменимо.
Пример опций конфигурационного файла хранилища:
# vi /usr/local/etc/storage/cnf.d/misc.cnf
....
# Перечень электронных почтовых адресов операторов подсистемы виртуализации
email=admin@example.com operator@example.net
....
# Перечень электронных почтовых адресов операторов подсистемы виртуализации
email=admin@example.com operator@example.net
....
Фрагмент кода со вспомогательными функциями:
# vi /usr/local/etc/storage/fnc.d/misc.fnc
#!/bin/bash
# This file contains the code snippet for the shell Bash v.4 (Bourne again shell)
# Файл содержит фрагмент кода для командного интерпретатора Bash v.4 (Bourne again shell)
# Определяем функцию уведомления администратора о нештатном развитии ситуации
# Example use: send-report "Subject" "Body"
function send-report() {
local MSUBJECT=$1
local MREPORT=$2
# Получаем перечень электронных почтовых адресов операторов подсистемы виртуализации
EMAIL=`grep --ignore-case "^email=" "${CNF}" | awk -F = '{print $2}'`
# Посылаем электронное письмо
echo -e "Content-Type: text/plain; charset="utf-8"\nSubject: Storage warning: ${HOSTNAME}: ${MSUBJECT}\n${DATE}.\nHost: ${HOSTNAME}.\nSubject: ${MSUBJECT}.\n${MREPORT}" | sendmail -F${HOSTNAME} ${EMAIL}
return $?
}
# This file contains the code snippet for the shell Bash v.4 (Bourne again shell)
# Файл содержит фрагмент кода для командного интерпретатора Bash v.4 (Bourne again shell)
# Определяем функцию уведомления администратора о нештатном развитии ситуации
# Example use: send-report "Subject" "Body"
function send-report() {
local MSUBJECT=$1
local MREPORT=$2
# Получаем перечень электронных почтовых адресов операторов подсистемы виртуализации
EMAIL=`grep --ignore-case "^email=" "${CNF}" | awk -F = '{print $2}'`
# Посылаем электронное письмо
echo -e "Content-Type: text/plain; charset="utf-8"\nSubject: Storage warning: ${HOSTNAME}: ${MSUBJECT}\n${DATE}.\nHost: ${HOSTNAME}.\nSubject: ${MSUBJECT}.\n${MREPORT}" | sendmail -F${HOSTNAME} ${EMAIL}
return $?
}
Переход к настройке зеркалирования блочных устройств в рамках локальной системы.