SeaweedFS - debian (lite ceph)

Thank you for reading this post, don't forget to subscribe!

есть сле­ду­ю­щие сер­ве­ры с IP-адресами:

  • 192.168.1.121
  • 192.168.1.122
  • 192.168.1.123
  • 192.168.1.124
  • 192.168.1.125
  • 192.168.1.126
  • 192.168.1.127

Распределение ролей:

  • (Master Servers) + etcd-кластер:
    • 192.168.1.121 (Master 1 + etcd)
    • 192.168.1.122 (Master 2 + etcd)
    • 192.168.1.123 (Master 3 + etcd)
  •  (Filer Servers):
    • 192.168.1.124 (Filer 1)
    • 192.168.1.125 (Filer 2)
  •  (Volume Servers):
    • 192.168.1.126 (Volume 1)
    • 192.168.1.127 (Volume 2)

Все сер­ве­ра рабо­та­ют под управ­ле­ни­ем Debian 12.
Име­е­те доступ с пра­ва­ми root или через sudo.
Пор­ты, необ­хо­ди­мые для ком­му­ни­ка­ции меж­ду сер­ве­ра­ми, откры­ты (9333, 8080, 8888, 2379, 2380 и др.).

 

Опре­де­ли­те послед­нюю вер­сию etcd

