Назад | Перейти на главную страницу

Проблемы с пропускной способностью и вводом-выводом при запуске аппаратного рейда и zfs

Я унаследовал установку с использованием Linux Ubuntu 14, megaraid_sas и ZFS.

У нас возникают некоторые проблемы с производительностью (никогда не удается полностью использовать полосу пропускания 6 ГБ из рейда), и мне любопытно, связано ли это с настройкой ZFS - что кажется немного необычным.

Вопрос действительно в следующем:

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

  2. Похоже, что мы не используем максимальную скорость чтения из рейда. Может быть, почему эта установка?

НАСТРОИТЬ

RAID имеет несколько виртуальных дисков RAID 5 и 6, которые отображаются на сервере Linux как локальные устройства. Т.е.

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0  14,6T  0 disk
├─sda1   8:1    0  14,6T  0 part
└─sda9   8:9    0     8M  0 part
sdb      8:16   02,6G  0 disk
├─sdb1   8:17   0  94,6G  0 part /
├─sdb2   8:18   0     1K  0 part
└─sdb5   8:21   0   128G  0 part [SWAP]
sdc      8:32   0  14,6T  0 disk
├─sdc1   8:33   0  14,6T  0 part
└─sdc9   8:41   0     8M  0 part
sdd      8:48   0  10,9T  0 disk
├─sdd1   8:49   0  10,9T  0 part
└─sdd9   8:57   0     8M  0 part
sd<N>      8:64   0   7,3T  0 disk
├─sd<N>1   8:65   0   7,3T  0 part
└─sd<N>9   8:73   0     8M  0 part

Затем все они снова связываются вместе как zpool. Т.е.

# zpool status
  pool: zpool
 state: ONLINE
  scan: scrub repaired 0 in 84h36m with 0 errors on Tue Aug 29 00:48:43 2017
config:

        NAME        STATE     READ WRITE CKSUM
        zpool       ONLINE       0     0     0
          sd<N>     ONLINE       0     0     0
          sda       ONLINE       0     0     0
          sdc       ONLINE       0     0     0
          sdd       ONLINE       0     0     0

errors: No known data errors

... которые затем делятся на наборы данных. Т.е.

# df -h
Filesystem               Size  Used Avail Use% Mounted on
udev                      63G   12K   63G   1% /dev
tmpfs                     13G   23M   13G   1% /run
/dev/sdb1                 94G   13G   76G  15% /
zpool/dataset1            13T   11T  2,3T  82% /common/share
zpool/dataset1/archive   3,9T  1,6T  2,3T  41% /common/share/archive
zpool/dataset2           6,6T  4,3T  2,3T  66% /h2t
zpool                    5,2T  2,9T  2,3T  56% /zpool
zpool/dataset3           12T  8,8T  2,3T  80% /zpool/backup
zpool/dataset4           2,4T   28G  2,3T   2% /zpool/homes
zpool/dataset4/extern    2,7T  317G  2,3T  12% /zpool/homes/externstaff
zpool/homes/students      14T   12T  2,3T  84% /zpool/homes/students
zpool/temp               2,4T   50G  2,3T   3% /common/temp

Какие скорости вы на самом деле получаете? С каких нагрузок? Какие диски?

Обычно я бы не рекомендовал использовать аппаратный RAID под ZFS, но это можно сделать. Одна из вещей, которые люди склонны сильно ошибаться в отношении чередующихся массивов, заключается в том, что их производительность для большинства рабочих нагрузок стремится к производительности не замужем disk, а не в сторону количества дисков в массиве. В идеальных условиях можно получить пропускную способность 4-х дисков из 6-дискового массива raid6, но в большинство условий, вы привяжете IOPS, а не пропускную способность - и IOPS любого полосатого массива примерно соответствует одному диску, независимо от его ширины (и хуже чем шире массив, не лучше).

6 Гбит / с = ~ 768 МБ / сек; Я не ожидал получить что-то отдаленно похожее на такую ​​пропускную способность из кучи ржавых дисков в полосатых массивах снаружи. очень специализированные и очень тщательно контролируемые рабочие нагрузки. Если у вас есть несколько пользователей, обращающихся к пакетам файлов - не говоря уже о каких-либо базах данных или шаблонах доступа к виртуальным машинам, - вы не увидите ничего подобного этому уровню производительности.