# RED_2TB — карта датасетов и назначений (для решения о пересоздании пула) > Собрано: 2026-08-20 (Ель — Кит). Источник: live-данные `zfs list` + `ls` с TrueNAS (readonly-импорт). > НАЗНАЧЕНИЕ: решить, воссоздавать ли карту датасетов как есть, или что-то поменять/добавить/убрать перед пересозданием пула RED_2TB. > Ничего не изменялось — только сбор информации. ## Статус спасения на 2026-08-21 - **Выгрузка ЗАВЕРШЕНА УСПЕШНО** (подтверждено Alex). Данные RED_2TB (4.56T) на IronWolf — `DEST`, `/mnt/IRONWOLF`. - **RED_2TB пул — OFFLINE** в БД TrueNAS (id=1), НЕ импортирован. `zpool export` → `no such pool`. - Проверочный rsync прогон завершён (rsync не запущен). - **РЕШЕНИЕ:** пересоздаём пул с новой топологией — ВКЛЮЧАЕМ WD2TB#2 (sdf) зеркалом к WD2TB#1 (sdc). Итог: `mirror {sdc,sdf}` + `mirror {sde,sdd}`. - Следующий шаг: `zpool labelclear` по разделам `*2` + `zpool create` (подробно в [[truenas-sata-ports-and-zfs-pools]] → «Пересоздание пула 2026-08-21»). ## Общая сводка - Пул: RED_2TB, 5.44T (4.61T занято), компрессия lz4, рекордсайз 128K, acltype nfsv4, atime=on, exec=on. - Квот/резерваций НЕТ ни на одном датасете (все `none`). - Монтинг: датасеты в `/RED_2TB/*`, служебные `.system`/`ix-apps` в `legacy`/`/.ix-apps`. ## ✅ Датасеты (воссоздавать как ZFS datasets) | Датасет | USED | REFER | Назначение | Примечание | |---------|------|-------|-----------|------------| | **storage** | 3.24T | 3.24T | Общее хранилище мультимедиа и файлов | Подкаталоги: Cartoons, Downloads, Edu, Movies, Music, ada3s1, art, books, cartoons-series, documentaries(-series), git, nas(пусто), obsidian, obsidian-syncthing, photo_dedup_test, radarr, seafile, series, shared, singularity, sonarr, work. `git/` = hermes-taiga.git, obsidian-vault.git | | **backup** | 287G | 287G | Резервные копии (личные доки, коды, VM, пароли, браузеры) | Много семейных документов (договоры, справки), Google Keep/Play, VPN, Virtual Machines, accessKeys.csv, lastpass_export.zip, коды восстановления. | | **TimeMachine/guest** | 277G | 267G | Бэкапы macOS (Time Machine) | Родитель TimeMachine 277G/96K; дочерний `guest` несёт данные. Много снимков `aapltm-*`. | | **Edu** | 214G | 214G | Учебные материалы | | | **Photos** | 146G | 146G | Фотографии | | | **old-bu** | 65.5G | 65.5G | Старый семейный архив фото/видео | Фото 2009–2010+, свадьбы, семейные события (папки вида `09-01-01 Новый 2009 год!`). | | **ix-apps** | 24.0G | - | Системный — TrueNAS Apps (docker 23.6G, truenas_catalog 385M) | Воссоздаётся самой TrueNAS, не вручную. | | **iocage** | 15.4G | 9.19M | Jail-ы TrueNAS | Jails: backuppc, emby, homeassistant, plex, transmission, worker + releases 11.2/12.2/12.3, images, download, templates. | | **openbsd** | 10.2G | 4.43M | ?? неясно — refer всего 4.43M при used 10.2G | Вероятно remnants после снимка/пробного пула. Решить: нужен ли вообще. | | **docker** | 2.98G | 2.98G | Живой docker-конфиг (текущие контейнеры) | | | **apps** | 192K | 96K | Точка для app-конфигов | Дочерний `apps/homeassistant-config` (96K). | | **.system/** | 568M | - | Служебное TrueNAS (configs, netdata, rrd, samba4, syslog...) | Воссоздаётся самой системой, не создавать руками. | ## ⚠️ Данные ВНЕ датасетов — лежат прямо в корне `RED_2TB` (REFER 362G) Эти пути НЕ являются ZFS-datasets (их нет в `zfs list`) — при пересоздании пула их надо решать отдельно, иначе потеряются (или перепутаются с содержимым корневого датасета): | Путь | Содержимое | Важность | |------|-----------|----------| | `/RED_2TB/system/` | SSH-туннель: `tunnel.sh`, `tunnel_key` (приватный!), `tunnel_key.pub`, `99-tty-alias.rules`. Владелец root, режим 600/644. | ⚠️ **КРИТИЧНО** — рабочий туннель TrueNAS. root-only. | | `/RED_2TB/docker.bak/` | Бэкап конфигов docker: caddy, cups, filebrowser, ha, hermes, homeassistant, immich, inpx-web, inpxer, mbusd, modbus-bridge, mosquitto, nodered, portainer, python, rclone, ser2net | Архив/бэкап контейнеров. `hermes/` = бэкап Hermes-агента. | | `/RED_2TB/immich-photos-upload/` | Конфиг Immich: backups, encoded-video, library, profile, thumbs, upload | Рабочий Immich (он же в docker). | | Корневые файлы | `.DS_Store`, `._.DS_Store` (мусор mac), `dedupe_rm.sh`, `files.txt.xz` (содержимое old-bu/somo?) | dedupe_rm.sh — скрипт дедупликации, файловый список. | ## 🤔 Метки для решения Вопросы, которые надо решить ПЕРЕД пересозданием: 1. **openbsd (10.2G/4.43M)** — судя по refer почти пуст. Что это? Удалить из map? 2. **Внутри storage/ есть `Edu`** — это ДУБЛЬ датасета `Edu`? Проверить: возможно медиа-папка Edu в storage vs отдельный датасет Edu для учебных. 3. **`nas` внутри storage пуст**. 4. **`TimeMachine`** (277G) — вернуть ли отдельным датасетом как было, с дочерним `guest`? 5. **`docker` vs `docker.bak`** — оба сохранить? `docker` = живой, `docker.bak` = архив. 6. **`immich-photos-upload`** — оставить в корне пула (вне датасета) или завести отдельный датасет? 7. **Внедатасетные каталоги** (`system`, `docker.bak`, `immich-photos-upload`) — после пересоздания они окажутся в корневом dataset RED_2TB (REFER 362G). Решить, оставить их там или разнести по датасетам. ## Ключевые решения по подходу к пересозданию (из truenas-sata-ports-and-zfs-pools.md) - In-place починки НЕТ (битая space map, паника на rw). - Рабочий путь: readonly-импорт → выгрузка rsync → `zpool destroy`+`create` → возврат данных rsync. - НЕ использовать `zfs send|recv` (падает на повреждённом пуле). Только rsync. - **РЕШЕНО (2026-08-21):** включить WD2TB#2 (sdf) зеркалом к WD2TB#1 (sdc) при пересоздании. Топология `mirror {sdc,sdf}` + `mirror {sde,sdd}` — оба зеркалированы. - `zpool import`/`mount`/destroy/create — ТОЛЬКО под root (truenas_admin не root). - **НИКОГДА не импортировать RED_2TB в rw** (kernel panic). Только `labelclear` + `create`. ## Ссылки - Связанные: [[truenas-sata-ports-and-zfs-pools]] (план спасения/пересоздания), [[truenas-access]] (общие данные доступа). ## 🔑 Кто «владелец» Edu — группы и uid на TrueNAS (2026-09-23) **Датасет `Edu` (214 ГБ) НЕ имеет единого владельца** — внутри лежат файлы разных uid, и ACL наследует `uid 0 / gid 0`: | Путь | Владелец | Режим | `everyone@` | |---|---|---|---| | `Edu` | `root:root` | `drwxrwxr-x` | `READ_DATA`+`EXECUTE` | | `Edu/Маскелиаде` | `root:root` | `drwxrwx---` | только аттрибуты | | `Edu/Книги, учебники`, `Edu/sponsr.ru-uroki-istorii` | `nas:nas` / `nas:nas_users` | `drwxrwx---` | — | | `Edu/*.mp4` (Маскелиаде) | `root:root` | `-rwxrwx---` | — | | `Edu/PointFree`, `Edu/library`, `Edu/mallexxx` | `mallexxx:root` | `drwxrwx---` | — | > ⚠️ ACL у датасета `trivial: true` (это чистый POSIX-эквивалент, без DENY-ACE) — но `group@` = **gid 0**, > поэтому он не даёт доступа никому, кроме root. **Это и есть причина «нет доступа» у любых не-root юзеров.** **Группы (факт, `id truenas_admin` + `getent group`):** ``` truenas_admin uid=950 gid=950 groups=950,544(builtin_administrators),921(transmission),999(docker),1000(nas),3000(nas_users) root uid=0 gid=0 groups=0(root) nas uid=? gid=1000 (группа nas:x:1000:truenas_admin) mallexxx uid=? gid=1001 nas_users gid=3000 → root, truenas_admin, mallexxx, nas, transmission builtin_administrators gid=544 → root, truenas_admin ``` > 🔑 **Для ACL-фиксов на `Edu` (и вообще на этом пуле) использовать группу `nas_users` (gid 3000)** — > одна ACE покрывает админа, `nas`, `mallexxx` и transmission сразу. Вариант-альтернатива — `builtin_administrators` (gid 544). > > 🔴 **`truenas_admin` НЕ root и НЕ в группе 0.** Любой файл/каталог `root:root` + `rwxrwx---` для него закрыт. > Это НЕ поломка ФС и НЕ повод лезть в ACL — сначала посчитать `owner/group/other` против его groups. > > **Применённый план (2026-09-23, ✅ ВЫПОЛНЕН):** рекурсивно по `Edu` — владелец-группа `nas_users`, > ACE `group@` с `flags.BASIC: INHERIT` (read-modify-write, сохраняя `id`; `stripacl` НЕ использовать). > Детали и подводные камни — [[truenas-infrastructure]] § «WebDAV — устройство». > > ✅ **Подтверждено живой проверкой 2026-09-23 (вечер):** дерево реально переехало на группу. > ``` > drwxrwxr-x 12 root nas_users 14 Sep 22 23:47 /mnt/RED_2TB/Edu > drwxrwxr-x 8 root nas_users 14 Sep 22 23:56 /mnt/RED_2TB/Edu/Маскелиаде > ``` > Таблица владельцев выше (строки `root:root` / `mallexxx:root` / `nas:nas`) — **снимок ДО правки**, > после рекурсивного прохода корень и дерево = `root:nas_users` `drwxrwxr-x`. Доступ есть и у > `truenas_admin`, и через WebDAV. > > 📌 Разбор доступа к `Edu` — выше. Заметка про конкретную папку внутри `Edu` — отдельно, в `personal/tech/truenas-local-tree-comparison.md` (в инфраструктурных доках такие разборы не держим).