RU2747213C1 - Способ перераспределения данных при расширении массива дисков - Google Patents

Способ перераспределения данных при расширении массива дисков Download PDF

Info

Publication number
RU2747213C1
RU2747213C1 RU2020120913A RU2020120913A RU2747213C1 RU 2747213 C1 RU2747213 C1 RU 2747213C1 RU 2020120913 A RU2020120913 A RU 2020120913A RU 2020120913 A RU2020120913 A RU 2020120913A RU 2747213 C1 RU2747213 C1 RU 2747213C1
Authority
RU
Russia
Prior art keywords
data
stripes
disk array
array
group
Prior art date
Application number
RU2020120913A
Other languages
English (en)
Inventor
Алексей Валерьевич Маров
Дмитрий Сергеевич Смирнов
Original Assignee
Общество с ограниченной ответственностью "РЭЙДИКС"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "РЭЙДИКС" filed Critical Общество с ограниченной ответственностью "РЭЙДИКС"
Priority to RU2020120913A priority Critical patent/RU2747213C1/ru
Application granted granted Critical
Publication of RU2747213C1 publication Critical patent/RU2747213C1/ru
Priority to US18/011,738 priority patent/US20230315324A1/en
Priority to PCT/RU2021/050162 priority patent/WO2021262038A1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Изобретение относится к вычислительной технике. Технический результат заключается в ускорении процедуры перераспределения данных при возможности осуществления запросов пользователей в процессе перераспределения. В способе перераспределения данных добавляют хотя бы один физический диск в дисковый массив, содержащий, по меньшей мере, два диска с первоначальным распределением данных по дискам массива, разбивают все страйпы первоначального дискового массива данных на группы, включающие k страйпов, при этом число k страйпов из первоначальной конфигурации массива выбирают таким, чтобы при переносе данных из первоначальной конфигурации дискового массива в новую конфигурацию дискового массива переносимые данные, включая вычисленные контрольные суммы для нового массива данных, заняли целое число m страйпов, далее последовательно переносят данные каждой группы страйпов первоначального дискового массива в заранее зарезервированную область записи данных, а затем записывают данные этой группы страйпов в страйпы новой конфигурации дискового массива, при достижении условия, когда размер свободной области между перемещенными и неперемещенными данными новой конфигурации дискового массива становится больше, чем размер переносимой группы страйпов, переносят и записывают данные каждой группы страйпов первоначального дискового массива непосредственно в страйпы новой конфигурации дискового массива, и при переносе данных последней группы страйпов первоначального дискового массива в страйпы новой конфигурации дискового массива прекращают перераспределение данных, причем при переносе данных разрешают обращаться к массиву данных по запросам пользователей. 7 з.п. ф-лы, 8 ил.

Description

ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к системам хранения данных на дисках и способам перераспределения данных при увеличении числа дисков и изменении уровня RAID (рейда).
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Процесс перераспределения данных (рестрайпинг, англ. restriping) - это процесс перемещения данных из одной конфигурации дискового пространства в системе хранения данных с контрольными суммами (RAID) в другую конфигурацию дискового пространства для увеличения физического пространства RAID и тем самым производительности системы хранения данных, и/или изменения уровня RAID с целью повышения отказоустойчивости системы.
Известна система и способ перераспределения данных по множеству томов по патенту ЕР1880324, публикация 23.01.2008, МПК G06F-003/06. Способ предполагает распределение данных по дискам в виде страйпов с одинаковыми номерами и перераспределение данных при добавлении дисков. Перераспределение данных предполагает определение того, находятся ли страйпы на правильном объеме дисков, и если это не так, перемещает страйпы на правильный объем.
Известен патент CN102880424, публикация 28.10.2015, МПК G06F-003/06, в котором описана система и способ перераспределения данных в системе RAID. Способ может выполняться периодически, непрерывно, после каждого изменения RAID-устройства, после добавления дисководов и/или перед удалением дисководов. Система включает в себя подсистему RAID и диспетчер дисков, сконфигурированный для автоматического вычисления оценки для каждого RAID-устройства.
Наиболее близким является техническое решение, описанное в патенте ЕР2021904, публикация 2009-02-11, МПК G06F-003/06. Решение относится к системам и способам перераспределения данных в RAID. Способ предусматривает перемещение данных с исходного устройства RAID на альтернативное устройство RAID и удаление исходного устройства RAID.
При этом остается актуальной задача повышения быстродействия процедуры перераспределения данных при осуществлении рестрайпинга.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Техническим результатом изобретения является ускорение процедуры перераспределения данных при возможности осуществления запросов пользователей в процессе перераспределения.
Способ перераспределения данных при расширении массива дисков во время работы компьютерной системы включает следующие операции.
Добавляют хотя бы один физический диск в дисковый массив, содержащий, по меньшей мере, два диска с первоначальным распределением данных по дискам массива.
Разбивают все страйпы первоначального дискового массива данных на группы, включающие к страйпов, при этом число к страйпов из первоначальной конфигурации массива выбирают таким, чтобы при переносе данных из первоначальной конфигурации дискового массива в новую конфигурацию дискового массива, переносимые данные, включая вычисленные контрольные суммы для нового массива данных, заняли целое число m страйпов.
Далее последовательно переносят данные каждой группы страйпов первоначального дискового массива в заранее зарезервированную область записи данных, а затем записывают данные этой группы страйпов в страйпы новой конфигурации дискового массива.
При достижении условия, когда размер свободной области между перемещенными и не перемещенными данными новой конфигурации дискового массива становится больше чем размер переносимой группы страйпов, переносят и записывают данные каждой группы страйпов первоначального дискового массива непосредственно в страйпы новой конфигурации дискового массива.
И при переносе данных последней группы страйпов первоначального дискового массива в страйпы новой конфигурации дискового массива прекращают перераспределение данных.
В частном случае выполнения при достижении условия, когда размер свободной области между перемещенными и не перемещенными данными новой конфигурации дискового массива становится больше чем размер переносимых, по меньшей мере, одной группы страйпов, переносят и записывают данные, по меньшей мере, двух страйпов одной группы одновременно.
Кроме того, при достижении условия, когда размер свободной области между перемещенными и не перемещенными данными новой конфигурации дискового массива становится больше чем размер переносимых, по меньшей мере, двух групп страйпов переносят и записывают данные, по меньшей мере, двух групп страйпов.
В частности, при переносе данных разрешают обращаться к массиву данных по запросам пользователей.
При этом, устанавливают приоритет процессу переноса данных от нуля до ста процентов приоритета, зависящий от обращений по запросам пользователей. Регулировку приоритета осуществляют путем выделения периода времени между переносом одной группы страйпов до времени начала переноса последующей группы страйпов.
В одном варианте выполнения, при потере или искажении данных в процессе перераспределения данных, прерывают перераспределение данных, восстанавливают данные, а далее продолжают перенос данных групп страйпов.
В другом варианте выполнения, при потере или искажении данных в процессе перераспределения данных, выполняют перераспределение данных до конца, а далее восстанавливают данные, который были утрачены или искажены.
В еще одном варианте, при потере или искажении данных в процессе перераспределения данных, восстановление данных производят одновременно с переносом данных, для тех областей дискового массива, которые не попадают в текущую группу страйпов переноса.
В данной заявке используются следующие термины:
Блок - в RAID массивах диски логически разбиваются на блоки одинакового размера.
Страйп - последовательность блоков с одинаковыми номерами, расположенных на разных дисках RAID массива.
Группа страйпов - два и более страйпов разных дисков RAID массива.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг. 1 показано состояние RAID-массива перед началом процесса переноса данных из начальной конфигурации массива в новую конфигурацию массива.
На Фиг. 2 приведена схема первой итерации переноса данных из начальной конфигурации массива в новую конфигурацию массива.
На Фиг. 3 приведена схема второй итерации переноса данных из начальной конфигурации массива в новую конфигурацию массива.
На Фиг. 4 приведена схема третьей итерации переноса данных из начальной конфигурации массива в новую конфигурацию массива.
На Фиг. 5 приведена блок схема процесса перераспределения данных.
На Фиг. 6 приведена блок схема процесса последовательного переноса страйпов одной группы.
На Фиг. 7 приведена блок схема процесса параллельного переноса страйпов одной группы.
На Фиг. 8 приведена блок схема регулировки скорости процесса переноса данных при разном приоритете.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Способ перераспределения данных при расширении массива дисков во время работы компьютерной системы относится к системе хранения данных при переходе из одной конфигурации массива дисков в другую, при добавлении дисков для увеличения физического пространства RAID. При этом возможно также изменение уровня RAID с целью повышения отказоустойчивости системы. Пример расширения массива дисков показан на Фиг.1. К четырем имеющимся дискам первоначальной конфигурации массива добавляются два диска, и новая конфигурация дискового массива включает шесть дисков.
Первоначальный массив дисков содержит страйпы А, В, С, D, Е, F которые содержат на каждом диске блоки А1, А2, A3 с данными и контрольными суммами Р начального уровня RAID в страйпе А, и других страйпахА, В, С, D, Е, F дисков 1-4.
При этом, расширение может происходить как путем добавления новых физических дисков, так и путем расширения дискового массива другим способом, например, за счет добавления другого рейд массива или системы хранения в качестве устройства рейда.
Первоначально разбивают все страйпы А, В, С, D, Е, F… первоначального дискового массива данных на группы, включающие к страйпов. В данном способе перераспределение данных производится одновременно для нескольких страйпов - группы страйпов. Тем самым достигается ускорение процедуры перераспределения данных, так как в известных способах перенос осуществляется по одному страйпу или по одному блоку.
При этом, количество страйпов к в группе страйпов из первоначальной конфигурации массива выбирают таким, чтобы при переносе данных из первоначальной конфигурации дискового массива в новую конфигурацию дискового массива, переносимые данные, включая вычисленные контрольные суммы для нового массива данных, заняли целое число m страйпов.
Далее последовательно переносят данные каждой группы страйпов первоначального дискового массива в заранее зарезервированную, свободную область записи данных (backup сору). Размер свободной области записи данных рассчитывается таким образом, чтобы всегда поместились данные переносимой группы страйпов максимального размера.
Затем записывают данные этих групп страйпов в страйпы новой конфигурации дискового массива.
Процесс перераспределения данных, когда перенос данных группы страйпов сначала производится в заранее зарезервированную область записи данных, а затем в страйпы новой конфигурации дискового массива показан на Фиг.2 - Фиг. 4. В процессе перераспределения данных запись в заранее зарезервированную, свободную область производится чтобы избежать порчи данных в случае отказов во время этого процесса. В процессе переноса, если это необходимо, рассчитываются новые контрольные суммы данных вместо старых Pi, где Pi - это контрольная сумма в страйпе i старой конфигурации рейда. В примере реализации рассматривается вариант с расширением уровня RAID, значит с расчетом новых контрольных сумм Si,j, где Si,j - контрольная сумма номер j в страйпе i новой конфигурации рейда
На Фиг. 2 приведена схема первой итерации переноса данных из начальной конфигурации массива в новую конфигурацию массива. При этом этап записи в заранее зарезервированную область, для простоты понимания на рисунках опущен. При первой итерации перемещаются данные первой группы страйпов из старой конфигурации в новую. Данные перемещаемой группы страйпов в данном примере охватывают страйпы старой конфигурации с номерами 0-3, включающие данные, находящиеся в блоках 1-11 и контрольные суммы Р03. В новой конфигурации дискового массива данные и новые контрольные суммы S0,0- S2,0 и S0,1-S2,1 будут размещены в страйпах с номерами 0-2. В один момент времени переносится только одна группа страйпов. Обращение к данным страйпов, находящихся в процессе переноса, по запросам пользователей блокируются до окончания перемещения группы страйпов. Вопросы приоритета процесса перераспределения данных или процесса выполнения запросов пользователей при переносе, рассматриваются ниже.
После окончания первой итерации в новой конфигурации массива между перенесенными данными (страйпы с номерами 0-2) и еще не перенесенными данными (страйп номер 4 и последующие страйпы) образуется свободный, не занятый данными страйп номер 3.
Во время второй итерации переноса данных из начальной конфигурации массива в новую конфигурацию массива (Фиг. 3), происходит перенос данных группы страйпов под номерами 4-7, блоки 12-23 и соответствующие контрольные суммы. Они записываются в новой конфигурации массива в страйпы с номерами 3-5. При этом рассчитываются соответствующие новые контрольные суммы. По окончании этой итерации образуется свободная зона, не занятая данными, состоящая уже из двух страйпов, с номерами 6-7.
На третьей итерации происходят такие же процессы переноса данных, сначала запись данных группы страйпов в свободную, заранее зарезервированную область, а затем в новую конфигурацию массива в страйпы под номерами 6-8, блоки 24-35 и соответствующие контрольные суммы. По окончании этой итерации образуется свободная зона, не занятая данными, состоящая уже из трех страйпов, с номерами 9-11.
Таким образом каждая итерация переноса данных группы страйпов в новую конфигурацию массива будет расширять свободную зону между перенесенными данными и еще не перенесенными данными. На какой-то итерации, в данном примере после третьей итерации, достигается условие, когда размер свободной области между перемещенными и не перемещенными данными новой конфигурации дискового массива становится больше чем размер переносимой группы страйпов.
При достижении этого условия переносят и записывают данные каждой группы страйпов первоначального дискового массива непосредственно в страйпы новой конфигурации дискового массива, минуя этап промежуточной записи в заранее зарезервированную область. Такой переход в данном способе перераспределения данных при расширении массива дисков во время работы компьютерной системы не затрагивает хранимые данные и позволяет еще более ускорить перенос данных.
Так же при достижении этого условия перенос страйпов одной группы может выполняться не последовательно по одному страйпу, а параллельно для всех страйпов группы. Таким образом чтение данных необходимых для расчета контрольных сумм согласно уровню рейда и количеству дисков новой конфигурации, расчет контрольных сумм и запись данных выполняется одновременно для всех страйпов группы. Такой подход существенно повышает скорость переноса данных.
Более того, когда размер области между перемещенными и не перемещенными данными новой конфигурации дискового массива становится больше чем размер нескольких переносимых групп страйпов, перенос данных может выполняться параллельно не только для страйпов одной группы, но и сразу для нескольких групп страйпов.
Таким образом, перемещение данных в свободную, заранее зарезервированную область производится не всегда, а только в начале процесса перераспределения данных при расширении массива дисков.
Процесс перераспределения данных при расширении массива дисков иллюстрируется блок схемой на Фиг. 5. Первоначально производится инициализация начальных условий перераспределения данных к которым относится номер текущей группы переноса, размер группы переноса, количество групп в рейде, размер свободной области между перемещенными и не перемещенными данными старой и новой конфигурациями дискового массива, время ожидания между переносом групп согласно приоритету. Далее, после проверки не проведено ли полное перераспределение данных, проверяется условие, необходимо ли проводить перераспределение данных через зарезервированную область записи данных или может быть произведено перераспределение данных непосредственно из данных каждой группы страйпов первоначальной конфигурации дискового массива непосредственно в страйпы новой конфигурации дискового массива. После осуществления следующей итерации переноса данных производится обновление значения счетчика перенесенных групп страйпов и цикл повторяется.
Необходимо отметить, что благодаря наличию счетчика перенесенных групп и внутренней хэш таблицы, в которой для каждой группы при процессе рестрайпинга хранится текущее количество запросов от пользователя и запросов на перенос данных, перераспределение данных может происходить без остановки пользовательской нагрузки на основное хранилище.
Из блок схемы на Фиг. 5, перенос данных группы страйпов может осуществляться синхронно, по одному страйпу (блок а) или асинхронно, параллельно по всем страйпам (блок b). Таким образом в группе страйпы могут переноситься один за другим, то есть последовательно (синхронно), или асинхронно, то есть переносится сразу несколько страйпов группы.
На Фиг. 6 приведена блок схема синхронного, по одному страйпу, последовательного перераспределения данных. При последовательном переносе страйпов группы, для каждого страйпа по очереди сперва производится чтение данных необходимых для расчета контрольных сумм согласно уровню рейда и количеству дисков новой конфигурации. Затем прочитанные блоки и контрольные суммы записываются в новое местоположение, согласно новой конфигурации рейда. Только после окончания записи страйпа происходит переход к обработке следующего страйпа.
На Фиг. 7 приведена блок схема асинхронной, параллельной по всем страйпам, последовательности перераспределения данных При параллельном переносе всех страйпов группы, сперва выполняется чтение всех блоков данных старой конфигурации, необходимых для записи и расчета контрольных сумм новой конфигурации. Когда для какого-то страйпа X новой конфигурации прочитаны все блоки данных, то для него выполняется расчет контрольных сумм согласно уровню рейда и количеству дисков новой конфигурации. Это событие может происходить одновременно для нескольких страйпов. После расчета контрольных сумм страйпа X выполняется запись его блоков данных и контрольных сумм согласно новой конфигурации. Выполняется ожидание того, что для всех страйпов группы будет выполнена запись согласно новой конфигурации. Далее происходит переход к следующей группе страйпов, если не все группы были перенесены.
В процессе переноса данных может произойти отказа дисков дисковой корзины в RAID, повреждение части диска или другой отказ в системе хранения данных, при котором отказавшие данные могут быть восстановлены за счет наличия в RAID контрольных сумм.
В процессе восстановления данных при перераспределении возможны три варианта.
В первом варианте при потере или искажении данных в процессе перераспределения данных, прерывают перераспределение данных, восстанавливают данные, а далее продолжают перенос данных групп страйпов.
Во втором варианте при потере или искажении данных в процессе перераспределения данных, выполняют перераспределение данных до конца, а далее восстанавливают данные, который были утрачены или искажены.
В третьем варианте при потере или искажении данных в процессе перераспределения данных, восстановление данных производят одновременно с переносом данных, для тех областей дискового массива, которые не попадают в текущую группу страйпов переноса.
Важной отличительной особенностью способа является возможность управления приоритетом перераспределения данных или приоритетом выполнения запросов пользователей.
Приоритет задает администратор системы хранения данных как число от 0 до 100%. Приоритет регулирует время, которое процесс перераспределения данных будет ждать между переносом одной группы рестрайпинга и началом переноса следующей группы перераспределения данных, например, 5 миллисекунд, тем самым снижая влияние на пользовательскую нагрузку.
Если приоритет выставлен 100%, то даже при наличии пользовательской нагрузки на массив данных, не будет происходить ожидание между переносом одной группы и другой, таким образом перераспределения данных будет работать с максимальной скоростью.
Если приоритет перераспределения данных выставлен 0%, то при наличии пользовательской нагрузки, перераспределение данных будет ожидать пока нагрузка прекратится, а потом перераспределение данных продолжится.
Если приоритет перераспределения данных между 0% и 100%, то время ожидания пропорционально приоритету. Таким образом можно регулировать скорость перераспределения данных в зависимости от приоритета и нагрузки пользователя.
Процедура управления приоритетом поясняется блок схемой на Фиг. 8. Управление приоритетом осуществляется за счет подсчета количества запросов в течение определенного времени и проверки пользовательской нагрузки на массив данных также за определенное время.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Заявленный способ может быть применен для увеличения производительности RAID-массива и его размера за счет добавления дискового пространства при сохранении или увеличении надежности сохранения информации. Во время перераспределения данных может быть произведена смена уровня RAID-массива. При этом пользовательская нагрузка на систему хранения может осуществляться, при этом может меняться приоритет между перераспределением данных и пользовательской нагрузкой.
Процесс перераспределения данных - рестрайпинга происходит быстрее и он является более ориентированным на запросы пользователей систем хранения данных, так как запросы пользователей могут не прерываться.

Claims (13)

1. Способ перераспределения данных при расширении массива дисков во время работы компьютерной системы, характеризующийся тем, что
- добавляют хотя бы один физический диск в дисковый массив, содержащий, по меньшей мере, два диска с первоначальным распределением данных по дискам массива;
- разбивают все страйпы первоначального дискового массива данных на группы, включающие k страйпов, при этом число k страйпов из первоначальной конфигурации массива выбирают таким, чтобы при переносе данных из первоначальной конфигурации дискового массива в новую конфигурацию дискового массива переносимые данные, включая вычисленные контрольные суммы для нового массива данных, заняли целое число m страйпов;
- далее последовательно переносят данные каждой группы страйпов первоначального дискового массива в заранее зарезервированную область записи данных, а затем записывают данные этой группы страйпов в страйпы новой конфигурации дискового массива;
- при достижении условия, когда размер свободной области между перемещенными и неперемещенными данными новой конфигурации дискового массива становится больше, чем размер переносимой группы страйпов, переносят и записывают данные каждой группы страйпов первоначального дискового массива непосредственно в страйпы новой конфигурации дискового массива;
- при переносе данных последней группы страйпов первоначального дискового массива в страйпы новой конфигурации дискового массива прекращают перераспределение данных, при этом при переносе данных разрешают обращаться к массиву данных по запросам пользователей.
2. Способ по п. 1, характеризующийся тем, что при достижении условия, когда размер свободной области между перемещенными и неперемещенными данными новой конфигурации дискового массива становится больше, чем размер переносимых, по меньшей мере, одной группы страйпов, переносят и записывают данные, по меньшей мере, двух страйпов одной группы одновременно.
3. Способ по п. 1, характеризующийся тем, что при достижении условия, когда размер свободной области между перемещенными и неперемещенными данными новой конфигурации дискового массива становится больше, чем размер переносимых, по меньшей мере, двух групп страйпов, переносят и записывают данные, по меньшей мере, двух групп страйпов.
4. Способ по п. 1, характеризующийся тем, что устанавливают приоритет процессу переноса данных от нуля до ста процентов приоритета, зависящий от обращений по запросам пользователей.
5. Способ по п. 4, характеризующийся тем, что регулировку приоритета осуществляют путем выделения периода времени между переносом одной группы страйпов до времени начала переноса последующей группы страйпов.
6. Способ по п. 1, характеризующийся тем, что при потере или искажении данных в процессе перераспределения данных прерывают перераспределение данных, восстанавливают данные, а далее продолжают перенос данных групп страйпов.
7. Способ по п. 1, характеризующийся тем, что при потере или искажении данных в процессе перераспределения данных выполняют перераспределение данных до конца, а далее восстанавливают данные, который были утрачены или искажены.
8. Способ по п. 1, характеризующийся тем, что при потере или искажении данных в процессе перераспределения данных восстановление данных производят одновременно с переносом данных для тех областей дискового массива, которые не попадают в текущую группу страйпов переноса.
RU2020120913A 2020-06-24 2020-06-24 Способ перераспределения данных при расширении массива дисков RU2747213C1 (ru)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2020120913A RU2747213C1 (ru) 2020-06-24 2020-06-24 Способ перераспределения данных при расширении массива дисков
US18/011,738 US20230315324A1 (en) 2020-06-24 2021-06-14 Method for redistributing data when a disk array is expanded
PCT/RU2021/050162 WO2021262038A1 (ru) 2020-06-24 2021-06-14 Способ перераспределения данных при расширении массива дисков

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020120913A RU2747213C1 (ru) 2020-06-24 2020-06-24 Способ перераспределения данных при расширении массива дисков

