LTO-4 Потребность в пропускной способности источника записи на ленту

Я собираюсь начать режим резервного копирования на магнитную ленту и хочу обеспечить достаточный поток данных на ленточный накопитель (поддерживаются целевые более 120 МБ), но не могу понять, как это сделать без выделенного исходного накопителя / массива, который простаивает, когда не записывает кассеты. В документации для нашего конкретного накопителя не упоминается минимальная пропускная способность.

Среда

  • Linux Debian запись на ленту с использованием mt & tar резервное копирование архивов RAR с записью восстановления, каждый размером ~ 1–300 ГБ
  • Ленты LTO-4 на ленточном накопителе Quantum TC-42BN через SAS по внешнему кабелю SFF
  • Сервер используется только для резервного копирования файлов, без сетевых служб или хранения файлов.
  • MD RAID-массивы с данными, которые периодически читаются / записываются скачкообразно в течение дня / ночи .

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

  1. Я предполагаю, что устойчивое падение пропускной способности источника до уровня ниже 10-20 МБ / с (или меньше) во время записи на ленту будет проблемой?
  2. Мне нужен источник, для которого не будет запланировано резервное копирование? По существу минимум 2 массива; один для резервного копирования и один для архивов и записи на ленту?
  3. Есть ли QOS для приводов / массивов, которые могли бы отдавать приоритет записи на ленту над всем остальным?
  4. Ленточные накопители LTO-4 дросселируют, поэтому существует ли общий нижний предел пропускной способности поддерживать для LTO-4 или сильно зависит от привода? Опять же, в документации упоминается максимальная расчетная скорость и «передача с переменной скоростью», но не упоминается, насколько переменная.
  5. Я что-то упускаю в этом уравнении производительности источника, или у вас есть необоснованные опасения?

Обновление:

Я решил минимизировать налоги с помощью одного потока ввода-вывода через задание архивации 600 ГБ, считывающее из массива со скоростью около 30 МБ / с во время записи tar на ленту с 4-х дискового RAID 6 с бытовым SATA. Лента определенно замедлилась до ползания из-за прослушивания диска, но, похоже, НЕ закончились данные или чистка обуви. Это говорит мне НЕ ожидать, что во время полного запланированного резервного копирования для конфигурации нашего оборудования все будет в порядке, но он может справиться с менее сложными задачами ввода-вывода при записи на ленту.

Следует отметить, что LOT4 ленты должны выполнить 56 сквозных проходов, чтобы эффективно записывать блоки размером ~ 14 ГБ, прежде чем они останутся на несколько секунд, чтобы замедлиться, а затем «уйти» в другом направлении. Думаю, это помогло сохранить накопитель «сытым» с данными при более низкой пропускной способности, поскольку у меня есть упреждающее чтение и асинхронная запись , установленное в stinit.def.

Еще одно примечание - это чтение "dd if = / dev / st0 of = / dev / null "только результат 107 МБ / с. Я предполагаю, что это реальная максимальная эффективная пропускная способность этого диска, а НЕ 120 МБ / с. Накопитель в настоящее время находится на выделенном SAS PCIe HBA, и другие карты PCIe не установлены.

Тем временем я установил RAID0 емкостью 1 ТБ в качестве буфера Disk2Tape и мне пришлось добавить еще один диск на сервер, чтобы это стало возможным.

] Я все равно хотел бы найти что-то вроде QOS для ленточного накопителя и установить высший приоритет записи на ленту, чтобы мы могли упростить наши массивы и сократить паразитные затраты на аппаратное обеспечение , но пока что я ' Я не вижу способа НЕ обойтись без выделенного буфера disk2tape, если я хочу обеспечить непрерывную запись независимо от того, какие запланированные задания попадают в массив.

2
задан 22 February 2018 в 20:05
2 ответа

В руководстве , которое я нашел , перечислены переменные скорости от 30,5 до 120 МБ / с с шагом ~ 7 МБ / с.

Кроме того, в накопителях LTO используются диски разумного размера. буферы для выравнивания потока данных и обеспечения индикатора для регулировки скорости, поэтому, если скорость чтения сильно не меняется или не очень низкая, обратное соединение должно быть минимальным.

С данными в довольно приличном массиве и больших файлах 120 МБ / с не следует Это даже не будет большой проблемой (если только файловая система не сильно фрагментирована). В нашем ленточном буфере используются два (медленных) накопителя емкостью 4 ТБ в массиве RAID 0, которые могут выдерживать около 270 МБ / с, но мы не записываем в буфер, пока записываются ленты.

1
ответ дан 3 December 2019 в 11:26

mbuffer - это небольшой и удобный инструмент, который может помочь вам поддерживать постоянный поток данных на ленточный накопитель . Он доступен в большинстве дистрибутивов Linux.

mbuffer - буферизует операции ввода-вывода и отображает пропускную способность. Он многопоточный, поддерживает сетевые соединения и предлагает больше возможностей, чем стандартный буфер.


Пример использования многопоточного сжатия на лету:

tar cvf - / backupdir | lbzip2 | mbuffer -m 4G -L -P 80> / dev / st0

  1. начать добавление файлов в архив tar файла
  2. (необязательно) сжать его с помощью lbzip2 для использования всех ядер ЦП
  3. начать заполнять буфер памяти
  4. после заполнения до 80% начать отправку данных на ленточный накопитель

mbuffer объяснение параметров:

  • -m 4 Размер буфера памяти 4 ГБ. Если необходимо или доступно, используйте буфер большего размера.
  • -L заблокирован в памяти (необязательно)
  • -P 80 начать запись на ленту после заполнения 80% буфера. Нет необходимости ставить 100, поскольку ленточному накопителю потребуется некоторое время, чтобы начать запись, и к тому времени он, вероятно, заполнится до 100%.

В этом примере, как только буфер заполняется до 80% емкости, он начинает отправлять данные на ленту, а mbuffer продолжает получать поток архива.

Если процесс архивирования идет медленно и mbuffer не получил данные достаточно быстро, чтобы не отставать от ленточного накопителя, он прекратит отправку данных на ленточный накопитель, когда они достигнут 0%. Как только буфер памяти будет заполнен до 80%, он начнет отправку данных на ленточный накопитель, и запись продолжится на полной скорости.

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

Вы также можете использовать mbuffer в обратном направлении, чтобы читать резервные данные с ленточного накопителя и сохранять поток на более медленный носитель или отправлять его через сеть.

1
ответ дан 3 December 2019 в 11:26

Теги

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