Zfs on linux стабильность

Что такое ZFS? И почему люди от неё без ума?

Сейчас мы обсудим ZFS, продвинутую файловою систему. Мы обсудим как она появилась, что из себя представляет, и почему так популярна в технических кругах и предприятиях.

Хотя я из США, я предпочитаю произносить ZedFS вместо ZeeFS, потому что это звучит круче. Вы же можете выбрать вариант произношения для себя.

Заметка: В этой статье вы увидите, что ZFS повторяется очень много раз. Когда я буду говорить об особенностях и установке, я имею в виду OpenZFS. Пути ZFS (разработанная Oracle) и OpenZFS разошлись, с того момента как Oracle закрыла проект OpenSolaris. (Подробнее дальше в статье.)

История ZFS

Файловая система Z (ZFS) была создана Меттью Ареном и Джефом Бонвиком в 2001. ZFS была разработана, для того чтобы стать следующим поколением файловых систем OpenSolaris от Sun Microsystems. В 2008 ZFS была портирована на FreeBSD. В этом же году началось портирование ZFS на Linux. Однако, с того момента как ZFS начала выпускаться под лицензией CDDL, которая несовместима с GNU GPL, она не может быть добавлена к ядру Linux. Что бы обойти это ограничение, большинство дистрибутивов предлагают методы установки ZFS.

В скоре после того, как Oracle купила Sun Microsystems, код OpenSolaris стал закрыт. Вся последующая разработка ZFS стала закрытой тоже. Большое количество разработчиков ZFS разочаровалось из-за таких изменений. Две трети важных разработчиков ZFS, включая Аренса и Бонвика, покинули Oracle вследствие этого решения. Они присоединились к другим компаниям и создали проект OpenZFS в сентябре 2013. Проект возглавил открытую разработку ZFS.

Вернемся же к проблеме с лицензиями упомянутой выше. С того момента как OpenZFS отделился от Oracle, кому-то может быть интересно, почему они не изменили лицензию совместимую с GPL, так, чтобы включить файловую систему в ядро Linux. Согласно сайту OpenZFS, изменение лицензии влечёт за собой контакт разработчиков которые вносили изменения в релиз OpenZFS (включая тех, кто начал этот проект и код ZFS до OpenSolaris) и получить их разрешение. Это уже почти невозможно (возможно кто-то из них уже умер или их не так легко найти), они решили оставить все как есть.

Что такое ZFS? Чем она особенна?

image

Как я сказал ранее, ZFS это продвинутая файловая система. Как таковая, она имеет некоторые интересные особенности. Такие, как:

  • Объединённое хранилище (Pooled storage)
  • Copy-on-write
  • Снапшоты
  • Проверка цельности информации и автоматическая починка
  • RAID-Z
  • Максимальный размер файла в 16 Эксабайт (Прим. переводчика: 10^18 байт)
  • Максимальный размер хранилища в 256 квадрильонов Зеттабайт (Прим. переводчика: Квадрильон — миллион^4; Зеттабайт — 10^21 байт)

Объединённое хранилище

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

Читайте также:  Data recovery with linux

image

Copy-on-write

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

Снапшоты

Copy-on-write приводит к другой интересной вещи в ZFS: снапшоты. ZFS использует снимки, для того чтобы следить за изменениями в файловой системе. Снимок хранит оригинальную версию файловой системы и текущую, в которой все изменения с момента создания снимка. Никакого дополнительного места не используется. Как только новая информация записывается в текущую файловую систему, новые блоки распределяются для её хранения. Если же файл был удален, упоминание о нём из снимка исчезает. Снимки разработаны для слежки за изменениями, но не являются дополнением и не создают файлов.

Снимки могут быть смонтированы в формате read-only для восстановления старой версии файла. Также можно откатить систему к предыдущему снимку. Все изменения сделанные после снимка будут утрачены.

Проверка цельности информации и автоматическая починка

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

RAID-Z