ETCD_VERSION=$(curl -s https://api.github.com/repos/etcd-io/etcd/releases/latest | grep tag_name | cut -d '"' -f 4)
echo "Послед­няя вер­сия etcd: $ETCD_VERSION"

Ска­чай­те и рас­па­куй­те etcd на всех трёх нодах 192.168.1.121/192.168.1.122/192.168.1.123

Уста­но­ви­те бинар­ные фай­лы etcd

Про­верь­те уста­нов­лен­ную вер­сию etcd

etcd --version

Созда­ние поль­зо­ва­те­ля и дирек­то­рий для etcd

Созда­ние фай­ла сер­ви­са systemd для etcd

Содер­жи­мое файла:

Настрой­ка кон­фи­гу­ра­ции etcd на каж­дом сервере
Создай­те файл кон­фи­гу­ра­ции /etc/etcd/etcd.conf на каж­дом мастер-сер­ве­ре, заме­няя IP-адре­са и име­на узлов на соответствующие.

Для сер­ве­ра 192.168.1.121:

nano /etc/etcd/etcd.conf

Для сер­ве­ра 192.168.1.122:

nano /etc/etcd/etcd.conf

Для сер­ве­ра 192.168.1.123:

nano /etc/etcd/etcd.conf

Запуск и вклю­че­ние сер­ви­са etcd на всех серверах

Про­вер­ка состо­я­ния etcd-кластера

etcdctl member list

 

Установка SeaweedFS

поль­зо­ва­те­ля и бинар­ник ста­вим на ВСЕ сервера

Созда­ние поль­зо­ва­те­ля seaweedfs

Опре­де­ли­те послед­нюю вер­сию SeaweedFS:


Ска­чай­те и рас­па­куй­те SeaweedFS:

Уста­но­ви­те бинар­ные файлы:

Про­верь­те установку:

weed version

 

Настройка мастер-серверов SeaweedFS

На сер­ве­рах 192.168.1.121, 192.168.1.122, 192.168.1.123

1. Созда­ние дирек­то­рии для дан­ных мастер-сервера

2. Созда­ние фай­ла сер­ви­са systemd для мастер-сервера

Содер­жи­мое файла:

для 192.168.1.121

для 192.168.1.122

для 192.168.1.123

3. Запуск и вклю­че­ние сер­ви­са мастер-сервера


 

Настройка Volume серверов

На сер­ве­рах 192.168.1.126 и 192.168.1.127

Созда­ние дирек­то­рии для дан­ных Volume сервера

Созда­ние фай­ла сер­ви­са systemd для Volume сервера

Содер­жи­мое файла:

Для сер­ве­ра 192.168.1.126

Для сер­ве­ра 192.168.1.127

Запуск и вклю­че­ние сер­ви­са Volume сервера


Про­вер­ка ста­ту­са сервиса

 

Настройка Filer серверов

На сер­ве­рах 192.168.1.124 и 192.168.1.125
Созда­ние дирек­то­рии для дан­ных Filer сервера

Созда­ние фай­ла кон­фи­гу­ра­ции filer.toml

nano /etc/seaweedfs/filer.toml

Созда­ние фай­ла сер­ви­са systemd для Filer сервера

Для сер­ве­ра 192.168.1.124

Для сер­ве­ра 192.168.1.125

 

Запуск и вклю­че­ние сер­ви­са Filer сервера

 

Проверка работы SeaweedFS и доступ к веб-интерфейсу

SeaweedFS предо­став­ля­ет веб-интер­фей­сы для масте­ра (Master Server) и фай­ло­во­го сер­ве­ра (Filer Server), кото­рые поз­во­ля­ют вам управ­лять систе­мой и мони­то­рить её состояние.

1. Доступ к веб-интерфейсу Master Server

Мастер-сер­вер предо­став­ля­ет веб-интер­фейс по умол­ча­нию на пор­ту 9333.

  • URL для досту­па: http://<IP-адрес-мастера>:9333

Напри­мер, если мастер-сер­вер рабо­та­ет на IP 192.168.1.121, вве­ди­те в браузере:

http://192.168.1.121:9333

Воз­мож­но­сти веб-интер­фей­са мастера:

  • Про­смотр спис­ка заре­ги­стри­ро­ван­ных Volume Servers.
  • Мони­то­ринг состо­я­ния томов (volumes) и их репликации.
  • Отоб­ра­же­ние общей инфор­ма­ции о состо­я­нии кластера.

2. Доступ к веб-интерфейсу Filer Server

Фай­ло­вый сер­вер (Filer) так­же предо­став­ля­ет веб-интер­фейс по умол­ча­нию на пор­ту 8888.

  • URL для досту­па: http://<IP-адрес-файлера>:8888

Напри­мер, для досту­па к Filer на IP 192.168.1.124, вве­ди­те:

http://192.168.1.124:8888

Воз­мож­но­сти веб-интер­фей­са Filer:

  • Нави­га­ция по фай­ло­вой системе.
  • Загруз­ка и ска­чи­ва­ние файлов.
  • Созда­ние и уда­ле­ние директорий.
  • Про­смотр и редак­ти­ро­ва­ние мета­дан­ных файлов.

3. Тестирование работы через веб-интерфейс Filer

Загруз­ка файла:

  1. Открой­те веб-интер­фейс Filer.
  2. Перей­ди­те в дирек­то­рию, куда хоти­те загру­зить файл.
  3. Нажми­те кноп­ку "Upload" или "Загру­зить".
  4. Выбе­ри­те файл на вашем ком­пью­те­ре и под­твер­ди­те загрузку.

Ска­чи­ва­ние файла:

  • Най­ди­те нуж­ный файл в интер­фей­се и нажми­те на него, что­бы скачать.

Дополнительные инструменты и команды

Исполь­зо­ва­ние weed shell:

  • Это интер­ак­тив­ная обо­лоч­ка для вза­и­мо­дей­ствия с SeaweedFS.

Про­смотр спис­ка томов:

про­вер­ка кластера

вооб­ще спи­сок команд мож­но посмот­реть так:

 

Балансировщик haproxy

для Filer Servers
на сер­ве­рах
192.168.1.124 (Filer 1)
192.168.1.125 (Filer 2)
ста­вим:
apt-get install haproxy -y
настра­и­ва­ем /etc/haproxy/haproxy.cfg
cat > /etc/haproxy/haproxy.cfg

systemctl enable haproxy
systemctl restart haproxy