XigmaNAS (NAS4free) + ZFS shadow copy + Samba + Windows (7,8,10). Восстановление версий файлов из снимков через Windows: различия между версиями

Материал из Wiki
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
=== Создаем POOL "/mnt/d1" на ZFS ===
=== Настройка ===
. создаем в пуле "/mnt/d1" DATASET "/mnt/d1/share", поставив галку:


- (НЕОБЯЗАТЕЛЬНО) "Видимость снимков - Если эта настройка включена, снимки показываются в директории .zfs."
* Создаем POOL "/mnt/d1" на ZFS
* Создаем в пуле "/mnt/d1" DATASET "/mnt/d1/share", поставив галку:
** - (НЕОБЯЗАТЕЛЬНО) "Видимость снимков - Если эта настройка включена, снимки показываются в директории .zfs."
* Создаем шару "/mnt/d1/share" в SAMBA, обязательно поставив галки:
** - "Теневое копирование - Включить теневое копирование. Это обеспечит создание теневой копии при автоматическом снимке. (Только ZFS)."
** - "Формат теневого копирования - Здесь вы можете указать формат снимков для службы теневого копирования. Формат по умолчанию auto-%Y%m%d-%H%M%S используется для автоматических снимков ZFS." - auto-%Y%m%d-%H%M%S
** // (ОТКЛЮЧИТЬ) - "ZFS ACL - Включить ZFS ACL. Это обеспечит поддержку файловых систем ZFS ACL. (Только ZFS)."
** // (ОТКЛЮЧИТЬ) - "Enable ACL inheritance."
* Создаем тестовый файл "/mnt/d1/share/test.txt" с произвольным содержимым
* В ZFS создаем снимок DATASET "d1/share" с именем "auto-20181029-230000"
* Правим соджержимое файла "/mnt/d1/share/test.txt"
* Подключаемся к шаре //x.x.x.x/share из WINDOWS
** жмем правой кнопкой мыши по файлу "test.txt"
** выбираем "Восстановить предыдущую версию"
** в списке будет версия файла до создания снэпшота "auto-20181029-230000"
** Если необходимо восстановить удаленный файл - жмем правой кнопкой по директории, в который был файл:
** вкладка "предыдущие версии"
** выбираем снэпшот с датой
** жмем кнопку "Открыть"
** ищем наш файл, копируем его
** также можно настроить "Автоматическое создание снэпшотов" в ZFS DATASET "d1/share" с шаблоном имени "auto-%Y%m%d-%H%M%S"


. создаем шару "/mnt/d1/share" в SAMBA, обязательно поставив галки:
=== Дополнительно ===


- "Теневое копирование - Включить теневое копирование. Это обеспечит создание теневой копии при автоматическом снимке. (Только ZFS)."
==== Ошибка (при попытке просмотреть предыдущие версии на шаре из под windows): ====
<blockquote>"FSCTL_GET_SHADOW_COPY_DATA: connectpath /mnt/raid failed - NT_STATUS_ACCESS_DENIED."


- "Формат теневого копирования - Здесь вы можете указать формат снимков для службы теневого копирования. Формат по умолчанию auto-%Y%m%d-%H%M%S используется для автоматических снимков ZFS." - auto-%Y%m%d-%H%M%S
"user does not have list permission on snapdir"</blockquote>


// (ОТКЛЮЧИТЬ) - "ZFS ACL - Включить ZFS ACL. Это обеспечит поддержку файловых систем ZFS ACL. (Только ZFS)."
==== Решение ====
Пишут что баг SAMBA-SERVER.


// (ОТКЛЮЧИТЬ) - "Enable ACL inheritance."
Помогает отключение в свойствах шар галок (В ТОМ ЧИСЛЕ И В РОДИТЕЛЬСКИХ ШАРАХ):


. создаем тестовый файл "/mnt/d1/share/test.txt" с произвольным содержимым
* (ОТКЛЮЧИТЬ) - "ZFS ACL - Включить ZFS ACL. Это обеспечит поддержку файловых систем ZFS ACL. (Только ZFS)."
* (ОТКЛЮЧИТЬ) - "Enable ACL inheritance."


. в ZFS создаем снимок DATASET "d1/share" с именем "auto-20181029-230000"
Если вышеизложенное не поможет - можно попробовать ВКЛЮЧИТЬ галку в свойствах датасета, на котором настроена шара (снэпы будут видимы в корне шары), если галка здесь проставлена, 2 галки в свойствах шары про ACL ZFS можно не отключать:


. правим соджержимое файла "/mnt/d1/share/test.txt"
* (ВКЛЮЧИТЬ) - "Видимость снимков - Если эта настройка включена, снимки показываются в директории .zfs."


. подключаемся к шаре //x.x.x.x/share из WINDOWS
[[Категория:ZFS]]
 
[[Категория:Windows]]
- жмем правой кнопкой мыши по файлу "test.txt"
 
- выбираем "Восстановить предыдущую версию"
 
- в списке будет версия файла до создания снэпшота "auto-20181029-230000"
 
- Если необходимо восстановить удаленный файл - жмем правой кнопкой по директории, в который был файл:
 
  - вкладка "предыдущие версии"
 
  - выбираем снэпшот с датой
 
  - жмем кнопку "Открыть"
 
  - ищем наш файл, копируем его
 
- также можно настроить "Автоматическое создание снэпшотов" в ZFS DATASET "d1/share" с шаблоном имени "auto-%Y%m%d-%H%M%S"
 
UPD:
 
---
 
ОШИБКА (ПРИ ПОПЫТКЕ ПРОСМОТРЕТЬ ПРЕДЫДУЩИЕ ВЕРСИИ НА ШАРЕ ИЗ ПОД WINDOWS):
 
"FSCTL_GET_SHADOW_COPY_DATA: connectpath /mnt/raid failed - NT_STATUS_ACCESS_DENIED."
 
"user does not have list permission on snapdir"
 
РЕШЕНИЕ:
 
// Пишут что баг SAMBA-SERVER.
 
// Помогает отключение в свойствах шар галок (В ТОМ ЧИСЛЕ И В РОДИТЕЛЬСКИХ ШАРАХ):
 
(ОТКЛЮЧИТЬ) - "ZFS ACL - Включить ZFS ACL. Это обеспечит поддержку файловых систем ZFS ACL. (Только ZFS)."
 
(ОТКЛЮЧИТЬ) - "Enable ACL inheritance."
 
// если вышеизложенное не поможет - можно попробовать ВКЛЮЧИТЬ галку в свойствах датасета,
 
// на котором настроена шара (снэпы будут видимы в корне шары),
 
// если галка здесь проставлена, 2 галки в свойствах шары про ACL ZFS можно не отключать:
 
(ВКЛЮЧИТЬ) - "Видимость снимков - Если эта настройка включена, снимки показываются в директории .zfs."

Версия 11:53, 12 декабря 2021

Настройка

  • Создаем POOL "/mnt/d1" на ZFS
  • Создаем в пуле "/mnt/d1" DATASET "/mnt/d1/share", поставив галку:
    • - (НЕОБЯЗАТЕЛЬНО) "Видимость снимков - Если эта настройка включена, снимки показываются в директории .zfs."
  • Создаем шару "/mnt/d1/share" в SAMBA, обязательно поставив галки:
    • - "Теневое копирование - Включить теневое копирование. Это обеспечит создание теневой копии при автоматическом снимке. (Только ZFS)."
    • - "Формат теневого копирования - Здесь вы можете указать формат снимков для службы теневого копирования. Формат по умолчанию auto-%Y%m%d-%H%M%S используется для автоматических снимков ZFS." - auto-%Y%m%d-%H%M%S
    • // (ОТКЛЮЧИТЬ) - "ZFS ACL - Включить ZFS ACL. Это обеспечит поддержку файловых систем ZFS ACL. (Только ZFS)."
    • // (ОТКЛЮЧИТЬ) - "Enable ACL inheritance."
  • Создаем тестовый файл "/mnt/d1/share/test.txt" с произвольным содержимым
  • В ZFS создаем снимок DATASET "d1/share" с именем "auto-20181029-230000"
  • Правим соджержимое файла "/mnt/d1/share/test.txt"
  • Подключаемся к шаре //x.x.x.x/share из WINDOWS
    • жмем правой кнопкой мыши по файлу "test.txt"
    • выбираем "Восстановить предыдущую версию"
    • в списке будет версия файла до создания снэпшота "auto-20181029-230000"
    • Если необходимо восстановить удаленный файл - жмем правой кнопкой по директории, в который был файл:
    • вкладка "предыдущие версии"
    • выбираем снэпшот с датой
    • жмем кнопку "Открыть"
    • ищем наш файл, копируем его
    • также можно настроить "Автоматическое создание снэпшотов" в ZFS DATASET "d1/share" с шаблоном имени "auto-%Y%m%d-%H%M%S"

Дополнительно

Ошибка (при попытке просмотреть предыдущие версии на шаре из под windows):

"FSCTL_GET_SHADOW_COPY_DATA: connectpath /mnt/raid failed - NT_STATUS_ACCESS_DENIED." "user does not have list permission on snapdir"

Решение

Пишут что баг SAMBA-SERVER.

Помогает отключение в свойствах шар галок (В ТОМ ЧИСЛЕ И В РОДИТЕЛЬСКИХ ШАРАХ):

  • (ОТКЛЮЧИТЬ) - "ZFS ACL - Включить ZFS ACL. Это обеспечит поддержку файловых систем ZFS ACL. (Только ZFS)."
  • (ОТКЛЮЧИТЬ) - "Enable ACL inheritance."

Если вышеизложенное не поможет - можно попробовать ВКЛЮЧИТЬ галку в свойствах датасета, на котором настроена шара (снэпы будут видимы в корне шары), если галка здесь проставлена, 2 галки в свойствах шары про ACL ZFS можно не отключать:

  • (ВКЛЮЧИТЬ) - "Видимость снимков - Если эта настройка включена, снимки показываются в директории .zfs."