Добавление дисков, создание ZPools и настройка пользователей (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 listNAME 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 pool14. Монтирование пула в нужное место
По умолчанию zpool монтируется в корне (например, как /pool1). Чтобы изменить точку монтирования, используйте флаг -m при создании пулa.
Пример монтирования в /opt:
root@server1:/# zpool create -m /opt pool1 c0d1 c1d1
root@server1:/# zpool listПроверка через df -h (пример вывода сохранён):
root@server1:/# df -hFilesystem 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 /optdfedroot@server1:/# zpool create -m /export/home pool1 c0d1 c1d1
root@server1:/# mv /opt/dfed /export/home/
root@server1:/# ls /export/homedfedПроверка:
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 newuserNew Password:
Re-enter new Password:
passwd: password successfully changed for newuserПроверьте каталог /export/home:
root@server1:/# ls -lha /export/hometotal 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. Краткая методика (мини-процесс)
- Определить диски: format → выписать имена.
- Выбрать тип пула: concat/mirror/raidz.
- Создать пул: zpool create [ -m /точка ] poolname disks…
- Проверить: zpool list, zpool status, df -h.
- Перенести данные и настроить права.
- Настроить PAM для Samba и создать пользователей.
- Включить и проверить службу 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 и пакетов для присоединения к домену.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента