Added func to update remote host

parent cf71d2c3
...@@ -17,7 +17,7 @@ confirm() { ...@@ -17,7 +17,7 @@ confirm() {
} }
# Запрос подтверждения перед обновлением # Запрос подтверждения перед обновлением
if confirm "Вы хотите обновить репозитории и систему?"; then if confirm "Вы хотите обновить репозитории и систему на этой машине?"; then
# Обновление репозиториев # Обновление репозиториев
echo -e "${yellow}Обновление репозиториев...${reset}" echo -e "${yellow}Обновление репозиториев...${reset}"
epm update epm update
...@@ -32,11 +32,17 @@ else ...@@ -32,11 +32,17 @@ else
fi fi
# Обновление системы на удаленных хостах через SSH # Обновление системы на удаленных хостах через SSH
# Запрос подтверждения перед обновлением
for node in $nodes; do for node in $nodes; do
echo -e "${yellow}Обновление системы на хосте $node${reset}" if confirm "Вы хотите обновить репозитории и систему на машине?$node "; then
ssh "$node" "sudo epm update && sudo epm upgrade -y" echo -e "${yellow}Обновление системы на хосте $node${reset}"
echo -e "${yellow}Обновление системы на хосте $node завершено.${reset}" ssh "$node" "epm update && epm upgrade -y"
echo -e "${yellow}Обновление системы на хосте $node завершено.${reset}"
fi
done done
else
echo -e "${yellow}Обновление отменено.${reset}"
# Установка Ceph на сервере # Установка Ceph на сервере
if ! epm qp ceph-deploy; then if ! epm qp ceph-deploy; then
...@@ -80,23 +86,37 @@ for node in ${nodes}; do ...@@ -80,23 +86,37 @@ for node in ${nodes}; do
done done
#Создание конфигурационного файла #Создание конфигурационного файла
#cd /etc/ceph
cd /etc/ceph cd /etc/ceph
ceph-deploy new $(hostname) ${nodes} ceph-deploy new ${nodes} #$(hostname) ${nodes}
ceph-deploy --overwrite-conf mon create ${nodes} ceph-deploy --overwrite-conf mon create ${nodes}
echo "public_network = 192.168.0.13/24" >> /etc/ceph/ceph.conf
ceph-deploy mon create-initial
#Создайте сервис мониторинга:
ceph-deploy mgr create ${nodes}
#Создайте Metadata сервера (Если CephFS):
ceph-deploy mds create ${nodes}
#Скопируйте конфигурационные файлы на узлы кластера:
ceph-deploy admin ${nodes}
# Создание конфига на нодах
#for node_conf in ${nodes}; do
# ssh "$node_conf" cd /etc/ceph | ceph-deploy new ${nodes} | ceph-deploy --overwrite-conf mon create ${nodes}
#done
#config_file="/etc/ceph/ceph.conf" #config_file="/etc/ceph/ceph.conf"
#changes_needed=" #changes_needed="
# [global] # [global]
# fsid = $(uuidgen) # fsid = $(uuidgen)
# mon_initial_members = $(hostname -s) # mon_initial_members = $(hostname -s) ${nodes}
# mon host = $(hostname -i) # mon host = $(hostname -i)
# auth_cluster_required = cephx # auth_cluster_required = cephx
# auth_service_required = cephx # auth_service_required = cephx
# auth_client_required = cephx # auth_client_required = cephx
# cluster_network = 192.168.0.0/24 # cluster_network = 192.168.0.0/24
#" #"
# Функция для внесения изменений в конфигурационный файл # Функция для внесения изменений в конфигурационный файл
#apply_changes_to_config() { #apply_changes_to_config() {
# local config_file="$1" # Первый аргумент - путь к конфигурационному файлу # local config_file="$1" # Первый аргумент - путь к конфигурационному файлу
...@@ -108,7 +128,7 @@ ceph-deploy --overwrite-conf mon create ${nodes} ...@@ -108,7 +128,7 @@ ceph-deploy --overwrite-conf mon create ${nodes}
# if grep -q "$changes_needed" "$config_file"; then # if grep -q "$changes_needed" "$config_file"; then
# echo -e "${yellow}Изменения уже присутствуют в конфигурационном файле.${reset}" # echo -e "${yellow}Изменения уже присутствуют в конфигурационном файле.${reset}"
# else # else
# Внесение изменений в конфигурационный файл # Внесение изменений в конфигурационный файл
# echo "$changes_needed" | tee -a "$config_file" > /dev/null # echo "$changes_needed" | tee -a "$config_file" > /dev/null
# echo -e "${yellow}Изменения успешно внесены в конфигурационный файл.${reset}" # echo -e "${yellow}Изменения успешно внесены в конфигурационный файл.${reset}"
# fi # fi
...@@ -121,16 +141,12 @@ ceph-deploy --overwrite-conf mon create ${nodes} ...@@ -121,16 +141,12 @@ ceph-deploy --overwrite-conf mon create ${nodes}
#apply_changes_to_config "$config_file" "$changes_needed" #apply_changes_to_config "$config_file" "$changes_needed"
# Создаем мониторы, указанные при создании кластера:
cd /etc/ceph/
ceph-deploy mon create-initial
###### ДО СЮДА РАБОТАЕТ ###### ДО СЮДА РАБОТАЕТ
# После перехода на systemd # После перехода на systemd
# именно демоны мониторов почему-то автоматически не добавляются в автостарт, # именно демоны мониторов почему-то автоматически не добавляются в автостарт,
# поэтому добавляем их в systemd руками: # поэтому добавляем их в systemd руками:
for node_id in ${nodes}; do for node_id in ${nodes}; do
ssh "$node_id" serv ceph-mon on ssh "$node_id" serv ceph-mon@$(hostname).service on
done done
# Запуск Ceph мониторов # Запуск Ceph мониторов
...@@ -165,10 +181,10 @@ ceph auth get-or-create client.bootstrap-osd mon 'profile bootstrap-osd' osd 'pr ...@@ -165,10 +181,10 @@ ceph auth get-or-create client.bootstrap-osd mon 'profile bootstrap-osd' osd 'pr
# Предварительное форматирование дисков на нодах # Предварительное форматирование дисков на нодах
for node in $nodes; do for node in $nodes; do
echo "${yellow}Форматирование диска $disk на ноде $node...${reset}" echo "Форматирование диска $disk на ноде $node..."
ssh "$node" "sudo ceph-deploy disk zap $node /dev/$disk" ceph-deploy disk zap $node /dev/$disk
echo "${yellow}Форматирование диска $disk на ноде $node завершено.${reset}" echo "Форматирование диска $disk на ноде $node завершено."
done done
# Завершено # Завершено
echo -e "${yellow}Установка и настройка Ceph завершены.${reset}" echo -e "${yellow}Установка и настройка Ceph завершены.${reset}"
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment