[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ZFS



*** Artem Chuprina <ran@lasgalen.net> [2017-06-25 15:40]:
>В zfs есть понятие "переключиться на такой-то снапшот" в смысле сделать
>так, что в качестве основного состояния FS будет подключен он? И оно это
>запомнит через перезагрузку? Если так, то это интересно...

Во-первых, можно просто откатить состояние ФС до заданного snapshot:

    # zfs rollback mypool@snapshotname

Во-вторых, любой snapshot по-умолчанию доступен ещё и вот так, без
необходимости делать rollback:

    /mypool-mountpoint/.zfs/snapshot/snapshotname

Ещё есть zfs diff команда, которая может показать diff, с точки зрения
файлов/директори:

    # zfs diff zroot@backup
    M       /
    M       /boot
    M       /var
    M       /root
    +       /var/run/clean_var
    +       /var/spool/lock/clean_var
    +       /var/run/ld-elf.so.hints
    +       /var/run/ld-elf32.so.hints
    +       /entropy
    [...]
    +       /var/log/Xorg.0.log.old
    -       /var/log/Xorg.0.log

Причём делает она это быстро, опять же из-за деревьев Меркле внутри ZFS.

> > 8 гигабайт точно хватит, а вот с 4-мя терзают сомнения. А вот если
> > хочется включить дедупликацию, то, личного опыта нет, но говорят что
> > нужно примерно 5 гигабайт RAM на каждый терабайт данных. То есть в
> > случае с 4 TB дисками, лучше бы иметь более 20 гигабайт. Дедупликацию
> > можно включить на уже работающей системе, когда угодно, как и выключить.
> > А точно вам нужна дедупликация? Вот например прозрачное сжатие LZ4 штука
> > я считаю почти всегда не помешающая (zfs set compression=lz4 mypool), а
> > вот дедупликация... я за несколько лет так и не смог увидеть в домашних
> > условиях где бы это могло помочь.
>
>Хотелось бы понять, точно или нет. У меня, например, одни и те же
>фотографии в некотором количестве хранятся в архиве оригиналов (на
>сервере), у жены на виндовом компе, где она их отбирает и обрабатывает
>(обрабатывает не больше трети), откуда попадают в бэкап на тот же
>сервер, у меня на ноуте, и тоже в бэкап, и на планшете, откуда, опять же
>в бэкап. Суммарный объем копий на компе жены измеряется не меньше чем
>десятками гигабайт. По идее, не очень много, но интересно было бы
>поэкспериментировать. Если бы много, то от 2 до 4 копий - это уже вполне
>повод для дедупликации, но вроде на фоне остального не шибко дофига.

С дедупликацией не хватит 8-ми GB. А без неё работать точно будет.
"Выжмет" ли оно всё из дисков -- надо смотреть, но мне кажется что без
проблем, если речь о перегонке/хранении фотографий.

>Там поблочные дельты хранятся или пофайловые? Грубо, если файл
>переименован, снапшот будет отличаться только инодом, или блоки тоже
>отделит?

Будет отличаться только инодом. Из-за хэш деревьев он прекрасно понимает
какие части дерева изменились. Если в гигабайтном файле изменился только
один килобайтный кусочек, то, грубо говоря, diff будет хранить только
этот кусочек (или кусочки).

>А кстати, раз в ZFS можно на ходу включить и выключить дедупликацию:
>возможна ли эпизодическая ручная дедупликация? Т.е. чтобы включил, она
>отработала, выключил (а то памяти мало для ее постоянной работы), а
>результат остался?

Сам не пробовал, но ничего не мешает так сделать. Сам тоже об этом
как-то думал. Дедупликация это ведь всего-лишь нахождение общих данных и
создание ссылок на один и тот же блок, убирая ссылки на дубликаты. Можно
включить: он переиначить ссылки на блоки, потом отключить. Как вариант,
можно сделать zfs send с опцией -D, которая создаёт дедуплицированный
поток сериализованных данных, а потом восстановить с них.

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF


Reply to: