GlusterFS์šฉ Linux ์ปค๋„ ์„ค์ •

๊ธฐ์‚ฌ์˜ ๋ฒˆ์—ญ์€ ๊ณผ์ • ์‹œ์ž‘ ์ „๋‚ ์— ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ๋ฆฌ๋ˆ…์Šค. ์ „๋ฌธ์ ์ธ".

GlusterFS์šฉ Linux ์ปค๋„ ์„ค์ •

์ฃผ๊ธฐ์ ์œผ๋กœ ์—ฌ๊ธฐ์ €๊ธฐ์„œ ์ปค๋„ ํŠœ๋‹์— ๊ด€ํ•œ Gluster์˜ ๊ถŒ์žฅ ์‚ฌํ•ญ๊ณผ ์ด๊ฒƒ์ด ํ•„์š”ํ•œ์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด ์ œ๊ธฐ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌํ•œ ํ•„์š”๋Š” ๊ฑฐ์˜ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์›Œํฌ๋กœ๋“œ์—์„œ ์ปค๋„์€ ๋งค์šฐ ์ž˜ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋‹จ์ ์ด ์žˆ์ง€๋งŒ. ์—ญ์‚ฌ์ ์œผ๋กœ Linux ์ปค๋„์€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์ฃผ์š” ๋ฐฉ๋ฒ•์œผ๋กœ ์บ์‹ฑ์„ ํฌํ•จํ•˜์—ฌ ๊ธฐํšŒ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ธฐ๊บผ์ด ์†Œ๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ด ๋ฐฉ๋ฒ•์€ ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ ๊ณผ๋ถ€ํ•˜ ์ƒํƒœ์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” CAD, EDA ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์ง‘์•ฝ์  ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ๋งŽ์€ ๊ฒฝํ—˜์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๊ณผ๋ถ€ํ•˜ ์ƒํƒœ์—์„œ ์†๋„๊ฐ€ ๋Š๋ ค์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋•Œ๋•Œ๋กœ ์šฐ๋ฆฌ๋Š” Gluster์—์„œ ๋ฌธ์ œ์— ๋ถ€๋”ช์ณค์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋‚  ๋™์•ˆ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๋””์Šคํฌ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ๊ด€์ฐฐํ•œ ํ›„ ๊ณผ๋ถ€ํ•˜, ์—„์ฒญ๋‚œ iowait, ์ปค๋„ ์˜ค๋ฅ˜(์ปค๋„ oops), ์ •์ง€ ๋“ฑ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ์‚ฌ๋Š” ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ์ˆ˜ํ–‰๋œ ๋งŽ์€ ํŠœ๋‹ ์‹คํ—˜์˜ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งค๊ฐœ ๋ณ€์ˆ˜ ๋•๋ถ„์— ์ „๋ฐ˜์ ์ธ ์‘๋‹ต์„ฑ์ด ํ–ฅ์ƒ๋˜์—ˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํด๋Ÿฌ์Šคํ„ฐ๋„ ํฌ๊ฒŒ ์•ˆ์ •ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ํŠœ๋‹๊ณผ ๊ด€๋ จํ•˜์—ฌ ๊ฐ€์žฅ ๋จผ์ € ์‚ดํŽด๋ด์•ผ ํ•  ๊ฒƒ์€ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ํ•˜์œ„ ์‹œ์Šคํ…œ(VM, ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ)์œผ๋กœ, ํ˜ผ๋™์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

VM.swappiness

๋งค๊ฐœ ๋ณ€์ˆ˜ vm.swappiness ์ปค๋„์ด RAM์— ๋น„ํ•ด ์Šค์™‘(์Šค์™‘, ํŽ˜์ด์ง•)์„ ์‚ฌ์šฉํ•˜๋Š” ์–‘์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์†Œ์Šค ์ฝ”๋“œ์—์„œ "๋งคํ•‘๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ›”์น˜๋Š” ๊ฒฝํ–ฅ"์œผ๋กœ ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋†’์€ swappiness๋Š” ์ปค๋„์ด ๋งคํ•‘๋œ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋‚ฎ์€ swappiness ๊ฐ’์€ ๊ทธ ๋ฐ˜๋Œ€๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ปค๋„์ด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋” ์ ๊ฒŒ ํŽ˜์ด์ง•๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ’์ด ๋†’์„์ˆ˜๋ก vm.swappiness, ์‹œ์Šคํ…œ์ด ์Šค์™‘์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์ด RAM์— ๋กœ๋“œ ๋ฐ ์–ธ๋กœ๋“œ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์Šค์™€ํ•‘์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด swapiness ๊ฐ’์ด ์ปค์•ผ ํ•œ๋‹ค๊ณ  ์ฃผ์žฅํ•˜์ง€๋งŒ ์ œ ๊ฒฝํ—˜์ƒ "0"์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ์„ฑ๋Šฅ์ด ๋” ์ข‹์•„์ง‘๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. lwn.net/Articles/100978

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

