9 марта 2010 г.

Morley Parity

В большинстве книжек, объясняющих устройство RAID5, показана следующая картинка:


В случае дисковых массивов Clariion, классическая схема претерпевает несколько изменений. Во первых, если посмотреть на "моргание лампочек" при нагрузке на RAID group, можно заметить, что огоньки бегут справа на лево. Это означает, что адресация LBA томов в RAID организована начиная с дисков с большими номерами:


Во вторых, с FLARE версии 22 parity "перемещается" на следующий диск не в каждом stripe, а чередуя 8 stripes подряд. Такая организация называется Parity Morley.


Что нам дает использование этой схемы? Такой подход позволяет более эффективно выполнять операции с большими блоками. Ведь вместо записи или чтения отдельных stripe elements по 64KB, дисковый массив может оперировать в Back-end данными размером до 512KB на каждый шпиндель. Величина "выигрыша" зависит от того, с какими блоками выполняется опрерация. На картинке ниже приведены 2 примера, поясняющих это:




Скептик сразу заметит, что такие большие блоки надо еще поискать. Соглашусь с этим лишь отчасти. Кроме очевидных IO patterns резервного копирования или потоковой записи изображений, существуют масса других приложений, инициирующих в Back-end операции чтения или записи большими блоками. Во первых, необходимо учитывать процесс предвыборки данных при чтении (read prefetch). А во вторых возможности "склеивания" нескольких последовательно идущих операций записи в Back-end блоки больших размеров (write coalescing). 

RAID6 тоже использует Morley Parity.


Желающие отключить Morley Parity (ума не приложу, зачем это может понадобиться) могут использовать следующую команду naviseccli –h  bind –messner r5 –parityelements 1

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.