Надежность ZFS / ext4 на ZVOL, используемая не для производительности, а для прозрачного сжатия, в системе с низкой памятью?

Я прочитал много противоречивых заявлений о ZFS в системах с низкой памятью в Интернете, но большинство из них использовалось для хранения данных.

Я хочу использовать ZFS не по соображениям производительности, а потому, что он поддерживает прозрачное сжатие и дедупликацию (последнее может быть необязательным) и по-прежнему кажется более зрелым, чем BTRFS. Я не хочу использовать конфигурацию RAID.

Я хочу использовать его на портативном компьютере, для корневой и домашней файловой системы, а также для хранения и безопасности данных (возможность восстановления после потери мощности или других случайных несоответствий, очень низкий риск повреждения из-за низкой оперативной памяти и т. Д.) Важнее, чем производительность диска. Я хочу сопоставимую безопасность, как и ext2 / 3/4.

Я хотел бы использовать ext4 ontop ZVOL.

Итак, вопросы:

  • Может ли ZFS быть настроен на надежную работу с «низкой оперативной памятью», если производительность IO / кэширование не вызывает беспокойства, и нет необходимости в функциональности RAID?
  • Как требуется оперативная память, если я не использую ZFS в качестве самой файловой системы, но просто использую ZVOL, где я добавляю другую файловую систему ontop?
  • Как требуется оперативная память при включении дедупликации? Если дедупликация включена и ОЗУ начинает становиться низким, все равно безопасно – может ли ZFS просто приостановить дедупликацию и использовать меньше ОЗУ?
  • Можно ли отключить автоматическую дедупликацию, но запускать ее время от времени вручную?
  • Может ли ext4 ontop ZVOL надежно хранить мои данные даже в ситуациях с низкой ОЗУ, и если возникают несоответствия, шансы на успех для ремонта высоки (как и у ext2 / 3/4)? Увеличивает ли ext4 ontop ZVOL устойчивость к царапинам, потому что добавляет устойчивость к ext4, или данные такие же надежные, как и базовый ZVOL?

Системные спецификации:

  • Linux
  • 8 GiB RAM (совместно с графической картой), но большинство (по крайней мере 7 GiB) из них должно быть доступно для программного обеспечения для пользовательского пространства,
  • около 700 ГБ SSD-хранилища для использования в ZFS,
  • возможно, в другой системе 128 ГБ eMMC для использования в ZFS.
  • Текущее использование диска ( du -sh из более крупных каталогов в / ) (/ является ext4, / var, установленным ontop, является reiserfs) (хотите перенести это на хранилище с прозрачным сжатием):
    74M /etc 342G /home 5.0G /opt 1.5G /root 261M /tmp 35G /usr 30G /var

