Гид по технологиям

Добавление дисков, создание ZPools и настройка пользователей (Samba)

• 5 min read • Системное администрирование • Обновлено 19 Nov 2025
Добавление дисков и настройка zpool с Samba
Добавление дисков и настройка zpool с Samba

1. Обзор и цель

Эта инструкция показывает, как: найти доступные диски на сервере, создать пул ZFS (zpool) разными способами (concat, mirror, raidz), смонтировать пул в нужную точку, а затем подготовить пользователей и включить поддержку паролей, совместимых с Samba. Коротко: пошаговые команды и практические замечания для администратора.

Важно: перед любыми операциями по изменению дисков сделайте резервную копию данных. Операции с zpool могут уничтожить данные при ошибочных командах.

2. Поиск доступных дисков

Подключитесь к серверу и станьте root:

dfed@server1:~$ sudo su -
[sudo] password for dfed:  
root@server1:~#

Затем выполните команду, чтобы увидеть доступные диски:

format

Ожидаемый вывод (пример):

AVAILABLE DISK SELECTIONS:  
       0. c0d0  
          /pci@0,0/pci-ide@1,1/ide@0/cmdk@0,0  
       1. c0d1  
          /pci@0,0/pci-ide@1,1/ide@0/cmdk@1,0  
       2. c1d1  
          /pci@0,0/pci-ide@1,1/ide@1/cmdk@1,0  
Specify disk (enter its number):

Примите во внимание имена дисков (c0d1, c1d1 и т.д.). Не нужно предварительно форматировать диск перед добавлением в zpool. В примере два диска по 2 ТБ каждый (2 ТБ = 2 Терабайта).

Важно: не используйте диски с установленной ОС или другие критичные устройства.

3. Варианты создания zpool

Вы можете создавать пул разными способами — выбор зависит от требуемой ёмкости и отказоустойчивости.

  • concat (simple pool): объединяет диски по пространству, без резервирования (максимум места, нет защиты от отказа одного диска).
  • mirror: зеркалирование (аналог RAID1) — данные копируются на несколько дисков, даёт отказоустойчивость, но вдвое меньше полезного места.
  • raidz: эквивалент RAID-Z/RAID5 — компромисс между ёмкостью и защитой (с учётом уровня паритета).

Примеры команд (в точности, как в системе):

Создать простой concat-пул из двух дисков:

root@server1:~# zpool create pool1 c0d1 c1d1

Создать зеркальный пул:

root@server1:~# zpool create pool1 mirror c0d1 mirror c1d1

Зеркалирование для четырёх дисков (2 зеркальные группы):

root@server1:~# zpool create pool1 mirror disk1 disk2 mirror disk3 disk4

Создать RAID-Z с несколькими дисками:

root@server1:~# zpool create pool1 raidz disk1 disk2 disk3 disk4 disk5

Проверьте создание пула:

root@server1:~# zpool list
NAME      SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT  
pool1    3.97T   213K  3.97T     0%  1.00x  ONLINE  -  
syspool   127G  1.31G   126G     1%  1.00x  ONLINE  -

Чтобы уничтожить пул и начать заново:

root@server1:~# zpool destroy pool1

4. Монтирование пула в нужное место

По умолчанию zpool монтируется в корне (например, как /pool1). Чтобы изменить точку монтирования, используйте флаг -m при создании пулa.

Пример монтирования в /opt:

root@server1:/# zpool create -m /opt pool1 c0d1 c1d1   
root@server1:/# zpool list

Проверка через df -h (пример вывода сохранён):

root@server1:/# df -h
Filesystem             size   used  avail capacity  Mounted on  
syspool/rootfs-nmu-000  
                       125G  1007M   123G     1%    /  
/devices                 0K     0K     0K     0%    /devices  
/dev                     0K     0K     0K     0%    /dev  
ctfs                     0K     0K     0K     0%    /system/contract  
proc                     0K     0K     0K     0%    /proc  
mnttab                   0K     0K     0K     0%    /etc/mnttab  
swap                   1.5G   316K   1.5G     1%    /etc/svc/volatile  
objfs                    0K     0K     0K     0%    /system/object  
sharefs                  0K     0K     0K     0%    /etc/dfs/sharetab  
/usr/lib/libc/libc_hwcap1.so.1  
                       124G  1007M   123G     1%    /lib/libc.so.1  
fd                       0K     0K     0K     0%    /dev/fd  
swap                   1.5G     0K   1.5G     0%    /tmp  
swap                   1.5G    36K   1.5G     1%    /var/run  
pool1                  3.9T    21K   3.9T     1%    /opt

Флаг -m позволяет монтировать пул в любую удобную точку, например в /export/home, где обычно расположены домашние каталоги в OpenSolaris/Nexenta.

Пример переноса текущего домашнего каталога перед созданием пула и последующего возврата:

root@server1:/# mv /export/home/dfed /opt/  
root@server1:/# ls /export/home  
root@server1:/# ls /opt
dfed
root@server1:/# zpool create -m /export/home pool1 c0d1 c1d1   
root@server1:/# mv /opt/dfed /export/home/  
root@server1:/# ls /export/home
dfed

