РАИД низови на НВМе

РАИД низови на НВМе
У овом чланку ћемо говорити о различитим начинима организовања РАИД низова, а такође ћемо приказати један од првих хардверских РАИД контролера са НВМе подршком.

Сва разноврсност апликација РАИД технологије налази се у сегменту сервера. У сегменту клијената најчешће се користи само софтверски РАИД0 или РАИД1 на два диска.

Овај чланак ће пружити кратак преглед РАИД технологије, кратак водич о томе како да креирате РАИД низове користећи три различита алата и поређење перформанси виртуелног диска коришћењем сваке методе.

Шта је РАИД?

Википедиа даје свеобухватну дефиницију РАИД технологије:

РАИД (Енглески сувишан низ независних дискова - редундантни низ независних (независних) дискова) - технологија виртуелизације података за комбиновање неколико физичких диск уређаја у логички модул ради повећања толеранције грешака и перформанси.

Конфигурација дисковних низова и коришћене технологије зависе од изабраног РАИД ниво. РАИД нивои су стандардизовани у спецификацији Уобичајени формат података РАИД диска. Описује многе РАИД нивое, али најчешћи су РАИД0, РАИД1, РАИД5 и РАИД6.

РАИДКСНУМКСИли стрипес, је РАИД ниво који комбинује два или више физичких дискова у један логички диск. Запремина логичког диска једнака је збиру запремина физичких дискова укључених у низ. Не постоји редундантност на овом РАИД нивоу, а квар једног диска може довести до губитка свих података на виртуелном диску.

Ниво РАИДКСНУМКСИли огледало, креира идентичне копије података на два или више дискова. Величина виртуелног диска не прелази минималну величину физичких дискова. Подаци на РАИД1 виртуелном диску биће доступни све док је барем један физички диск из низа оперативан. Коришћење РАИД1 додаје редундантност, али је прилично скупо решење, пошто је у низовима од два или више дискова доступан капацитет само једног.

Ниво РАИДКСНУМКС решава проблем високе цене. Да бисте креирали низ са РАИД5 нивоом, потребна су вам најмање 3 диска, а низ је отпоран на квар једног диска. Подаци у РАИД5 се чувају у блоковима са контролним сумама. Не постоји строга подела између дискова са подацима и дискова са контролним сумом. Контролне суме у РАИД5 су резултат КСОР операције примењене на Н-1 блокове, сваки преузет са другог диска.

Иако РАИД низови повећавају редундантност и обезбеђују редундантност, они нису погодни за чување резервних копија.

Након кратког излета у типове РАИД низова, можете прећи на уређаје и програме који вам омогућавају да саставите и користите дисковне низове.

Врсте РАИД контролера

Постоје два начина за креирање и коришћење РАИД низова: хардверски и софтверски. Размотрићемо следећа решења:

  • Линук софтверски РАИД.
  • Интел® виртуелни РАИД на ЦПУ-у.
  • ЛСИ МегаРАИД 9460-8и.

Имајте на уму да Интел® решење ради на чипсету, што поставља питање да ли је то хардверско или софтверско решење. На пример, хипервизор ВМВаре ЕСКСи узима у обзир ВРОЦ софтвер и званично га не подржава.

Линук софтверски РАИД

Софтверски РАИД низови у Линук ОС породици су прилично уобичајено решење и у сегменту клијента и сервера. Све што вам треба да креирате низ је услужни програм мдадм и неколико блок уређаја. Једини услов који Линук софтверски РАИД поставља на дискове које користи је да буде блок уређај доступан систему.

Одсуство трошкова за опрему и софтвер је очигледна предност ове методе. Линук софтверски РАИД организује низове дискова по цени ЦПУ времена. Списак подржаних нивоа РАИД-а и статус тренутних дискова могу се видети у датотеци мдстат, која се налази у корену процфс-а:

root@grindelwald:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] 
unused devices: <none>

Подршка за РАИД нивое се додаје повезивањем одговарајућег модула кернела, на пример:

root@grindelwald:~# modprobe raid456
root@grindelwald:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
unused devices: <none>

Све операције са дисковним низовима се изводе преко услужног програма командне линије мдадм. Низ дискова се саставља у једној команди:

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1

Након извршења ове команде, у систему ће се појавити блок уређај /дев/мд0, који вас представља као виртуелни диск.

Интел® виртуелни РАИД на ЦПУ-у

РАИД низови на НВМеИнтел® ВРОЦ стандардни хардверски кључ
Интел® Виртуал РАИД Он ЦПУ (ВРОЦ) је хардверска и софтверска технологија за креирање РАИД низова заснованих на Интел® скуповима чипова. Ова технологија је првенствено доступна за матичне плоче које подржавају Интел® Ксеон® Сцалабле процесоре. Подразумевано, ВРОЦ није доступан. Да бисте га активирали, морате инсталирати ВРОЦ хардверски лиценцни кључ.

Стандардна ВРОЦ лиценца вам омогућава да креирате низове дискова са 0, 1 и 10 РАИД нивоа. Премијум верзија проширује ову листу подршком за РАИД5.

Интел® ВРОЦ технологија на модерним матичним плочама ради у спрези са Интел® уређајем за управљање волуменом (ВМД), који пружа могућност замене НВМе дискова у току рада.

РАИД низови на НВМеИнтел® ВРОЦ стандардна лиценца Низови се конфигуришу преко услужног програма за подешавање када се сервер покрене. На картици Напредан Појављује се Интел® виртуелни РАИД на ЦПУ-у, где можете да конфигуришете низове дискова.

РАИД низови на НВМеКреирање РАИД1 низа на два диска
Интел® ВРОЦ технологија има своје асове у рукаву. Низови дискова направљени помоћу ВРОЦ-а су компатибилни са Линук софтверским РАИД-ом. То значи да се стање низова може пратити у /проц/мдстат и администрирати преко мдадм-а. Ову „карактеристику“ званично подржава Интел. Након склапања РАИД1 у услужном програму за подешавање, можете да посматрате синхронизацију диск јединица у ОС:

root@grindelwald:~# cat /proc/mdstat 
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 nvme2n1[1] nvme1n1[0]
      1855832064 blocks super external:/md127/0 [2/2] [UU]
      [>....................]  resync =  1.3% (24207232/1855832064) finish=148.2min speed=205933K/sec
      
md127 : inactive nvme1n1[1](S) nvme2n1[0](S)
      10402 blocks super external:imsm
       
unused devices: <none>

Имајте на уму да не можете саставити низове на ВРОЦ-у користећи мдадм (састављени низови ће бити Линук СВ РАИД), али можете да мењате дискове у њима и растављате низове.

ЛСИ МегаРАИД 9460-8и

РАИД низови на НВМеИзглед ЛСИ МегаРАИД 9460-8и контролера
РАИД контролер је самостално хардверско решење. Контролер ради само са драјвовима који су директно повезани на њега. Овај РАИД контролер подржава до 24 НВМе драјва. НВМе подршка је оно што овај контролер издваја од многих других.

РАИД низови на НВМеГлавни мени хардверског контролера
Када користите УЕФИ режим, подешавања контролера су интегрисана у услужни програм за подешавање. У поређењу са ВРОЦ-ом, мени хардверског контролера изгледа много сложеније.

РАИД низови на НВМеКреирање РАИД1 на два диска
Објашњење како да конфигуришете низове дискова на хардверском контролеру је прилично деликатна тема и може бити разлог за пуноправни чланак. Овде ћемо се једноставно ограничити на креирање РАИД0 и РАИД1 са подразумеваним подешавањима.

Дискови повезани на хардверски контролер нису видљиви за оперативни систем. Уместо тога, контролер „маскира“ све РАИД низове као САС дискове. Оперативни систем неће моћи да приступи дисковима који су повезани са контролером, али нису део низа дискова.

root@grindelwald:~# smartctl -i /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-48-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               AVAGO
Product:              MR9460-8i
Revision:             5.14
Compliance:           SPC-3
User Capacity:        1,999,844,147,200 bytes [1.99 TB]
Logical block size:   512 bytes
Rotation Rate:        Solid State Device
Logical Unit id:      0x000000000000000000000000000000
Serial number:        00000000000000000000000000000000
Device type:          disk
Local Time is:        Sun Oct 11 16:27:59 2020 MSK
SMART support is:     Unavailable - device lacks SMART capability.

Упркос томе што су маскирани као САС дискови, НВМе низови ће радити на ПЦИе брзинама. Међутим, ова функција вам омогућава да покренете систем са НВМе у Легаци.

Тест постоље

Сваки метод организовања дисковних низова има своје физичке предности и недостатке. Али да ли постоји разлика у перформансама када радите са дисковним низовима?

Да би се постигла максимална правичност, сви тестови ће се спроводити на истом серверу. Његова конфигурација:

  • 2к Интел® Ксеон® 6240;
  • 12к ДДР4-2666 16 ГБ;
  • ЛСИ МегаРАИД 9460-8и;
  • Интел® ВРОЦ стандардни хардверски кључ;
  • 4к Интел® ССД ДЦ П4510 У.2 2ТБ;
  • 1к Самсунг 970 ЕВО Плус М.2 500ГБ.

Тестне јединице су П4510, од ​​којих је једна половина повезана на матичну плочу, а друга половина на РАИД контролер. М.2 користи Убунту 20.04 и тестови ће се изводити помоћу фио верзије 3.16.

Тестирање

Пре свега, хајде да проверимо кашњења при раду са диском. Тест се изводи у једној нити, величина блока је 4 КБ. Сваки тест траје 5 минута. Пре покретања, одговарајући блок уређај је подешен на ништа као И/О планер. Команда фио изгледа овако:

fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio  --iodepth=1 --loops=1000 --runtime=300  --rw=<mode> --filename=<blkdev>

Од фио резултата узимамо клат 99.00%. Резултати су приказани у табели испод.

Насумично очитавање, μс
Насумично снимање, μс

диск
112
78

Линук СВ РАИД, РАИД0
113
45

ВРОЦ, РАИД0
112
46

ЛСИ, РАИД0
122
63

Линук СВ РАИД, РАИД1
113
48

ВРОЦ, РАИД1
113
45

ЛСИ, РАИД1
128
89

Поред кашњења при приступу подацима, желео бих да видим перформансе виртуелних дискова и упоредим их са перформансама физичког диска. Команда за покретање фио:

fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio  --loops=1000 --runtime=300  --iodepth=<threads> --rw=<mode> --filename=<blkdev>

Перформансе се мере у смислу И/О операција. Резултати су представљени у табели испод.

Насумично прочитана 1 нит, ИОПС
Насумично уписивање 1 нити, ИОПС
Насумично прочитано 128 нити, ИОПС
Насумично уписивање 128 нити, ИОПС

диск
11300
40700
453000
105000

Линук СВ РАИД, РАИД0
11200
52000
429000
232000

ВРОЦ, РАИД0
11200
52300
441000
162000

ЛСИ, РАИД0
10900
44200
311000
160000

Линук СВ РАИД, РАИД1
10000
48600
395000
147000

ВРОЦ, РАИД1
10000
54400
378000
244000

ЛСИ, РАИД1
11000
34300
229000
248000

Лако је видети да коришћење хардверског контролера доводи до повећања кашњења и смањења перформанси у поређењу са софтверским решењима.

Закључак

Коришћење хардверских решења за креирање низова дискова са два диска изгледа нерационално. Међутим, постоје задаци где је употреба РАИД контролера оправдана. Са појавом контролера који подржавају НВМе интерфејс, корисници имају прилику да користе брже ССД-ове у својим пројектима.

РАИД низови на НВМе

Само регистровани корисници могу учествовати у анкети. Пријавите се, Добродошао си.

Да ли користите РАИД решења?

  • 100%Да, хардверска решења32

  • 100%Да, софтверска решења54

  • 100%Но18

  • 100%Није потребан РАИД4

Гласало је 108 корисника. Уздржано је било 14 корисника.

Извор: ввв.хабр.цом

Додај коментар