NVMe์˜ RAID ์–ด๋ ˆ์ด

NVMe์˜ RAID ์–ด๋ ˆ์ด
์ด ๊ธฐ์‚ฌ์—์„œ๋Š” RAID ์–ด๋ ˆ์ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ  NVMe๋ฅผ ์ง€์›ํ•˜๋Š” ์ตœ์ดˆ์˜ ํ•˜๋“œ์›จ์–ด RAID ์ปจํŠธ๋กค๋Ÿฌ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

RAID ๊ธฐ์ˆ ์˜ ๋‹ค์–‘ํ•œ ์‘์šฉ ๋ถ„์•ผ๋Š” ๋ชจ๋‘ ์„œ๋ฒ„ ๋ถ€๋ฌธ์—์„œ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์„ธ๊ทธ๋จผํŠธ์—์„œ๋Š” ๋‘ ๊ฐœ์˜ ๋””์Šคํฌ์— ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด RAID0 ๋˜๋Š” RAID1๋งŒ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ์—์„œ๋Š” RAID ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐœ์š”, ์„ธ ๊ฐ€์ง€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ RAID ์–ด๋ ˆ์ด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ํŠœํ† ๋ฆฌ์–ผ, ๊ฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ ๊ฐ€์ƒ ๋””์Šคํฌ ์„ฑ๋Šฅ ๋น„๊ต๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

RAID๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์œ„ํ‚ค ๋ฐฑ๊ณผ RAID ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ์ •์˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

RAID (์˜์–ด ๋…๋ฆฝ ๋””์Šคํฌ์˜ ์ค‘๋ณต ์–ด๋ ˆ์ด - ๋…๋ฆฝ(๋…๋ฆฝ) ๋””์Šคํฌ์˜ ์ค‘๋ณต ๋ฐฐ์—ด) - ๋‚ด๊ฒฐํ•จ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ฌผ๋ฆฌ์  ๋””์Šคํฌ ์žฅ์น˜๋ฅผ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ ๋ชจ๋“ˆ๋กœ ๊ฒฐํ•ฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

๋””์Šคํฌ ์–ด๋ ˆ์ด์˜ ๊ตฌ์„ฑ๊ณผ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ ์€ ์„ ํƒํ•œ ํ•ญ๋ชฉ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. RAID ๋ ˆ๋ฒจ. RAID ๋ ˆ๋ฒจ์€ ์‚ฌ์–‘์— ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ RAID ๋””์Šคํฌ ๋ฐ์ดํ„ฐ ํ˜•์‹. ๋‹ค์–‘ํ•œ RAID ๋ ˆ๋ฒจ์„ ์„ค๋ช…ํ•˜์ง€๋งŒ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ฒƒ์€ RAID0, RAID1, RAID5 ๋ฐ RAID6์ž…๋‹ˆ๋‹ค.

RAID0๋˜๋Š” ๋ฌธ์€ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ฌผ๋ฆฌ์  ๋“œ๋ผ์ด๋ธŒ๋ฅผ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ ๋“œ๋ผ์ด๋ธŒ๋กœ ๊ฒฐํ•ฉํ•˜๋Š” RAID ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค. ๋…ผ๋ฆฌ ๋””์Šคํฌ์˜ ๋ณผ๋ฅจ์€ ์–ด๋ ˆ์ด์— ํฌํ•จ๋œ ๋ฌผ๋ฆฌ ๋””์Šคํฌ์˜ ๋ณผ๋ฅจ์˜ ํ•ฉ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด RAID ์ˆ˜์ค€์—๋Š” ์ค‘๋ณต์„ฑ์ด ์—†์œผ๋ฉฐ ๋“œ๋ผ์ด๋ธŒ ํ•˜๋‚˜์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๊ฐ€์ƒ ๋””์Šคํฌ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜ํ‰ RAID1๋˜๋Š” ๊ฑฐ์šธ, ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋””์Šคํฌ์— ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋””์Šคํฌ์˜ ํฌ๊ธฐ๋Š” ๋ฌผ๋ฆฌ ๋””์Šคํฌ์˜ ์ตœ์†Œ ํฌ๊ธฐ๋ฅผ ์ดˆ๊ณผํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. RAID1 ๊ฐ€์ƒ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ๋Š” ์–ด๋ ˆ์ด์—์„œ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฌผ๋ฆฌ์  ๋””์Šคํฌ๊ฐ€ ์ž‘๋™ํ•˜๋Š” ํ•œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. RAID1์„ ์‚ฌ์šฉํ•˜๋ฉด ์ค‘๋ณต์„ฑ์ด ์ถ”๊ฐ€๋˜์ง€๋งŒ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋””์Šคํฌ ๋ฐฐ์—ด์—์„œ๋Š” ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋น„์šฉ์ด ๋งŽ์ด ๋“œ๋Š” ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.

์ˆ˜ํ‰ RAID5 ๋†’์€ ๋น„์šฉ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. RAID5 ๋ ˆ๋ฒจ์˜ ์–ด๋ ˆ์ด๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ์ตœ์†Œ 3๊ฐœ์˜ ๋””์Šคํฌ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ ์–ด๋ ˆ์ด๋Š” ๋””์Šคํฌ 5๊ฐœ์˜ ์˜ค๋ฅ˜์— ๊ฐ•ํ•ฉ๋‹ˆ๋‹ค. RAID5์˜ ๋ฐ์ดํ„ฐ๋Š” ์ฒดํฌ์„ฌ์ด ์žˆ๋Š” ๋ธ”๋ก์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋””์Šคํฌ์™€ ์ฒดํฌ์„ฌ ๋””์Šคํฌ ์‚ฌ์ด์—๋Š” ์—„๊ฒฉํ•œ ๊ตฌ๋ถ„์ด ์—†์Šต๋‹ˆ๋‹ค. RAID1์˜ ์ฒดํฌ์„ฌ์€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋””์Šคํฌ์—์„œ ๊ฐ€์ ธ์˜จ N-XNUMX ๋ธ”๋ก์— ์ ์šฉ๋œ XOR ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

RAID ์–ด๋ ˆ์ด๋Š” ์ค‘๋ณต์„ฑ์„ ๋†’์ด๊ณ  ์ค‘๋ณต์„ฑ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ๋ฐฑ์—…์„ ์ €์žฅํ•˜๋Š” ๋ฐ๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

RAID ์–ด๋ ˆ์ด ์œ ํ˜•์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์‚ดํŽด๋ณธ ํ›„ ๋””์Šคํฌ ์–ด๋ ˆ์ด๋ฅผ ์กฐ๋ฆฝํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์น˜ ๋ฐ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RAID ์ปจํŠธ๋กค๋Ÿฌ ์œ ํ˜•

RAID ์–ด๋ ˆ์ด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ด๊ฒฐ์ฑ…์„ ๊ณ ๋ คํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค:

  • ๋ฆฌ๋ˆ…์Šค ์†Œํ”„ํŠธ์›จ์–ด RAID.
  • Intelยฎ ๊ฐ€์ƒ RAID On CPU.
  • LSI MegaRAID 9460-8i.

์ธํ…”ยฎ ์†”๋ฃจ์…˜์€ ์นฉ์…‹์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ํ•˜๋“œ์›จ์–ด ์†”๋ฃจ์…˜์ธ์ง€ ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์ธ์ง€์— ๋Œ€ํ•œ ์˜๋ฌธ์ด ์ œ๊ธฐ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด VMWare ESXi ํ•˜์ดํผ๋ฐ”์ด์ €๋Š” VROC ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ณ ๋ คํ•˜๋ฉฐ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฆฌ๋ˆ…์Šค ์†Œํ”„ํŠธ์›จ์–ด RAID