Проверка:

root@server1:/# df -h
...  
pool1                  3.9T    30K   3.9T     1%    /export/home

Теперь пул настроен и готов для размещения пользовательских данных и шаринга через Samba или NFS.

5. Добавление и управление пользователями для Samba

Для корректного шифрования паролей Samba необходимо добавить модуль pam_smb_passwd в /etc/pam.conf. В конец файла добавьте строку:

[...]
other password required pam_smb_passwd.so.1 nowarn
[...]

Это обеспечит совместимое хеширование паролей при их установке через passwd.

Добавление нового пользователя — пример (UID и GID задаются вручную для контроля):

root@server1:/# groupadd -g 1001 newuser  
root@server1:/# useradd -u 1001 -g 1001 -s /bin/bash -c "New User" -d /export/home/newuser -m newuser

Затем установите пароль:

root@server1:/# passwd newuser
New Password:   
Re-enter new Password:   
passwd: password successfully changed for newuser

Проверьте каталог /export/home:

root@server1:/# ls -lha /export/home
total 6.0K  
drwxr-xr-x 4 root    root    4 Apr 22 15:16 .  
drwxr-xr-x 3 root    sys     3 Apr 22 11:51 ..  
drwxr-xr-x 2 dfed    dfed    7 Apr 22 12:07 dfed  
drwxr-xr-x 2 newuser newuser 8 Apr 22 15:16 newuser

Теперь можно включать сервис Samba и настраивать zfs-шеринг.

Если вы собираетесь присоединять сервер к Active Directory, часть настроек будет отличаться (см. соответствующий раздел документации). В этой инструкции далее предполагается автономный (standalone) режим Samba в рабочей группе.

6. Контрольный список для администратора (role-based)

Администратор — перед началом:

  • Снимите резервную копию критичных данных.
  • Убедитесь, что выбранные диски не содержат ОС.
  • Ознакомьтесь с моделью отказоустойчивости (concat vs mirror vs raidz).
  • Планируйте точки монтирования (например /export/home, /opt).
  • Запланируйте UID/GID для новых пользователей.

Оператор — при выполнении команд:

  • Выполнить sudo su -
  • Выполнить format и зафиксировать имена дисков
  • Создать zpool с нужными опциями
  • Проверить zpool list и df -h
  • При необходимости переместить файлы и смонтировать в нужное место

7. Краткая методика (мини-процесс)

  1. Определить диски: format → выписать имена.
  2. Выбрать тип пула: concat/mirror/raidz.
  3. Создать пул: zpool create [ -m /точка ] poolname disks…
  4. Проверить: zpool list, zpool status, df -h.
  5. Перенести данные и настроить права.
  6. Настроить PAM для Samba и создать пользователей.
  7. Включить и проверить службу Samba.

8. Когда этот подход не подходит

  • Если вам нужна высокая доступность при выходе из строя нескольких дисков одновременно — рассматривайте распределённые системы хранения или более сложные RAID уровни (raidz2/raidz3) и резервирование контроллера.
  • Если требуется шифрование диска на уровне блока — дополнительно используйте ZFS encryption (если поддерживается) или LUKS/другое решение.
  • Для кластерных файловых систем и NFS-кластера требуются дополнительные настройки и синхронизация.

9. Рекомендации и альтернативы

  • Альтернатива concat — использование LVM поверх дисков для гибкого управления томами (но теряется интеграция с ZFS-функциями).
  • Если важна цельность данных, выбирайте mirror или raidz.
  • Для больших пулов и критичных данных используйте мониторинг zpool status и регулярные scrub.

10. Матрица рисков и способы смягчения

  • Ошибочный выбор диска (риск потери данных): до операции — проверить serial/SMART, отключить диски с ОС.
  • Неправильный тип пула (недостаток защиты): выбрать mirror/raidz по требованиям.
  • Неправильные права после переноса home: проверить владельцев и права (chown/chmod).

11. Глоссарий, одна строка

  • zpool: менеджер пулов ZFS, объединяет диски в единый пул хранения.
  • concat: простой объединённый пул без паритета.
  • mirror: зеркалирование данных на двух и более дисках.
  • raidz: ZFS-версия RAID с одним или несколькими блоками паритета.
  • pam_smb_passwd: PAM-модуль для записи паролей в формате, совместимом с Samba.

12. Критерии приёмки

  • zpool успешно создан и отображается в zpool list.
  • Точка монтирования соответствует ожидаемой (df -h показывает /export/home или /opt).
  • Новые пользователи созданы, домашние директории присутствуют и имеют правильные владельца/права.
  • Пароли пользователей совместимы с Samba (pam_smb_passwd добавлен и passwd успешно обновляет хеш).

13. Заключение

Вы создали zpool, смонтировали его в нужное место и настроили базовую интеграцию пользователей для работы с Samba. При выборе между ёмкостью и устойчивостью откажитесь от concat, если потеря одного диска недопустима. Всегда имейте резервные копии и регулярный мониторинг состояния пулов.

Примечание: для интеграции с Active Directory потребуются дополнительные шаги по конфигурации smb.conf и пакетов для присоединения к домену.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро