ZFS/Btrfs/LVM2-подобное хранилище с расширенными возможностями в Linux? [закрыто]

У меня есть 3 одинаковых внутренних жестких диска SATA 7200 об/мин на машине Linux. Я ищу систему хранения, которая даст мне все это:

  • Разные наборы данных (файловые системы или поддеревья) могут иметь разные уровни RAID, так что я могу выбирать производительность, занимаемое пространство и риск для разных наборов данных при небольшом количестве физических дисков (очень важные данные могут быть 3xRAID1, важные данные могут быть 3xRAID5, неважные воспроизводимые данные могут быть 3xRAID0).
  • Если каждый набор данных имеет явный размер или предел размера, то возможность увеличивать и уменьшать предел размера (при необходимости в автономном режиме)
  • Избегайте модулей вне ядра
  • R/W или снимки COW только для чтения. Если это снимки на уровне блоков, файловая система должна быть синхронизирована и завершена во время снимка.
  • Возможность добавления физических дисков и последующего роста/перераспределения томов RAID1, RAID5 и RAID0 для использования преимуществ нового шпинделя и обеспечения того, чтобы ни один шпиндель не был более горячим, чем остальные (например, в NetApp рост рейдовой группы RAID-DP на несколько дисков не сбалансирует ввод-вывод между ними без явного перераспределения)

Не обязательно, но желательно:

  • Прозрачное сжатие, на файл или поддерево. Еще лучше, если, как NetApps, сначала анализирует данные на предмет сжимаемости и сжимает только сжимаемые данные
  • Дедупликация, которая не приводит к огромным потерям производительности и не требует неприличных объемов памяти (NetApp выполняет дедупликацию по расписанию по выходным, что хорошо)
  • Устойчивость к тихому повреждению данных, как у ZFS (это не требуется, поскольку я никогда не видел, чтобы ZFS сообщала о повреждении данных на этих конкретных дисках)
  • Многоуровневое хранение, либо автоматическое (основанное на правилах кэширования), либо определяемое пользователем (да, сейчас у меня все идентичные диски, но это позволит мне добавить SSD-кэш для чтения/записи в будущем). Если это определяемые пользователем правила, то эти правила должны иметь возможность продвижения на SSD на уровне файлов, а не блоков.
  • Эффективная упаковка небольших файлов

Я пробовал ZFS в Linux, но ограничения были следующие:

  • Обновление - это дополнительная работа, потому что пакет находится во внешнем репозитории и привязан к определенным версиям ядра; он не интегрирован с менеджером пакетов
  • Write IOPS не масштабируется с количеством устройств в raidz vdev.
  • Невозможно добавить диски в raidz vdevs
  • Невозможно иметь избранные данные на RAID0 для снижения накладных расходов и повышения производительности без дополнительных физических дисков или предоставления ZFS одного раздела дисков

ext4 на LVM2 выглядит как вариант, но я не могу сказать, смогу ли я сжимать, расширять и перераспределять на новые шпиндели логические тома типа RAID (конечно, я могу экспериментировать с LVM на куче файлов). Насколько я могу судить, у него нет ни одного из этих "приятных мелочей", поэтому мне интересно, есть ли что-то лучшее. Я просмотрел Опасности и предостережения LVM, но, опять же, ни одна система не совершенна.

2
задан 13 April 2017 в 15:14
2 ответа
  1. Создайте новую группу рассылки и добавьте 3 члена в " shop@domain.com"Но планируйте лучше, и проблемы с расширением не будут ограничением. Это дает вам сжатие, моментальные снимки, многоуровневое хранение и целостность данных. Забудьте о дедупликации в ZFS. Вероятно, вам это не нужно. Если вы это сделаете, вы должны планировать необходимые ресурсы.

  2. Что касается ограничений ZFS в Linux, вы должны понимать основы планирования настройки хранилища ZFS . Используйте устройство ZIL для увеличения операций ввода-вывода в секунду при записи.

  3. Существуют аппаратные решения RAID, такие как линейка контроллеров HP Smart Array , которые допускают различные защиты RAID на одной группе дисков ... Он автоматически повторно балансирует / перераспределяет данные во время расширений. Скидки невозможны. Вы можете экспортировать логические диски HP как блочные устройства для ZFS, чтобы получить преимущества файловой системы, но и разумное использование базовых аппаратных устройств. В приведенном ниже примере zpools vol1 и vol2 состоят из отдельных устройств, которые соответствуют логическому диску 2 и логическому диску 3 от HP Выходные данные контроллера RAID:

  4. Информация о пуле ZFS:

    [root@ZFS-on-Linux ~]# zpool list
    NAME   SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
    vol1   119G  48.2G  70.8G    40%  1.00x  ONLINE  -
    vol2  99.5G  42.6G  56.9G    42%  1.00x  ONLINE  -
    

    Выходные данные контроллера HP RAID:

    Smart Array P400 in Slot 8                (sn: P61630G9SVN702)
    
       array A (SAS, Unused Space: 609621  MB)
    
    
          logicaldrive 1 (72.0 GB, RAID 1+0, OK)
          logicaldrive 2 (120.0 GB, RAID 1+0, OK)
          logicaldrive 3 (100.0 GB, RAID 5, OK)
    
          physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 146 GB, OK)
          physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 146 GB, OK)
          physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 146 GB, OK)
          physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 146 GB, OK)
          physicaldrive 2I:1:5 (port 2I:box 1:bay 5, SAS, 146 GB, OK)
          physicaldrive 2I:1:6 (port 2I:box 1:bay 6, SAS, 146 GB, OK)
          physicaldrive 2I:1:7 (port 2I:box 1:bay 7, SAS, 146 GB, OK)
          physicaldrive 2I:1:8 (port 2I:box 1:bay 8, SAS, 146 GB, OK)
    

    Объедините два вышеперечисленных, и вы получите наибольшее ваших требований.

4
ответ дан 3 December 2019 в 09:19
  1. Создайте новую группу рассылки и добавьте 3 члена в " shop@domain.com"как и LVM и ext4 .

    LVM может делать снимки. Но они не являются родными COW, поэтому существует снижение производительности , если в моментальных снимках используются одни и те же физические диски. Они лучше всего подходят для временных снимков на определенный момент времени для резервного копирования, а не для неограниченных снимков, таких как ZFS.

    Это может выглядеть примерно так:

    sda1 + sdb1 + sdc1 = md0 RAID1
    sda2 + sdb2 + sdc2 = md1 RAID10 (yes, you can do odd numbered RAID10)
    sda3 + sdb3 + sdc3 = md2 RAID5
    sda4 + sdb4 + sdc4 = md3 RAID0
    
    md0 = no LVM, format as ext4, mount as /boot
    md1 = LVM, divide into two LVs
          Format one LV as ext4, mount as / (root)
          Use other LV for swap
    md2 = LVM, create one LV
          make the LV is smaller than the VG, to leave space for snapshots
          Format the LV as ext4, mount as /data
    md3 = LVM, one LV taking the whole VG
          Format as ext4, mounts as /stuff_i_want_to_lose
    
2
ответ дан 3 December 2019 в 09:19

Теги

Похожие вопросы