Конкретная ситуация:
Нам нужно убрать старую проблемную систему хранения, которая обслуживала хранилище NFS для виртуальных машин и все еще является нашим основным файловым сервером. Теперь у меня есть новая система хранения на базе iSCSI FreeNAS 40 ТБ, и я уже перевел все виртуальные машины из старого хранилища в новое с помощью vMotion, но остались 17 ТБ общих файлов SMB / CIFS и AFP.
Резервное копирование выполняется через rsync, который требует слишком долго сканировать 17 ТБ, поэтому мы разделили на два тома:
ИТ-персонал перемещает файлы из архива в оперативные, когда требуются изменения, но теперь эти запросы выполняются несколько раз в день и больше не принимаются.
Исходный план:
Проблемы с исходным планом:
Альтернативный план 2: файловая система ZFS / BTRFS на сервере Linux
Вопросы / проблемы для альтернативного плана 2:
Альтернативный план 3: FreeNAS напрямую в качестве файлового сервера
Проблема с альтернативным планом 3:
Вопросы:
Как компании управляют большими файловыми серверами (например, 17 ТБ) и связанными с ними резервными копиями в очень жестком бюджете?
Это зависит от производительности и бюджетных ограничений. Например, Backblaze (компания по созданию резервных копий в облаке) имеет очень жесткий бюджет для каждого ТБ, но им не нужна максимальная производительность или время отклика для данных. Некоторым другим компаниям может понадобиться дешевая производительность, но они находят способ уменьшить объем необходимых данных (с помощью дедупликации, обрезки старых данных резервного копирования или просто уменьшения объема фактических данных, которые могут не понадобиться бизнесу)
Можно ли использовать ZFS (или BTRFS) на одном виртуальном диске для копирования на запись, чтобы избавиться от необходимости использования fsck? (т.е. не для его RAID, snapshot и т.д.)
Я бы не стал использовать BTRFS ни для чего не разрабатываемого, где в качестве первого принципа необходимо доверять безопасности данных. Я бы использовал ZFS, потому что не нашел более дешевой и безопасной альтернативы (другие ФС со схожими возможностями от IBM, NetApp и т.д. дороже, другие бесплатные файловые системы либо не зрелые (HAMMER2, BTRFS), либо не имеют существенных возможностей (ext2/3/4, reiserfs и т.д.)
Ваши конкретные ответы: Я бы предпочел план 3, но план 2 тоже сработает.
В отличие от большого количества FUD, плавающих по сети, ZFS не заботится о базовом хранилище, будь то физическое, виртуальное или смешанное. Конечно, оно может быть только хорошим/быстрым/безопасным, как базовое хранилище, и может только рассуждать о том, что дано. Это означает, что ваша производительность будет не такой хорошей, как у родной, ваша диагностика включает оба уровня, и оба уровня могут иметь проблемы. Если вы знаете об этом и об обеспечении этих недостатков, я рассматриваю это как реальную альтернативу.
У вас все еще есть такие удобные функции, как send/recv, snapshots, CoW, контрольные суммы и дедупликация на уровне блоков. Чем вы жертвуете, так это в основном производительностью и, возможно, безопасностью (если, например, ваша SAN - всего лишь один диск). Вы также должны настроить размер вашего ZFS сектора (ashift
) на ваше базовое хранилище при создании пула. После этого вы можете иметь разные размеры для отдельных файловых систем, но настройка пула не может быть изменена без его уничтожения.
Но сначала я бы тщательно оценил, является ли перезапись этих скриптов и интеграций столь же трудоемкой, как вы себе представляете. Также, даже такие устройства, как FreeNAS (или napp-it, чтобы назвать альтернативу), обычно имеют пользовательские сценарии или определяемые пользователем плагины или модули, которые выживают при обновлении и хорошо работают с устройством (новая FreeNAS 10 aka Corral заменила свою архитектуру плагинов на Docker, если это то, что вам знакомо, может быть альтернативой)
.