Linux OS ์ œํ’ˆ๊ตฐ์˜ ์†Œํ”„ํŠธ์›จ์–ด RAID ์–ด๋ ˆ์ด๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋ถ€๋ฌธ ๋ชจ๋‘์—์„œ ์ƒ๋‹นํžˆ ์ผ๋ฐ˜์ ์ธ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ์–ด๋ ˆ์ด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ฒƒ์€ mdadm ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ๋ช‡ ๊ฐœ์˜ ๋ธ”๋ก ์žฅ์น˜๋ฟ์ž…๋‹ˆ๋‹ค. Linux ์†Œํ”„ํŠธ์›จ์–ด RAID๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋“œ๋ผ์ด๋ธŒ์— ์ ์šฉํ•˜๋Š” ์œ ์ผํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์€ ์‹œ์Šคํ…œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ธ”๋ก ์žฅ์น˜๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์žฅ๋น„์™€ ์†Œํ”„ํŠธ์›จ์–ด ๋น„์šฉ์ด ๋“ค์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์€ ์ด ๋ฐฉ๋ฒ•์˜ ๋ถ„๋ช…ํ•œ ์žฅ์ ์ž…๋‹ˆ๋‹ค. Linux ์†Œํ”„ํŠธ์›จ์–ด RAID๋Š” CPU ์‹œ๊ฐ„์„ ํฌ์ƒํ•˜์—ฌ ๋””์Šคํฌ ์–ด๋ ˆ์ด๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” RAID ์ˆ˜์ค€ ๋ชฉ๋ก๊ณผ ํ˜„์žฌ ๋””์Šคํฌ ๋ฐฐ์—ด ์ƒํƒœ๋Š” procfs ๋ฃจํŠธ์— ์žˆ๋Š” mdstat ํŒŒ์ผ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ ์ ˆํ•œ ์ปค๋„ ๋ชจ๋“ˆ์„ ์—ฐ๊ฒฐํ•˜๋ฉด RAID ๋ ˆ๋ฒจ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์˜ˆ:

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

๋””์Šคํฌ ์–ด๋ ˆ์ด์— ๋Œ€ํ•œ ๋ชจ๋“  ์ž‘์—…์€ mdadm ๋ช…๋ น์ค„ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋””์Šคํฌ ์–ด๋ ˆ์ด๋Š” ํ•˜๋‚˜์˜ ๋ช…๋ น์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

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

์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด /dev/md0 ๋ธ”๋ก ์žฅ์น˜๊ฐ€ ์‹œ์Šคํ…œ์— ๋‚˜ํƒ€๋‚˜๋ฉฐ ์ด๋Š” ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์ƒ ๋””์Šคํฌ๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

CPU ๊ธฐ๋ฐ˜ ์ธํ…”ยฎ ๊ฐ€์ƒ RAID

NVMe์˜ RAID ์–ด๋ ˆ์ด์ธํ…”ยฎ VROC ํ‘œ์ค€ ํ•˜๋“œ์›จ์–ด ํ‚ค
Intelยฎ VROC(Virtual RAID On CPU)๋Š” Intelยฎ ์นฉ์…‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ RAID ์–ด๋ ˆ์ด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ•˜๋“œ์›จ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์ˆ ์€ ์ฃผ๋กœ Intelยฎ Xeonยฎ Scalable ํ”„๋กœ์„ธ์„œ๋ฅผ ์ง€์›ํ•˜๋Š” ๋งˆ๋”๋ณด๋“œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ VROC๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด VROC ํ•˜๋“œ์›จ์–ด ๋ผ์ด์„ผ์Šค ํ‚ค๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ‘œ์ค€ VROC ๋ผ์ด์„ผ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 0, 1 ๋ฐ 10 RAID ์ˆ˜์ค€์˜ ๋””์Šคํฌ ์–ด๋ ˆ์ด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ฆฌ๋ฏธ์—„ ๋ฒ„์ „์€ RAID5 ์ง€์›์œผ๋กœ ์ด ๋ชฉ๋ก์„ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

