мета-данные страницы
  •  

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
storage_guide [2026/06/12 00:51] – создано - внешнее изменение 127.0.0.1storage_guide [2026/06/16 10:46] (текущий) – [Часть 7: Проверка работы] kim1r
Строка 1: Строка 1:
-====== Создание программного RAID и NFS ====== 
  
 ====== Создание программного RAID и раздача по NFS ====== ====== Создание программного RAID и раздача по NFS ======
Строка 12: Строка 11:
 После добавления дисков и загрузки ОС, проверьте, как система их определила: После добавления дисков и загрузки ОС, проверьте, как система их определила:
  
-Copy 
 <code> <code>
 lsblk lsblk
Строка 25: Строка 23:
 Мы создадим массив нулевого уровня (Stripe) с помощью утилиты ''%%mdadm%%''. Параметры команды: ''%%--create%%'' — создать, ''%%-l 0%%'' — уровень RAID 0, ''%%-n 2%%'' — количество дисков. Мы создадим массив нулевого уровня (Stripe) с помощью утилиты ''%%mdadm%%''. Параметры команды: ''%%--create%%'' — создать, ''%%-l 0%%'' — уровень RAID 0, ''%%-n 2%%'' — количество дисков.
  
-Copy 
 <code> <code>
 mdadm --create /dev/md0 -l 0 -n 2 /dev/sdX /dev/sdY mdadm --create /dev/md0 -l 0 -n 2 /dev/sdX /dev/sdY
Строка 33: Строка 30:
 Обязательно сохраните текущую конфигурацию массивов в системный файл, чтобы RAID собирался автоматически после перезагрузки: Обязательно сохраните текущую конфигурацию массивов в системный файл, чтобы RAID собирался автоматически после перезагрузки:
  
-Copy 
 <code> <code>
 mdadm --detail --scan --verbose >> /etc/mdadm.conf mdadm --detail --scan --verbose >> /etc/mdadm.conf
Строка 44: Строка 40:
 Создадим на нашем новом RAID-устройстве (''%%/dev/md0%%'') современную таблицу разделов GPT и один большой раздел на всё доступное место с помощью утилиты ''%%fdisk%%'': Создадим на нашем новом RAID-устройстве (''%%/dev/md0%%'') современную таблицу разделов GPT и один большой раздел на всё доступное место с помощью утилиты ''%%fdisk%%'':
  
-Copy 
 <code> <code>
 fdisk /dev/md0 fdisk /dev/md0
Строка 59: Строка 54:
 Теперь отформатируем созданный раздел (обычно он получает имя ''%%/dev/md0p1%%'') в надежную файловую систему ''%%ext4%%'': Теперь отформатируем созданный раздел (обычно он получает имя ''%%/dev/md0p1%%'') в надежную файловую систему ''%%ext4%%'':
  
-Copy 
 <code> <code>
 mkfs.ext4 /dev/md0p1 mkfs.ext4 /dev/md0p1
Строка 70: Строка 64:
 Создайте директорию, куда будет смонтирован ваш дисковый массив (например, ''%%/raid%%''): Создайте директорию, куда будет смонтирован ваш дисковый массив (например, ''%%/raid%%''):
  
-Copy 
 <code> <code>
 mkdir /raid mkdir /raid
Строка 78: Строка 71:
 Добавьте запись в файл ''%%/etc/fstab%%'', чтобы диск монтировался автоматически при старте сервера: Добавьте запись в файл ''%%/etc/fstab%%'', чтобы диск монтировался автоматически при старте сервера:
  
-Copy 
 <code> <code>
 vim /etc/fstab vim /etc/fstab
Строка 89: Строка 81:
 Примените настройки fstab без перезагрузки и проверьте результат: Примените настройки fstab без перезагрузки и проверьте результат:
  
-Copy 
 <code> <code>
 mount -av mount -av
Строка 102: Строка 93:
 Теперь превратим наш сервер с RAID в сетевое хранилище. Установите необходимые пакеты (имя может отличаться в зависимости от дистрибутива, например ''%%nfs-server nfs-utils%%'' или ''%%nfs-kernel-server%%''): Теперь превратим наш сервер с RAID в сетевое хранилище. Установите необходимые пакеты (имя может отличаться в зависимости от дистрибутива, например ''%%nfs-server nfs-utils%%'' или ''%%nfs-kernel-server%%''):
  
-Copy 
 <code> <code>
 apt-get update && apt-get install -y nfs-server nfs-utils apt-get update && apt-get install -y nfs-server nfs-utils
Строка 110: Строка 100:
 Создадим папку специально для сетевой шары внутри нашего RAID-массива: Создадим папку специально для сетевой шары внутри нашего RAID-массива:
  
-Copy 
 <code> <code>
 mkdir /raid/nfs mkdir /raid/nfs
Строка 118: Строка 107:
 Настроим права доступа к шаре. Откройте файл экспорта ''%%/etc/exports%%'' и добавьте конфигурацию (''%%rw%%'': чтение и запись, ''%%sync%%'': синхронный режим записи для надежности, ''%%no_root_squash%%'': полный доступ для root клиента, ''%%subtree_check%%'': проверка доступа к подкаталогам): Настроим права доступа к шаре. Откройте файл экспорта ''%%/etc/exports%%'' и добавьте конфигурацию (''%%rw%%'': чтение и запись, ''%%sync%%'': синхронный режим записи для надежности, ''%%no_root_squash%%'': полный доступ для root клиента, ''%%subtree_check%%'': проверка доступа к подкаталогам):
  
-Copy 
 <code> <code>
 vim /etc/exports vim /etc/exports
Строка 129: Строка 117:
 Примените файл экспорта, добавьте службу в автозагрузку и перезапустите её: Примените файл экспорта, добавьте службу в автозагрузку и перезапустите её:
  
-Copy 
 <code> <code>
 exportfs -a exportfs -a
Строка 141: Строка 128:
 Перейдите на клиентскую машину, которой нужно получить доступ к хранилищу. Установите клиентские пакеты и включите службу маппинга RPC: Перейдите на клиентскую машину, которой нужно получить доступ к хранилищу. Установите клиентские пакеты и включите службу маппинга RPC:
  
-Copy 
 <code> <code>
 apt-get install nfs-utils apt-get install nfs-utils
Строка 150: Строка 136:
 Создайте точку монтирования на клиенте и выдайте ей максимальные права для избежания проблем с доступом на этапе настройки: Создайте точку монтирования на клиенте и выдайте ей максимальные права для избежания проблем с доступом на этапе настройки:
  
-Copy 
 <code> <code>
 mkdir /mnt/nfs && chmod 777 /mnt/nfs mkdir /mnt/nfs && chmod 777 /mnt/nfs
Строка 158: Строка 143:
 Вместо обычного монтирования мы настроим "умное" монтирование средствами ''%%systemd%%''. Диск будет монтироваться только при попытке обратиться к папке, и не будет блокировать загрузку ОС в случае недоступности сервера. Вместо обычного монтирования мы настроим "умное" монтирование средствами ''%%systemd%%''. Диск будет монтироваться только при попытке обратиться к папке, и не будет блокировать загрузку ОС в случае недоступности сервера.
  
-Copy 
 <code> <code>
 vim /etc/fstab vim /etc/fstab
Строка 171: Строка 155:
 Примените настройки fstab, перезагрузите демоны systemd и запустите сервис автомонтирования (имя сервиса генерируется на основе пути: ''%%/mnt/nfs%%'' превращается в ''%%mnt-nfs.automount%%''): Примените настройки fstab, перезагрузите демоны systemd и запустите сервис автомонтирования (имя сервиса генерируется на основе пути: ''%%/mnt/nfs%%'' превращается в ''%%mnt-nfs.automount%%''):
  
-Copy 
 <code> <code>
 mount -av mount -av
Строка 184: Строка 167:
 Чтобы убедиться, что всё настроено верно, выполните простое действие на **клиентской** машине. В момент выполнения команды ''%%touch%%'', systemd автоматически прозрачно примонтирует диск: Чтобы убедиться, что всё настроено верно, выполните простое действие на **клиентской** машине. В момент выполнения команды ''%%touch%%'', systemd автоматически прозрачно примонтирует диск:
  
-Copy 
 <code> <code>
 touch /mnt/nfs/a touch /mnt/nfs/a
Строка 192: Строка 174:
 Затем вернитесь на **сервер** и убедитесь, что файл физически появился на вашем RAID массиве: Затем вернитесь на **сервер** и убедитесь, что файл физически появился на вашем RAID массиве:
  
-Copy 
 <code> <code>
 ls /raid/nfs/ ls /raid/nfs/