====== Создание программного RAID и NFS ====== ====== Создание программного RAID и раздача по NFS ====== Инструкция по объединению дисков в массив mdadm и настройке сетевого хранилища с автомонтированием systemd. ===== Часть 1: Подготовка дисков в гипервизоре ===== Если вы работаете в виртуальной среде (например, Proxmox, VMware, VirtualBox), добавьте два новых виртуальных диска к вашей виртуальной машине. Обязательно включите кэширование (Write back) и Advanced-опции при необходимости. После добавления дисков и загрузки ОС, проверьте, как система их определила: Copy lsblk Запомните имена новых устройств (в примерах ниже мы будем называть их ''%%/dev/sdX%%'' и ''%%/dev/sdY%%''). ===== Часть 2: Сборка программного RAID 0 ===== Мы создадим массив нулевого уровня (Stripe) с помощью утилиты ''%%mdadm%%''. Параметры команды: ''%%--create%%'' — создать, ''%%-l 0%%'' — уровень RAID 0, ''%%-n 2%%'' — количество дисков. Copy mdadm --create /dev/md0 -l 0 -n 2 /dev/sdX /dev/sdY Обязательно сохраните текущую конфигурацию массивов в системный файл, чтобы RAID собирался автоматически после перезагрузки: Copy mdadm --detail --scan --verbose >> /etc/mdadm.conf ===== Часть 3: Разметка и форматирование ===== Создадим на нашем новом RAID-устройстве (''%%/dev/md0%%'') современную таблицу разделов GPT и один большой раздел на всё доступное место с помощью утилиты ''%%fdisk%%'': Copy fdisk /dev/md0 # Внутри fdisk введите последовательность: # g (создать новую GPT) # n (новый раздел) # Enter (номер по умолчанию) # Enter (первый сектор по умолчанию) # Enter (последний сектор по умолчанию - на весь диск) # w (записать изменения и выйти) Теперь отформатируем созданный раздел (обычно он получает имя ''%%/dev/md0p1%%'') в надежную файловую систему ''%%ext4%%'': Copy mkfs.ext4 /dev/md0p1 ===== Часть 4: Локальное монтирование RAID ===== Создайте директорию, куда будет смонтирован ваш дисковый массив (например, ''%%/raid%%''): Copy mkdir /raid Добавьте запись в файл ''%%/etc/fstab%%'', чтобы диск монтировался автоматически при старте сервера: Copy vim /etc/fstab # Добавьте следующую строку: /dev/md0p1 /raid ext4 defaults 0 0 Примените настройки fstab без перезагрузки и проверьте результат: Copy mount -av df -h -T touch /raid/a && ls /raid/a ===== Часть 5: Настройка сервера NFS ===== Теперь превратим наш сервер с RAID в сетевое хранилище. Установите необходимые пакеты (имя может отличаться в зависимости от дистрибутива, например ''%%nfs-server nfs-utils%%'' или ''%%nfs-kernel-server%%''): Copy apt-get update && apt-get install -y nfs-server nfs-utils Создадим папку специально для сетевой шары внутри нашего RAID-массива: Copy mkdir /raid/nfs Настроим права доступа к шаре. Откройте файл экспорта ''%%/etc/exports%%'' и добавьте конфигурацию (''%%rw%%'': чтение и запись, ''%%sync%%'': синхронный режим записи для надежности, ''%%no_root_squash%%'': полный доступ для root клиента, ''%%subtree_check%%'': проверка доступа к подкаталогам): Copy vim /etc/exports # Формат: /путь IP_адрес_сети/маска(опции) /raid/nfs вась айписник(rw,sync,no_root_squash,subtree_check) Примените файл экспорта, добавьте службу в автозагрузку и перезапустите её: Copy exportfs -a systemctl enable nfs-server && systemctl restart nfs-server ===== Часть 6: Настройка NFS-клиента (Автомонтирование) ===== Перейдите на клиентскую машину, которой нужно получить доступ к хранилищу. Установите клиентские пакеты и включите службу маппинга RPC: Copy apt-get install nfs-utils systemctl enable rpcbind && systemctl restart rpcbind Создайте точку монтирования на клиенте и выдайте ей максимальные права для избежания проблем с доступом на этапе настройки: Copy mkdir /mnt/nfs && chmod 777 /mnt/nfs Вместо обычного монтирования мы настроим "умное" монтирование средствами ''%%systemd%%''. Диск будет монтироваться только при попытке обратиться к папке, и не будет блокировать загрузку ОС в случае недоступности сервера. Copy vim /etc/fstab # Формат: IP_сервера:/путь_до_шары /локальная_точка nfs опции 0 0 # Обратите внимание на ключи: _netdev (сетевой диск), x-systemd.automount (монтировать при обращении), noauto (не монтировать при старте системы жестко) вась айписник:/raid/nfs /mnt/nfs nfs _netdev,x-systemd.automount,noauto 0 0 Примените настройки fstab, перезагрузите демоны systemd и запустите сервис автомонтирования (имя сервиса генерируется на основе пути: ''%%/mnt/nfs%%'' превращается в ''%%mnt-nfs.automount%%''): Copy mount -av systemctl daemon-reload systemctl start mnt-nfs.automount ===== Часть 7: Проверка работы ===== Чтобы убедиться, что всё настроено верно, выполните простое действие на **клиентской** машине. В момент выполнения команды ''%%touch%%'', systemd автоматически прозрачно примонтирует диск: Copy touch /mnt/nfs/a Затем вернитесь на **сервер** и убедитесь, что файл физически появился на вашем RAID массиве: Copy ls /raid/nfs/ Если вы видите файл ''%%hello_world.txt%%'' — поздравляем, ваше сетевое хранилище работает идеально!