์ตœ์‹  ๋งˆ๋”๋ณด๋“œ์˜ ์ธํ…”ยฎ VROC ๊ธฐ์ˆ ์€ NVMe ๋“œ๋ผ์ด๋ธŒ์— ํ•ซ์Šค์™‘ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์ธํ…”ยฎ ๋ณผ๋ฅจ ๊ด€๋ฆฌ ์žฅ์น˜(VMD)์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

NVMe์˜ RAID ์–ด๋ ˆ์ด์ธํ…”ยฎ VROC ํ‘œ์ค€ ๋ผ์ด์„ผ์Šค ์–ด๋ ˆ์ด๋Š” ์„œ๋ฒ„๊ฐ€ ๋ถ€ํŒ…๋  ๋•Œ ์„ค์ • ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํƒญ์—์„œ Advnaced ๋””์Šคํฌ ๋ฐฐ์—ด์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Intelยฎ Virtual RAID on CPU ํ•ญ๋ชฉ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

NVMe์˜ RAID ์–ด๋ ˆ์ด๋‘ ๊ฐœ์˜ ๋“œ๋ผ์ด๋ธŒ์— RAID1 ์–ด๋ ˆ์ด ์ƒ์„ฑ
์ธํ…”ยฎ VROC ๊ธฐ์ˆ ์—๋Š” ์ž์ฒด์ ์ธ ์—์ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. VROC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋œ ๋””์Šคํฌ ์–ด๋ ˆ์ด๋Š” Linux ์†Œํ”„ํŠธ์›จ์–ด RAID์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์–ด๋ ˆ์ด์˜ ์ƒํƒœ๋ฅผ /proc/mdstat์—์„œ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  mdadm์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด "๊ธฐ๋Šฅ"์€ Intel์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ • ์œ ํ‹ธ๋ฆฌํ‹ฐ์—์„œ RAID1์„ ์กฐ๋ฆฝํ•œ ํ›„ OS์—์„œ ๋“œ๋ผ์ด๋ธŒ ๋™๊ธฐํ™”๋ฅผ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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>

mdadm์„ ์‚ฌ์šฉํ•˜์—ฌ VROC์—์„œ ์–ด๋ ˆ์ด๋ฅผ ์กฐ๋ฆฝํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ(์กฐ๋ฆฝ๋œ ์–ด๋ ˆ์ด๋Š” Linux SW RAID๊ฐ€ ๋จ) ๊ทธ ์•ˆ์˜ ๋””์Šคํฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์–ด๋ ˆ์ด๋ฅผ ๋ถ„ํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

LSI ๋ฉ”๊ฐ€๋ ˆ์ด๋“œ 9460-8i

NVMe์˜ RAID ์–ด๋ ˆ์ดLSI MegaRAID 9460-8i ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ชจ์Šต
RAID ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋…๋ฆฝํ˜• ํ•˜๋“œ์›จ์–ด ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ปจํŠธ๋กค๋Ÿฌ์— ์ง์ ‘ ์—ฐ๊ฒฐ๋œ ๋“œ๋ผ์ด๋ธŒ์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด RAID ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ตœ๋Œ€ 24๊ฐœ์˜ NVMe ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋‹ค๋ฅธ ๋งŽ์€ ์ปจํŠธ๋กค๋Ÿฌ์™€ ์ฐจ๋ณ„ํ™”ํ•˜๋Š” ๊ฒƒ์€ NVMe ์ง€์›์ž…๋‹ˆ๋‹ค.

NVMe์˜ RAID ์–ด๋ ˆ์ดํ•˜๋“œ์›จ์–ด ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ฉ”์ธ ๋ฉ”๋‰ด
UEFI ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปจํŠธ๋กค๋Ÿฌ ์„ค์ •์ด ์„ค์ • ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. VROC์— ๋น„ํ•ด ํ•˜๋“œ์›จ์–ด ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”๋‰ด๋Š” ํ›จ์”ฌ ๋” ๋ณต์žกํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

NVMe์˜ RAID ์–ด๋ ˆ์ด๋‘ ๊ฐœ์˜ ๋””์Šคํฌ์— RAID1 ์ƒ์„ฑ
ํ•˜๋“œ์›จ์–ด ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋””์Šคํฌ ์–ด๋ ˆ์ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํžˆ ๋ฏธ๋ฌ˜ํ•œ ์ฃผ์ œ์ด๋ฉฐ ๋ณธ๊ฒฉ์ ์ธ ๊ธฐ์‚ฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ด์œ ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๊ธฐ๋ณธ ์„ค์ •์œผ๋กœ RAID0 ๋ฐ RAID1์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์œผ๋กœ๋งŒ ์ œํ•œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•˜๋“œ์›จ์–ด ์ปจํŠธ๋กค๋Ÿฌ์— ์—ฐ๊ฒฐ๋œ ๋””์Šคํฌ๋Š” ์šด์˜ ์ฒด์ œ์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋ชจ๋“  RAID ์–ด๋ ˆ์ด๋ฅผ SAS ๋“œ๋ผ์ด๋ธŒ๋กœ "๋งˆ์Šคํฌ"ํ•ฉ๋‹ˆ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€๋งŒ ๋””์Šคํฌ ์–ด๋ ˆ์ด์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹Œ ๋“œ๋ผ์ด๋ธŒ๋Š” OS์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

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.

NVMe ์–ด๋ ˆ์ด๋Š” SAS ๋“œ๋ผ์ด๋ธŒ๋กœ ์œ„์žฅ๋˜์–ด ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  PCIe ์†๋„๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ ˆ๊ฑฐ์‹œ์—์„œ NVMe์—์„œ ๋ถ€ํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ๋ฒค์น˜

๋””์Šคํฌ ์–ด๋ ˆ์ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋ฐฉ๋ฒ•์—๋Š” ๊ณ ์œ ํ•œ ๋ฌผ๋ฆฌ์  ์žฅ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋””์Šคํฌ ์–ด๋ ˆ์ด๋กœ ์ž‘์—…ํ•  ๋•Œ ์„ฑ๋Šฅ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์ตœ๋Œ€ํ•œ์˜ ๊ณต์ •์„ฑ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋Š” ๋™์ผํ•œ ์„œ๋ฒ„์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ:

  • 2x ์ธํ…”ยฎ ์ œ์˜จยฎ 6240;
  • 12x DDR4-2666 16GB;
  • LSI MegaRAID 9460-8i;
  • ์ธํ…”ยฎ VROC ํ‘œ์ค€ ํ•˜๋“œ์›จ์–ด ํ‚ค;
  • 4x ์ธํ…”ยฎ SSD DC P4510 U.2 2TB;
  • 1x ์‚ผ์„ฑ 970 EVO Plus M.2 500GB.

ํ…Œ์ŠคํŠธ ์žฅ์น˜๋Š” P4510์ด๋ฉฐ, ์ ˆ๋ฐ˜์€ ๋งˆ๋”๋ณด๋“œ์— ์—ฐ๊ฒฐ๋˜๊ณ  ๋‚˜๋จธ์ง€ ์ ˆ๋ฐ˜์€ RAID ์ปจํŠธ๋กค๋Ÿฌ์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. M.2๋Š” Ubuntu 20.04๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ํ…Œ์ŠคํŠธ๋Š” fio ๋ฒ„์ „ 3.16์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ

์šฐ์„ , ๋””์Šคํฌ ์ž‘์—… ์‹œ ์ง€์—ฐ์„ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋Š” ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์—์„œ ์‹คํ–‰๋˜๋ฉฐ ๋ธ”๋ก ํฌ๊ธฐ๋Š” 4KB์ž…๋‹ˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ๋Š” 5๋ถ„ ๋™์•ˆ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํ•ด๋‹น ๋ธ”๋ก ์žฅ์น˜๋Š” I/O ์Šค์ผ€์ค„๋Ÿฌ๋กœ ์—†์Œ์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. fio ๋ช…๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

fio ๊ฒฐ๊ณผ์—์„œ ์šฐ๋ฆฌ๋Š” clat 99.00%๋ฅผ ์ทจํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜ ํ‘œ์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌด์ž‘์œ„ ํŒ๋…, ฮผs
๋ฌด์ž‘์œ„ ๋…น์Œ, ฮผs

๋””์Šคํฌ
112
78

๋ฆฌ๋ˆ…์Šค SW RAID, RAID0
113
45

VROC, RAID0
112
46

LSI, RAID0
122
63

๋ฆฌ๋ˆ…์Šค SW RAID, RAID1
113
48

VROC, RAID1
113
45

LSI, RAID1
128
89

๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์‹œ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ๊ฐ€์ƒ ๋“œ๋ผ์ด๋ธŒ์˜ ์„ฑ๋Šฅ์„ ํ™•์ธํ•˜๊ณ  ๋ฌผ๋ฆฌ ๋””์Šคํฌ์˜ ์„ฑ๋Šฅ๊ณผ ๋น„๊ตํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. fio๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น:

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

์„ฑ๋Šฅ์€ I/O ์ž‘์—… ์ธก๋ฉด์—์„œ ์ธก์ •๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜ ํ‘œ์— ์ œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌด์ž‘์œ„ ์ฝ๊ธฐ 1์Šค๋ ˆ๋“œ, IOPS
๋ฌด์ž‘์œ„ ์“ฐ๊ธฐ 1๊ฐœ ์Šค๋ ˆ๋“œ, IOPS
๋ฌด์ž‘์œ„ ์ฝ๊ธฐ 128๊ฐœ ์Šค๋ ˆ๋“œ, IOPS
๋ฌด์ž‘์œ„ ์“ฐ๊ธฐ 128๊ฐœ ์Šค๋ ˆ๋“œ, IOPS

๋””์Šคํฌ
11300
40700
453000
105000

๋ฆฌ๋ˆ…์Šค SW RAID, RAID0
11200
52000
429000
232000

VROC, RAID0
11200
52300
441000
162000

LSI, RAID0
10900
44200
311000
160000

๋ฆฌ๋ˆ…์Šค SW RAID, RAID1
10000
48600
395000
147000

VROC, RAID1
10000
54400
378000
244000

LSI, RAID1
11000
34300
229000
248000

ํ•˜๋“œ์›จ์–ด ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์— ๋น„ํ•ด ์ง€์—ฐ ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚˜๊ณ  ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

ํ•˜๋“œ์›จ์–ด ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐœ์˜ ๋””์Šคํฌ์—์„œ ๋””์Šคํฌ ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๋น„ํ•ฉ๋ฆฌ์ ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ RAID ์ปจํŠธ๋กค๋Ÿฌ ์‚ฌ์šฉ์ด ์ •๋‹นํ•œ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. NVMe ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง€์›ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ถœํ˜„์œผ๋กœ ์‚ฌ์šฉ์ž๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ๋” ๋น ๋ฅธ SSD๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

NVMe์˜ RAID ์–ด๋ ˆ์ด

๋“ฑ๋ก๋œ ์‚ฌ์šฉ์ž๋งŒ ์„ค๋ฌธ ์กฐ์‚ฌ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ์ œ๋ฐœ

RAID ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

  • 29,6%์˜ˆ, ํ•˜๋“œ์›จ์–ด ์†”๋ฃจ์…˜32

  • 50,0%์˜ˆ, ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜54

  • 16,7%18

  • 3,7%RAID๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Œ4

108๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ํˆฌํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. 14๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๊ถŒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€