January 12th, 2021

moth

Освобождение от NAS и переход на клауд - 2

Я придумал концептуальную схему, которая позволит устранить основные bottlenecks - необходимость время от времени перезаливать в клауд "сразу всё" - при этом лишь с небольшим оверхедом по месту на диске.

Для системного диска всё остаётся по-старому, но его можно держать разумных пределах, 200 GB full backup + a bunch of incrementals, и время от времени будут перезаливаться 200 GB.

А вот для всего остального схема такая:

1. Реорганизовать файлы таким образом, чтобы на самом первом уровне было много директорий "разумного размера" - желательно до 10 GB, но можно больше для тех директорий, которые чаще всего я не трогаю вовсе.

2. Написать простой скрипт, который будет RAR-ом делать шифрованный архив каждого каталога. Не "solid", чтобы быстрее были обновления, когда файлы поменялись. Читать он будет с NVMe диска, а как временный архив, так и постоянный будут создаваться на дополнительном медленном диске, который синхронизирован с клаудом (временный архив будет в отдельной директории, которая не синхронизирована с клаудом). Таким образом не будет изнашиваться NVMe, записи будут редки, будет только много чтения.

Режим "обновления" (rar a -u -as) работает таким образом, что если изменений не было, то временный архив удаляется и целевой архив не перезаписывается. Т.е. лишней закачки в клауд не будет, хотя диском оно будет трещать каждый день.

RAR позволяет много разных других полезностей:
- разбивать архив на многотомный, скажем, кусками по 10 GB (чтобы вписываться в лимиты клауд провайдеров),
- сохранять дату создания и последней модификации файлов,
- сохранять recovery record - защита от bit rot,
- тестировать архив после создания или обновления.

3. Вишенка в торте - чтобы обращаться к файлам, которые открыты, например, к PST файлу Outlook'а, нужен механизм shadow copy. Оказывается есть простая утилита, которую можно тупо скопировать с серверного дистрибутива, позволяющая удобно заскриптовать временную shadow copy: https://superuser.com/questions/735559/zip-files-and-volume-shadow-copy

Будет создаваться shadow copy (snapshot), монтироваться на диск S:, после этого RAR будет архивировать уже именно оттуда, а когда RAR всё закончит, можно будет снести диск S: и более ненужную shadow copy.

* * *

Свойства этого подхода:
- супердолгой будет только первая закачка, а если файлы меняются редко, то очень крупных закачек не будет; ожидаемо - несколько 10GB архивов в день, что вполне по силам даже 100 MBit/sec upload'у,
- дополнительное место требуется только для одной копии данных, да и то, на медленном диске.
- всё запаролено,
- удобство при работе с versioning-ом от клауд провайдера, т.к. versioning даст старую версию целого архива, его можно выкачать целиком и уже локально распаковывать.