ИЛИ, просто используйте BTRFS (прочитайте, что серьезная / трудная для восстановления потеря данных может произойти из-за «ошибок», но это все противоречиво …)?

  • Любой способ сделать диск (ZFS) недоступным?
  • Почему zfs не выводит реальный размер моментального снимка?
  • Как я могу избавиться от этого невидимого файла?
  • Как я могу переместить пул ZFS в дочерний пул?
  • Как узнать, какие копии файла являются копиями COW?
  • Использование udevadm для ожидания сканирования scsi для завершения внутри initramfs?
  • временный файл репликации zfs
  • Имея хост с системой ZFS, как сделать его доступным для других хостов в локальной сети?
  • 2 Solutions collect form web for “Надежность ZFS / ext4 на ZVOL, используемая не для производительности, а для прозрачного сжатия, в системе с низкой памятью?”

    Короткий ответ:

    • Да, возможно использовать низкую ОЗУ (~ 1 ГБ) с ZFS.
    • Вы не должны использовать debup, но RAID и сжатие обычно в порядке.
    • После того, как вы включили дублирование, он работает для всех новых данных, и вы не можете легко избавиться от него.
    • Вы не можете включить деблокировку с обратной стороны, поскольку она работает только с онлайн-данными.
    • Ваша идея излишне сложна без уважительных причин, поэтому я бы рекомендовал просто использовать ZFS и называть ее днем.

    Длительный ответ:

    Может ли ZFS быть настроен на надежную работу с «низкой оперативной памятью», если производительность IO / кэширование не вызывает беспокойства, и нет необходимости в функциональности RAID?

    Да, даже с включенными функциями RAID. Вам нужно гораздо меньше, чем люди требуют в сети, например, посмотрите на этого парня, который запускает быстрый файловый сервер с FreeBSD, 2 ядра и 768 МБ виртуализованных. Или взгляните на Руководство SolarisInternals (в настоящее время доступно только через archive.org), где 512 МБ упоминается как минимальный минимум, 1 ГБ в качестве минимальной рекомендации и 2 ГБ в качестве полной рекомендации.

    Тем не менее, я бы держался подальше от дедушки. Не потому, что он медленный из-за пейджинговой памяти, а потому, что вы не можете вернуться к не-debupup, если ваша система остановится. Кроме того, его торговля между ОЗУ и дисками, а в бюджетной системе у вас их нет, так что вы получите немного.

    Как требуется оперативная память, если я не использую ZFS в качестве самой файловой системы, но просто использую ZVOL, где я добавляю другую файловую систему ontop?

    Вам понадобится дополнительная память для второй файловой системы и для слоя выше ZFS, в зависимости от того, как вы планируете получить к ней доступ (виртуализация, такая как KVM, FUSE, iSCSI и т. Д.),

    Как требуется оперативная память при включении дедупликации? Если дедупликация включена и ОЗУ начинает становиться низким, все равно безопасно – может ли ZFS просто приостановить дедупликацию и использовать меньше ОЗУ?

    Вы не можете приостановить дедупликацию, но ваши данные по-прежнему безопасны. Там будет много обмена памятью и ожидания, поэтому она может быть не очень удобной. Дедупликация отключена, поэтому, чтобы отключить ее, вам нужно отключить дедуляцию и снова записать все данные (что, по сути, копирует все данные в новую файловую систему и уничтожает старый).

    Можно ли отключить автоматическую дедупликацию, но запускать ее время от времени вручную?

    Нет, потому что это не влияет на данные в состоянии покоя. Если у вас есть дефрагментация и вы хотите написать блок, ZFS будет выглядеть, если он присутствует в таблице вывода. Если да, то запись отбрасывается и в таблицу дедуплирования добавляется ссылка. Если нет, он записывается и добавляется первая ссылка. Это означает, что ваши старые данные не зависят от дедупликации, и включение его без записи какого-либо нового блока ничего не делает, если использовать прежний размер старых данных.

    Может ли ext4 ontop ZVOL надежно хранить мои данные даже в ситуациях с низкой ОЗУ, и если возникают несоответствия, шансы на успех для ремонта высоки (как и у ext2 / 3/4)? Увеличивает ли ext4 ontop ZVOL устойчивость к царапинам, потому что добавляет устойчивость к ext4, или данные такие же надежные, как и базовый ZVOL?

    На мой взгляд, это бесполезная сложность, так как у вас не будет никаких новых функций (например, в обратном случае с ext4 ниже и ZFS сверху, например, моментальных снимков), а также получить дополнительные обязанности, такие как fsck и другие упражнения по форматированию fdisk .

    Единственный случай, когда я буду делать что-то вроде этого, – это если у него есть специальное приложение, требующее низкоуровневых функций конкретной файловой системы или жестко закодированные предположения (к счастью, это поведение, похоже, умерло в последнее время).

    user121391 отлично поработал над тем, чтобы дать вам хорошую информацию, поэтому я буду касаться вашей памяти.

    Насколько мне известно, ZFS может быть памятью. Он будет использовать свободную системную память для кэширования. На протяжении многих лет Sun, теперь Oracle, улучшила производительность, надежность и улучшила использование памяти. Вы можете проверить сайт ZFS internals / evil tuning guide или блог ZFS для уточнения. Однако большинство этих настроек и функций можно найти только в версии ZFS Solaris 11.x.

    Если вы действительно беспокоитесь о памяти, вы не захотите использовать дедупуляцию, так как она требует достаточного объема памяти, поскольку дедуплирования живут и должны удерживать таблицу дедуплирования в памяти.

    Interesting Posts

    как получить доступ к следующему аргументу параметров командной строки в bash?

    Есть ли эквивалент bash's «nocaseglob» в ksh?

    Сценарий Bash для мониторинга безопасности сервера?

    Java на FreeBSD

    Почему некоторые ключи keykey по умолчанию не работают в tcsh?

    Почему scp не показывает истинную скорость загрузки?

    Рекомендации по распределению для настройки мультисезона с использованием двухголовочного и поддерживающего прямого рендеринга

    Разница между sd0 / sda, hd0 / hda

    Как добавить текущую дату перед расширением файла для нескольких файлов в каталоге?

    Логротат работает не так, как ожидалось

    Вычислить разницу между двумя наборами нелинейных данных

    ldd возвращает «не динамический исполняемый файл» для 64-битного ELF, хотя objdump и readelf не согласны

    Нужна помощь по настройке tty autologin на FreeBSD

    почему репозиторий debian не содержит lokkit?

    Где я могу найти официальную документацию POSIX и UNIX?

    Linux и Unix - лучшая ОС в мире.