Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
ceph-auto
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Timofey
ceph-auto
Commits
527e752e
Commit
527e752e
authored
Sep 01, 2023
by
Тимофей Смирнов
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added func to update remote host
parent
cf71d2c3
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
19 deletions
+34
-19
ceph_deploy.0.1.sh
ceph_deploy.0.1.sh
+34
-19
No files found.
ceph_deploy.0.1.sh
View file @
527e752e
...
...
@@ -17,7 +17,7 @@ confirm() {
}
# Запрос подтверждения перед обновлением
if
confirm
"Вы хотите обновить репозитории и систему?"
;
then
if
confirm
"Вы хотите обновить репозитории и систему
на этой машине
?"
;
then
# Обновление репозиториев
echo
-e
"
${
yellow
}
Обновление репозиториев...
${
reset
}
"
epm update
...
...
@@ -32,11 +32,17 @@ else
fi
# Обновление системы на удаленных хостах через SSH
# Запрос подтверждения перед обновлением
for
node
in
$nodes
;
do
echo
-e
"
${
yellow
}
Обновление системы на хосте
$node
${
reset
}
"
ssh
"
$node
"
"sudo epm update && sudo epm upgrade -y"
echo
-e
"
${
yellow
}
Обновление системы на хосте
$node
завершено.
${
reset
}
"
if
confirm
"Вы хотите обновить репозитории и систему на машине?
$node
"
;
then
echo
-e
"
${
yellow
}
Обновление системы на хосте
$node
${
reset
}
"
ssh
"
$node
"
"epm update && epm upgrade -y"
echo
-e
"
${
yellow
}
Обновление системы на хосте
$node
завершено.
${
reset
}
"
fi
done
else
echo
-e
"
${
yellow
}
Обновление отменено.
${
reset
}
"
# Установка Ceph на сервере
if
!
epm qp ceph-deploy
;
then
...
...
@@ -80,23 +86,37 @@ for node in ${nodes}; do
done
#Создание конфигурационного файла
#cd /etc/ceph
cd
/etc/ceph
ceph-deploy new
$(
hostname
)
${
nodes
}
ceph-deploy new
$
{
nodes
}
#$
(hostname) ${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"
#changes_needed="
# [global]
# fsid = $(uuidgen)
# mon_initial_members = $(hostname -s)
# mon_initial_members = $(hostname -s)
${nodes}
# mon host = $(hostname -i)
# auth_cluster_required = cephx
# auth_service_required = cephx
# auth_client_required = cephx
# cluster_network = 192.168.0.0/24
#"
# Функция для внесения изменений в конфигурационный файл
#apply_changes_to_config() {
# local config_file="$1" # Первый аргумент - путь к конфигурационному файлу
...
...
@@ -108,7 +128,7 @@ ceph-deploy --overwrite-conf mon create ${nodes}
# if grep -q "$changes_needed" "$config_file"; then
# echo -e "${yellow}Изменения уже присутствуют в конфигурационном файле.${reset}"
# else
# Внесение изменений в конфигурационный файл
# Внесение изменений в конфигурационный файл
# echo "$changes_needed" | tee -a "$config_file" > /dev/null
# echo -e "${yellow}Изменения успешно внесены в конфигурационный файл.${reset}"
# fi
...
...
@@ -121,16 +141,12 @@ ceph-deploy --overwrite-conf mon create ${nodes}
#apply_changes_to_config "$config_file" "$changes_needed"
# Создаем мониторы, указанные при создании кластера:
cd
/etc/ceph/
ceph-deploy mon create-initial
###### ДО СЮДА РАБОТАЕТ
# После перехода на systemd
# именно демоны мониторов почему-то автоматически не добавляются в автостарт,
# поэтому добавляем их в systemd руками:
for
node_id
in
${
nodes
}
;
do
ssh
"
$node_id
"
serv ceph-mon on
ssh
"
$node_id
"
serv ceph-mon
@
$(
hostname
)
.service
on
done
# Запуск Ceph мониторов
...
...
@@ -165,10 +181,10 @@ ceph auth get-or-create client.bootstrap-osd mon 'profile bootstrap-osd' osd 'pr
# Предварительное форматирование дисков на нодах
for
node
in
$nodes
;
do
echo
"
${
yellow
}
Форматирование диска
$disk
на ноде
$node
...
${
reset
}
"
ssh
"
$node
"
"sudo ceph-deploy disk zap
$node
/dev/
$disk
"
echo
"
${
yellow
}
Форматирование диска
$disk
на ноде
$node
завершено.
${
reset
}
"
echo
"
Форматирование диска
$disk
на ноде
$node
...
"
ceph-deploy disk zap
$node
/dev/
$disk
echo
"
Форматирование диска
$disk
на ноде
$node
завершено.
"
done
# Завершено
echo
-e
"
${
yellow
}
Установка и настройка Ceph завершены.
${
reset
}
"
\ No newline at end of file
echo
-e
"
${
yellow
}
Установка и настройка Ceph завершены.
${
reset
}
"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment