Как установить клиент NetBackup с помощью AccentOS Firstboot?¶
В данной документации описана работа со скриптом, осуществляющим установку NetBackup из предоставляемого архива клиента. Архив представлен в формате tar.gz
.
Основные исходные данные при работе скрипта:
- мастер-сервер NetBackup;
- список медиа-серверов NetBackup;
- возможность внесения альтернативного доменного имени хоста, на котором устанавливается клиент NetBackup.
Описание работы скрипта¶
В основу работы скрипта положен шаблон для программного обеспечения expect
с возможными вопросами в диалоге инсталлятора клиента NetBackup. Скрипт в настоящий момент использует текущее доменное имя хоста. Для внесения альтернативных имен необходимо дополнить скрипт алгоритмом получения или формирования альтернативного доменного имени на основе списка, базы данных или резолвинга IP-адреса через обращение к альтернативному DNS-серверу.
Скрипт для своей работы использует переменные окружения:
NETBACKUP_CLIENT_URL
- размещение архива с инсталлятором клиента NetBackup;NETBACKUP_TOKEN
- токен для авторизации на мастер-сервере NetBackup;NETBACKUP_MASTER_SERVER
- имя или IP-адрес мастер-сервера NetBackup;NETBACKUP_MEDIA_SERVER0 - NETBACKUP_MEDIA_SERVER1000
- нумерованный список медиа серверов NetBackup.
Указанные переменные должны передаваться через переменные окружения AccentOS Firstboot или могут быть раскомментированы в заголовке скрипта для проведения отладки установки клиента NetBackup на уже установленном хосте.
Инструкция по установке NetBackup 8.x на CentOS Linux¶
Перед установкой системы необходимо убедиться в наличии прямых и обратных DNS-записей целевого клиента (<domain>-<name>.<domain>.prod1
).
Скачать пакет установки:
wget http://1.1.1.1/Netbackup8/NetBackup_8.1.1/Netbackup_8.1.1_Debian_Client.tar.gz wget http://1.1.1.1/NetBackup_8.1.1_Debian_client.tar.gz
Распаковать архив командой:
tar -zxvf Netbackup_8.1.1_Debian_client.tar.gz
Перейти в каталог Netbackup_8.1.1_Debian_Client:
cd Netbackup_8.1.1_Debian_Client
Запустить скрипт установки клиента:
./install
Далее необходимо ответить на ряд вопросов и заполнить конфигурационные параметры:
Do you wish to continue? [y,n] (y) y Do you want to install the NetBackup client software for this client? [y,n] (y) y Enter the name of the NetBackup master server : otdel1-nbcmst.otdel1.prod1 Would you like to use "Client_Hostname" as the configured name of the NetBackup client? [y,n] (y) n
Здесь нам необходимо внести полное доменное имя (
FQDN
) для клиента:Enter the name of this NetBackup client : <domain>-<name>.<domain>.prod1 Is this correct? [y,n] y Enter the authorization token for <domain>-nbcmst.<domain>.prod1 or q to skip: Ввод токена : HKEATDIICMRYHJWU
Скрипт¶
Пример скрипта:
#!/bin/bash
#export NETBACKUP_CLIENT_URL=http://$COBBLER_HOST/netbackup/NetBackup_8.1.1_Debian_client.tar.gz
#export NETBACKUP_TOKEN=HKEATDIICMRYHJWU
#export NETBACKUP_MASTER_SERVER=otdel1-nbcmst.otdel1.prod1
#export NETBACKUP_MEDIA_SERVER0=otdel1-nbmedia-01.otdel1.prod1
#export NETBACKUP_MEDIA_SERVER1=otdel1-nbmedia-02.otdel1.prod1
#export NETBACKUP_MEDIA_SERVER2=otdel1-nbmedia-03.otdel1.prod1
#export NETBACKUP_MEDIA_SERVER3=otdel1-nbmedia-04.otdel1.prod1
hostname=$(hostname)
echo "#!/usr/bin/expect -f
set timeout -1
set master_server [lindex \$argv 0]
set authorization_token [lindex \$argv 0]
set hostname [lindex \$argv 2]
set license_key [lindex \$argv 3]
log_file /tmp/nbexpect.log
spawn ./install
expect {
\"Do you wish to continue\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"Do you want to reinstall NetBackup and Media Manager\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"Do you want to install the NetBackup client software for this client\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"Is this correct\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"Would you like to use\" {
sleep 1
send \"n\\n\"
exp_continue
}
\"Enter the name of this NetBackup client\" {
sleep 1
send \"\$hostname\\n\"
exp_continue
}
\"Do you still want to terminate all processes\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"Do you want this script to attempt to kill them\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"with the current active NetBackup license key\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"Do you want to add additional license keys now\" {
sleep 1
send \"n\\n\"
exp_continue
}
\"Is this host the master server\" {
sleep 1
send \"n\\n\"
exp_continue
}
\"NetBackup server name of this machine\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"What is the fully qualified name of the master server\" {
sleep 1
send \"\$master_server\\n\"
exp_continue
}
\"Enter the name of the NetBackup master server\" {
sleep 1
send \"\$master_server\\n\"
exp_continue
}
\"Do you want to install NetBackup and Media Manager files\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"Do you want to upgrade NetBackup and Media Manager\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"Java GUI and JRE option\" {
sleep 1
send \"2\\n\"
exp_continue
}
\"Enter the authorization token\" {
sleep 1
send \"\$authorization_token\\n\"
exp_continue
}
\"Would you like to try again using a different authorization token\" {
sleep 1
send \"y\\n\"
exp_continue
}
\"Enter license key\" {
sleep 1
send \"\$license_key\\n\"
exp_continue
}
\"That file can be deleted after you are sure the install was successful\" {
sleep 1
exp_close
}
\" Q to quit, or X to skip this question:\" {
sleep 1
send \"X\\n\"
exp_continue
}
\"Do you wish to proceed with installation even though NetBackup will not operate\" {
sleep 1
send \"y\\n\"
exp_continue
}
}
" > /tmp/nb.expect
mkdir -pv /tmp/firstboot_netbackup
wget -q -O /tmp/firstboot_netbackup/NetBackup_client.tar.gz $NETBACKUP_CLIENT_URL
PWD=$(pwd)
cd /tmp/firstboot_netbackup
tar -xf NetBackup_client.tar.gz
rm -f NetBackup_client.tar.gz
DIR=$(ls)
cd $DIR
echo expect /tmp/nb.expect $NETBACKUP_MASTER_SERVER $NETBACKUP_TOKEN $hostname
expect /tmp/nb.expect $NETBACKUP_MASTER_SERVER $NETBACKUP_TOKEN $hostname
cd $PWD
i=0
media_count=0
while [ "$i" -le "1000" ]
do
echo "export NETBACKUP_MEDIA_SERVER=\$NETBACKUP_MEDIA_SERVER$i" > /tmp/install_media_list
source /tmp/install_media_list
if [ ! -z $NETBACKUP_MEDIA_SERVER ]; then
echo "MEDIA_SERVER = $NETBACKUP_MEDIA_SERVER" >> /usr/openv/netbackup/bp.conf
fi
let i=$i+1
done