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

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

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

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

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

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

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

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

๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ์‚ดํŽด๋ด์•ผ ํ•  ๊ฒƒ์€ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(VM) ํ•˜์œ„ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ํ˜ผ๋ž€์Šค๋Ÿฌ์šธ ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

VM.swappiness

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

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

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

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

vm.vfs_cache_pressure

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

๊ธฐ๋ณธ๊ฐ’ 100์„ ์‚ฌ์šฉํ•˜๋ฉด ์ปค๋„์€ pagecache ๋ฐ swapcache์— ๋น„ํ•ด 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

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

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))

๋” ํฐ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ ์œ„์˜ ์ŠคํŠธ๋ผ์ดํ”„ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”.

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

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

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

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

์ถœ์ฒ˜ : habr.com

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster