๊ตฌ์ฑํ์ผ
- 1 ๊ฐ์
- 2 ํ์
- 3 ์น์
- 3.1 global
- 3.2 common
- 3.2.1 startup
- 3.3 resource
- 3.3.1 options
- 3.3.2 on
- 3.3.2.1 options
- 3.3.3 volume
- 3.3.4 floating
- 3.3.5 connection
- 3.3.6 path
- 3.3.7 connection-mesh
- 3.3.8 disk
- 3.3.9 peer-device-options
- 3.3.10 handlers
- 3.3.11 net
- 3.3.12 stacked-on-top-ofย
๊ฐ์
bsr์ ๋ก์ปฌ ๋ ธ๋์ ๋ฐ์ดํฐ๋ฅผ ํด๋ฌ์คํฐ์ ๋ชจ๋ ๋ค๋ฅธ ๋ ธ๋๋ก ๋ณต์ ํ๋ ๋ธ๋ก ์ฅ์น๋ฅผ ๊ตฌํํฉ๋๋ค. ์ฌ๊ธฐ์ ์ค์ ๋ฐ์ดํฐ ๋ฐ ์ด์ ๊ด๋ จํ ๋ฉํ ๋ฐ์ดํฐ๋ ๊ฐ ํด๋ฌ์คํฐ ๋ ธ๋์ "์ผ๋ฐ"๋ธ๋ก ์ฅ์น ๋ณผ๋ฅจ์ (์ผ๋ฐ์ ์ผ๋ก ์ธ๋ถ๋ฉํ์ผ ๊ฒฝ์ฐ)๊ฐ๋ณ์ ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. ๋ณต์ ๋ธ๋ก ์ฅ์น๋ ๊ธฐ๋ณธ์ ์ผ๋ก /dev/bsr<minor>ํ์์ผ๋ก ๋ช ๋ช ํ๊ฑฐ๋ ๋๋ ์ฅ์น์ ์ฌ๋ณผ๋ฆญ ๋งํฌ(๋ ํฐ)๋ก ์ง์ ์ง์ ํด์ผ ํฉ๋๋ค. ๋ฆฌ์์ค ๋น ํ๋ ์ด์์ ์ฅ์น๋ค์ด ๊ทธ๋ฃนํ ๋๊ณ ๊ฐ๊ฐ์ ์ฅ์น๋ค์ ๋ณ๋ ฌ์ ์ผ๋ก ๋ณต์ ํฉ๋๋ค. ๋ฆฌ์์ค ๋ด๋ถ์ ์ฅ์น๋ฅผ volume์ผ๋ก ์ง์ ํ๋ฉฐ ๋ ๊ฐ ์ด์์ ํด๋ฌ์คํฐ ๋ ธ๋๊ฐ์ ๋ฆฌ์์ค๋ฅผ ๋ณต์ ํ ์ ์์ต๋๋ค. ํด๋ฌ์คํฐ ๋ ธ๋ ๊ฐ ์ฐ๊ฒฐ์ ์ง์ ๊ฐ ๋งํฌ์ด๋ฉฐ TCP ํ๋กํ ์ฝ์ ์ฌ์ฉํฉ๋๋ค. bsr์ ๊ตฌ์ฑํ์ผ์ ์ดํดํ๊ณ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ณธ ๊ตฌ์ฑ์์ bsradm ๊ณผ ์ ์์ค์ ๊ตฌ์ฑ์์ bsrsetup, bsrmeta, bsrcon์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ bsr ๊ตฌ์ฑ์ /etc/bsr.conf ๋ฐ ์ฌ๊ธฐ์ ํฌํจ ๋ ์ถ๊ฐ ํ์ผ๋ค(์ผ๋ฐ์ ์ผ๋ก global_common.conf ๋ฐ /etc ๊ฒฝ๋ก์ ์์ ์๋ ๋ชจ๋ * .res ํ์ผ)๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ณดํต ๊ฐ ๋ฆฌ์์ค๋ฅผ etc/bsr.d/. ๊ฒฝ๋ก์์ ๋ณ๋์ * .res ํ์ผ๋ค๋ก ์ ์ํ๋ ๊ฒ์ด ์ ์ฉํฉ๋๋ค. ๊ตฌ์ฑ ํ์ผ์ ๊ฐ ํด๋ฌ์คํฐ ๋ ธ๋๊ฐ ์ ์ฒด ํด๋ฌ์คํฐ ๊ตฌ์ฑ์ ๋์ผํ ์ฌ๋ณธ์ ํฌํจํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ก๋ ๋ ธ๋ ๋ณ๋ก ๊ฐ๊ธฐ ๋ค๋ฅธ ๊ตฌ์ฑํ์ผ์ ๋ด์ฉ์ ๊ฐ์ ธ์ผ ํ ์๋ ์์ด์ ์ ๋์ ์ธ ๊ฒ์ ์๋๋๋ค.
resource r0 {
net {
protocol C;
}
disk {
resync-rate 10M;
c-plan-ahead 0;
resync-ratio "1:1";
}
on alice {
volume 0 {
device e minor 2;
disk e;
meta-disk f;
}
address 10.1.1.31:7789;
node-id 0;
}
on bob {
volume 0 {
disk e;
meta-disk f;
}
address 10.1.1.32:7789;
node-id 1;
}
} |
์ด ์์์๋ e ๋ ํฐ์ ๋ณผ๋ฅจ์ ๋จ์ผ ๋ณต์ ์ฅ์น๊ฐ ํฌํจ ๋ ๋ฆฌ์์ค r0๋ก ์ ์ํฉ๋๋ค. ์ด ๋ฆฌ์์ค๋ ๊ฐ๊ฐ IPv4 ์ฃผ์ 10.1.1.31 ๋ฐ 10.1.1.32์ ๋ ธ๋ ์๋ณ์ 0 ๋ฐ 1์ ๊ฐ์ง ํธ์คํธ alice ๋ฐ bob ๊ฐ์ ๋ณต์ ๋ฅผ ์ํํฉ๋๋ค. ์ค์ ๋ฐ์ดํฐ๋ e ๋ณผ๋ฅจ์ด์ง๋ง ๋ฐ ๋ฉํ ๋ฐ์ดํฐ๋ f ๋ณผ๋ฅจ์ ์ ์ฅ๋ฉ๋๋ค. ํธ์คํธ ๊ฐ ์ฐ๊ฒฐ์๋ ํ๋กํ ์ฝ C๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
ํ์
๊ตฌ์ฑ ํ์ผ์ ์น์ ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์น์ ์ ํ์ ๋ฐ๋ผ ๋ค๋ฅธ ์น์ ๊ณผ ๋งค๊ฐ๋ณ์๊ฐ ํฌํจ๋ฉ๋๋ค. ๊ฐ ์น์ ์ ํ๋ ์ด์์ ํค์๋, ์น์ ์ด๋ฆ, ์ฌ๋ ์ค๊ดํธ(โ{โ), ์น์ ์ ๋ด์ฉ, ๋ซ๋ ์ค๊ดํธ(โ}โ)๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์น์ ๋ด์ ๋งค๊ฐ๋ณ์๋ ํค์๋์ ๊ทธ ๋ค์ ํ๋ ์ด์์ ํค์๋ ๋๋ ๊ฐ, ์ธ๋ฏธ์ฝ๋ก (โ;โ)์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ผ๋ถ ๋งค๊ฐ ๋ณ์ ๊ฐ์๋ ์ผ๋ฐ ์ซ์๋ฅผ ์ง์ ํ ๋ ์ ์ฉ๋๋ ๊ธฐ๋ณธ ์ค์ผ์ผ์ด ์์ต๋๋ค (์ : Kilo). ์ด๋ฌํ ๊ธฐ๋ณธ ์ค์ผ์ผ์ ์ ๋ฏธ์ฌ (์ : M์ ๊ฒฝ์ฐ Mega)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ ์ ํ ์ ์์ต๋๋ค. ๊ณตํต ์ ๋ฏธ์ฌ๋ K = 2 ^ 10 = 1024, M = 1024 K ๋ฐ G = 1024 M์ด ์ง์๋ฉ๋๋ค.
์ฃผ์์ ํด์ ๊ธฐํธ(โ#โ)๋ก ์์ํ์ฌ ์ค ๋๊น์ง ์ธ์๋ฉ๋๋ค. ๋ํ ์น์ ์์ ํค์๋ skip ์ ๋ถ์ด๋ฉด ํด๋น ์น์ ๊ณผ ๋ชจ๋ ํ์ ์น์ ์ด ๋ฌด์๋ฉ๋๋ค. include โํ์ผ ํจํด โ๋ฌธ์ ์ถ๊ฐ ํ์ผ์ ํฌํจํ ์ ์์ต๋๋ค(ํ์ผ ํจํด์์ ์ง์๋๋ ํํ์์ glob(7)์ ์ฐธ์กฐํ์ธ์). include ๋ฌธ์ ์น์ ์ธ๋ถ์์๋ง ํ์ฉ๋ฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ์น์ ์ด ์ ์๋ฉ๋๋ค. ๋ค์ฌ ์ฐ๊ธฐ ๋ ์น์ ์ด ํ์ ์น์ ์ ๋๋ค.
global
common
[disk]
[handlers]
[net]
[options]
[startup]
resource
options
on
options
volume
disk
[disk]
floating
connection
path
net
volume
peer-device-options
[peer-device-options]
connection-mesh
net
[disk]
handlers
[net]
stacked-on-top-of
startup |
์์์ ๋๊ดํธ ์์ ์น์ ์ ๊ตฌ์ฑ์ ๋ค๋ฅธ ๋ถ๋ถ์ ์ํฅ์ ์ค๋๋ค. common ์น์ ์ ๋ด์ฉ์ ๋ชจ๋ ๋ฆฌ์์ค์ ์ ์ฉ๋ฉ๋๋ค. ๋ฆฌ์์ค ๋๋ on ๋ด์ ๋์คํฌ ์น์ ์ ํด๋น ๋ฆฌ์์ค์ ๋ชจ๋ ๋ณผ๋ฅจ์ ์ ์ฉ๋๋ฉฐ, ๋ฆฌ์์ค ์น์ ๋ด๋ถ์ net ์น์ ์ ํด๋น ๋ฆฌ์์ค์ ๋ชจ๋ ์ฐ๊ฒฐ์ ์ ์ฉ๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ฐ resource, connection ๋๋ volume ์ ๋ํด ๋์ผํ ์ต์ ์ด ๋ฐ๋ณต๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ๋ณด๋ค ๊ตฌ์ฒด์ ์ธ ์ต์ ์ resource, connection, on ๋๋ volume ์น์ ์์ ์ฌ์ ์ํ ์ ์์ต๋๋ค. peer-device ์ต์ ์ resync-ratio, resync-rate, c-plan-ahead, c-delay-target, c-fill-target, c-max-rate ๋ฐ c-min-rate ๋ก ์ ์๋๋ฉฐ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ๋ชจ๋ disk ์น์ ์์๋ ์ง์ ํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ๋ชจ๋ ๊ด๋ จ ์ฐ๊ฒฐ๋ก ์์๋ฉ๋๋ค. connection ์น์ ์ ๋ถ์ฌ ๋ ๊ฒฝ์ฐ ํด๋น connection์ ๋ชจ๋ ๋ณผ๋ฅจ์ ์์๋ฉ๋๋ค. "peer-device-options"์น์ ์ "disk"ํค์๋๋ก ์์๋ฉ๋๋ค.
ย
์น์
global
์ ์ญ ๋งค๊ฐ ๋ณ์๋ฅผ ์ ์ํฉ๋๋ค. ์ด ์น์ ์ ๋ชจ๋ ๋งค๊ฐ ๋ณ์๋ ์ ํ ์ฌํญ์ ๋๋ค. ๊ตฌ์ฑ์์ ํ๋์ global ์น์ ๋ง ํ์ฉ๋ฉ๋๋ค.
ย
dialog-refreshย time
bsr ์ด๊ธฐํ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฅ์น๋ฅผ ๊ตฌ์ฑํ๊ณ ์์ํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ๋ค๋ฅธ ํด๋ฌ์คํฐ ๋ ธ๋ ๋๊ธฐ์ ๊ด๋ จ ๋ ์ ์์ต๋๋ค. ๊ธฐ๋ค๋ฆฌ๋ ๋์ init ์คํฌ๋ฆฝํธ๋ ๋จ์ ๋๊ธฐ ์๊ฐ์ ๋ณด์ฌ์ค๋๋ค. ๋ํ ์์ ์๋ก ๊ณ ์นจ์ ํด๋น ์นด์ดํธ ๋ค์ด ์ ๋ฐ์ดํธ ์ฌ์ด์ ์๊ฐ (์ด)์ ์ ์ํ๊ณ ๊ธฐ๋ณธ๊ฐ์ 1์ ๋๋ค. ๊ฐ์ด 0์ด๋ฉด ์นด์ดํธ ๋ค์ด์ด ๊บผ์ง๋๋ค.
disable-ip-verification
์ผ๋ฐ์ ์ผ๋ก bsr์ ๊ตฌ์ฑ์ IP ์ฃผ์๊ฐ ํธ์คํธ ์ด๋ฆ๊ณผ ์ผ์นํ๋์ง ํ์ธํฉ๋๋ค. disable-ip-verification ๋งค๊ฐ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๊ฒ์ฌ๋ฅผ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
usage-countย {yes | no | ask}
์ฌ์ฉ ํต๊ณ๋ฅผ ์ทจํฉํ๋ ๊ธฐ๋ฅ์ด์ง๋ง bsr ์์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
hostname hostname-alias
ํธ์คํธ ์ด๋ฆ์ ๋ณ์นญ์ ์ง์ ํ ์ ์์ต๋๋ค. ์ง์ ํ hostname-alias ๋ฅผ on ์น์ ์ hostname ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
ย
common
์ด ์น์ ์๋ ๊ฐ disk, handler, network, options ๋ฐ startup ์น์ ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ๋ชจ๋ ๋ฆฌ์์ค๋ค์ ์ด ์น์ ์ ๋งค๊ฐ ๋ณ์๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์์ํฉ๋๋ค.
startup
์ด ์น์ ์ ๋งค๊ฐ ๋ณ์๋ ์์คํ ์์์ bsr init ์คํฌ๋ฆฝํธ์์ bsr์ ๋์์ ์ ์ํฉ๋๋ค. ์์คํ ์ด ์์๋์ด bsr ์ด ์คํ๋๊ณ ๋ ํ์ ๋์ด์ ์๋ฌด๋ฐ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.
๋ค๋ง ์ด ์น์ ์ ์์ฑ๋ค์ ํ์ ํธํ์ ์ํด ์กด์ฌํ๋ฉฐ bsr์์ ๋๋ถ๋ถ ํ๊ธฐ๋์์ต๋๋ค.
degr-wfc-timeoutย timeoutย
ํด๋ฌ์คํฐ๊ฐ ๋จ์ผ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์์คํ ์ด ๋ค์ด ๋ ๋ ๋ชจ๋ ํผ์ด๊ฐ ์ฐ๊ฒฐ๋ ๋๊น์ง ๋๊ธฐํ๋ ์๊ฐ์ ์ ์ํฉ๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๋ ์ผ๋ฐ์ ์ผ๋ก wfc-timeout๋ณด๋ค ์์ ๊ฐ์ผ๋ก ์ค์ ๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ฆฌ๋ถํ ์ ์ ๋๋ฌ ํ ์์๋ ํผ์ด๊ฐ ๋ฆฌ๋ถํ ํ์ ๋๋ฌ ํ ๊ฐ๋ฅ์ฑ์ด ์ ์ผ๋ฏ๋ก ๋๊ธฐํ๋ ๊ฒ์ด ๋์์ด๋์ง ์๋๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์๊ฐ ์ด๊ณผ๋ ์ด ๋จ์๋ก ์ง์ ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 0์ด๋ฉฐ ๋ฌดํ ์๊ฐ ์ด๊ณผ๋ฅผ ๋ํ๋ ๋๋ค. bsr์์ ์ง์ํ์ง ์์ต๋๋ค.
outdated-wfc-timeoutย timeout
์์คํ ์ด ๋ค์ด ๋ ๋ ๋ชจ๋ ํผ์ด๊ฐ outdated ์ด๋ฉด ๋ชจ๋ ํผ์ด๊ฐ ์ฐ๊ฒฐ๋ ๋๊น์ง ๋๊ธฐํ๋ ์๊ฐ์ ์ ์ํฉ๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๋ ์ผ๋ฐ์ ์ผ๋ก wfc-timeout๋ณด๋ค ์์ ๊ฐ์ผ๋ก ์ค์ ๋ฉ๋๋ค. ์ฌ๊ธฐ์ outdated ํผ์ด๋ ๊ทธ ๋์ Primary ๋ ธ๋๊ฐ ๋ ์ ์์ผ๋ฏ๋ก ์ด์ ์ ์กด์ฌ ํ๋ ๋ ธ๋ ๋งํผ ๊ธฐ๋ค๋ฆด ํ์๊ฐ ์์ต๋๋ค. ์๊ฐ ์ด๊ณผ๋ ์ด ๋จ์๋ก ์ง์ ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 0์ด๋ฉฐ ๋ฌดํ ์๊ฐ ์ด๊ณผ๋ฅผ ๋ํ๋ ๋๋ค. bsr์์ ์ง์ํ์ง ์์ต๋๋ค.
stacked-timeouts
์ง์ํ์ง ์์ต๋๋ค.
wait-after-sb
์ด ๋งค๊ฐ ๋ณ์๋ ์คํ๋ฆฟ ๋ธ๋ ์ธ ์ํฉ์ด ๊ฐ์ง ๋ ๊ฒฝ์ฐ์๋ bsr์ด init ์คํฌ๋ฆฝํธ์์ ๊ณ์ ๋๊ธฐํ๋๋ก ํ์ฌ ๋ ธ๋๊ฐ ์๋ก ์ฐ๊ฒฐ์ ๊ฑฐ๋ถํ๊ฒ ํฉ๋๋ค.
wfc-timeoutย timeout
๋ชจ๋ ํผ์ด๊ฐ ์ฐ๊ฒฐ๋ ๋๊น์ง init ์คํฌ๋ฆฝํธ๊ฐ ๋๊ธฐํ๋ ์๊ฐ์ ์ ์ ํฉ๋๋ค. ์ด๋ ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌ ํ ์ ์๋ ํด๋ฌ์คํฐ ๊ด๋ฆฌ์์ ๊ฒฐํฉํ์ฌ ์ ์ฉํ ์ ์์ต๋๋ค. ํด๋ฌ์คํฐ ๊ด๋ฆฌ์๊ฐ ์์๋๋ฉด ๋ฆฌ์์ค๊ฐ ์ด๋ฏธ ์คํ ์ค์ ๋๋ค. ์๊ฐ ์ด๊ณผ๋ ์ด ๋จ์๋ก ์ง์ ๋ฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ 0์ด๋ฉฐ ๋ฌดํ ์๊ฐ ์ด๊ณผ๋ฅผ ๋ํ๋ ๋๋ค. bsr์์ ์ง์ํ์ง ์์ต๋๋ค.
ย
ย
resource
ย
resourceย [name]
๋ฆฌ์์ค๋ฅผ ์ ์ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฐ ์ด์์ ์น์ ๊ณผ ํ๋ ์ด์์ connection ์น์ ์ด ์์ต๋๋ค.
options
๋ฆฌ์์ค์ ๋ํ ๋งค๊ฐ ๋ณ์๋ฅผ ์ ์ํฉ๋๋ค. ์ด ์น์ ์ ๋ชจ๋ ๋งค๊ฐ ๋ณ์๋ ์ ํ ์ฌํญ์ ๋๋ค.
ย
auto-promoteย bool-value
์ง์ํ์ง ์์ต๋๋ค.
cpu-maskย cpu-mask
์ง์ํ์ง ์์ต๋๋ค.
on-no-data-accessibleย policy
์์ฒญ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ก์ปฌ์์ ์ ๊ทผํ ์ ์๋ ๊ฒฝ์ฐ(์ : ๋ชจ๋ ๋์คํฌ์ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ) I/O ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํฉ๋๋ค. bsr ์์ ์ง์ํ์ง ์์ต๋๋ค.
peer-ack-windowย value
๊ฐ ๋ ธ๋์ ๊ฐ ์ฅ์น์์ bsr์ ๊ฐ ํผ์ด ์ฅ์น์ ๋ํ ๋ก์ปฌ ๋ฐ์ดํฐ์ ์๊ฒฉ ๋ฐ์ดํฐ์ ์ฐจ์ด์ ์ ๋ํ ๋นํธ๋งต์ ์ ์งํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋จ์ผ ์ฅ์น๊ฐ ์๋ 3๋ ธ๋ ์ค์ (๋ ธ๋ A, B, C)์์ ๋ชจ๋ ๋ ธ๋๋ ๊ฐ ํผ์ด์ ๋ํด ํ๋์ ๋นํธ๋งต์ ์ ์งํฉ๋๋ค. ๋ ธ๋๊ฐ ์ฐ๊ธฐ ์์ฒญ์ ๋ฐ์ผ๋ฉด ์ฐ๊ธฐ ๋ ธ๋์ ๋ํ ๋นํธ๋งต์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ง๋ง ๋ค๋ฅธ ๋ ธ๋๋ค ๊ฐ์ ๋นํธ๋งต์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ๋ฒ์ ์์ง ๋ชปํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฐ๊ธฐ ์์ฒญ์ด ๋ ธ๋ A์์ B์ C๋ก ์ ํ ๋ ๋ ๋ ธ๋ B์ C๋ ๋ ธ๋ A์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง ๋ ๋ค ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ์ฌ๋ถ๋ ์์ง ๋ชปํฉ๋๋ค. ์ด์ ๋ํ ํด๊ฒฐ์ฑ ์ผ๋ก, ์ฐ๊ธฐ ๋ ธ๋๋ ๋๋๋ก peer-ack ํจํท์ ํผ์ด๋ก ๋ณด๋ด ์๋ก์๊ฒ ์ด๋ค ์ํ์ธ์ง ์๋ ค์ค๋๋ค. peer-ack-window ๋งค๊ฐ ๋ณ์๋ peer-ack ํจํท์ ๋ณด๋ด๊ธฐ ์ ์ Primary ๋ ธ๋๊ฐ ์ ์กํ ์ ์๋ ๋ฐ์ดํฐ์ ์์ ์ง์ ํฉ๋๋ค. ๊ฐ์ด ๋ฎ์ผ๋ฉด ๋คํธ์ํฌ ํธ๋ํฝ์ด ์ฆ๊ฐํฉ๋๋ค. ๊ฐ์ด ํฌ๋ฉด ๋คํธ์ํฌ ํธ๋ํฝ์ ์ค์ด๋ค์ง ๋ง Secondary ๋ ธ๋์ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ ์ฆ๊ฐํ๊ณ Primary ๋ ธ๋ ์ฅ์ ํ Secondary ๋ ธ๋ ๊ฐ์ ์ฌ ๋๊ธฐํ ์๊ฐ์ด ๊ธธ์ด์ง๋๋ค. ์ฐธ๊ณ ๋ก peer-ack ํจํท์ ๋ค๋ฅธ ์ด์ ๋ก ์ธํด ์ ์ก ๋ ์๋ ์์ต๋๋ค(์ : ๋ฉค๋ฒ์ฝ ๋ณ๊ฒฝ ๋๋ โpeer-ack-delay ํ์ด๋จธ"์ ๋ง๋ฃ). peer-ack-window์ ๊ธฐ๋ณธ ๊ฐ์ 2MiB์ด๋ฉฐ, ๊ธฐ๋ณธ ๋จ์๋ ์นํฐ์ ๋๋ค.
peer-ack-delayย expiry-time
๋ง์ง๋ง์ผ๋ก ์๋ฃ๋ ์ฐ๊ธฐ ์์ฒญ ํ์ ๋ง๊ธฐ ์๊ฐ ๋์ ์๋ก์ด ์ฐ๊ธฐ ์์ฒญ์ด ๋ฐํ๋์ง ์์ผ๋ฉด peer-ack ํจํท์ด ์ ์ก๋ฉ๋๋ค. ํ์ด๋จธ๊ฐ ๋ง๋ฃ๋๊ธฐ ์ ์ ์๋ก์ด ์ฐ๊ธฐ ์์ฒญ์ด ๋ฐํ๋๋ฉด ํ์ด๋จธ๋ ๋ง๋ฃ ์๊ฐ์ผ๋ก ์ฌ ์ค์ ๋ฉ๋๋ค. (์ฐธ๊ณ : ๋ฉค๋ฒ์ญ ๋ณ๊ฒฝ ๋๋ "peer-ack-window"์ต์ ๊ณผ ๊ฐ์ ๋ค๋ฅธ ์ด์ ๋ก peer-ack ํจํท์ด ์ ์ก ๋ ์๋ ์์ต๋๋ค) ์ด ๋งค๊ฐ ๋ณ์๋ ์๊ฒฉ ๋ ธ๋์ ์ฌ ๋๊ธฐํ ๋์์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ํผ์ด ๋ ธ๋๋ AL ์ต์คํ ํธ์์ ์ ๊ธ์ ํด์ ํ๊ธฐ ์ํด peer-ack ์ ๋ฐ์ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. ํผ์ด ๊ฐ์ ์ฌ ๋๊ธฐํ ์์ ์ด ์ด๋ฌํ ์ ๊ธ์ ๊ธฐ๋ค๋ ค์ผ ํ ์๋ ์์ต๋๋ค. peer-ack-delay์ ๊ธฐ๋ณธ ๊ฐ์ 100 ๋ฐ๋ฆฌ ์ด์ด๋ฉฐ ๊ธฐ๋ณธ ๋จ์๋ ๋ฐ๋ฆฌ ์ด์ ๋๋ค.
max-req-write-count
๋ฆฌ์์ค์ ํ์ฉ๋ ์ ์๋ ์ฒ๋ฆฌ ์ค(inflight)์ธ ์ฐ๊ธฐ I/O ์์ฒญ ์ต๋ ํ์ ์ ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ 100000 ์ ๋๋ค.
on-req-write-congestion
max-req-write-count ๋ฅผ ๋์ด์๋ ์ฐ๊ธฐ req ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํผ์ก์ผ๋ก ๊ฐ์ฃผํ๊ณ ์ด์ ๋์ํ๊ธฐ ์ํ ์ ์ฑ ์ ์ง์ ํฉ๋๋ค. disconnect, block ์ ์ฑ ์ด ์์ผ๋ฉฐ ๊ธฐ๋ณธ disconnect ์ ๋๋ค.
accelbuf-size size
๋น๋๊ธฐ ๋ณต์ ์์ ๋ก์ปฌ ์ฐ๊ธฐ ์ฑ๋ฅ ํฅ์์ ์ํ ๋ฒํผ ํฌ๊ธฐ ์ ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ 10MB ์ ๋๋ค. accelbuf ํ๋์ ๋ฒํผ๋ฅผ ํ ๋นํ๊ณ ๋ฐ์๋ ์ฐ๊ธฐ ๋ฒํผ ๊ณต๊ฐ์ผ๋ก ๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ์ฌ ์ก์ ๋ฒํผ ์ธก์ผ๋ก ๋ณต์ฌํ๊ธฐ ์ ์ ๋น ๋ฅด๊ฒ I/O ๋ฅผ ์๋ฃํ ์ ์์ต๋๋ค. (bsr 1.7 ์ดํ ์ง์)
max-accelbuf-blk-size size
accelbuf ๋ฒํผ์ ๋์ I/O ๋ธ๋ญ ํฌ๊ธฐ์ ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ 4KB์ด๋ฉฐ 4KB ์ดํ์ ์ฐ๊ธฐ I/O์ ๋ํด์๋ง accelbuf๋ฅผ ์ ์ฉํฉ๋๋ค. (bsr 1.7 ์ด ์ง์)
persist-role
๋ฆฌ์์ค ์ญํ ์ ์ง ์์ฑ์ ๋๋ค. yes ์ผ ๊ฒฝ์ฐ ๋ฆฌ์์ค๊ฐ ์ฌ์์๋๋ ๋ชจ๋ ์์ ์ ๋ช ๋ น์ค์ ์ํด ๋ช ์์ ์ผ๋ก ์ง์ ๋ ์ญํ ์ ๊ณ์ ์ ์ง ํฉ๋๋ค. (๊ธฐ๋ณธ๊ฐ์ no, bsr 1.7.3 ์ด์ ์ง์)
ย
on
onย host-nameย [...]
ํน์ ํธ์คํธ ๋๋ ํธ์คํธ ์งํฉ์ ์๋ ๋ฆฌ์์ค์ ์์ฑ์ ์ ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด IP ์ฃผ์ ์ฅ์ ์กฐ์น์ ๊ฐ์ ์ค์ ์์๋ ํธ์คํธ ์ด๋ฆ์ ๋ ๊ฐ ์ด์ ์ง์ ํ๋ ๊ฒ์ด ์ ์ฉํ ์ ์์ต๋๋ค. host-name ์ธ์๋ ์์คํ ์ ํธ์คํธ ์ด๋ฆ(Linux ์, uname -n)๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํ๋ ์ด์์ volume ์น์ ์ ํฌํจํ๊ฑฐ๋ ์์ํฉ๋๋ค. node-id ๋ฐ address ๋งค๊ฐ ๋ณ์๋ ์ด ์น์ ์์ ์ ์ํด์ผ ํฉ๋๋ค. device, disk ๋ฐ meta-disk ๋งค๊ฐ ๋ณ์๋ ์ด ์น์ ์ ์ ์๋๊ฑฐ๋ ์ด ์น์ ์์ ์์๋์ด์ผ ํฉ๋๋ค. ์ผ๋ฐ ๊ตฌ์ฑ ํ์ผ์๋ ๊ฐ ๋ฆฌ์์ค์ ๋ํ On ์น์ ์ด 2๊ฐ ์ด์ ํฌํจ๋ฉ๋๋ค. ip ์ฃผ์ ๊ธฐ๋ฐ์ ๊ตฌ์ฑ์ด ํ์ํ ๊ฒฝ์ฐ floating ์น์ ์ผ๋ก ๋์ฒดํ์ฌ ์์ฑํฉ๋๋ค.
ย
addressย [address-family]ย address:ย port
connection ์๋ ํฌ์ธํธ์ ์ฃผ์ ํจ๋ฐ๋ฆฌ, ์ฃผ์ ๋ฐ ํฌํธ๋ฅผ ์ ์ํฉ๋๋ค. ์ฃผ์ ์ ํ๊ตฐ ipv4, ipv6 ๊ฐ ์ง์๋ฉ๋๋ค. ์ฃผ์ ํจ๋ฐ๋ฆฌ๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด "ipv4"๋ก ์ธ์ ๋ฉ๋๋ค. ipv6์ ์ ์ธํ ๋ชจ๋ ์ฃผ์ ๊ณ์ด์ ๊ฒฝ์ฐ ์ฃผ์๋ IPV4 ์ฃผ์ ํ๊ธฐ๋ฒ (์ : 1.2.3.4)์ผ๋ก ์ง์ ๋ฉ๋๋ค. ipv6์ ๊ฒฝ์ฐ ์ฃผ์๋ ๊ดํธ๋ก ๋ฌถ๊ณ IPv6 ์ฃผ์ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค (์ : [fd01 : 2345 : 6789 : abcd :: 1]). ํฌํธ๋ ํญ์ 1์์ 65535 ์ฌ์ด์ 10์ง์๋ก ์ง์ ํฉ๋๋ค. ๊ฐ ํธ์คํธ์์ ํฌํธ ๋ฒํธ๋ ๊ฐ ์ฃผ์๋ง๋ค ๊ณ ์ ํด์ผ ํ๊ณ ํฌํธ๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
node-idย value
ํด๋ฌ์คํฐ์์ ๋ ธ๋์ ๊ณ ์ ๋ ธ๋ ์๋ณ์๋ฅผ ์ ์ํฉ๋๋ค. ๋ ธ๋ ์๋ณ์๋ ๋คํธ์ํฌ ํ๋กํ ์ฝ์์ ๊ฐ๋ณ ๋ ธ๋๋ฅผ ์๋ณํ๊ณ ๋ฉํ ๋ฐ์ดํฐ์ ๋ ธ๋์ ๋นํธ๋งต ์ฌ๋กฏ์ ํ ๋นํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํด๋ฌ์คํฐ๊ฐ ์๋ ์ค์ง ๋ ๊ฒฝ์ฐ์๋ง ํด๋ฌ์คํฐ์์ ๋ ธ๋ ์๋ณ์๋ฅผ ์ฌ ์ง์ ํ ์ ์์ต๋๋ค. ๊ตฌ์ฑ ๋ฐ ์ฅ์น ๋ฉํ ๋ฐ์ดํฐ์ ๋ ธ๋ ์๋ณ์๋ ๋ชจ๋ ํธ์คํธ์์ ์ผ๊ด๋๊ฒ ๋ณ๊ฒฝ ๋์ด์ผ ํฉ๋๋ค. ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด, bsrmeta dump-md๋ก ํ์ฌ ์ํ๋ฅผ ๋คํํ๊ณ ๋นํธ๋งต ์ฌ๋กฏ ํ ๋น์ ์กฐ์ ํ ๋ค์, bsrmeta restore-md๋ก ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธ ํ์ญ์์ค. node-id ํ๋ผ๋ฏธํฐ๋ ํ์์ ์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค. ๊ฐ์ ๋ฒ์๋ 0์์ 16์ ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ ์์ต๋๋ค.
options
svc-auto-up
bsr ์๋น์ค๊ฐ ์์๋ ๋ ๋ฆฌ์์ค๋ฅผ ์๋์ผ๋ก ๊ธฐ๋ํฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ yes ์ ๋๋ค.
svc-auto-down
bsr ์๋น์ค๊ฐ ์ข ๋ฃ๋ ๋ ๋ฆฌ์์ค๋ฅผ ์๋์ผ๋ก ์ค์งํฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ yes ์ ๋๋ค.
target-only
yes ์ด๋ฉด ํ๊น ์ ์ฉ ๋ ธ๋๋ก ์ง์ ๋ฉ๋๋ค. ํ๊น ์ ์ฉ ๋ ธ๋๋ ํญ์ ํ๊น์ ์ญํ ๋ง ์ํํ๋ฉฐ ์์ค์ญํ ์ ์ํ์ ๊ฑฐ๋ถ๋ฉ๋๋ค. (bsr 1.7.3 ์ด์)
ย
volume
volumeย volume-number
๋ฆฌ์์ค ๋ด์์ ๋ณผ๋ฅจ์ ์ ์ํฉ๋๋ค. ๋ฆฌ์์ค์ volume ์น์ ๋ค์ ์๋ ๋ณผ๋ฅจ ๋ฒํธ๋ ํธ์คํธ์์ ์ด๋ค ์ฅ์น๊ฐ ๋ณต์ ์ฅ์น๋ฅผ ๊ตฌ์ฑํ๋์ง ์ ์ํฉ๋๋ค.
ย
device /dev/bsr minor-number
๋ณต์ ๋ธ๋ก ์ฅ์น์ ์ฅ์น ์ด๋ฆ๊ณผ ๋ถ ๋ฒํธ๋ฅผ ์ ์ํฉ๋๋ค. ์ด๊ฒ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ก์ธ์ค ํด์ผ ํ๋ ์ฅ์น์ ๋๋ค(๋ฆฌ๋ ์ค์์). ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ฅ์น๋ฅผ ์ง์ ์ฌ์ฉํ์ง ์๊ณ ํ์ผ ์์คํ ์ ํตํด ์ ์ดํฉ๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๋ ํ์์ด๋ฉฐ ํ์ค ์ฅ์น ์ด๋ฆ ์ง์ ๊ท์น์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
diskย {[disk] |ย none}
bsr์ด ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉํ ํ์ ๋ ๋ฒจ ๋ธ๋ก ์ฅ์น๋ฅผ ์ ์ํฉ๋๋ค. ๋ณต์ bsr์ฅ์น๊ฐ ๊ตฌ์ฑ๋์ด์๋ ๋์ ํ์ ์ฅ์น๋ฅผ ์ง์ ์ฌ์ฉํด์๋ ์๋ฉ๋๋ค. dumpe2fs(8) ๋ฐ ์ด์ ์ ์ฌํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ฝ๊ธฐ ์ ์ฉ ์ก์ธ์ค๋ ํ์ฉ๋์ง ์์ต๋๋ค. ํค์๋ none์ ํ์ ๋ธ๋ก ์ฅ์น๊ฐ ๊ตฌ์ฑ๋์ง ์์์์ ๋ํ๋ ๋๋ค. ์ด๊ฒ์ ๋ํ ํ์ ์์ค ์ฅ์น์ ์์์ ๋ฌด์ํฉ๋๋ค.
meta-disk internal,
meta-diskย device,
meta-diskย deviceย [index]
๋ณต์ ๋ธ๋ก ์ฅ์น์ ๋ฉํ ๋ฐ์ดํฐ๊ฐ ์๋ ์์น๋ฅผ ์ ์ํฉ๋๋ค. ๋ฉํ ๋ฐ์ดํฐ๋ ํ์ ์์ค ์ฅ์น์ ๋ฐ์ดํฐ์ ๋ฉํ ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ํฌํจ๋๊ฑฐ๋ ๋ณ๋์ ์ฅ์น์ ์์ ์ ์์ต๋๋ค. ์ด ๋งค๊ฐ ๋ณ์์ index ํ์์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๊ฐ์ ๋ณต์ ๋ ์ฅ์น๊ฐ ๊ฐ๊ฐ ๋ณ๋์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋์ผํ ๋ฉํ ๋ฐ์ดํฐ ์ฅ์น๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค. ๊ฐ ์ธ๋ฑ์ค๋ 128MiB์ ๋ฐ์ดํฐ๋ฅผ ์ฐจ์งํ๋ฉฐ, ์ด๋ 2๊ฐ์ ํด๋ฌ์คํฐ ๋ ธ๋๊ฐ์๋ ์ต๋ 4TiB์ ๋ณต์ ๋ ์ฅ์น ํฌ๊ธฐ์ ํด๋นํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ณผ๋ฅจํ์ฅ ๋ฑ flexible ํ ๋ฉํ๋ฅผ ์๊ตฌํ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ผ ํ ๊ฒฝ์ฐ ์ ์ฝ์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฉํ ๋ฐ์ดํฐ ์ฅ์น๋ฅผ ๊ณต์ ํ์ง ๋ง๊ณ lvm ๋ณผ๋ฅจ ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์์ ๋ฐ๋ผ ๋ฉํ ๋ฐ์ดํฐ ์ฅ์น๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๋งค๊ฐ ๋ณ์์ ์์ธ ํ์์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ํ์ ์ฅ์น์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ฉํ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋ฉ๋๋ค. ํ์ํ ํฌ๊ธฐ๋ 36 KiB + (ํ์ ์ฅ์น ํฌ๊ธฐ) / 32K * (๋ ธ๋ ์-1)์ ๋๋ค. ๋ฉํ ๋ฐ์ดํฐ ์ฅ์น๊ฐ ์ด๋ณด๋ค ํฐ ๊ฒฝ์ฐ ์ถ๊ฐ ๊ณต๊ฐ์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๋ "none"์ด์ธ์ "disk"๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ์ ํ์ํ๋ฉฐ "disk"๊ฐ "none"์ผ๋ก ์ค์ ๋ ๊ฒฝ์ฐ ๋ฌด์๋ฉ๋๋ค.
ย
floating
floatingย [address-family]ย addr:port
on ์น์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ํธ์คํธ ์ด๋ฆ ๋์ ๋คํธ์ํฌ ์ฃผ์๊ฐ floating ์น์ ๊ณผ ์ผ์นํ๋์ง ํ์ธํฉ๋๋ค. node-id ๋งค๊ฐ ๋ณ์๊ฐ ํ์ํ๊ณ ์ฃผ์ ๋งค๊ฐ ๋ณ์๊ฐ ์ ๊ณต๋์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ํผ์ด์ ๋ํ ์ฐ๊ฒฐ์ด ์์ฑ๋์ง ์์ต๋๋ค. device, disk ๋ฐ meta-disk ๋งค๊ฐ ๋ณ์๋ฅผ ๋ฐ๋์ ์ด ์น์ ์์ ์ ์ํ๊ฑฐ๋ ์์๋ก๋ถํฐ ์์ํด์ผ ํฉ๋๋ค.
ย
connection
connectionย [name]
๋ ํธ์คํธ ๊ฐ์ ์ฐ๊ฒฐ์ ์ ์ํฉ๋๋ค. ์ด ์น์ ์๋ ๋ ๊ฐ์ ํธ์คํธ ๋งค๊ฐ ๋ณ์ ๋๋ ์ฌ๋ฌ ๊ฒฝ๋ก ์น์ ์ด ํฌํจ๋์ด์ผํฉ๋๋ค. ์ ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ "name"์ ์์คํ ๋ก๊ทธ ๋ฐ ๊ธฐํ ๋ค๋ฅธ ๋ฉ์์ง๋ค์ ์ฐ๊ฒฐ์ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฆ์ ์ง์ ํ์ง ์์ผ๋ฉด ํผ์ด์ ํธ์คํธ ์ด๋ฆ์ด ๋์ ์ฌ์ฉ๋ฉ๋๋ค.
hostย nameย [addressย [address-family]ย address] [portย port-number]
์ฐ๊ฒฐ์ ๋ํ ์๋ํฌ์ธํธ๋ฅผ ์ ์ํฉ๋๋ค. ๊ฐ host ๊ตฌ๋ฌธ์ ๋ฆฌ์์ค์ on ์น์ ์ ๋ํ๋ ๋๋ค. ํฌํธ ๋ฒํธ๊ฐ ์ ์๋๋ฉด ์ด ์๋ ํฌ์ธํธ๋ on ์น์ ์ ์ ์ ๋ ํฌํธ ๋์ ์ง์ ๋ ํฌํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ connection ์น์ ์๋ ์ ํํ ๋ ๊ฐ์ host ๋งค๊ฐ ๋ณ์๊ฐ ํฌํจ๋์ด์ผํฉ๋๋ค. ๋ ๊ฐ์ host ๋งค๊ฐ ๋ณ์ ๋์ connection์ ๋ค์ค path ์น์ ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
ย
path
๋ ํธ์คํธ ๊ฐ์ path๋ฅผ ์ ์ํฉ๋๋ค. ์ด ์น์ ์๋ ๋ ๊ฐ์ ํธ์คํธ ๋งค๊ฐ ๋ณ์๊ฐ ํฌํจ๋์ด์ผํฉ๋๋ค.
hostย nameย [addressย [address-family]ย address] [portย port-number]
์ฐ๊ฒฐ์ ๋ํ ์๋ํฌ์ธํธ๋ฅผ ์ ์ํฉ๋๋ค. ๊ฐ host ๊ตฌ๋ฌธ์ ๋ฆฌ์์ค์ on ์น์ ์ ๋ํ๋ ๋๋ค. ํฌํธ ๋ฒํธ๊ฐ ์ ์๋๋ฉด ์ด ์๋ ํฌ์ธํธ๋ on์น์ ์ ์ ์ ๋ ํฌํธ ๋์ ์ง์ ๋ ํฌํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ path ์น์ ์๋ ์ ํํ ๋ ๊ฐ์ host ๋งค๊ฐ ๋ณ์๊ฐ ํฌํจ๋์ด์ผํฉ๋๋ค.
ย
ย
connection-mesh
์ฌ๋ฌ ํธ์คํธ๋ค ๊ฐ์ mesh ์ฐ๊ฒฐ์ ์ ์ํฉ๋๋ค. ์ด ์น์ ์๋ ํธ์คํธ ์ด๋ฆ์ ์ธ์๋ก ๊ฐ๋ "hosts"๋งค๊ฐ ๋ณ์๊ฐ ํฌํจ๋์ด์ผํฉ๋๋ค. ์ด ์น์ ์ ๋์ผํ ๋คํธ์ํฌ ์ต์ ์ ๊ณต์ ํ๋ ๋ง์ ์ฐ๊ฒฐ์ ์์ฝ๊ฒ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
hostsย nameโฆ
๋ฉ์ฌ์ ๋ชจ๋ ๋ ธ๋๋ฅผ ์ ์ํฉ๋๋ค. ๊ฐ ์ด๋ฆ์ ์์์ on ์น์ ์ ๋ํ๋ ๋๋ค. on ์น์ ์ ์ ์ ๋ ํฌํธ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
ย
disk
๋ณผ๋ฅจ์ ๋งค๊ฐ ๋ณ์๋ฅผ ์ ์ํฉ๋๋ค. ์ด ์น์ ์ ๋ชจ๋ ๋งค๊ฐ ๋ณ์๋ ์ ํ ์ฌํญ์ ๋๋ค.
al-extentsย extents
bsr์ ์ต๊ทผ ๋์คํฌ ์ฐ๊ธฐ ์์ ์ ๊ทผ๊ฑฐ๋ก ์ฐ์ฌ์ง(active) ์์ญ๊ณผ ์ฐ์ฌ์ง ์์ญ์ ์ต๊ทผ ๋ค์ ์ฐ์ฌ์ง(hot) ์์ญ์ ๋ํด ๊ด๋ฆฌํฉ๋๋ค. ์ฐ๊ธฐ I/O๊ฐ ๋ฐ์ํ๋ฉด active ์์ญ์ ๋์คํฌ์ ์ฆ์ ์ฐ๋ฉด ๋์ง๋ง inactive ๋์คํฌ ์์ญ์ ๋จผ์ activated ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ๋ฉํ ๋ฐ์ดํฐ ์ฐ๊ธฐ๊ฐ ํ์ํฉ๋๋ค. ์ด active ๋์คํฌ ์์ญ์ activity log ๋ผ๊ณ ํฉ๋๋ค.
activity log์ ๋ฉํ ๋ฐ์ดํฐ ์ฐ๊ธฐ๋ฅผ ์ ์ฅํ์ง๋ง ์คํจํ ๋ ธ๋๋ฅผ ๋ณต๊ตฌํ ๊ฒฝ์ฐ ์ ์ฒด activity log์ ๋ํด ๋ค์ ๋๊ธฐํ ํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ activity log์ ํฌ๊ธฐ๋ primary ํฌ๋์ฌ ํ ์ฌ ๋๊ธฐํ์ ์ผ๋ง๋ ์ค๋ ๊ฑธ๋ฆด์ง, ์ผ๋ง๋ ๋นจ๋ฆฌ ๋ณต์ ๋์คํฌ์ ์ผ๊ด์ฑ์ ๋ง์ถ์ง์ ์ฃผ์ ์์ธ์ด ๋ฉ๋๋ค. activity log๋ ์ฌ๋ฌ ๊ฐ์ 4MiB ๋จ์ ์ธ๊ทธ๋จผํธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. al-extents ๋งค๊ฐ ๋ณ์๋ ๋์์ ํ์ฑํ ํ ์์๋ ์ธ๊ทธ๋จผํธ ์๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. al-extents์ ๊ธฐ๋ณธ๊ฐ์ 6001์ด๋ฉฐ ์ต์ 7๊ณผ ์ต๋ 65536์ ๋๋ค. ์ฅ์น ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ์ ํจํ ์ต๋ ๊ฐ์ด ๋ ์์ ์๋ ์์ต๋๋ค (bsrmeta ์ฐธ์กฐ).
์ ํจ ์ต๋ ๊ฐ์ 919 * (์ฌ์ฉ ๊ฐ๋ฅํ ์จ ๋์คํฌ activity log ๋ง ๋ฒํผ ์์ญ / 4kB -1)์ด๋ฉฐ, ๊ธฐ๋ณธ 32KB ๋ง ๋ฒํผ์์ ์ต๋ 6433 (25GiB ์ด์์ ๋ฐ์ดํฐ ํฌํจ)์ด ๋ฉ๋๋ค. ๋ฐฑ์๋ ์คํ ๋ฆฌ์ง ๋ฐ ๋ณต์ ๋งํฌ๊ฐ ์ฝ 5 ๋ถ ์ด๋ด์ ์ฌ ๋๊ธฐํ ๋ ์์๋ ์ ์ด๋ด์์ activity log์ ํฌ๊ธฐ๋ฅผ ์ ์งํ๋ ๊ฒ ์ข์ต๋๋ค.
al-extents ์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด ๋ฆฌ์์ค ์ค์ง(down)๊ฐ ํ์ํฉ๋๋ค.
al-updatesย {yes | no}
์ด ๋งค๊ฐ ๋ณ์๋ฅผ no ๋ก ์ค์ ํ๋ฉด activity log๋ฅผ ์์ ํ ๋ ์ ์์ต๋๋ค (al-extentsย ๋งค๊ฐ ๋ณ์ ์ฐธ์กฐ). ๋ฉํ ๋ฐ์ดํฐ ์ฐ๊ธฐ๊ฐ ๋ ์ ๊ฒ ํ์ํ๊ธฐ ๋๋ฌธ์ ์ฐ๊ธฐ ์๋๊ฐ ๋นจ๋ผ์ง์ง๋ง, ์คํจํ ๊ธฐ๋ณธ ๋ ธ๋์ ๋ณต๊ตฌ์ ์ ์ฒด ์ฅ์น๋ฅผ ์ฌ ๋๊ธฐํํด์ผํฉ๋๋ค. al-updats ์ ๊ธฐ๋ณธ๊ฐ์ yes ์ ๋๋ค.
ย
disk-barrier,
disk-flushes,
disk-drain
bsr์๋ ์ฐ๊ธฐ ์์ฒญ์ ์์๋ฅผ ์ฒ๋ฆฌํ๋ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
disk-flush ๋์คํฌ์ ์ฐ๊ธฐ I/O ๋ฅผ ์ํํ ํ flush ๋ฅผ ๊ฐ์ ํ์ฌ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์ ๊ธฐ๋กํ๋๋ก ์กฐ์นํฉ๋๋ค. ํ๋ซํผ ๋๋ ๋๋ผ์ด๋ฒ ๊ณต๊ธ ์ ์ฒด์ ๋ฐ๋ผ flush ๊ตฌํ์ด ๋ค๋ฅผ ์ ์์ต๋๋ค. ์์ ๋ฐฉ์์ผ๋ก๋ FUA(Force Unit Access)๋ก ๋ช ๋ช ๋๋ ๋์คํฌ ์บ์ฌ๋ฅผ ์ฐํํ๋ ๊ธฐ์ ์ ์ฌ์ฉํ๊ธฐ๋ ํ์ผ๋ ์ต๊ทผ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์คํฌ ์บ์ฌ๋ฅผ ๋น์ฐ๋ ์์ ์ ํตํด ๋์คํฌ ์ฐ๊ธฐ๋ฅผ ๋ณด์ฅํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋๊ณ ์์ต๋๋ค. ์ด ์ต์ ์ ํ์ฑํ๋์ด ์์์ผ๋ flush ๋์์ด ๊ฐ๋ ์ค๋ ์ง์ฐ์ ์ผ์ผํค๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ ์ต๊ทผ ๋นํ์ฑ ๋์์ต๋๋ค. ๋ง์ฝ battery backed cache ๊ฐ ์๋ ๋์คํฌ ์ฅ๋น๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด disk-flush ๋ฅผ ํ์ฑํํด์ ์ฌ์ฉํ์ธ์.
disk-barrier ์ด ์ต์ ์ ์ฌ์ฉํ์ฌ ์ฐ๊ธฐ ์์ฒญ์ด ์ฌ๋ฐ๋ฅธ ์์๋ก ๋์คํฌ์ ๊ธฐ๋ก ๋๋๋ก ํฉ๋๋ค. barrier๋ barrier ์ด์ ์ ์ ์ถ ๋ ๋ชจ๋ ์์ฒญ์ด ์ดํ์ ์ ์ถ ๋ ์์ฒญ๋ณด๋ค ์์์ ๋ชจ๋ ๋์คํฌ์ ์์ฒญํ๋๋ก ๋ณด์ฅ ํฉ๋๋ค. ์ด๋ SCSI ์ฅ์น์ 'tagged command queuing'๊ณผ SATA ์ฅ์น์ 'native command queuing'์ ์ฌ์ฉํ์ฌ ๊ตฌํ๋ฉ๋๋ค. ์ผ๋ถ ์ฅ์น ๋ฐ ์ฅ์น ์คํ ๋ง์ด ์ด ๋ฐฉ๋ฒ์ ์ง์ํฉ๋๋ค. device mapper (LVM)๋ ์ผ๋ถ ๊ตฌ์ฑ์์๋ง barrier๋ฅผ ์ง์ํฉ๋๋ค. disk-barrier์ ์ง์ํ์ง ์๋ ์์คํ ์์ ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ ์ค๋๊ฑฐ๋ ์์ ๋ ์ ์์ต๋๋ค. ์ด ์ต์ ์ ์์ ๋ฆฌ๋ ์ค ์ปค๋์์๋ ์ง์ํ์ง๋ง linux-2.6.36 (๋๋ 2.6.32 RHEL6) ์ดํ์ ์ปค๋์ ๋ ์ด์ disk-barrier๊ฐ ์ง์๋๋์ง ๊ฐ์งํ ์ ์์ต๋๋ค. ์ด ์ต์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํด์ ๋์ด ์์ผ๋ฉฐ ๋ช ์์ ์ผ๋ก ํ์ฑํํด์ผ ํฉ๋๋ค.
disk-drain ์ฐ๊ธฐ ์์ฒญ์ ์ ์ถํ๊ธฐ ์ ์ ์์ฒญ ํ๊ฐ "๋๋ ์ธ"๋ ๋๊น์ง ์ฆ, ์์ฒญ์ด ์๋ฃ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ค๋ฉด ์์ฒญ์ด ์๋ฃ๋ ๋ ๊น์ง ์์ฒญ๋ค์ด ๋์คํฌ์์ ์์ ์ ์์ด ๋ณด์ฅ๋์ด์ผ ํฉ๋๋ค. ์์ ์๋ ์ด ์ต์ ์ ๊ธฐ๋ณธ ํ์ฑํ ํ์์ง๋ง ์ง๊ธ์ ๋นํ์ฑํ ๋์ด ์์ต๋๋ค.
disk-timeout
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํ์ ์ฅ์น์ ์ ์๋ ๋์คํฌ ์๊ฐ ๋ด์ I/O ์์ฒญ์ ์๋ฃํ์ง ๋ชปํ๋ฉด bsr์ ์ด๋ฅผ ์คํจ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํ์ ์ฅ์น๊ฐ detach๋๊ณ ์ฅ์น์ ๋์คํฌ ์ํ๊ฐ diskless ์ํ๊ฐ ๋ฉ๋๋ค. bsr์ด ํ๋ ์ด์์ ํผ์ด์ ์ฐ๊ฒฐ๋์ด ์๋ค๋ฉด ์คํจํ ์์ฒญ์ด ๊ทธ ์ค ํ๋์ ์ ๋ฌ๋ฉ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉ์ ํฌ๋ฆฌํฐ์ปฌํ๋ฉฐ ์ปค๋ ํจ๋์ผ๋ก ์ด์ด์ง ์๋ ์์ต๋๋ค. ์์ฒญ์ Abort ํ๊ณ ๊ฐ์ ๋ก ๋์คํฌ๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ ๋ ์ด์ ์์ฒญ์ ์๋ฃํ์ง๋ ์๊ณ ์ค๋ฅ๋ ๋ฐํํ์ง ์๊ฒ ์์ ํ block๋์ด ์ค์ง๋ ๋ก์ปฌ ๋ฐฑ์ ์ฅ์น๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์กฐ์น์ ๋๋ค. ์ด ์ํฉ์์๋ ์ผ๋ฐ์ ์ผ๋ก ํ๋ ๋ฆฌ์ ๋ฐ ํ์ผ ์ค๋ฒ๊ฐ ์ ์ผํ ๋ฐฉ๋ฒ์ ๋๋ค. disk-timeout์ ๊ธฐ๋ณธ๊ฐ์ 0์ด๋ฉฐ, ์ด๋ ๋ฌดํ ์๊ฐ ์ด๊ณผ๋ฅผ ๋ํ๋ ๋๋ค. ์๊ฐ ์ด๊ณผ๋ 0.1 ์ด ๋จ์๋ก ์ง์ ๋ฉ๋๋ค.
md-flushes
๋ฉํ ๋ฐ์ดํฐ ์ฅ์น์์ ๋์คํฌ ํ๋ฌ์ ๋ฐ disk barrier์ ํ์ฑํํฉ๋๋ค. ์ด ์ต์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค. disk-flush ๋งค๊ฐ ๋ณ์๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
on-io-errorย handler
ํ์ ๋ ๋ฒจ ์ฅ์น์์ bsr์ด I/O ์ค๋ฅ์ ๋์ํ๋ ๋ฐฉ์์ ๊ตฌ์ฑํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์ ์ฑ ์ด ์ ์๋ฉ๋๋ค.
passthrough ํ์ ์ฅ์น์์ ์ค๋ฅ๊ฐ ๋ฐํ๋ ๊ฒฝ์ฐ ํด๋น ๋ธ๋ญ ๊ณ์ธต์ OOS๋ก ๊ธฐ๋กํ๊ณ ์์ ๊ณ์ธต์ผ๋ก ์ค๋ฅ๋ฅผ ์ ๋ฌํฉ๋๋ค. ํด๋น ์ค๋ฅ ๋ธ๋ญ์ ๋ณดํต ์์ ๊ณ์ธต์ ์ํด ์ฌ์๋ I/O๊ฐ ๋ฐ์ ๋๊ณ ์ฌ์๋ ์์ ์ ์ฑ๊ณตํ ๊ฒฝ์ฐ OOS ๋ ์์ฐ์ค๋ฝ๊ฒ ํด์๋๊ฑฐ๋ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ OOS ๊ฐ ๊ธฐ๋ก๋์ด ๋จ๊ฒจ์ง๋๋ค. bsr ์ ๊ธฐ๋ณธ๊ฐ ์ ๋๋ค.
call-local-io-error local-io-errorย ํธ๋ค๋ฌ๋ฅผ ํธ์ถํฉ๋๋ค (ย handlersย ์น์ ์ ์ฐธ๊ณ ํ์ธ์).
detach ํ์๋ ๋ฒจ ์ฅ์น๋ฅผ ๋ถ๋ฆฌํ๊ณ diskless ์ํ๋ก ์ ํํฉ๋๋ค. diskless ์ํ์์๋ I/O๊ฐ ์ํ๋ ์ ์์ผ๋ฉฐ ์ฆ์ failover๊ฐ ํ์ํฉ๋๋ค.
max-passthrough-count
on-io-error ๊ฐ ํจ์ค์ค๋ฃจ ์ ์ฑ ์ผ ๋, ์ผ์ ์ ์ด์ ํจ์ค์ค๋ฃจ๊ฐ ๋ฐ๋ณต๋ ๊ฒฝ์ฐ ์๊ตฌ์ ๋์คํฌ ์ฅ์ ๋ก ๊ฐ์ฃผํฉ๋๋ค. ์ฌ๊ธฐ์ ์๊ณ์ ์ ์ซ์๋ก ์ง์ ํฉ๋๋ค. ๋ฆฌ๋ ์ค์์๋ง ์ฌ์ฉํ๊ณ ๊ธฐ๋ณธ๊ฐ์ 100 ์ ๋๋ค.
ย
resync-afterย res-name/volume
์ง์ ๋ ๋ค๋ฅธ ์ฅ์น๊ฐ ๋๊ธฐํ๋ ์ดํ์๋ง ์ฅ์น๋ฅผ ์ฌ ๋๊ธฐํํ๋๋ก ์ ์ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฅ์น๊ฐ์๋ ๋๊ธฐํ ์์๊ฐ ์ ์๋์ด ์์ง ์์ผ๋ฉฐ ๋ชจ๋ ์ฅ์น๊ฐ ๋ณ๋ ฌ๋ก ์ฌ ๋๊ธฐํ ๋ฉ๋๋ค. ํ์ ์ฅ์น ๊ตฌ์ฑ, ์ฌ์ฉ ๊ฐ๋ฅํ ๋คํธ์ํฌ ๋ฐ ๋์คํฌ ๋์ญํญ์ ๋ฐ๋ผ ์ ์ฒด ์ฌ ๋๊ธฐํ ํ๋ก์ธ์ค๊ฐ ๋๋ ค์ง ์ ์๊ธฐ ๋๋ฌธ์ ์ด ์ต์ ์ ์ฌ์ฉํ์ฌ ์ฅ์น ๊ฐ์ ์ข ์์ฑ ์ฒด์ธ ๋๋ ํธ๋ฆฌ๋ฅผ ํ์ฑ ํ ์ ์์ต๋๋ค.
disable-write-same {yes | no}
write same I/O ๋ฅผ ์ง์ํ์ง ์๋ ๋์คํฌ ์ฅ์น์ ๊ฒฝ์ฐ yes ๋ก ์ค์ ํ์ฌ bsr ์ด ํด๋น I/O์ ์ ํ์ ์ค๋ฅ๋ก ์ฒ๋ฆฌํ์ง ์๋๋ก ํฉ๋๋ค.
ย
peer-device-options
peer-device-options ์น์ ์ด์ง๋ง disk ํค์๋๋ก ์ด ์น์ ์ ๊ธฐ์ ํฉ๋๋ค. (์์ ๋ฒ์ ์์ ์ฌ์ฉํ๋ ๋ฐฉ์์ ์ทจํ์ฌ ํ์ ํธํ์ ์ ์งํ๊ธฐ ์ํจ)
resync-rateย rate
์ฌ ๋๊ธฐํ์ ์ฌ์ฉํ ์ ์๋ ๋์ญํญ์ ์ ์ํฉ๋๋ค. bsr์ ์ฌ ๋๊ธฐํ ์ค์๋ ์ผ๋ฐ์ ์ธ ์์ฉ ํ๋ก๊ทธ๋จ I/O๋ฅผ ํ์ฉํฉ๋๋ค. ์ฌ ๋๊ธฐํ๊ฐ ๋๋ฌด ๋ง์ ๋์ญํญ์ ์ฐจ์งํ๋ฉด ์์ฉ ํ๋ก๊ทธ๋จ I/O๊ฐ ๋งค์ฐ ๋๋ ค์ง ์ ์์ผ๋ฉฐ ์ด ๋งค๊ฐ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฅผ ํผํ ์ ์์ต๋๋ค. ์ด ์ต์ ์ ๊ณ ์ ๋์ญ ๋๊ธฐํ ์ค์ ์์๋ง ์ ํจํ๋ฉฐ ๊ฐ๋ณ๋์ญ ๋๊ธฐํ์ผ ๊ฒฝ์ฐ๋ ์ฌ๋๊ธฐํ์ ์ด๊ธฐ ์๋ ๊ฐ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
c-plan-aheadย plan_time
์ฌ ๋๊ธฐํ ์๋๋ฅผ ๋์ ์ผ๋ก ์ ์ดํฉ๋๋ค. ์ด ๋ฉ์นด๋์ฆ์ c-plan-ahead ๋งค๊ฐ ๋ณ์๋ฅผ ์์ ๊ฐ์ผ๋ก ์ค์ ํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ต๋ ๋์ญํญ์ c-max-rate ๋งค๊ฐ ๋ณ์์ ์ํด ์ ํ๋ฉ๋๋ค. c-plan-ahead ๋งค๊ฐ ๋ณ์๋ bsr์ด ์ฌ ๋๊ธฐํ ์๋์ ๋ณํ์ โโ์ผ๋ง๋ ๋นจ๋ฆฌ ์ ์ํ๋ ์ง๋ฅผ ์ ์ํฉ๋๋ค. ๋ณดํต ๋คํธ์ํฌ ์๋ณต ์๊ฐ(RTT)์ 5 ๋ฐฐ ์ด์์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค. c-fill-target์ด ์ ์๋๋ฉด ๋ฐ์ดํฐ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ์ ์ ๋ ์์ ๋ฐ์ดํฐ๋ก ๋ฒํผ๋ฅผ ์ฑ์ฐ๋ ค๊ณ ํ๊ณ c-delay-target์ด ์ ์ ๋ ๊ฒฝ์ฐ ์ ์๋ ์ง์ฐ์ ๊ฐ๊ฒ ํฉ๋๋ค. "์ ์" ๋ฐ์ดํฐ ๊ฒฝ๋ก์ ๋ํ c-fill-target์ ๊ณตํต ๊ฐ ๋ฒ์๋ 4K ~ 100K์ ๋๋ค. drx๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ c-fill-target ๋์ c-delay-target์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ค์ ๊ฐ์ ์ง์ฐ๋ ๋๊ธฐํ ๋ฐ์ดํฐ์ ์ ๋ฌ์ DRX ๋ณต์ ๋ฒํผ๋ง์ ๋ถ๋ด์ ๋์ด์ฃผ๊ธด ํ๊ฒ ์ง๋ง ์ ๋์ ์ธ ๊ฒ์ ์๋๋๋ค. c-delay-target ๋งค๊ฐ ๋ณ์๋ c-fill-target ๋งค๊ฐ ๋ณ์๊ฐ ์ ์๋์ง ์๊ฑฐ๋ 0์ผ๋ก ์ค์ ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. c-delay-target ๋งค๊ฐ ๋ณ์๋ ๋คํธ์ํฌ ์๋ณต ์๊ฐ์ 5 ๋ฐฐ ์ด์์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค. c-max-rate ์ต์ ์ bsr ํธ์คํธ์ drx ๋ฅผ ํธ์คํ ํ๋ ์์คํ ๊ฐ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋์ญํญ ๋๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋์คํฌ ๋์ญํญ์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๋ค์ ๊ธฐ๋ณธ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. c-plan-ahead = 20 (0.1 ์ด ๋จ์), c-fill-target = 0 (์นํฐ ๋จ์), c-delay-target = 1 (0.1 ์ด ๋จ์) ) ๋ฐ c-max-rate = 102400 (KiB/s ๋จ์).
c-min-rateย min_rate
Primary ์ด๊ณ ๋๊ธฐํ ์์ค ์ธ ๋ ธ๋๋ ์ ํ๋ฆฌ์ผ์ด์ I/O ์์ฒญ๊ณผ ๋๊ธฐํ ์์ฒญ์ ์ค์ผ์ค๋ง ํด์ผ ํฉ๋๋ค. c-min-rate ๋งค๊ฐ ๋ณ์๋ ์ฌ ๋๊ธฐํ I/O์ ์ฌ์ฉํ๋ ์ต์ ๋์ญํญ์ ์ค์ ํฉ๋๋ค. ๋๋จธ์ง ๋์ญํญ์ ์์ฉ ํ๋ก๊ทธ๋จ I/O์ ๋ณต์ ์ ์ฌ์ฉ๋ฉ๋๋ค. c-min-rate ๊ฐ์ด 0์ด๋ฉด ์ฌ ๋๊ธฐํ I/O ๋์ญํญ์ ์ ํ์ด ์์์ ์๋ฏธํฉ๋๋ค. ์ด๋ก ์ธํด ์์ฉ ํ๋ก๊ทธ๋จ I/O ์๋๊ฐ ํฌ๊ฒ ๋๋ ค์ง ์ ์์ต๋๋ค. ๊ฐ์ฅ ๋ฎ์ ์ฌ ๋๊ธฐํ ์๋๋ฅผ ์ํด์๋ 1 (1 KiB/s) ๊ฐ์ ์ฌ์ฉํ์ญ์์ค. c-min-rate์ ๊ธฐ๋ณธ๊ฐ์ KiB/s ๋จ์๋ก 250 ์ ๋๋ค.
c-max-rateย max_rate
์ฌ ๋๊ธฐํ I/O์ ์ฌ์ฉํ๋ ์ต๋ ๋์ญํญ์ ์ค์ ํฉ๋๋ค. bsr ์ ๋ณต์ ๋์ญ๊ณผ ์ ์ถฉํ์ฌ c-min-rate ์์ c-max-rate ๊น์ง์ ๋๊ธฐํ ๋์ญ์ ์ ์งํฉ๋๋ค.
resync-ratio ratio
๋ณต์ ์ํ ์ค ๋๊ธฐํ๊ฐ ๋ณํ ๋ ๊ฒฝ์ฐ์ ๋๊ธฐํ ์ต์ ๋์ญํญ ๋น์จ์ ์ ์ํฉ๋๋ค. ๋ง์ฝ ์ด ๊ฐ์ด ๋์ ๋น์จ๋ก ์ค์ ๋๋ค๋ฉด ๋ณต์ ๋์ญ์ ๋น์จ์ด ์๋์ ์ผ๋ก ๋ฎ์์ง๊ณ ๊ทธ์ ๋ฐ๋ผ ์์ฉ I/O ์ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ผ๋ฏ๋ก ์ด์ ์ ์ํด์ผ ํฉ๋๋ค.
resync-ratio ์ค์ ์ ๋๊ธฐํ ์ต์ ๋์ญํญ ๋น์จ ์ด๋ฏ๋ก resync-ratio๋ณด๋ค ์ค์ ๋๊ธฐํ ๋์ญ์ด ๋์ ๊ฒฝ์ฐ ๋๊ธฐํ ๋์ญ์ ๋ฎ์ถ์ง ์๊ณ ํ ์ํ๋ฅผ ์ ์งํฉ๋๋ค.
resync-ratio ์ค์ ์ผ๋ก ์ป์ ๋๊ธฐํ ๋์ญํญ ๋น์จ์ ํฌ๊ธฐ๊ฐ c-min-rate ์ค์ ๋ณด๋ค ์๋ค๋ฉด c-min-rate๋ก ๋๊ธฐํ ๋์ญํญ์ด ์ค์ ๋ฉ๋๋ค.
resync-ratio ์ค์ ์ ๋ณต์ ์ค ๋๊ธฐํ ์๋๊ฐ c-min-rate ๋ณด๋ค ๋ฎ์ ๋ ์ ์ฉ๋ฉ๋๋ค.
ย
handlers
ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ํธ์ถ ๋ ํธ๋ค๋ฌ๋ฅผ ์ ์ํฉ๋๋ค. ์ปค๋์ ํธ๋ค๋ฌ์ ์ฒซ ๋ฒ์งธ ๋ช ๋ น ์ค ์ธ์์์ ๋ฆฌ์์ค ์ด๋ฆ์ ์ ๋ฌํ๊ณ ์ด๋ฒคํธ ๋ฌธ๋งฅ์ ๋ฐ๋ผ ๋ค์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค.
ํน์ device์ ๊ด๋ จ๋ ์ด๋ฒคํธ์ ๊ฒฝ์ฐ: ์ฅ์น์ ๋ถ ๋ฒํธ๋ BSR_MINOR, ์ฅ์น์ ๋ณผ๋ฅจ ๋ฒํธ๋ BSR_VOLUME ์ ์์ต๋๋ค.
ํน์ peer์ ํน์ device์ ๊ด๋ จ๋ ์ด๋ฒคํธ์ ๊ฒฝ์ฐ: BSR_MY_ADDRESS, BSR_MY_AF, BSR_PEER_ADDRESS ๋ฐ BSR_PEER_AF์ connection ์๋ ํฌ์ธํธ๊ฐ ์์ต๋๋ค; BSR_MINOR์ ์๋ ์ฅ์น์ ๋ก์ปฌ ๋ถ ๋ฒํธ ๋ฐ BSR_VOLUME์ ์ฅ์น์ ๋ณผ๋ฅจ ๋ฒํธ๊ฐ ์์ต๋๋ค.
ํน์ connection๊ณผ ๊ด๋ จ๋ ์ด๋ฒคํธ์ ๊ฒฝ์ฐ: BSR_MY_ADDRESS, BSR_MY_AF, BSR_PEER_ADDRESS ๋ฐ, BSR_PEER_AF์ connection ์๋ ํฌ์ธํธ; ๊ทธ๋ฆฌ๊ณ ํด๋น connection์ ๋ํด ์ ์๋ ๊ฐ device์ ์ฅ์น ๋ถ ๋ฒํธ๊ฐ BSR_MINOR_volume-number์ ์์ต๋๋ค.
์ฅ์น๋ฅผ ์๋ณํ๋ ์ด๋ฒคํธ์ ๊ฒฝ์ฐ ํ์ ์ฅ์น๊ฐ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉด ํ์ ์ฅ์น์ ์ฅ์น ์ด๋ฆ์ด BSR_BACKING_DEV (๋๋ BSR_BACKING_DEV_volume-number)๋ก ์ ๋ฌ๋ฉ๋๋ค.
์ด ์น์ ์ ๋ชจ๋ ๋งค๊ฐ ๋ณ์๋ ์ ํ ์ฌํญ์ ๋๋ค. ๊ฐ ์ด๋ฒคํธ์ ๋ํด ๋จ์ผ ํธ๋ค๋ฌ๋ง ์ ์ ํ ์ ์์ต๋๋ค. ํธ๋ค๋ฌ๊ฐ ์ ์๋์ด ์์ง ์์ผ๋ฉด ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์์ต๋๋ค.
ย
after-resync-targetย cmd
์ฌ ๋๊ธฐํ๊ฐ ์๋ฃ ๋ ๋ ๋ ธ๋ ์ํ๊ฐ "Inconsistent"์์ "Consistent"๋ก ๋ณ๊ฒฝ๋๋ฉด SyncTarget์์ ํธ์ถ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ด ํธ๋ค๋ฌ๋ before-resync-target ํธ๋ค๋ฌ์์ ์์ฑ๋ ์ค๋ ์ท์ ์ ๊ฑฐํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
before-resync-targetย cmd
์ฌ ๋๊ธฐํ๊ฐ ์์๋๊ธฐ ์ ์ SyncTarget์์ ํธ์ถ๋ฉ๋๋ค. ์ด ํธ๋ค๋ฌ๋ ์ฌ ๋๊ธฐํ ๊ธฐ๊ฐ ๋์ ํ์ ๋ ๋ฒจ ๋๋ฐ์ด์ค์ ์ค๋ ์ท์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ ๋๊ธฐํ ์ค์ ์ฌ ๋๊ธฐํ ์์ค๋ฅผ ์ฌ์ฉํ ์์๋ ๊ฒฝ์ฐ ์ค๋ ์ท์ผ๋ก ๋๋๋ฆฌ๋ฉด Consistentํ ์ํ๋ก ๋ณต์ ํ ์ ์์ต๋๋ค.
before-resync-sourceย cmd
์ฌ๋๊ธฐํ๋ฅผ ์์ํ๊ธฐ ์ ๋๊ธฐํ ์์ค์์ ํธ์ถ๋ฉ๋๋ค.
out-of-syncย cmd
์ ํฉ์ฑ ๊ฒ์ฌ๋ฅผ ์ํ ํ OOS ๋ธ๋ก์ด ๋ฐ๊ฒฌ๋๋ฉด ๋ชจ๋ ๋ ธ๋์์ ํธ์ถ๋ฉ๋๋ค. ์ด ํธ๋ค๋ฌ๋ ์ฃผ๋ก ๋ชจ๋ํฐ๋ง ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ฉฐ ๊ด๋ฆฌ์์๊ฒ ๊ฒฝ๊ณ ๋ฅผ ์ฃผ๋ ์ฉ๋๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
fence-peerย cmd
๋ ธ๋๊ฐ ํน์ ํผ์ด์ ๋ฆฌ์์ค๋ฅผ ์ฐจ๋จํด์ผ ํ ๋ ํธ์ถ๋ฉ๋๋ค. ํธ๋ค๋ฌ๋ bsr์ด ํผ์ด์ ํต์ ํ๋ ๋ฐ ์ฌ์ฉํ๋ ๋์ผํ ํต์ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํด์๋ ์๋ฉ๋๋ค.
unfence-peerย cmd
๋ ธ๋๊ฐ ๋ค๋ฅธ ๋ ธ๋์์ ํ์ฑ ์ ์ฝ ์กฐ๊ฑด์ ์ ๊ฑฐํด์ผ ํ ๋ ํธ์ถ๋ฉ๋๋ค.
initial-split-brainย cmd
์คํ๋ฆฟ ๋ธ๋ ์ธ ์ํ์์ ๊ฐ์งํ๋ฉด ํธ์ถ๋ฉ๋๋ค. ์ด ํธ๋ค๋ฌ๋ ์คํ๋ฆฟ ๋ธ๋ ์ธ ์๋ ํด๊ฒฐ ์๋๋ฆฌ์ค์์๋ ํธ์ถ๋ฉ๋๋ค.
local-io-errorย cmd
ํ์ ์ฅ์น์์ I/O ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํธ์ถ๋ฉ๋๋ค.
pri-lostย cmd
๋ก์ปฌ ๋ ธ๋๋ ํ์ฌ Primary ๋ ธ๋์ด์ง๋ง bsr์ด ๋๊ธฐํ ๋์์ด ๋์ด์ผ ํ๋ค๊ณ ์๊ฐ๋ ๋ ํธ์ถ ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ ธ๋๋ Primary ์ญํ ์ ํฌ๊ธฐํด์ผ ํฉ๋๋ค.
pri-lost-after-sbย cmd
๋ก์ปฌ ๋ ธ๋๋ ํ์ฌ Primary ๋ ธ๋์ด์ง๋ง ์คํ๋ฆฟ ํ ์๋ ๋ณต๊ตฌ ์ ์ฐจ๋ฅผ ํตํด ์์์ ๋ ํธ์ถ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ ธ๋๋ ๋ฒ๋ ค์ผ ํฉ๋๋ค.
split-brainย cmd
bsr์ด ์๋์ผ๋ก ํด๊ฒฐํ ์ ์๋ ์คํ๋ฆฟ ๋ธ๋ ์ธ ์ํฉ์์ ๊ฐ์งํ์ผ๋ฉฐ ์๋ ๋ณต๊ตฌ๊ฐ ํ์ํฉ๋๋ค. ์ด ํธ๋ค๋ฌ๋ ๊ด๋ฆฌ์์๊ฒ ์ฃผ์๋ฅผ ์ฃผ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
ย
net
์ฐ๊ฒฐ์ ๋งค๊ฐ ๋ณ์๋ฅผ ์ ์ํฉ๋๋ค. ์ด ์น์ ์ ๋ชจ๋ ๋งค๊ฐ ๋ณ์๋ ์ ํ ์ฌํญ์ ๋๋ค.
after-sb-0priย policy
์คํ๋ฆฟ ๋ธ๋ ์ธ์ด ๊ฐ์ง๋๊ณ ๋ ๋ ธ๋ ์ค ์ด๋ ๊ฒ๋ Primary ์ญํ ์ด ์๋ ๊ฒฝ์ฐ์ ๋์ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. ์คํ๋ฆฟ ๋ธ๋ ์ธ์ ํญ์ ๋ ๋ ธ๋ ์ฌ์ด์์ ๊ฒฐ์ ๋๋ฉฐ ๋ ๋ ธ๋๊ฐ ์ฐ๊ฒฐ๋ ๋ ๊ฐ์งํฉ๋๋ค. ์ ์ ๋ ์ ์ฑ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
disconnect ๋จ์ํ ์ฐ๊ฒฐ์ ๋์ต๋๋ค.
discard-younger-primary ์ต๊ทผ์ Primary๊ฐ ๋ ๋ ธ๋(younger primary)์ ์ฐ์ฌ์ง ๋ฐ์ดํฐ๋ฅผ ์ทจ์ํ๊ณ ๋๋๋ฆฝ๋๋ค. younger primary๋ฅผ ํ๋จํ ์ ์๋ค๋ฉดย discard-zero-changes,ย discard-least-changes ์์๋ก ๋์ํ๊ฒ ๋ฉ๋๋ค.ย
discard-older-primary ์ฒ์ Primary ๊ฐ ๋ฌ๋ ๋ ธ๋(older primary)๋ฅผ ํ๊ธฐํฉ๋๋ค. ๋ง์ผ ๋ ๋ ธ๋๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก Primary ๊ฐ ๋์๋ค๋ฉด discard-least-changes ์ ์ฑ ์ ์ฌ์ฉํฉ๋๋ค.
discard-zero-changes ํ๋์ ๋ ธ๋์์๋ง ๋ฐ์ดํฐ๋ฅผ ์ด ๊ฒฝ์ฐ ํด๋น ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฌ ๋๊ธฐํ ํฉ๋๋ค. ๋ ๋ ธ๋๊ฐ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ด ๊ฒฝ์ฐ ์ฐ๊ฒฐ์ ๋์ต๋๋ค.
discard-least-changes ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ด ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๋๊ธฐํ ํฉ๋๋ค.
discard-node-nodename ๋ช ๋ช ๋ ๋ ธ๋๋ฅผ ํญ์ ํ๊ธฐํฉ๋๋ค.
after-sb-1priย policy
Primary ๋ ธ๋ 1 ๊ฐ์ Secondary ๋ ธ๋ 1 ๊ฐ๋ก ์คํ๋ฆฟ ๋ธ๋ ์ธ์ด ๊ฐ์ง๋๋ ๊ฒฝ์ฐ ๋์ฒ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค.
disconnect ๋จ์ํ ์ฐ๊ฒฐ์ ๋์ต๋๋ค.
consensus ํฌ์๋ ธ๋๊ฐ ์ ํ๋ ์ ์๋ค๋ฉด ์๋์ผ๋ก ํด๊ฒฐํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด,ย disconnect์ฒ๋ผ ๋์ํฉ๋๋ค.
discard-secondary Secondary ์ ๋ ธ๋๋ฅผ ํ๊ธฐํฉ๋๋ค.
after-sb-2priย policy
์คํ๋ฆฟ ๋ธ๋ ์ธ ์๋๋ฆฌ์ค๊ฐ ๊ฐ์ง๋๊ณ ๋ ๋ ธ๋๊ฐ ๋ชจ๋ Primary ์ญํ ์ ํ๋ ๊ฒฝ์ฐ ๋์ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค.
disconnect ๋จ์ํ ์ฐ๊ฒฐ์ ๋์ต๋๋ค. 2 primary ์คํ๋ฆฟ ๋ธ๋ ์ธ์ ๊ฒฝ์ฐ disconnect ์ ์ฑ ๋ง ์ ๊ณต๋๋ฉฐ ์๋ ๋ณต๊ตฌ๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
allow-two-primaries
bsr ์์ ์ด์ค primary ๋ชจ๋๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
connect-intย time
bsrsetup connect๋ก ๋ ๋ ธ๋ ๊ฐ ์ฐ๊ฒฐ์ด ๊ตฌ์ฑ๋๋ ์ฆ์ ์ฐ๊ฒฐ ์ค์ ์ ์๋ํฉ๋๋ค. ์ด๊ฒ์ด ์คํจํ๋ฉด bsr์ connect-int์ด ๋์ ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ฐ๋ณตํฉ๋๋ค. connect-int์ ๊ธฐ๋ณธ๊ฐ์ 3์ด์ ๋๋ค.
csums-algย hash-algorithm
์ผ๋ฐ์ ์ผ๋ก ๋ ๋ ธ๋๊ฐ ๋ค์ ๋๊ธฐํ ๋๋ฉด ๋๊ธฐํ ๋์์ ๋๊ธฐํ ์์ค๋ก๋ถํฐ out-of-sync ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ ๋๊ธฐํ ์์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํฉ๋๋ค.
๋ง์ ์ฌ์ฉ ํจํด์์ ๋ณผ ๋ ์๋น์์ ๋ธ๋ก์ด ์ค์ ๋ก ๋์ผํฉ๋๋ค. csums-alg ์๊ณ ๋ฆฌ์ฆ์ด ์ง์ ๋๋ฉด ๋๊ธฐํ๋์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ ๋ ๋๊ธฐํ ๋์๋ ํ์ฌ ๋ณด์ ํ ๋ฐ์ดํฐ์ ํด์๋ฅผ ์ ์กํฉ๋๋ค. ๋๊ธฐํ ์์ค๋์ด ํด์๋ฅผ ์๊ธฐ์ ๋ฐ์ดํฐ์ ๋น๊ตํฉ๋๋ค. ํด์๊ฐ ๋ค๋ฅด๋ฉด ๋๊ธฐํ ๋์์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ ํด์๊ฐ ๊ฐ์ผ๋ฉด ๋ฐ์ดํฐ๊ฐ ๋์ผํ๋ค๋ ๊ฒ์ ์๋ ค์ค๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ์ํ ๋คํธ์ํฌ ๋์ญํญ์ด ์ค์ด๋ค์ง๋ง ๋ฐ๋ฉด CPU ์ฌ์ฉ๋ฅ ์ ๋์์ง๊ณ SyncTarget์ ์ฝ๊ธฐ I/O๊ฐ ์ฆ๊ฐํฉ๋๋ค . csums-alg๋ ์ปค๋์ด ์ง์ํ๋ ๋ณด์ ํด์ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก ์ค์ ๋ ์ ์์ต๋๋ค. /proc/crypto์ ๋์ด๋ shash ์๊ณ ๋ฆฌ์ฆ์ ์ฐธ์กฐํ์ญ์์ค. ๊ธฐ๋ณธ์ ์ผ๋ก csums-alg๋ ์ค์ ๋์ด ์์ง ์์ต๋๋ค.
data-integrity-algย alg
bsr์ ์ผ๋ฐ์ ์ผ๋ก TCP/IP ํ๋กํ ์ฝ์ ๋ด์ฅ ๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ์ ์์กดํ์ง๋ง, ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์๊ณ ๋ฆฌ์ฆ์ด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ๋ฅผ ํตํด ์์ ๋ ๋ฐ์ดํฐ๊ฐ ๋ฐ์ ์๊ฐ ๋ณด๋ธ ๊ฒ๊ณผ ์ผ์นํ๋์ง ํ์ธํฉ๋๋ค. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ค๋ฅ๊ฐ ๊ฐ์ง๋๋ฉด bsr์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ๋ซ๊ณ ๋ค์ ์ฐ๊ฒฐํ์ฌ ์ฌ ๋๊ธฐํ๋ฅผ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. data-integrity-alg๋ ์ปค๋์ด ์ง์ํ๋ ๋ณด์ ํด์ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก ์ค์ ๋ ์ ์์ต๋๋ค. /proc/crypto์ ๋์ด๋ shash ์๊ณ ๋ฆฌ์ฆ์ ์ฐธ์กฐํ์ญ์์ค. ๊ธฐ๋ณธ์ ์ผ๋ก์ด ๋ฉ์ปค๋์ฆ์ ํด์ ๋์ด ์์ต๋๋ค. ๊ด๋ จ๋ CPU ์ค๋ฒ ํค๋๋ก ์ธํด ์ด์ ํ๊ฒฝ์์๋ ์ด ์ต์ ์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
fencingย fencing_policy
ํ์ฑ์ ๋ ๋ ธ๋๊ฐ ์ฐ๊ฒฐ์ด ๋์ด์ ธ์ ๋ชจ๋ Primary ๊ฐ ๋๋ ์ํฉ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์๋ฐฉ ์กฐ์น์ ๋๋ค. ์ด๊ฒ์ ์คํ๋ฆฟ ๋ธ๋ ์ธ ์ํฉ ์ด๋ผ๊ณ ๋ ํฉ๋๋ค. bsr์ ๋ค์๊ณผ ๊ฐ์ ํ์ฑ ์ ์ฑ ์ ์ง์ํฉ๋๋ค.
dont-care ํ์ฑ ์กฐ์น๊ฐ ์ํ๋์ง ์์ต๋๋ค. ์ด๊ฒ์ด ๊ธฐ๋ณธ ์ ์ฑ ์ ๋๋ค.
resource-only ๋ ธ๋๊ฐ ์ฐ๊ฒฐ์ด ๋๊ธด Primary ๋ ธ๋๊ฐ ๋๋ฉด ํผ์ด๋ฅผ ์ฐจ๋จํ๋ ค๊ณ ํฉ๋๋ค. ์ด๊ฒ์ "fence-peer" ํธ๋ค๋ฌ๋ฅผ ํธ์ถํ์ฌ ์ํ๋ฉ๋๋ค. ํธ๋ค๋ฌ๋ ๋์ฒด ํต์ ๊ฒฝ๋ก๋ฅผ ํตํด ํผ์ด์ ๋๋ฌํ์ฌ 'bsradm outdate minor'๋ฅผ ํธ์ถํด์ผ ํฉ๋๋ค.
resource-and-stonith ๋ ธ๋๊ฐ ์ฐ๊ฒฐ์ด ๋๊ธด Primary ๋ ธ๋๊ฐ ๋๋ฉด ๋ชจ๋ IO ์์ ์ ์ค์งํ๊ณ fence-peer ํธ๋ค๋ฌ๋ฅผ ํธ์ถํฉ๋๋ค. fence-peer ํธ๋ค๋ฌ๋ ๋์ฒด ํต์ ๊ฒฝ๋ก๋ฅผ ํตํด ํผ์ด์ ๋๋ฌํ์ฌ 'bsradm outdate minor'๋ฅผ ํธ์ถํด์ผ ํฉ๋๋ค. ๊ทธ๋ ๊ฒ ํ ์์๋ ๊ฒฝ์ฐ์๋ ์๋๋ฐฉ์ (์ ์ ์ ์ด)์ฐจ๋จํด์ผ ํฉ๋๋ค. ์ํฉ์ด ํด๊ฒฐ ๋์๋ง์ IO๊ฐ ์ฌ๊ฐ๋ฉ๋๋ค. ํ์ค ํผ์ด ํธ๋ค๋ฌ๊ฐ ์คํจํ ๊ฒฝ์ฐ ์ ์ฌ์ ์ผ๋ก ์คํ๋ฆฟ ๋ธ๋ ์ธ์ด ๋ฐ์ํ๋ค๊ณ ํ๋จํ๊ณ ์๋์ผ๋ก ๋ณต๊ตฌํด์ผ ํฉ๋๋ค.
ko-countย number
์ก์ ๋ฒํผ๋ง ์ ๋ฐ์ดํฐ ์ ์ก์ง์ฐ ๋๋ ์คํจ์ ๋ํ TX ๋ ธ๋ ์ธก์ ์ก์ ์ฌ ์๋ ํ์๋ฅผ ์ ์ํฉ๋๋ค.
max-buffersย number
์์ ์ธก peer-request์ ์ต๋ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์ ์ํฉ๋๋ค. ๋จ์๋ PAGE_SIZE(๋๋ถ๋ถ์ ์์คํ ์์ 4KiB)์ ๋๋ค. ๊ฐ๋ฅํ ์ต์ ์ค์ ์ 32(= 128 KiB)๋ก ์ง์ ๋์ด ์์ต๋๋ค. ์ด ๋ฒํผ๋ ๋์คํฌ์ ์ฐ๊ฑฐ๋ ๋์คํฌ์์ ์ฝ๋ ๋์ ๋ฐ์ดํฐ ๋ธ๋ก์ ๋ณด์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. max-buffers ํ์ด์ง ์ด์์ด ์ฌ์ฉ ์ค์ด๋ฉด ์ด ํ์ ์ถ๊ฐ ํ ๋น์ด ์ ํ๋ฉ๋๋ค. ์์ ์ธก์์ I/O ๋ถํ๋ฅผ ๊ฐ๋นํ ์ ์๋ ๊ฒฝ์ฐ max-buffers๋ฅผ ๋๋ ค์ผ ํฉ๋๋ค.
max-epoch-sizeย number
์ฐ๊ธฐ barrier์ ๋ฐํํ๊ธฐ ์ ์ bsr์ด ๋ฐํ ํ ์ ์๋ ์ต๋ ์ฐ๊ธฐ ์์ฒญ ์๋ฅผ ์ ์ํฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ 2048์ด๋ฉฐ ์ต์ 1์์ ์ต๋ 20000๊น์ง ์ง์ ๊ฐ๋ฅํฉ๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๋ฅผ 10 ๋ฏธ๋ง์ ๊ฐ์ผ๋ก ์ค์ ํ๋ฉด ์ฑ๋ฅ์ด ์ ํ ๋ ์ ์์ต๋๋ค.
on-congestionย policy,
congestion-fillย threshold,
congestion-extentsย threshold
๊ธฐ๋ณธ์ ์ผ๋ก bsr์ TCP ์ก์ ํ๊ฐ ๊ฐ๋ ์ฐฌ ๊ฒฝ์ฐ ๋๊ธฐํฉ๋๋ค. ์ด๋ด ๊ฒฝ์ฐ ์ก์ ํ๋ฅผ ๋ค์ ์ฌ์ฉํ ์ ์์ ๋๊น์ง ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ถ๊ฐ ์ฐ๊ธฐ ์์ฒญ์ ์์ฑ ํ ์ ์์ต๋๋ค. bsr์ ํ๋ก์์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ก ๋๊ธฐ์ด์ด ๊ฐ๋ ์ฐจ๊ธฐ ์ ์ bsr์ Ahead/Behind ๋ชจ๋๋ก ์ ํ ํ ์ ์๋ Pull-ahead ํผ์ก ์ ์ฑ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ดํค๋ ๋ชจ๋์์ ๋นํธ ๋งต์ ์์ ๊ณผ ํผ์ด์ ์ฐจ์ด์ ์ ๊ธฐ๋กํ๊ณ ๋ณต์ ๋ ์ผ์ ์ค์ง ๋ฉ๋๋ค. ๋ฒํผ ๊ณต๊ฐ์ด ์ถฉ๋ถํด์ ธ ๋ค์ ์ฌ์ฉ ๊ฐ๋ฅ ํด์ง๋ฉด ๋ ธ๋๋ ํผ์ด์ ์ฌ ๋๊ธฐํํ๊ณ ์ ์ ๋ณต์ ๋ก ๋ค์ ์ ํ๋ฉ๋๋ค. ์ด๋ ์์ฒญ ๋๊ธฐ์ด์ด ๊ฐ๋ ์ฐจ๋๋ผ๋ ์์ฉ ํ๋ก๊ทธ๋จ I/O๋ฅผ ์ฐจ๋จํ์ง ์๋ ์ด์ ์ด ์์ง๋ง ํผ์ด ๋ ธ๋๊ฐ ์๋ณธ์ ๋นํด ํจ์ฌ ๋ ๋ค์ณ ์ง ์ ์๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ ๋๊ธฐํํ๋ ๋์์ ํผ์ด ๋ ธ๋๊ฐ Inconsistent ์ํ์ ๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ํผ์ก ์ ์ฑ ์ blocking(๊ธฐ๋ณธ๊ฐ), disconnect, pull-ahead ์ ๋๋ค. congestion-fill ๋งค๊ฐ ๋ณ์๋์ด ์ฐ๊ฒฐ์์ ๋ณต์ ์ค์ธ ๋ฐ์ดํฐ๊ฐ ํ์ฉ๋๋ ์์ ์ ์ํฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ 0(ํผ์ก ์ ์ด ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ง ์๋๋ก ์ค์ ํฉ๋๋ค)์ด๋ฉฐ ์ต๋ 1TB์ ๋๋ค. congestion-extents ๋งค๊ฐ ๋ณ์๋ Ahead/Behind ๋ชจ๋๋ก ์ ํํ๊ธฐ ์ ์ ํ์ฑํ ๋ ์์๋ ๋นํธ๋งต ๋ฒ์์ ์๋ฅผ ์ ์ํฉ๋๋ค. congestion-extents ๋งค๊ฐ ๋ณ์๋ al-extents ๋ณด๋ค ์์ ๊ฐ์ผ๋ก ์ค์ ํ ๊ฒฝ์ฐ์๋ง ์ ํจํฉ๋๋ค.
ping-intย interval
ํผ์ด์ ๋ํ TCP/IP ์ฐ๊ฒฐ์ด 1 ์ด ์ด์ ์ ํด ์ํ ์ธ ๊ฒฝ์ฐ bsr์ ping ํจํท์ ๋ณด๋ด ์คํจํ ํผ์ด ๋๋ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ด ๋นจ๋ฆฌ ๊ฐ์ง๋๋๋ก ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 3์ด์ด๋ฉฐ ์ต์ 1๊ณผ ์ต๋ 120 ์ด์ ๋๋ค. ๋จ์๋ ์ด์ ๋๋ค.
ping-timeoutย timeout
ping ํจํท์ ๋ํ ํ์ ์๊ฐ ์ด๊ณผ๋ฅผ ์ ์ํฉ๋๋ค. ํผ์ด๊ฐ ping ์๊ฐ ์ด๊ณผ ๋ด์ ์๋ตํ์ง ์์ผ๋ฉด bsr์ด ์ฐ๊ฒฐ์ ๋ซ๊ณ ๋ค์ ์ฐ๊ฒฐํ๋ ค๊ณ ์๋ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 3์ด์ด๋ฉฐ ์ต์ 0.1 ์ด์ ์ต๋ 3 ์ด์ ๋๋ค. ๋จ์๋ 10๋ถ์ 1์ด์ ๋๋ค.
protocolย name
๋ณต์ ์ฐ๊ฒฐ์ ์ง์ ๋ ํ๋กํ ์ฝ์ ์ ์ํฉ๋๋ค. ์ง์๋๋ ํ๋กํ ์ฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
A ๋ก์ปฌ ๋์คํฌ ๋ฐ TCP/IP ์ ์ก ๋ฒํผ์ ๋ณต์ฌํ ์ฆ์ ๋ก์ปฌ I/O ๋ฅผ ์๋ฃํฉ๋๋ค.
B ๋ก์ปฌ ๋์คํฌ์ ๊ธฐ๋กํ๊ณ ํผ์ด์์ ๋ณต์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ์ฆ์ ACK ๋ฅผ ๋ฐํํฉ๋๋ค. ๋ก์ปฌ์์ ACK ๋ฅผ ์์ ํ๋ฉด I/O ๋ฅผ ์๋ฃ ํฉ๋๋ค.
C ๋ก์ปฌ ๋์คํฌ์ ๊ธฐ๋กํ๊ณ ํผ์ด์์ ๋ณต์ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์ ๊ธฐ๋กํ ํ ์ฐ๊ธฐ ACK ๋ฅผ ๋ฐํํฉ๋๋ค. ๋ก์ปฌ์์ ์ฐ๊ธฐ ACK ๋ฅผ ์์ ํ๋ฉด I/O ๋ฅผ ์๋ฃํฉ๋๋ค.
rcvbuf-sizeย size
TCP/IP ์์ ๋ฒํผ์ ํฌ๊ธฐ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ๊ฐ์ด 0(๊ธฐ๋ณธ๊ฐ)์ด๋ฉด ๋ฒํผ ํฌ๊ธฐ๊ฐ ๋์ ์ผ๋ก ์กฐ์ ๋ฉ๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๋ ๊ฐ๋ฐ์ ๋๋ฒ๊น ๋ฐ ํ๋ ์ฉ๋๋ก ์ฌ์ฉํ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ์ง ์์ต๋๋ค. ์ต๋ 10MiB์ ๊ฐ์ผ๋ก ์ค์ ํ ์ ์์ผ๋ฉฐ ๊ธฐ๋ณธ ๋จ์๋ ๋ฐ์ดํธ์ ๋๋ค.
sndbuf-sizeย size
์ก์ ์์ ์ ์ฐ๋ ๋์์ ํ ๋นํ๋ TX ๋ฒํผ์ ํฌ๊ธฐ๋ฅผ ์ค์ ํฉ๋๋ค. ์ต๋ 1TB ๊น์ง ์ค์ ํ ์ ์์ต๋๋ค.
tcp-cork
tcp-cork ์ต์ ์ ์ฌ์ฉํ์ฌ ์ปค๋์ด ์์ ๋ฉ์์ง์ ๋ํ ์ ์ก์ ์ ๋ณดํ์ฌ ๋คํธ์ํฌ ์์์ ํจํท์ ์ต๋ํ ํฌ๊ฒ ๋ณด๋ ๋๋ค. ์ด ์ต์ ํ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋คํธ์ํฌ ๋์ญ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ง๋ง ํจํท์ ๋ชจ์ผ๋ ์๊ฐ ๋์์ ์ง์ฐ์ด ๋ฐ์ํ๋ฏ๋ก ์ผ๋ถ ๋คํธ์ํฌ ์คํ์ ์ฑ๋ฅ์ด ์ ํ ๋ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ๋นํ์ฑํ ๋์ด ์์ต๋๋ค.
timeoutย time
๋คํธ์ํฌ๋ฅผ ํตํ ์๋ต ์๊ฐ ์ด๊ณผ๋ฅผ ์ ์ํฉ๋๋ค. ํผ์ด ๋ ธ๋๊ฐ ์ง์ ๋ ์๊ฐ ์ด๊ณผ ๋ด์ ์์ ์๋ต์ ๋ณด๋ด์ง ์์ผ๋ฉด ์๋ต์ด ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๊ณ TCP/IP ์ฐ๊ฒฐ์ ๋ซ์ต๋๋ค. ์๊ฐ ์ด๊ณผ ๊ฐ์ connect-int๋ณด๋ค ๋ฎ์์ผ ํ๊ณ ping-int๋ณด๋ค ์์์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ 5์ด์ด๊ณ 10๋ถ์ 1์ด๋ก ๋จ์๋ก ์ง์ ๋ฉ๋๋ค.
use-rle
use-rle ๋งค๊ฐ ๋ณ์๋ run length encoding ์ ์ฌ์ฉํด์ผ ํ๋์ง ๊ฒฐ์ ํฉ๋๋ค. ํด๋ฌ์คํฐ ๋ ธ๋์ ๊ฐ ๋ณต์ ๋ ์ฅ์น์๋ ๊ฐ ํผ์ด ์ฅ์น์ ๋ํ ๋ณ๋์ ๋นํธ๋งต์ด ์์ต๋๋ค. ๋นํธ๋งต์ ๋ก์ปฌ ์ฅ์น์ ํผ์ด ์ฅ์น์ ์ฐจ์ด์ ์ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํด๋ฌ์คํฐ ์ํ์ ๋ฐ๋ผ ์ฅ์น์ ๋นํธ๋งต, ํผ์ด ์ฅ์น์ ๋นํธ๋งต ๋๋ ๋ ๋นํธ๋งต์์ ๋์คํฌ ๋ฒ์๊ฐ ํผ์ด์ ๋ค๋ฅธ ๊ฒ์ผ๋ก ํ์ ๋ ์ ์์ต๋๋ค. ๋ ํด๋ฌ์คํฐ ๋ ธ๋๊ฐ ์ฐ๊ฒฐ๋๋ฉด ์๋ก์ ๋นํธ๋งต์ ๊ตํํ๊ณ ๊ฐ๊ฐ ๋ก์ปฌ ๋ฐ ํผ์ด ๋นํธ๋งต์ ํฉ์งํฉ์ ๊ณ์ฐํ์ฌ ์ ์ฒด ์ฐจ์ด๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ๋งค์ฐ ํฐ ์ฅ์น์ ๊ฒฝ์ฐ ๋นํธ๋งต์ด ๋น๊ต์ ํฌ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก run length encoding์ ์ฌ์ฉํ์ฌ ์์ถ๋ฅ ์ ๋์ด๊ณ ์ด๋ฅผ ํตํด ๋นํธ๋งต ์ ์ก์ ํ์ํ ์๊ฐ๊ณผ ๋์ญํญ์ ์ ์ฝ ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ ๋์ด ์์ต๋๋ค.
verify-algย hash-algorithm
์จ๋ผ์ธ ๊ฒ์ฆ (bsradm verify)์ ๋์คํฌ ๋ธ๋ก (์ฆ, ํด์๊ฐ)์ ์ฒดํฌ์ฌ์ ๊ณ์ฐํ๊ณ ๋น๊ตํ์ฌ ์๋ก ๋ค๋ฅธ ์ง๋ฅผ ๊ฐ์งํฉ๋๋ค. verify-alg ๋งค๊ฐ ๋ณ์๋ ์ด๋ฌํ ์ฒดํฌ์ฌ์ ์ฌ์ฉํ ์๊ณ ๋ฆฌ์ฆ์ ๊ฒฐ์ ํฉ๋๋ค. ์จ๋ผ์ธ ๊ฒ์ฆ์ ์ฌ์ฉํ๊ธฐ ์ ์ ์ปค๋์ด ์ง์ํ๋ ๋ณด์ ํด์ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก ์ค์ ํด์ผ ํฉ๋๋ค. /proc/ crypto์ ๋์ด๋ shash ์๊ณ ๋ฆฌ์ฆ์ ์ฐธ์กฐํ์ญ์์ค.
stacked-on-top-ofย
3-4 ๊ฐ์ ๋ ธ๋๋ก ์คํ ๋ ๋ฆฌ์์ค๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด on ์น์ ๋์ ์ฌ์ฉ๋ฉ๋๋ค. bsr์์ ๋ ์ด์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
ย