Я собираюсь начать режим резервного копирования на магнитную ленту, и я хочу, чтобы данные поступали на ленточный накопитель в достаточной степени (поддерживается целевое значение 120+ МБ), но не могу понять, как это сделать без выделенного исходного накопителя / массива, который простаивает, когда нет записывающие ленты. В документации к нашему конкретному диску не упоминается минимальная пропускная способность.
Окружающая среда
Если исходный массив имеет значительные операции чтения / записи (из запланированных резервных копий) во время записи на ленту, пропускная способность на ленту резко упадет, даже если временно. Итак, некоторые вопросы касались пропускной способности записи исходного массива / ленты:
Обновить:
Я решил минимизировать налоги с помощью одного потока ввода-вывода посредством чтения задания архива 600 ГБ из массива со скоростью около 30 МБ / с, когда tar записывался на ленту с 4-х дискового RAID 6 с потребительским SATA. Лента определенно замедлилась до ползания из-за прослушивания диска, но, похоже, НЕ закончились данные или чистка обуви. Это говорит мне НЕ ожидать, что все будет в порядке во время полного запланированного резервного копирования для наша конфигурация оборудования но он может справиться с менее трудоемкой работой ввода-вывода при записи на ленту.
Следует отметить, что ленты LOT4 должны выполнять 56 сквозных проходов, поэтому они эффективно записывают блоки размером ~ 14 ГБ, прежде чем останутся на несколько секунд, чтобы замедлиться, а затем «уйти» в другом направлении. Я думаю, что это помогло накопителю «запитывать» данные при более низкой пропускной способности, поскольку у меня читать дальше и async пишет установлен в stinit.def.
Еще одно замечание: чтение «dd if = / dev / st0 of = / dev / null» дало результат только 107 МБ / с. Я предполагаю, что это реальная максимальная эффективная пропускная способность этот накопитель, а НЕ 120 Мбайт / с. В настоящее время накопитель находится на выделенном адаптере шины SAS PCIe, другие карты PCIe не установлены.
Тем временем я установил RAID0 емкостью 1 ТБ в качестве буфера Disk2Tape, и мне пришлось добавить еще один диск к серверу, чтобы это стало возможным.
Я все равно хотел бы найти что-то вроде QOS для ленточного накопителя и установить высший приоритет записи на ленту, чтобы мы могли упростить наши массивы и снизить паразитные затраты на аппаратное обеспечение, но в то же время я не вижу способа НЕ обойтись без выделенного буфера disk2tape, если я хочу обеспечить непрерывную запись независимо от того, какие запланированные задания попадают в массив.
В mbuffer это небольшой и удобный инструмент, который поможет вам maintain sustained data flow to the tape drive
. Он доступен в большинстве дистрибутивов Linux.
mbuffer - буферизует операции ввода-вывода и отображает пропускную способность. Он многопоточен, поддерживает сетевые подключения и предлагает больше возможностей, чем стандартный буфер.
Пример использования многопоточного сжатия на лету:
tar cvf - / backupdir | lbzip2 | mbuffer -m 4G -L -P 80> / dev / st0
mbuffer параметры объяснены:
-m 4
Размер буфера памяти 4 ГБ. Если необходимо или доступно, используйте буфер большего размера. -L
заблокировано в памяти (необязательно) -P 80
начать запись на ленту после заполнения 80% буфера. Нет необходимости ставить 100, так как ленточному накопителю потребуется некоторое время, чтобы начать запись, и к тому времени он, вероятно, заполнится до 100%. В этом примере, когда буфер заполняется до 80% емкости, он начинает отправлять данные на ленту, а mbuffer продолжит получать поток архива.
Если процесс архивирования идет медленно и mbuffer не получил данные достаточно быстро, чтобы не отставать от ленточного накопителя, он прекратит отправку данных на ленточный накопитель, когда они достигнут 0%. Как только буфер памяти заполнится до 80%, он начнет отправлять данные на ленточный накопитель, и запись продолжится на полной скорости.
Таким образом, «чистота обуви» ленты сводится к минимуму, и ленточный накопитель всегда будет получать данные с максимальной скоростью, необходимой для поддержки потока.
Вы также можете использовать mbuffer в обратном направлении для чтения данных резервного копирования с ленточного накопителя и сохранения потока на более медленный носитель или для отправки его по сети.
В руководство я нашел перечислены переменные скорости от 30,5 до 120 МБ / с с шагом ~ 7 МБ / с.
Кроме того, в накопителях LTO используются буферы разумного размера для выравнивания потока данных и обеспечения индикатора для регулировки скорости, поэтому, если скорость чтения сильно не меняется или не очень низкая, обратное соединение должно быть минимальным.
С данными в довольно приличном массиве и больших файлах скорость 120 МБ / с даже не должна быть большой проблемой (если файловая система не сильно фрагментирована). В нашем ленточном буфере используются два (медленных) накопителя емкостью 4 ТБ в массиве RAID 0, которые могут выдерживать прибл. 270 МБ / с, но мы не записываем в буфер, пока записываются ленты.