Перейти к основному контенту

Объектное хранилище (S3)


adm-pc

su - admin01
cd ~/infra/terraform
terraform destroy


Заходи в веб-панель Альт Виртуализации (PVE) и создавай три машины руками, чтобы строго выполнить критерий из пункта 19.b:
    Имена: cyber-storage-1, cyber-storage-2, cyber-storage-3
    Ресурсы (на каждую): 2 CPU, 4096 MB RAM
    Диски (на каждую): Добавь ровно по ТРИ диска на 100 ГБ. Это критично: первый диск пойдет под систему, а два других мы будем собирать в кластерное хранилище.
    Сеть (IP): 192.168.0.11, 192.168.0.12 и 192.168.0.13 (настроишь статику при установке ОС).
    Установка: Подключи образ cyber-storage.iso в виртуальный привод и стартуй.






Установка cyber-storage-1 (Сервер управления)
Экран 1: Сеть и имя хоста
    Имя хоста: cyber-storage-1.au-team.cloud
    IP-адрес (IPv4 ручной): 192.168.0.11
    Маска подсети: 255.255.255.0
    Шлюз: 192.168.0.254
    Сервер имен (DNS): 192.168.0.101 (Это твой infra-srv1)
    Дополнительный поисковые домены: au-team.cloud
Экран 2: Настройка кластера (САМОЕ ВАЖНОЕ)
    Выбор действия: Выбрать «Да, нужно создать новый кластер» (именно это делает машину Сервером управления + Подчиненным сервером по заданию 20.b).
    Внутренняя сеть управления: Оставить eth0 - 192.168.0.11
    Сеть панели администратора: Оставить eth0 - 192.168.0.11
    Пароль панели администратора: Строго AdminCloud154 (Требование из пункта 21.b, ошибаться в регистре нельзя).
Экран 3: Место установки (Диски)
    Галочка RAID: Убедись, что галочка «Объединить диски в программный RAID-массив» СНЯТА.
    Диск sda (100 ГБ): Выбрать (точка стоит в столбце "Система"). Это под саму ОС.
    Диск sdb (100 ГБ): НЕ трогать (статус должен быть «Доступен для хранения данных»).
    Диск sdc (100 ГБ): НЕ трогать (статус должен быть «Доступен для хранения данных»).
Экран 4: Пароль root (Доступ к самой ОС)
    Задай надежный пароль для доступа по SSH/консоли (чтобы не путаться, можешь вписать тот же AdminCloud154 или свой привычный P@ssw0rd).
Жмешь «Начать установку» и всё. Первая (и самая главная) машина кластера готова.


f85de94b


Установка cyber-storage-2
Экран 1: Сеть и имя хоста
    Имя хоста: cyber-storage-2.au-team.cloud
    IP-адрес (IPv4 ручной): 192.168.0.12
    Маска подсети: 255.255.255.0
    Шлюз: 192.168.0.254
    Сервер имен (DNS): 192.168.0.101 (Это твой infra-srv1)
    Дополнительный поисковые домены: au-team.cloud
Экран 2: Настройка кластера (САМОЕ ВАЖНОЕ)
    Выбор действия: Выбрать "Нет, его нужно добавить к существующему кластеру"
    IP-адрес сервера управления: 192.168.0.11
    Токен:
    ssh-keygen -R 192.168.0.1
    ssh -J root@172.30.27.187 -L 8888:192.168.0.11:8888 root@192.168.0.11
    http://localhost:8888
    admin, AdminCloud154
    Справа сверху кнопка подключить сервер
    Далее
Экран 3: Место установки (Диски)
    Галочка RAID: Убедись, что галочка «Объединить диски в программный RAID-массив» СНЯТА.
    Диск sda (100 ГБ): Выбрать (точка стоит в столбце "Система"). Это под саму ОС.
    Диск sdb (100 ГБ): НЕ трогать (статус должен быть «Доступен для хранения данных»).
    Диск sdc (100 ГБ): НЕ трогать (статус должен быть «Доступен для хранения данных»).
Экран 4: Пароль root (Доступ к самой ОС)
    Задай надежный пароль для доступа по SSH/консоли (чтобы не путаться, можешь вписать тот же AdminCloud154 или свой привычный P@ssw0rd).
Жмешь «Начать установку» и всё. Первая (и самая главная) машина кластера готова.






Установка cyber-storage-3
Экран 1: Сеть и имя хоста
    Имя хоста: cyber-storage-3.au-team.cloud
    IP-адрес (IPv4 ручной): 192.168.0.13
    Маска подсети: 255.255.255.0
    Шлюз: 192.168.0.254
    Сервер имен (DNS): 192.168.0.101 (Это твой infra-srv1)
    Дополнительный поисковые домены: au-team.cloud
Экран 2: Настройка кластера (САМОЕ ВАЖНОЕ)
    Выбор действия: Выбрать "Нет, его нужно добавить к существующему кластеру"
    IP-адрес сервера управления: 192.168.0.11

    Токен:
    ssh-keygen -R 192.168.0.1
    ssh -J root@172.30.27.187 -L 8888:192.168.0.11:8888 admin01@192.168.0.1
    admin, AdminCloud154
    Справа сверху кнопка подключить сервер
    
    Далее
Экран 3: Место установки (Диски)
    Галочка RAID: Убедись, что галочка «Объединить диски в программный RAID-массив» СНЯТА.
    Диск sda (100 ГБ): Выбрать (точка стоит в столбце "Система"). Это под саму ОС.
    Диск sdb (100 ГБ): НЕ трогать (статус должен быть «Доступен для хранения данных»).
    Диск sdc (100 ГБ): НЕ трогать (статус должен быть «Доступен для хранения данных»).
Экран 4: Пароль root (Доступ к самой ОС)
    Задай надежный пароль для доступа по SSH/консоли (чтобы не путаться, можешь вписать тот же AdminCloud154 или свой привычный P@ssw0rd).
Жмешь «Начать установку» и всё. Первая (и самая главная) машина кластера готова.

















Настройка DNS для «Кибер Хранилища» (FreeIPA)
Зайди по SSH на infra-srv1 (192.168.0.101) или используй консоль Proxmox. Новую зону создавать не нужно — работаем в au-team.cloud.
Команды для выполнения на infra-srv1:
    Авторизация в системе:
        kinit admin (пароль по умолчанию P@ssw0rd или AdminCloud154, если менял).
    Добавление записи для панели управления (Пункт 21.a):
        Нужна для доступа к серверу управления по имени cyber-storage.au-team.cloud.
        ipa dnsrecord-add au-team.cloud cyber-storage --a-rec=192.168.0.11 
    Добавление записей для S3-хранилища (Пункт 22.a.i):
        Так как S3 работает на всех трёх нодах кластера, добавляем IP каждой из них для общего имени s3.au-team.cloud.
        ipa dnsrecord-add au-team.cloud s3 --a-rec=192.168.0.11 
        ipa dnsrecord-add au-team.cloud s3 --a-rec=192.168.0.12 
        ipa dnsrecord-add au-team.cloud s3 --a-rec=192.168.0.13 
    Добавление Wildcard-записи для работы с корзинами:
        Эта запись необходима, чтобы запросы вида user-bucket.s3.au-team.cloud корректно находили сервер.
        ipa dnsrecord-add au-team.cloud '*' --cname-rec=s3.au-team.cloud.



Сборка кластера (Синяя кнопка)
    Действие: Нажали большую синюю кнопку «Создать кластер хранилища» вверху справа.
    Поле ввода: Написали имя cloud-storage (п. 21.c).
    Выбор нод: Ставили галочки напротив cyber-storage-1


три точки справа у кибер сторейдж 2,3 - подключить к кластеру.








3. Настройка S3 (Вкладка «СЕРВИСЫ ХРАНИЛИЩА»)
Это то, что ты делаешь (или уже сделал) сейчас. Это превращение «просто дисков» в облачный сервис, как Amazon S3.
    Куда жать: Меню слева Сервисы хранилища (значок четырех квадратов) -> S3.
    Кнопка: «Создать объектное хранилище».

Шаг 1: Серверы (Тот экран, что на скрине)
    Что делать: Выдели галочками все три сервера (cyber-storage-1, 2 и 3).
    Зачем: В ТЗ сказано, что хранилище должно быть на базе инфраструктуры из трёх нод. Даже если мы не используем избыточность, сервис S3 должен знать о существовании всех узлов.
    Действие: Жми галочки на всех трёх и нажимай «Далее».
Шаг 2: Политика хранения (Пункт 22.a.iii)
    Тип избыточности: Выбирай «Без избыточности» (No redundancy).
    Область отказа: Выбирай «Диск».
    Уровень: Убедись, что выбран «Уровень 0».
    Зачем: Это прямое требование ТЗ. В реальной жизни так не делают (если один диск умрёт — данные пропадут), но для чемпионата мы экономим место и ресурсы.
    Действие: Выбирай и жми «Далее».
Шаг 3: Параметры кластера
    СТАНДАРТНЫЕ
Шаг 4: DNS
    В поле «Доменное имя» впиши: s3.au-team.cloud (обязательно проверь, чтобы не было лишних пробелов).
Шаг 5: Протокол
    HTTPS и HTTP, сгенерировать сертификат
Что будет на последнем шаге («Сводка»):
    Проверь, что в списке серверов все три ноды.
    Проверь, что избыточность — «Без избыточности».
    Жми «Создать».






Создание пользователя S3
    Кликни на свое новое хранилище s3.au-team.cloud.
    Перейди во вкладку «Пользователи».
    Нажми «Добавить пользователя».
    Введи Email: user@au-team.cloud.
    ГЛАВНОЕ: После нажатия «ОК» выскочит окно с Access Key и Secret Key.
    НЕ ЗАКРЫВАЙ ЕГО, пока не перепишешь ключи в блокнот на adm-pc. Если закроешь — Secret Key ты больше не увидишь никогда (придется пересоздавать юзера).






adm-pc

1. Ставим инструменты для сборки Python-пакетов:
Bash
sudo apt-get install -y python3-module-pip
2. Ставим сам AWS CLI (для текущего пользователя):
Bash
deactivate
pip3 install awscli --user
3. Проверяем, где он приземлился:
Обычно он ставится в скрытую папку .local/bin. Давай добавим этот путь в систему, чтобы ты мог просто писать aws, а не полный путь:
Bash
export PATH=$PATH:$HOME/.local/bin
Проверка работоспособности:
Теперь попробуй вызвать команду версии:
Bash
aws --version




aws --version
aws configure

1. Настройка AWS CLI
В ответ на запросы aws configure вводи следующее:
    AWS Access Key ID: Вставь свой сохраненный ID ключа доступа.
    AWS Secret Access Key: Вставь свой сохраненный Секретный ключ доступа.
    Default region name: us-east-1 (это стандарт для S3-совместимых хранилищ).
    Default output format: json.

aws --endpoint-url http://s3.au-team.cloud s3 mb s3://user-bucket
echo "Module V - Cloud Storage Test" > user-document.pdf
aws --endpoint-url http://s3.au-team.cloud s3 cp user-document.pdf s3://user-bucket/user-document.pdf
aws --endpoint-url http://s3.au-team.cloud s3api put-object-acl --bucket user-bucket --key user-document.pdf --acl public-read
curl -I http://s3.au-team.cloud/user-bucket/user-document.pdf