Publications (1)

Publication Number Publication Date
RU2747213C1 true RU2747213C1 (ru) 2021-04-29

Family

ID=75850886

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020120913A RU2747213C1 (ru) 2020-06-24 2020-06-24 Способ перераспределения данных при расширении массива дисков

Country Status (3)

Country Link
US (1) US20230315324A1 (ru)
RU (1) RU2747213C1 (ru)
WO (1) WO2021262038A1 (ru)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7647451B1 (en) * 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7937421B2 (en) * 2002-11-14 2011-05-03 Emc Corporation Systems and methods for restriping files in a distributed file system
EP2357552A1 (en) * 2006-05-24 2011-08-17 Compellent Technologies System and method for RAID management, reallocation and restriping
US8578090B1 (en) * 2005-04-29 2013-11-05 Netapp, Inc. System and method for restriping data across a plurality of volumes
RU2646312C1 (ru) * 2016-11-14 2018-03-02 Общество с ограниченной ответственностью "ИБС Экспертиза" Интегрированный программно-аппаратный комплекс

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5502836A (en) * 1991-11-21 1996-03-26 Ast Research, Inc. Method for disk restriping during system operation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937421B2 (en) * 2002-11-14 2011-05-03 Emc Corporation Systems and methods for restriping files in a distributed file system
US7647451B1 (en) * 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US8578090B1 (en) * 2005-04-29 2013-11-05 Netapp, Inc. System and method for restriping data across a plurality of volumes
EP2357552A1 (en) * 2006-05-24 2011-08-17 Compellent Technologies System and method for RAID management, reallocation and restriping
RU2646312C1 (ru) * 2016-11-14 2018-03-02 Общество с ограниченной ответственностью "ИБС Экспертиза" Интегрированный программно-аппаратный комплекс

Also Published As

Publication number Publication date
US20230315324A1 (en) 2023-10-05
WO2021262038A1 (ru) 2021-12-30

Similar Documents

Publication Publication Date Title
US10210045B1 (en) Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system
EP2180407B1 (en) Fast data recovery from HDD failure
US7971013B2 (en) Compensating for write speed differences between mirroring storage devices by striping
US5881311A (en) Data storage subsystem with block based data management
JP3249868B2 (ja) アレイ形式の記憶装置システム
US5457791A (en) Storage system and method of control
US7058762B2 (en) Method and apparatus for selecting among multiple data reconstruction techniques
US20050240813A1 (en) Restore method for backup
US20030126247A1 (en) Apparatus and method for file backup using multiple backup devices
KR20050013938A (ko) 하드 디스크 드라이브에서의 자율적인 데이터 스크럽시스템 및 방법
US6397348B1 (en) Redundant array of disk drives with asymmetric mirroring and asymmetric mirroring data processing method
KR19980021384A (ko) 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법
EP3311272A1 (en) A method of live migration
CN102164165A (zh) 一种网络存储系统的管理方法及装置
JP2021064283A (ja) ストレージ制御装置およびプログラム
US6304941B1 (en) Method and apparatus for reducing processor operations when adding a new drive to a raid-6 drive group
RU2747213C1 (ru) Способ перераспределения данных при расширении массива дисков
JP2001043031A (ja) 分散パリティ生成機能を備えたディスクアレイ制御装置
US8555007B2 (en) Storage system with journal disks dynamically assigned
JPH10254642A (ja) 記憶装置システム
JPH0863394A (ja) 記憶装置システムおよび記憶装置の制御方法
JPH10254645A (ja) 記憶装置および記憶装置サブシステム
JP3428350B2 (ja) 記憶装置システム
CN114721585A (zh) 存储管理方法、设备和计算机程序产品
US8977799B2 (en) Storage caching/tiering acceleration through staggered asymmetric caching