ZFS может поднять RAID без вспомогательного софта. Не удивительно, что ZFS предоставляет свою реализацию RAID: RAID-Z. RAID-Z это по сути вариация RAID-5. Тем не менее RAID-Z разработан так, что бы превзойти RAID-5 в плане ошибки, «все данные и информация о контроле по чётности становится несовместимой после непредвиденной перезагрузки.» Чтобы использовать базовый уровень (RAID-Z1) вам необходимо минимум два диска для хранения и один для контроля по чётности. RAID-Z2 нужно как минимум два диска для хранения и два для контроля по чётности. RAID-Z3 требует два диска для хранения и три для контроля по чётности. Как только диски добавлены к группам RAID-Z они должны быть кратны двум.

Огромные возможности хранилища

Когда ZFS была создана, она была спроектирована, чтобы стать лучшей в своем роде. Во время когда большинство файловых систем были 64-битными, создатели ZFS решили сделать её 128-битной, для будущего подтверждения этого. Это означает, что ZFS предоставляет емкость 16 миллионов миллионов 32 или 64-битных систем. К тому же, Джеф Бонвик (один из создателей) сказал что энергоснабжение полностью заполненного 128-битного пула памяти будет буквально требовать больше энергии чем для вскипания океанов.

Как установить ZFS

Если вы хотите использовать ZFS из коробки, то необходимо установить либо FreeBSD, либо ОС, которая использует illumos-ядро. Illumos это форк ядра OpenSolaris.

Читайте также:  Кали линукс неправильный пароль

На самом деле, поддержка ZFS и для ZFS это главный аспект, почему некоторые опытные пользователи Linux останавливают свой выбор на BSD.

Если вы хотите использовать ZFS на Linux, вы сможете её использовать как файловую систему только для хранения. Насколько мне известно, никакой из дистрибутивов не даёт возможности установить ZFS, так, чтобы она работала сразу. Если вы заинтересованы и хотите попробовать, есть проект ZFS on Linux, который предоставляет несколько туториалов.

Напоследок

В этой статье я рассказал о плюсах ZFS. И сейчас о маленькой проблеме. Использование RAID-Z может дорого обойтись из-за количества дисков нужных для него.

А вы когда-то использовали ZFS? И как она вам? Расскажите об этом в комментариях.

Источник

Zfs on linux vs all

Призываю в тему истинных админов zfs, для кого важность хранения данных не пустой звук. Хотелось бы услышать от вас адекватные плюсы и минусы zol’а, а так же реальные случаи проблем или лучших практик. Приветсвуется сравнение с подобными системами хранения данных таких как btrfs и тд. Производительность, надежность, удобство использования, мб какие то расширения и просто истории практики. Возможно после скольки то лет использования вы решили перейти на неё или с неё — это самое интересное, а именно причины, ибо когда перенос данных энтерпрайс типа весьма сложен, но вы всё равно решились на это, т.к увидели плюсы в смене на zfs/уход из zfs.

RAIDZ уровни, ARC, L2ARC на ssd, autotrim, кеш логов, сжатие, дедупликация и тд.

Сам юзаю последнюю версию 0.8.2 имею несколько пулов с сжатием логов, зеркалами, драйвером докера на zfs, mysql на zfs (это тоже интересно, т.к. куча статей за использование и категоричное против). Недавно пару уважаемых админов BSD выразили сомнение в zol, мол он совсем не такой что на BSD поэтому и создал эту тему.

Прошу адекватности в теме и без глупых ‘X лучше Y потому что X — говно я так сказал и всё’.

Хотелось бы услышать от вас адекватные плюсы и минусы zol’а

Тебе эссе написать в пяти актах? Доки почитай, там всё написано.

Приветсвуется сравнение с подобными системами хранения данных таких как btrfs

Никакой btrfs нет, её даже RH выкинул.

Производительность, надежность, удобство использования,

zol производительная, надёжная, удобная в использовании.

С версии 0.6 использую zol на всяких разных серверах и даже некоторых десктопах.

RAIDZ уровни, ARC, L2ARC на ssd, autotrim, кеш логов, сжатие, дедупликация и тд.

Что конкретно не понятно в этих технологиях?

Недавно пару уважаемых админов BSD выразили сомнение в zol, мол он совсем не такой что на BSD поэтому и создал эту тему.

Кодовая база zfs в bsd теперь основана на zol.

Если нет желания писать на форуме, никто не заставляет) Можно в режиме чтения тут сидеть онли)

Дедупликация очень спорная штука, ибо она может отжирать несоизменимо много озу, даже с нынешними обьёмами серверов энтерпрайс типа, есть ли опыт использования его?

Читайте также:  Статус всех сервисов linux

L2ARC — действительно ли спасает если на шустреньких ssd? Особенно интересно в комбинации с дедупликацией. Получу ли я реальное ускорение, а не на 0.1% с забитым кешем. Еще часто пишут что кеш на чтение убивает ссд и надо раз в год менять даже при хорошем ресурсе и парой терабайт данных.

RAIDZ если ставить против, скажем, mdadm — частые проблемы с хотспейр и пересборка рейда дальше так как он все блоки синхронизирует, а zfs только данные.

А про кодовую базу не знал, большое спасибо за это. Не слежу за bsd.

Дедупликация очень спорная штука, ибо она может отжирать несоизменимо много озу, даже с нынешними обьёмами серверов энтерпрайс типа, есть ли опыт использования его?

Нет опыта использования, считаю эту штуку бесполезной и даже вредной (начитался ужасов о применении на стораджах nexenta).

L2ARC — действительно ли спасает если на шустреньких ssd?

Да, очень взбадривает массив на hdd.

Еще часто пишут что кеш на чтение убивает ссд и надо раз в год менять даже при хорошем ресурсе и парой терабайт данных

Может быть на каких то специфических нагрузках. Ниже дешман-конфиг, работает больше года, с ресурсом ссд всё хорошо.

NAME STATE READ WRITE CKSUM
zpool-electro ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ata-WDC_WD4002FYYZ-01B7CB1_K7J46H6T ONLINE 0 0 0
ata-WDC_WD4002FYYZ-01B7CB1_K7J46T6T ONLINE 0 0 0
cache
ata-Samsung_SSD_860_PRO_512GB_S419NF0K508833W ONLINE 0 0 0
ata-Samsung_SSD_860_PRO_512GB_S419NF0K910065Y ONLINE 0 0 0

RAIDZ если ставить против, скажем, mdadm — частые проблемы с хотспейр и пересборка рейда дальше так как он все блоки синхронизирует, а zfs только данные.

Ещё у zfs нет write hole и ксть контроль целостности данных.

  • «с подобными системами хранения данных таких как btrfs» — лiл. btrfs система хранения данных. ок.
  • удобство использования — на высоте. аналогов нет.
  • RAIDZ — mirror
  • L2ARC на ssd — да
  • кеш логов — лишний гемор, не лень?
  • сжатие — lz4
  • дедупликация — нахера?

мнения левых Ваусянов в различных статьях не интересуют.

пример с одного проксмокса:

 pool: drive state: ONLINE scan: scrub repaired 0B in 0 days 00:44:18 with 0 errors on Sun Dec 8 01:08:20 2019 config: NAME STATE READ WRITE CKSUM drive ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:12:0 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:18:0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:13:0 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:19:0 ONLINE 0 0 0 mirror-2 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:14:0 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:20:0 ONLINE 0 0 0 mirror-3 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:15:0 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:21:0 ONLINE 0 0 0 mirror-4 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:16:0 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:22:0 ONLINE 0 0 0 mirror-5 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:17:0 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:23:0 ONLINE 0 0 0 errors: No known data errors pool: rpool state: ONLINE scan: scrub repaired 0B in 0 days 00:44:18 with 0 errors on Sun Dec 8 01:08:23 2019 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:0:0-part3 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:6:0-part3 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:1:0-part3 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:7:0-part3 ONLINE 0 0 0 mirror-2 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:2:0-part3 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:8:0-part3 ONLINE 0 0 0 mirror-3 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:3:0-part3 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:9:0-part3 ONLINE 0 0 0 mirror-4 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:4:0-part3 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:10:0-part3 ONLINE 0 0 0 mirror-5 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:5:0-part3 ONLINE 0 0 0 pci-0000:03:00.0-scsi-0:2:11:0-part3 ONLINE 0 0 0 cache sdy ONLINE 0 0 0 errors: No known data errors 

Источник

Оцените статью
Adblock
detector