Как Я Проходил Стажировку В Университете И Настраивал Nextcloud



Собственно, о чем текст? Как часто наши ожидания расходятся с суровой реальностью? Поэтому, поступив в лучший технический вуз страны на факультет информационной безопасности, я рассчитывал на увлекательное обучение, веселую студенческую жизнь и, конечно же, интересную практику.

Однако вместо того, чтобы разгадывать коды (привет Алан) и открывать криптексы (добрый вечер, Роберт), мне пришлось настроить облако Nextcloud на нескольких серверах, объединенных в кластер.

И это оказалось интересно! — Так что же в этом сложного? - подумал ты.

Действительно, проблема очень и очень тривиальная.

Однако, когда я искал в Интернете информацию по этой проблеме, мне не удалось найти руководство, которое объединило бы все части установки.

Поэтому, чтобы сэкономить время подобных чайников сетевого администрирования, я, с вашего разрешения, пишу эту статью.

Итак, что мы получаем в итоге — небольшое облако Nextcloud на базе мастер-сервера (да-да, конечно нам нужен прокси.

И несколько мастер-серверов.

А еще навык.

Если вы все это ждете, я извините.

), несколько (в данном случае 2) серверов, играющих роль консолидированного отказоустойчивого хранилища БД.

Такое милое облачко для такой маленькой компании.



Пойдем



Первоначальные условия

Прежде всего, мы должны подготовить оборудование (в моем случае VirtualBox, в котором созданы три машины).

Мастер - 192.168.0.105 Сервер1 — 192.168.0.108 Сервер2 — 192.168.0.109 1. Операционная система – Ubuntu Server 16.04. Параметры машины особой роли не играют — для развертывания нашего небольшого облака достаточно мощности среднего (очень среднего) компьютера.

Завышенные параметры виртуальных машин могут сыграть с вами злую шутку — когда я показывал практику на университетском компьютере с четырьмя гигабайтами оперативной памяти, запуск третьей машины приводил к сбою компьютера.

Хотя, может быть, в этом виновата другая кастомная Unix-система, установленная на нем? 2. Рабочая сеть.

Если вы, как и я, используете VirtualBox, то советую в настройках сети в качестве типа подключения указать «Сетевой мост».

Таким образом, вы можете пропинговать сервер в коробке как с основной системы, так и с других машин.

3. Хороший плейлист (по желанию) После энного часа танцев с бубном в поисках оптимального решения (может я еще в процессе) стало совсем невыносимо.



Настройка кластера

Чтобы получить отказоустойчивое хранилище, состоящее из нескольких серверов, нам понадобится кластер.

Я выбрал Гластер, потому что мог найти отличный мана на русском(!!) языке.

Начнем с установки.

Откройте консоль нашего сервера и введите следующее:

  
  
  
  
  
  
  
  
  
  
  
  
   

sudo apt-get install python-software-properties

Затем подключитесь к репозиторию:

sudo add-apt-repository ppa:gluster/glusterfs-3.8 sudo apt-get update

И наконец устанавливаем:

sudo apt-get install glusterfs-server

Те же действия выполняем на втором (n-м) сервере.

Совет! (для начинающих, для "чайников) Когда я впервые столкнулся с настройкой серверов в ВМ, меня неприятно удивило отсутствие общего буфера между гостевой и основной ОС (хотя это было ожидаемо).

Поэтому для связи с машинами я использовал Путти .

Загрузите и запустите putti.exe. Перед использованием не забудьте установить openssh-сервер на машины, которые мы будем использовать:

sudo apt-get install openssh-server

Думаю, этот же клиент можно использовать и при общении с реальными машинами.

А может, лучше поесть? Итак, Гластер установлен.

Теперь давайте создадим соединение.

Но сначала давайте узнаем IP-адреса наших серверов:

ifconfig

Теперь создадим его, написав с первого сервера следующее (после входа в систему под root):

gluster peer probe 192.168.0.109

коллегиальное исследование: успех.

Отлично, теперь у нас в кластере 2 сервера.

Проделываем эту операцию столько раз, сколько хотим объединить серверы в кластер, меняя только IP-адрес сервера.

Хранилище, которое мы создаем с помощью Glusterfs, имеет несколько типов хранения контента (подробнее по ссылке выше).

Нас интересует реплицируемость — контент зеркалируется на все серверы кластера.

Пока нам негде хранить данные, поэтому создадим папки на наших серверах: во-первых:

mkdir /mnt/server1

и на втором:

mkdir /mnt/server2

Заключительная часть кластера — создание хранилища:

gluster volume create nextcloud replica 2 transport tcp 192.168.0.108:/mnt/server1 192.168.0.109:/mnt/server2 force

где nextcloud — имя нашего хранилища, а 2 — количество серверов в кластере.

Не забывайте про слово Force в конце — можно получить ошибку и долго недоумевать, что не так? Запустим:

gluster volume start nextcloud

Работа с кластером практически завершена.

Остальное после установки облака.



Установка следующего облака

Для этого нам понадобится наш мастер-сервер.

Войдите в систему как root и наслаждайтесь.

Для установки вы можете использовать этот статья.

Доходим до Шага 5. Останавливаемся.

Скачать архив с облаком:

cd ~ wget --no-check-certificate https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2 sudo tar -C /var/www -xvjf ~/nextcloud-11.0.0.tar.bz2 rm ~/nextcloud-11.0.0.tar.bz2

Создадим пару папок:

sudo mkdir /var/www/nextcloud/data sudo mkdir /var/www/nextcloud/assets

Самый ответственный момент. Вспомним про наш кластер и подключим его к мастер-серверу:

mount.glusterfs 192.168.0.108:/nextcloud /var/www/nextcloud/data/

Теперь все файлы, попадающие в наше облако, будут копироваться на все серверы.

Завершаем установку, следуя советам из статьи.



Каков результат?

Итак, что мы получили? Вы получаете небольшое облако, отказоустойчивое к падению серверов, хранящих данные — попробуйте специально уронить один из них — мастер немного подумает и все снова заработает. При восстановлении аварийного сервера данные на нем будут автоматически обновлены.

Конечно, узким местом является главный сервер.

Наличие нескольких мастеров, работающих с одной базой данных, управляемых, например, Галерой, и прокси-сервера, отвечающего за распределение трафика между ними, значительно повысило бы отказоустойчивость системы (хотя ее таковой сейчас вряд ли можно назвать).

Может быть, в следующей статье? Если вы дочитали до этого места, то вы герой — большое спасибо за внимание.

Для приятного сообщества писать одно удовольствие.

Теги: #linux #облака #Администрирование серверов #Облачные вычисления #чайники

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.