vm.vfs_cache_์••๋ ฅ

์ด ์„ค์ •์€ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ inode ๊ฐœ์ฒด(dentry ๋ฐ inode) ์บ์‹ฑ์„ ์œ„ํ•ด ์ปค๋„์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ๊ฐ’์ด 100์ธ ๊ฒฝ์šฐ ์ปค๋„์€ ํŽ˜์ด์ง€ ์บ์‹œ ๋ฐ ์Šค์™‘ ์บ์‹œ์— ๋Œ€ํ•ด "๊ณต์ •ํ•œ" ๊ธฐ์ค€์œผ๋กœ dentry ๋ฐ inode ์บ์‹œ๋ฅผ ํ•ด์ œํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. vfs_cache_pressure๋ฅผ ์ค„์ด๋ฉด ์ปค๋„์ด dentry ๋ฐ inode ์บ์‹œ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’์ด "0"์ด๋ฉด ์ปค๋„์€ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด dentry ๋ฐ inode ์บ์‹œ๋ฅผ ํ”Œ๋Ÿฌ์‹œํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ด๋กœ ์ธํ•ด ์‰ฝ๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. vfs_cache_pressure๋ฅผ 100 ์ด์ƒ์œผ๋กœ ๋†’์ด๋ฉด ์ปค๋„์ด dentry ๋ฐ inode ํ”Œ๋Ÿฌ์‹œ์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

GlusterFS๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ์™€ ๋งŽ์€ ์ž‘์€ ํŒŒ์ผ์„ ๊ฐ€์ง„ ๋งŽ์€ ์‚ฌ์šฉ์ž๋Š” inode/dentry ์บ์‹ฑ์œผ๋กœ ์ธํ•ด ์„œ๋ฒ„์—์„œ ์ƒ๋‹นํ•œ ์–‘์˜ RAM์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ปค๋„์ด ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์„ฑ๋Šฅ ์ €ํ•˜๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 40GB์˜ ๋ฉ”๋ชจ๋ฆฌ๋กœ . ์ด ๊ฐ’์„ 100 ์ด์ƒ์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋” ๊ณต์ •ํ•œ ์บ์‹ฑ๊ณผ ํ–ฅ์ƒ๋œ ์ปค๋„ ์‘๋‹ต์„ฑ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

vm.dirty_background_ratio ๋ฐ vm.dirty_ratio

์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜(vm.dirty_background_ratio)๋Š” ๋”ํ‹ฐ ํŽ˜์ด์ง€๊ฐ€ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ๋น„์œจ์„ ๊ฒฐ์ •ํ•˜๋ฉฐ, ๋„๋‹ฌํ•œ ํ›„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋”ํ‹ฐ ํŽ˜์ด์ง€๋ฅผ ๋””์Šคํฌ๋กœ ํ”Œ๋Ÿฌ์‹œํ•˜๊ธฐ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋น„์œจ์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ํŽ˜์ด์ง€๊ฐ€ ๋””์Šคํฌ๋กœ ํ”Œ๋Ÿฌ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์žฌ์„ค์ •์ด ์‹œ์ž‘๋˜๋ฉด ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ  ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜(vm.dirty_ratio)๋Š” ๊ฐ•์ œ ํ”Œ๋ž˜์‹œ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ๋”ํ‹ฐ ํŽ˜์ด์ง€๊ฐ€ ์ ์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฐฑ๋ถ„์œจ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž„๊ณ„๊ฐ’์— ๋„๋‹ฌํ•˜๋ฉด ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™๊ธฐ(์ฐจ๋‹จ)๋˜๊ณ  ์š”์ฒญํ•œ I/O๊ฐ€ ์‹ค์ œ๋กœ ์™„๋ฃŒ๋˜๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ๋””์Šคํฌ์— ์ €์žฅ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์†ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. I/O๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์บ์‹ฑ์ด ์—†๊ณ  I/O๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ I/O๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋ฉฐ ์ฐจ๋‹จ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋งŽ์€ ์ˆ˜์˜ ์ค‘๋‹จ๋œ ํ”„๋กœ์„ธ์Šค, ๋†’์€ ๋ถ€ํ•˜, ์‹œ์Šคํ…œ ๋ถˆ์•ˆ์ • ๋ฐ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์„ค์ •์„ ๋‚ฎ์ถ”๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋” ์ž์ฃผ ๋””์Šคํฌ๋กœ ํ”Œ๋Ÿฌ์‹œ๋˜๊ณ  RAM์— ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” 45-90GB ํŽ˜์ด์ง€ ์บ์‹œ๋ฅผ ๋””์Šคํฌ๋กœ ํ”Œ๋Ÿฌ์‹œํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋งŽ์€ ์‹œ์Šคํ…œ์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ํ”„๋ŸฐํŠธ ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ ธ ์ „๋ฐ˜์ ์ธ ์‘๋‹ต์„ฑ๊ณผ ์ƒํ˜ธ ์ž‘์šฉ์ด ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค.

"1" > /proc/sys/vm/pagecache

ํŽ˜์ด์ง€ ์บ์‹œ๋Š” ํŒŒ์ผ ๋ฐ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์บ์‹œ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํŒŒ์ผ ๋˜๋Š” ๋ธ”๋ก ์žฅ์น˜์˜ ์‹ค์ œ ๋‚ด์šฉ์ด ์žˆ๋Š” ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค. ์ด ์บ์‹œ๋Š” ๋””์Šคํฌ ์ฝ๊ธฐ ์ˆ˜๋ฅผ ์ค„์ด๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. "1" ๊ฐ’์€ RAM์˜ 1%๊ฐ€ ์บ์‹œ์— ์‚ฌ์šฉ๋˜๊ณ  RAM๋ณด๋‹ค ๋””์Šคํฌ์—์„œ ๋” ๋งŽ์€ ์ฝ๊ธฐ๊ฐ€ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ์„ค์ •์„ ๋ณ€๊ฒฝํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ ํŽ˜์ด์ง€ ์บ์‹œ ์ œ์–ด์— ๋Œ€ํ•ด ํŽธ์ง‘์ฆ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

"๊ธฐํ•œ" > /sys/block/sdc/queue/scheduler

I/O ์Šค์ผ€์ค„๋Ÿฌ๋Š” ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ๋Œ€๊ธฐ์—ด์„ ์ฒ˜๋ฆฌํ•˜๋Š” Linux ์ปค๋„ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ด๋ก ์ ์œผ๋กœ ์Šค๋งˆํŠธ RAID ์ปจํŠธ๋กค๋Ÿฌ์— "noop"๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Linux๋Š” ๋””์Šคํฌ์˜ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋””์Šคํฌ ๊ตฌ์กฐ๋ฅผ ์ž˜ ์•Œ๊ณ  ์žˆ๋Š” ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค ๊ฐ€๋Šฅํ•œ. ๊ทธ๋Ÿฌ๋‚˜ "๋งˆ๊ฐ"์ด ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. Linux ์ปค๋„ ์†Œ์Šค ์ฝ”๋“œ ๋ฌธ์„œ์—์„œ ์Šค์ผ€์ค„๋Ÿฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. linux/Documentation/block/*osched.txt. ๋˜ํ•œ ํ˜ผํ•ฉ ์ž‘์—…(๋งŽ์€ ์“ฐ๊ธฐ ์ž‘์—…) ์ค‘์— ์ฝ๊ธฐ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

"256" > /sys/block/sdc/queue/nr_requests

์Šค์ผ€์ค„๋Ÿฌ์— ์ „๋‹ฌ๋˜๊ธฐ ์ „์— ๋ฒ„ํผ์— ์žˆ๋Š” I/O ์š”์ฒญ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋‚ด๋ถ€ ํ ํฌ๊ธฐ(queue_depth)๋Š” I/O ์Šค์ผ€์ค„๋Ÿฌ์˜ nr_requests๋ณด๋‹ค ํฌ๋ฏ€๋กœ I/O ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์š”์ฒญ์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์ง€์ •ํ•˜๊ณ  ๋ณ‘ํ•ฉํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ์ตœ์ข… ๊ธฐํ•œ ๋ฐ CFQ ์Šค์ผ€์ค„๋Ÿฌ์˜ ๊ฒฝ์šฐ nr_requests๊ฐ€ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋‚ด๋ถ€ ๋Œ€๊ธฐ์—ด์˜ 2๋ฐฐ์ธ ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ์š”์ฒญ์„ ๋ณ‘ํ•ฉํ•˜๊ณ  ์žฌ์ •๋ ฌํ•˜๋ฉด ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ๊ณผ๋ถ€ํ•˜ ์ƒํƒœ์—์„œ ๋” ๋น ๋ฅด๊ฒŒ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

echo "16" > /proc/sys/vm/page-cluster

page-cluster ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•œ ๋ฒˆ์— ์Šค์™‘์— ๊ธฐ๋ก๋˜๋Š” ํŽ˜์ด์ง€ ์ˆ˜๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ์œ„์˜ ์˜ˆ์—์„œ RAID ์ŠคํŠธ๋ผ์ดํ”„ ํฌ๊ธฐ 16KB์— ๋”ฐ๋ผ ๊ฐ’์ด "64"์œผ๋กœ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. swappiness = 0์—์„œ๋Š” ์˜๋ฏธ๊ฐ€ ์—†์ง€๋งŒ swappiness๋ฅผ 10 ๋˜๋Š” 20์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ์ด ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด RAID ์ŠคํŠธ๋ผ์ดํ”„ ํฌ๊ธฐ๊ฐ€ โ€‹โ€‹64K์ผ ๋•Œ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

blockdev --setra 4096 /dev/<๊ฐœ๋ฐœ๋ช…> (-sdb, hdc ๋˜๋Š” dev_mapper)

๋งŽ์€ RAID ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๋ธ”๋ก ์žฅ์น˜ ์„ค์ •์€ ์ข…์ข… ๋”์ฐํ•œ ์„ฑ๋Šฅ์„ ์ดˆ๋ž˜ํ•ฉ๋‹ˆ๋‹ค. ์œ„ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด 4096 * 512๋ฐ”์ดํŠธ ์„นํ„ฐ์— ๋Œ€ํ•œ ๋ฏธ๋ฆฌ ์ฝ๊ธฐ๊ฐ€ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์˜ ๊ฒฝ์šฐ ์ปค๋„์ด I/O๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๊ฐ„ ๋™์•ˆ ์˜จ์นฉ ๋””์Šคํฌ ์บ์‹œ๋ฅผ ๋ฏธ๋ฆฌ ์ฝ๊ธฐ๋กœ ์ฑ„์›Œ ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค. ์บ์‹œ์—๋Š” ๋‹ค์Œ์— ์ฝ์„ ๋•Œ ์š”์ฒญ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ฆฌํŽ˜์น˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ์ž ์žฌ์ ์œผ๋กœ ์œ ์šฉํ•œ ๋””์Šคํฌ ์‹œ๊ฐ„์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์บ์‹œ ์™ธ๋ถ€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ž„์˜ I/O๊ฐ€ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ˆ˜์ค€์—์„œ ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ๊ถŒ์žฅ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋“ค์€ ์•„์ง ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์ŠคํŠธ๋ผ์ดํ”„ ํฌ๊ธฐ์™€ ์–ด๋ ˆ์ด์˜ ๋””์Šคํฌ ์ˆ˜๋ฅผ ์•Œ๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด๊ฒƒ์€ 5๊ฐœ์˜ ๋””์Šคํฌ๋กœ ๊ตฌ์„ฑ๋œ 64K ์ŠคํŠธ๋ผ์ดํ”„ raidXNUMX ์–ด๋ ˆ์ด์ž…๋‹ˆ๋‹ค(ํ•˜๋‚˜์˜ ๋””์Šคํฌ๊ฐ€ ํŒจ๋ฆฌํ‹ฐ์— ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ๋Š” XNUMX๊ฐœ). ์ด๋Ÿฌํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ์€ ์ด๋ก ์ ์ธ ๊ฐ€์ •์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ RAID ์ „๋ฌธ๊ฐ€์˜ ๋‹ค์–‘ํ•œ ๋ธ”๋กœ๊ทธ/๊ธฐ์‚ฌ์—์„œ ์ˆ˜์ง‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

-> ext4 fs, 5 disks, 64K stripe, units in 4K blocks
mkfs -text4 -E stride=$((64/4))
-> xfs, 5 disks, 64K stripe, units in 512-byte sectors
mkfs -txfs -d sunit=$((64*2)) -d swidth=$((5*64*2))

ํฐ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ ์œ„์— ๋‚˜์—ด๋œ ์ŠคํŠธ๋ผ์ดํ”„ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ฃผ์˜ ์œ„์—์„œ ์„ค๋ช…ํ•œ ๋ชจ๋“  ๊ฒƒ์€ ์ผ๋ถ€ ์œ ํ˜•์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด ๋งค์šฐ ์ฃผ๊ด€์ ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ๋Š” ๊ด€๋ จ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ์‚ฌ์ „ ์‚ฌ์šฉ์ž ํ…Œ์ŠคํŠธ ์—†์ด ๊ฐœ์„ ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์˜ ์ „๋ฐ˜์ ์ธ ์‘๋‹ต์„ฑ์„ ๊ฐœ์„ ํ•˜๊ฑฐ๋‚˜ ํ˜„์žฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์ž๋ฃŒ :

GlusterFS์šฉ Linux ์ปค๋„ ์„ค์ •

๋” ์ฝ์–ด๋ณด๊ธฐ

์ถœ์ฒ˜ : habr.com

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