เชธเซ‡เชซ - "เช˜เซ‚เช‚เชŸเชฃ เชชเชฐ" เชฅเซ€ "เช‰เชคเซเชชเชพเชฆเชจ" เชธเซเชงเซ€

CEPH เชจเซ€ เชชเชธเช‚เชฆเช—เซ€. เชญเชพเช— 1

เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชพเช‚เชš เชฐเซ‡เช•เซเชธ, เชฆเชธ เช“เชชเซเชŸเชฟเช•เชฒ เชธเซเชตเซ€เชšเซ‹, เช—เซ‹เช เชตเซ‡เชฒ BGP, เชฌเซ‡ เชกเชเชจ SSDs เช…เชจเซ‡ เชคเชฎเชพเชฎ เชฐเช‚เช—เซ‹ เช…เชจเซ‡ เช•เชฆเชจเซ€ SAS เชกเซเชฐเชพเชˆเชตเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เชคเซ‡เชฎเชœ เชชเซเชฐเซ‹เช•เซเชธเชฎเซ‹เช•เซเชธ เช…เชจเซ‡ เชคเชฎเชพเชฎ เชธเซเชŸเซ‡เชŸเชฟเช•เชจเซ‡ เช…เชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ S3 เชธเซเชŸเซ‹เชฐเซ‡เชœเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ€ เชˆเชšเซเช›เชพ เชนเชคเซ€. เชเชตเซเช‚ เชจเชฅเซ€ เช•เซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒเชพเชˆเชเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เช† เชฌเชงเซเช‚ เชœเชฐเซ‚เชฐเซ€ เชนเชคเซเช‚, เชชเชฐเช‚เชคเซ เชเช•เชตเชพเชฐ เชคเชฎเซ‡ เช“เชชเชจเชธเซ‹เชฐเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€ เชฆเซ‹, เชชเช›เซ€ เชคเชฎเชพเชฐเชพ เชถเซ‹เช–เชจเซ‡ เช…เช‚เชค เชธเซเชงเซ€ เชฒเชˆ เชœเชพเช“. เชฎเชพเชคเซเชฐ เชเช• เชœ เชตเชธเซเชคเซ เชœเซ‡ เชฎเชจเซ‡ เชชเชฐเซ‡เชถเชพเชจ เช•เชฐเชคเซ€ เชนเชคเซ€ เชคเซ‡ เชนเชคเซ€ BGP. BGP เช†เช‚เชคเชฐเชฟเช• เชฐเซ‚เชŸเซ€เช‚เช— เช•เชฐเชคเชพเช‚ เชตเชงเซ เชฒเชพเชšเชพเชฐ, เชฌเซ‡เชœเชตเชพเชฌเชฆเชพเชฐ เช…เชจเซ‡ เช…เชจเซˆเชคเชฟเช• เชฆเซเชจเชฟเชฏเชพเชฎเชพเช‚ เช•เช‚เชˆ เชจเชฅเซ€. เช…เชจเซ‡ เชนเซเช‚ เชœเชพเชฃเชคเซ‹ เชนเชคเซ‹ เช•เซ‡ เชฌเชนเซ เชœเชฒเซเชฆเซ€ เช†เชชเชฃเซ‡ เชคเซ‡เชฎเชพเช‚ เชกเซ‚เชฌเซ€ เชœเชˆเชถเซเช‚.

เชธเซ‡เชซ - "เช˜เซ‚เช‚เชŸเชฃ เชชเชฐ" เชฅเซ€ "เช‰เชคเซเชชเชพเชฆเชจ" เชธเซเชงเซ€

เช•เชพเชฐเซเชฏ เชฎเชพเชฎเซ‚เชฒเซ€ เชนเชคเซเช‚ - เชคเซเชฏเชพเช‚ CEPH เชนเชคเซเช‚, เชคเซ‡ เช–เซ‚เชฌ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจ เชนเชคเซเช‚. เชคเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเชพเชจเซเช‚ เชนเชคเซเช‚.
เชฎเชจเซ‡ เชœเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชฎเชณเซเชฏเซเช‚ เชคเซ‡ เชตเชฟเชœเชพเชคเซ€เชฏ เชนเชคเซเช‚, เช‰เชคเชพเชตเชณเชฎเชพเช‚ เชŸเซเชฏเซเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚ เช…เชจเซ‡ เชตเซเชฏเชตเชนเชพเชฐเซ€เช• เชฐเซ€เชคเซ‡ เชŸเซเชฏเซเชจ เช•เชฐเซเชฏเซเช‚ เชจ เชนเชคเซเช‚. เชคเซ‡เชฎเชพเช‚ เชตเชฟเชตเชฟเชง เช—เชพเช‚เช เซ‹เชจเชพ เชฌเซ‡ เชœเซ‚เชฅเซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชเช• เชธเชพเชฎเชพเชจเซเชฏ เช—เซเชฐเซ€เชก เช•เซเชฒเชธเซเชŸเชฐ เช…เชจเซ‡ เชœเชพเชนเซ‡เชฐ เชจเซ‡เชŸเชตเชฐเซเช• เชฌเช‚เชจเซ‡ เชคเชฐเซ€เช•เซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡. เช—เชพเช‚เช เซ‹ เชšเชพเชฐ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชกเชฟเชธเซเช•เชฅเซ€ เชญเชฐเซ‡เชฒเซ€ เชนเชคเซ€ - เชฌเซ‡ เชชเซเชฐเช•เชพเชฐเชจเชพ SSDs, เชœเซ‡ เชฌเซ‡ เช…เชฒเช—-เช…เชฒเช— เชชเซเชฒเซ‡เชธเชฎเซ‡เชจเซเชŸ เชจเชฟเชฏเชฎเซ‹เชฎเชพเช‚ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ, เช…เชจเซ‡ เชคเซเชฐเซ€เชœเชพ เชœเซ‚เชฅเชฎเชพเช‚ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชพเชฏเซ‡เชฒ เชตเชฟเชตเชฟเชง เช•เชฆเชจเชพ เชฌเซ‡ เชชเซเชฐเช•เชพเชฐเชจเชพ HDD. เชตเชฟเชตเชฟเชง เชฎเชพเชชเซ‹เชจเซ€ เชธเชฎเชธเซเชฏเชพ เชตเชฟเชตเชฟเชง OSD เชตเชœเชจ เชฆเซเชตเชพเชฐเชพ เชนเชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€.

เชธเซ‡เชŸเช…เชช เชชเซ‹เชคเซ‡ เชฌเซ‡ เชญเชพเช—เซ‹เชฎเชพเช‚ เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒเซเช‚ เช›เซ‡ - เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เชŸเซเชฏเซเชจเชฟเช‚เช— ะธ CEPH เชชเซ‹เชคเซ‡ เชŸเซเชฏเซเชจเชฟเช‚เช— เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ.

เช“เชเชธ เช…เชชเช—เซเชฐเซ‡เชก

เชจเซ‡เชŸเชตเชฐเซเช•

เช‰เชšเซเชš เชฒเซ‡เชŸเชจเซเชธเซ€เช เชฐเซ‡เช•เซ‹เชฐเซเชกเชฟเช‚เช— เช…เชจเซ‡ เชฌเซ‡เชฒเซ‡เชจเซเชธเชฟเช‚เช— เชฌเช‚เชจเซ‡เชจเซ‡ เช…เชธเชฐ เช•เชฐเซ€. เชฒเช–เชคเซ€ เชตเช–เชคเซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เช…เชจเซเชฏ เชชเซเชฒเซ‡เชธเชฎเซ‡เชจเซเชŸ เชœเซ‚เชฅเซ‹เชฎเชพเช‚ เชกเซ‡เชŸเชพ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟเช“ เชธเชซเชณเชคเชพเชจเซ€ เชชเซเชทเซเชŸเชฟ เชจ เช•เชฐเซ‡ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เช•เซเชฒเชพเชฏเชจเซเชŸ เชธเชซเชณ เชฒเซ‡เช–เชจ เชตเชฟเชถเซ‡ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚. CRUSH เชจเช•เชถเชพเชฎเชพเช‚ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟเช“เชจเซเช‚ เชตเชฟเชคเชฐเชฃ เช•เชฐเชตเชพเชจเชพ เชจเชฟเชฏเชฎเซ‹ เชนเซ‹เชธเซเชŸ เชฆเซ€เช  เชเช• เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เชนเซ‹เชตเชพเชฅเซ€, เชจเซ‡เชŸเชตเชฐเซเช• เชนเช‚เชฎเซ‡เชถเชพ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซเช‚ เชนเชคเซเช‚.

เชคเซ‡เชฅเซ€, เชชเซเชฐเชฅเชฎ เชตเชธเซเชคเซ เชœเซ‡ เชฎเซ‡เช‚ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เชคเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชจเซ‡เชŸเชตเชฐเซเช•เชจเซ‡ เชธเชนเซ‡เชœ เชธเชฎเชพเชฏเซ‹เชœเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชนเชคเซเช‚, เชธเชฎเชพเช‚เชคเชฐ เชฐเซ€เชคเซ‡ เชฎเชจเซ‡ เช…เชฒเช— เชจเซ‡เชŸเชตเชฐเซเช•เซเชธ เชชเชฐ เชœเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชœเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹.

เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ เชจเซ‡เชŸเชตเชฐเซเช• เช•เชพเชฐเซเชก เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชจเซ‡ เชŸเซเชตเชฟเชธเซเชŸ เช•เชฐเซ€. เช•เชคเชพเชฐ เชธเซ‡เชŸ เช•เชฐเซ€เชจเซ‡ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚:

เชถเซเช‚ เชฅเชฏเซเช‚:

ethtool -l ens1f1

root@ceph01:~# ethtool -l ens1f1
Channel parameters for ens1f1:
Pre-set maximums:
RX:     0
TX:     0
Other:      1
Combined:   63
Current hardware settings:
RX:     0
TX:     0
Other:      1
Combined:   1
root@ceph01:~# ethtool -g ens1f1
Ring parameters for ens1f1:
Pre-set maximums:
RX:     4096
RX Mini:    0
RX Jumbo:   0
TX:     4096
Current hardware settings:
RX:     256
RX Mini:    0
RX Jumbo:   0
TX:     256
root@ceph01:~# ethtool -l ens1f1
Channel parameters for ens1f1:
Pre-set maximums:
RX:     0
TX:     0
Other:      1
Combined:   63
Current hardware settings:
RX:     0
TX:     0
Other:      1
Combined:   1

เชคเซ‡ เชœเซ‹เชˆ เชถเช•เชพเชฏ เช›เซ‡ เช•เซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฎเชนเชคเซเชคเชฎเชฅเซ€ เชฆเซ‚เชฐ เช›เซ‡. เชตเชงเชพเชฐเซ‹:

root@ceph01:~#ethtool -G ens1f0 rx 4096
root@ceph01:~#ethtool -G ens1f0 tx 4096
root@ceph01:~#ethtool -L ens1f0 combined 63

เชเช• เช‰เชคเซเชคเชฎ เชฒเซ‡เช– เชฆเซเชตเชพเชฐเชพ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชจ

https://blog.packagecloud.io/eng/2017/02/06/monitoring-tuning-linux-networking-stack-sending-data/

เชฎเซ‹เช•เชฒเชตเชพเชจเซ€ เช•เชคเชพเชฐเชจเซ€ เชฒเช‚เชฌเชพเชˆ เชตเชงเชพเชฐเซ€ txqueuelen 1000 เชฅเซ€ 10 000 เชธเซเชงเซ€

root@ceph01:~#ip link set ens1f0  txqueuelen 10000

เชตเซ‡เชฒ, ceph เชจเชพ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชจเซ‡ เช…เชจเซเชธเชฐเซ€เชจเซ‡

https://ceph.com/geen-categorie/ceph-loves-jumbo-frames/

เชตเชงเชพเชฐเซ‹ เชเชฎเชŸเซ€เชฏเซ 9000 เชฅเซ€.

root@ceph01:~#ip link set dev ens1f0  mtu 9000

/etc/network/interfaces เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เช›เซ‡ เชœเซ‡เชฅเซ€ เช‰เชชเชฐเซ‹เช•เซเชค เชคเชฎเชพเชฎ เชธเซเชŸเชพเชฐเซเชŸเช…เชช เชชเชฐ เชฒเซ‹เชก เชฅเชพเชฏ

เชฌเชฟเชฒเชพเชกเซ€ / เชตเช—เซ‡เชฐเซ‡ / เชจเซ‡เชŸเชตเชฐเซเช• / เช‡เชจเซเชŸเชฐเชซเซ‡เชธเซ‹

root@ceph01:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto ens1f0
iface ens1f0 inet manual
post-up /sbin/ethtool -G ens1f0 rx 4096
post-up /sbin/ethtool -G ens1f0 tx 4096
post-up /sbin/ethtool -L ens1f0 combined 63
post-up /sbin/ip link set ens1f0  txqueuelen 10000
mtu 9000

auto ens1f1
iface ens1f1 inet manual
post-up /sbin/ethtool -G ens1f1 rx 4096
post-up /sbin/ethtool -G ens1f1 tx 4096
post-up /sbin/ethtool -L ens1f1 combined 63
post-up /sbin/ip link set ens1f1  txqueuelen 10000
mtu 9000

เชคเซ‡ เชชเช›เซ€, เชคเซ‡ เชœ เชฒเซ‡เช–เชจเซ‡ เช…เชจเซเชธเชฐเซ€เชจเซ‡, เชฎเซ‡เช‚ 4.15 เช•เชฐเซเชจเชฒเชจเชพ เชนเซ‡เชจเซเชกเชฒเซเชธเชจเซ‡ เชตเชฟเชšเชพเชฐเชชเซ‚เชฐเซเชตเช• เชŸเซเชตเชฟเชธเซเชŸ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚. เช†เชชเซ‡เชฒ เช›เซ‡ เช•เซ‡ เชจเซ‹เชกเซเชธเชฎเชพเช‚ 128G RAM เช›เซ‡, เช…เชฎเชจเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชšเซ‹เช•เซเช•เชธ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒ เชฎเชณเซ€ เช›เซ‡ sysctl

cat /etc/sysctl.d/50-ceph.conf

net.core.rmem_max = 56623104  
#ะœะฐะบัะธะผะฐะปัŒะฝั‹ะน ั€ะฐะทะผะตั€ ะฑัƒั„ะตั€ะฐ ะฟั€ะธะตะผะฐ ะดะฐะฝะฝั‹ั… ะดะปั ะฒัะตั… ัะพะตะดะธะฝะตะฝะธะน  54M
net.core.wmem_max = 56623104
#ะœะฐะบัะธะผะฐะปัŒะฝั‹ะน ั€ะฐะทะผะตั€ ะฑัƒั„ะตั€ะฐ ะฟะตั€ะตะดะฐั‡ะธ ะดะฐะฝะฝั‹ั… ะดะปั ะฒัะตั… ัะพะตะดะธะฝะตะฝะธะน 54M
net.core.rmem_default = 56623104
#ะ ะฐะทะผะตั€ ะฑัƒั„ะตั€ะฐ ะฟั€ะธะตะผะฐ ะดะฐะฝะฝั‹ั… ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะดะปั ะฒัะตั… ัะพะตะดะธะฝะตะฝะธะน. 54M
net.core.wmem_default = 56623104
#ะ ะฐะทะผะตั€ ะฑัƒั„ะตั€ะฐ ะฟะตั€ะตะดะฐั‡ะธ ะดะฐะฝะฝั‹ั… ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะดะปั ะฒัะตั… ัะพะตะดะธะฝะตะฝะธะน 54M  
# ะฝะฐ ะบะฐะถะดั‹ะน ัะพะบะตั‚
net.ipv4.tcp_rmem = 4096 87380 56623104
#ะ’ะตะบั‚ะพั€ะฝะฐั (ะผะธะฝะธะผัƒะผ, ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ, ะผะฐะบัะธะผัƒะผ) ะฟะตั€ะตะผะตะฝะฝะฐั ะฒ ั„ะฐะนะปะต tcp_rmem
# ัะพะดะตั€ะถะธั‚ 3 ั†ะตะปั‹ั… ั‡ะธัะปะฐ, ะพะฟั€ะตะดะตะปััŽั‰ะธั… ั€ะฐะทะผะตั€ ะฟั€ะธะตะผะฝะพะณะพ ะฑัƒั„ะตั€ะฐ ัะพะบะตั‚ะพะฒ TCP.
# ะœะธะฝะธะผัƒะผ: ะบะฐะถะดั‹ะน ัะพะบะตั‚ TCP ะธะผะตะตั‚ ะฟั€ะฐะฒะพ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ัั‚ัƒ ะฟะฐะผัั‚ัŒ ะฟะพ 
# ั„ะฐะบั‚ัƒ ัะฒะพะตะณะพ ัะพะทะดะฐะฝะธั. ะ’ะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ั‚ะฐะบะพะณะพ ะฑัƒั„ะตั€ะฐ 
# ะณะฐั€ะฐะฝั‚ะธั€ัƒะตั‚ัั ะดะฐะถะต ะฟั€ะธ ะดะพัั‚ะธะถะตะฝะธะธ ะฟะพั€ะพะณะฐ ะพะณั€ะฐะฝะธั‡ะตะฝะธั (moderate memory pressure).
# ะ ะฐะทะผะตั€ ะผะธะฝะธะผะฐะปัŒะฝะพะณะพ ะฑัƒั„ะตั€ะฐ ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ัะพัั‚ะฐะฒะปัะตั‚ 8 ะšะฑะฐะนั‚ (8192).
#ะ—ะฝะฐั‡ะตะฝะธะต ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ: ะบะพะปะธั‡ะตัั‚ะฒะพ ะฟะฐะผัั‚ะธ, ะดะพะฟัƒัั‚ะธะผะพะต ะดะปั ะฑัƒั„ะตั€ะฐ 
# ะฟะตั€ะตะดะฐั‡ะธ ัะพะบะตั‚ะฐ TCP ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ. ะญั‚ะพ ะทะฝะฐั‡ะตะฝะธะต ะฟั€ะธะผะตะฝัะตั‚ัั ะฒะทะฐะผะตะฝ
# ะฟะฐั€ะฐะผะตั‚ั€ะฐ /proc/sys/net/core/rmem_default, ะธัะฟะพะปัŒะทัƒะตะผะพะณะพ ะดั€ัƒะณะธะผะธ ะฟั€ะพั‚ะพะบะพะปะฐะผะธ.
# ะ—ะฝะฐั‡ะตะฝะธะต ะธัะฟะพะปัŒะทัƒะตะผะพะณะพ ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะฑัƒั„ะตั€ะฐ ะพะฑั‹ั‡ะฝะพ (ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ) 
# ัะพัั‚ะฐะฒะปัะตั‚ 87830 ะฑะฐะนั‚. ะญั‚ะพ ะพะฟั€ะตะดะตะปัะตั‚ ั€ะฐะทะผะตั€ ะพะบะฝะฐ 65535 ั 
# ะทะฐะดะฐะฝะฝั‹ะผ ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะทะฝะฐั‡ะตะฝะธะตะผ tcp_adv_win_scale ะธ tcp_app_win = 0, 
# ะฝะตัะบะพะปัŒะบะพ ะผะตะฝัŒัˆะธะน, ะฝะตะถะตะปะธ ะพะฟั€ะตะดะตะปัะตั‚ ะฟั€ะธะฝัั‚ะพะต ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะทะฝะฐั‡ะตะฝะธะต tcp_app_win.
# ะœะฐะบัะธะผัƒะผ: ะผะฐะบัะธะผะฐะปัŒะฝั‹ะน ั€ะฐะทะผะตั€ ะฑัƒั„ะตั€ะฐ, ะบะพั‚ะพั€ั‹ะน ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะธ
# ะฒั‹ะดะตะปะตะฝ ะดะปั ะฟั€ะธะตะผะฐ ัะพะบะตั‚ัƒ TCP. ะญั‚ะพ ะทะฝะฐั‡ะตะฝะธะต ะฝะต ะพั‚ะผะตะฝัะตั‚ ะผะฐะบัะธะผัƒะผะฐ, 
# ะทะฐะดะฐะฝะฝะพะณะพ ะฒ ั„ะฐะนะปะต /proc/sys/net/core/rmem_max. ะŸั€ะธ ยซัั‚ะฐั‚ะธั‡ะตัะบะพะผยป
# ะฒั‹ะดะตะปะตะฝะธะธ ะฟะฐะผัั‚ะธ ั ะฟะพะผะพั‰ัŒัŽ SO_RCVBUF ัั‚ะพั‚ ะฟะฐั€ะฐะผะตั‚ั€ ะฝะต ะธะผะตะตั‚ ะทะฝะฐั‡ะตะฝะธั.
net.ipv4.tcp_wmem = 4096 65536 56623104
net.core.somaxconn = 5000    
# ะœะฐะบัะธะผะฐะปัŒะฝะพะต ั‡ะธัะปะพ ะพั‚ะบั€ั‹ั‚ั‹ั… ัะพะบะตั‚ะพะฒ, ะถะดัƒั‰ะธั… ัะพะตะดะธะฝะตะฝะธั.
net.ipv4.tcp_timestamps=1
# ะ ะฐะทั€ะตัˆะฐะตั‚ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต ะฒั€ะตะผะตะฝะฝั‹ั… ะผะตั‚ะพะบ (timestamps), ะฒ ัะพะพั‚ะฒะตั‚ัั‚ะฒะธะธ ั RFC 1323.
net.ipv4.tcp_sack=1
# ะ ะฐะทั€ะตัˆะธั‚ัŒ ะฒั‹ะฑะพั€ะพั‡ะฝั‹ะต ะฟะพะดั‚ะฒะตั€ะถะดะตะฝะธั ะฟั€ะพั‚ะพะบะพะปะฐ TCP
net.core.netdev_max_backlog=5000 (ะดะตั„ะพะปั‚ 1000)
# ะผะฐะบัะธะผะฐะปัŒะฝะพะต ะบะพะปะธั‡ะตัั‚ะฒะพ ะฟะฐะบะตั‚ะพะฒ ะฒ ะพั‡ะตั€ะตะดะธ ะฝะฐ ะพะฑั€ะฐะฑะพั‚ะบัƒ, ะตัะปะธ 
# ะธะฝั‚ะตั€ั„ะตะนั ะฟะพะปัƒั‡ะฐะตั‚ ะฟะฐะบะตั‚ั‹ ะฑั‹ัั‚ั€ะตะต, ั‡ะตะผ ัะดั€ะพ ะผะพะถะตั‚ ะธั… ะพะฑั€ะฐะฑะพั‚ะฐั‚ัŒ.
net.ipv4.tcp_max_tw_buckets=262144
# ะœะฐะบัะธะผะฐะปัŒะฝะพะต ั‡ะธัะปะพ ัะพะบะตั‚ะพะฒ, ะฝะฐั…ะพะดัั‰ะธั…ัั ะฒ ัะพัั‚ะพัะฝะธะธ TIME-WAIT ะพะดะฝะพะฒั€ะตะผะตะฝะฝะพ.
# ะŸั€ะธ ะฟั€ะตะฒั‹ัˆะตะฝะธะธ ัั‚ะพะณะพ ะฟะพั€ะพะณะฐ โ€“ ยซะปะธัˆะฝะธะนยป ัะพะบะตั‚ ั€ะฐะทั€ัƒัˆะฐะตั‚ัั ะธ ะฟะธัˆะตั‚ัั
# ัะพะพะฑั‰ะตะฝะธะต ะฒ ัะธัั‚ะตะผะฝั‹ะน ะถัƒั€ะฝะฐะป.
net.ipv4.tcp_tw_reuse=1
#ะ ะฐะทั€ะตัˆะฐะตะผ ะฟะพะฒั‚ะพั€ะฝะพะต ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต TIME-WAIT ัะพะบะตั‚ะพะฒ ะฒ ัะปัƒั‡ะฐัั…,
# ะตัะปะธ ะฟั€ะพั‚ะพะบะพะป ัั‡ะธั‚ะฐะตั‚ ัั‚ะพ ะฑะตะทะพะฟะฐัะฝั‹ะผ.
net.core.optmem_max=4194304
#ะฃะฒะตะปะธั‡ะธั‚ัŒ ะผะฐะบัะธะผะฐะปัŒะฝั‹ะน ะพะฑั‰ะธะน ะฑัƒั„ะตั€-ะบะพัะผะธั‡ะตัะบะพะน ALLOCATABLE
#ะธะทะผะตั€ัะตั‚ัั ะฒ ะตะดะธะฝะธั†ะฐั… ัั‚ั€ะฐะฝะธั† (4096 ะฑะฐะนั‚)
net.ipv4.tcp_low_latency=1
#ะ ะฐะทั€ะตัˆะฐะตั‚ ัั‚ะตะบัƒ TCP/IP ะพั‚ะดะฐะฒะฐั‚ัŒ ะฟั€ะตะดะฟะพั‡ั‚ะตะฝะธะต ะฝะธะทะบะพะผัƒ ะฒั€ะตะผะตะฝะธ ะพะถะธะดะฐะฝะธั
# ะฟะตั€ะตะด ะฑะพะปะตะต ะฒั‹ัะพะบะพะน ะฟั€ะพะฟัƒัะบะฝะพะน ัะฟะพัะพะฑะฝะพัั‚ัŒัŽ.
net.ipv4.tcp_adv_win_scale=1
# ะญั‚ะฐ ะฟะตั€ะตะผะตะฝะฝะฐั ะฒะปะธัะตั‚ ะฝะฐ ะฒั‹ั‡ะธัะปะตะฝะธะต ะพะฑัŠะตะผะฐ ะฟะฐะผัั‚ะธ ะฒ ะฑัƒั„ะตั€ะต ัะพะบะตั‚ะฐ,
# ะฒั‹ะดะตะปัะตะผะพะน ะฟะพะด ั€ะฐะทะผะตั€ TCP-ะพะบะฝะฐ ะธ ะฟะพะด ะฑัƒั„ะตั€ ะฟั€ะธะปะพะถะตะฝะธั.
# ะ•ัะปะธ ะฒะตะปะธั‡ะธะฝะฐ tcp_adv_win_scale ะพั‚ั€ะธั†ะฐั‚ะตะปัŒะฝะฐั, ั‚ะพ ะดะปั ะฒั‹ั‡ะธัะปะตะฝะธั ั€ะฐะทะผะตั€ะฐ
# ะธัะฟะพะปัŒะทัƒะตั‚ัั ัะปะตะดัƒัŽั‰ะตะต ะฒั‹ั€ะฐะถะตะฝะธะต:
# Bytes- bytes2ะฒ ัั‚ะตะฟะตะฝะธ -tcp_adv_win_scale
# ะ“ะดะต bytes โ€“ ัั‚ะพ ั€ะฐะทะผะตั€ ะพะบะฝะฐ ะฒ ะฑะฐะนั‚ะฐั…. ะ•ัะปะธ ะฒะตะปะธั‡ะธะฝะฐ tcp_adv_win_scale
# ะฟะพะปะพะถะธั‚ะตะปัŒะฝะฐั, ั‚ะพ ะดะปั ะพะฟั€ะตะดะตะปะตะฝะธั ั€ะฐะทะผะตั€ะฐ ะธัะฟะพะปัŒะทัƒะตั‚ัั ัะปะตะดัƒัŽั‰ะตะต ะฒั‹ั€ะฐะถะตะฝะธะต:
# Bytes- bytes2ะฒ ัั‚ะตะฟะตะฝะธ tcp_adv_win_scale
# ะŸะตั€ะตะผะตะฝะฝะฐั ะฟั€ะธะฝะธะผะฐะตั‚ ั†ะตะปะพะต ะทะฝะฐั‡ะตะฝะธะต. ะ—ะฝะฐั‡ะตะฝะธะต ะฟะพ-ัƒะผะพะปั‡ะฐะฝะธัŽ โ€“ 2, 
# ั‚.ะต. ะฟะพะด ะฑัƒั„ะตั€ ะฟั€ะธะปะพะถะตะฝะธั ะพั‚ะฒะพะดะธั‚ัั ยผ ั‡ะฐัั‚ัŒ ะพะฑัŠะตะผะฐ, ะพะฟั€ะตะดะตะปัะตะผะพะณะพ ะฟะตั€ะตะผะตะฝะฝะพะน
# tcp_rmem.
net.ipv4.tcp_slow_start_after_idle=0
# ะผะตั…ะฐะฝะธะทะผ ะฟะตั€ะตะทะฐะฟัƒัะบะฐ ะผะตะดะปะตะฝะฝะพะณะพ ัั‚ะฐั€ั‚ะฐ, ะบะพั‚ะพั€ั‹ะน ัะฑั€ะฐัั‹ะฒะฐะตั‚ ะทะฝะฐั‡ะตะฝะธะต ะพะบะฝะฐ 
# ะฟะตั€ะตะณั€ัƒะทะบะธ, ะตัะปะธ ัะพะตะดะธะฝะตะฝะธะต ะฝะต ะธัะฟะพะปัŒะทะพะฒะฐะปะพััŒ ะทะฐะดะฐะฝะฝั‹ะน ะฟะตั€ะธะพะด ะฒั€ะตะผะตะฝะธ.
# ะ›ัƒั‡ัˆะต ะพั‚ะบะปัŽั‡ะธั‚ัŒ SSR ะฝะฐ ัะตั€ะฒะตั€ะต, ั‡ั‚ะพะฑั‹ ัƒะปัƒั‡ัˆะธั‚ัŒ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ 
# ะดะพะปะณะพะถะธะฒัƒั‰ะธั… ัะพะตะดะธะฝะตะฝะธะน.
net.ipv4.tcp_no_metrics_save=1
#ะะต ัะพั…ั€ะฐะฝัั‚ัŒ ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะธะทะผะตั€ะตะฝะธะน TCP ัะพะตะดะธะฝะตะฝะธั ะฒ ะบะตัˆะต ะฟั€ะธ ะตะณะพ ะทะฐะบั€ั‹ั‚ะธะธ.
net.ipv4.tcp_syncookies=0
#ะžั‚ะบะปัŽั‡ะธั‚ัŒ ะผะตั…ะฐะฝะธะทะผ ะพั‚ะฟั€ะฐะฒะบะธ syncookie
net.ipv4.tcp_ecn=0
#Explicit Congestion Notification (ะฏะฒะฝะพะต ะฃะฒะตะดะพะผะปะตะฝะธะต ะพ ะŸะตั€ะตะณั€ัƒะถะตะฝะฝะพัั‚ะธ) ะฒ 
# TCP-ัะพะตะดะธะฝะตะฝะธัั…. ะ˜ัะฟะพะปัŒะทัƒะตั‚ัั ะดะปั ัƒะฒะตะดะพะผะปะตะฝะธั ะพ ะฒะพะทะฝะธะบะฝะพะฒะตะฝะธะธ ยซะทะฐั‚ะพั€ะฐยป 
# ะฝะฐ ะผะฐั€ัˆั€ัƒั‚ะต ะบ ะทะฐะดะฐะฝะฝะพะผัƒ ั…ะพัั‚ัƒ ะธะปะธ ัะตั‚ะธ. ะœะพะถะตั‚ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒัั ะดะปั ะธะทะฒะตั‰ะตะฝะธั
# ั…ะพัั‚ะฐ-ะพั‚ะฟั€ะฐะฒะธั‚ะตะปั ะพ ะฝะตะพะฑั…ะพะดะธะผะพัั‚ะธ ัะฝะธะทะธั‚ัŒ ัะบะพั€ะพัั‚ัŒ ะฟะตั€ะตะดะฐั‡ะธ ะฟะฐะบะตั‚ะพะฒ ั‡ะตั€ะตะท
# ะบะพะฝะบั€ะตั‚ะฝั‹ะน ะผะฐั€ัˆั€ัƒั‚ะธะทะฐั‚ะพั€ ะธะปะธ ะฑั€ะฐะฝะดะผะฐัƒัั€.
net.ipv4.conf.all.send_redirects=0
# ะฒั‹ะบะปัŽั‡ะฐะตั‚ ะฒั‹ะดะฐั‡ัƒ ICMP Redirect โ€ฆ ะดั€ัƒะณะธะผ ั…ะพัั‚ะฐะผ. ะญั‚ะฐ ะพะฟั†ะธั ะพะฑัะทะฐั‚ะตะปัŒะฝะพ
# ะดะพะปะถะฝะฐ ะฑั‹ั‚ัŒ ะฒะบะปัŽั‡ะตะฝะฐ, ะตัะปะธ ั…ะพัั‚ ะฒั‹ัั‚ัƒะฟะฐะตั‚ ะฒ ั€ะพะปะธ ะผะฐั€ัˆั€ัƒั‚ะธะทะฐั‚ะพั€ะฐ ะปัŽะฑะพะณะพ ั€ะพะดะฐ.
# ะฃ ะฝะฐั ะฝะตั‚ ะผะฐั€ัˆั€ัƒั‚ะธะทะฐั†ะธะธ.
net.ipv4.ip_forward=0
#ะกะพะฟัะฝะพ ะพั‚ะบะปัŽั‡ะตะฝะธะต ั„ะพั€ะฒะฐั€ะดะธะฝะณะฐ. ะœั‹ ะฝะต ัˆะปัŽะท, ะดะพะบะตั€ ะฝะฐ ะผะฐัˆะธะฝะฐั… ะฝะต ะฟะพะดะฝัั‚,
# ะฝะฐะผ ัั‚ะพ ะฝะต ะฝัƒะถะฝะพ.
net.ipv4.icmp_echo_ignore_broadcasts=1
#ะะต ะพั‚ะฒะตั‡ะฐะตะผ ะฝะฐ ICMP ECHO ะทะฐะฟั€ะพัั‹, ะฟะตั€ะตะดะฐะฝะฝั‹ะต ัˆะธั€ะพะบะพะฒะตั‰ะฐั‚ะตะปัŒะฝั‹ะผะธ ะฟะฐะบะตั‚ะฐะผะธ
net.ipv4.tcp_fin_timeout=10
#ะพะฟั€ะตะดะตะปัะตั‚ ะฒั€ะตะผั ัะพั…ั€ะฐะฝะตะฝะธั ัะพะบะตั‚ะฐ ะฒ ัะพัั‚ะพัะฝะธะธ FIN-WAIT-2 ะฟะพัะปะต ะตะณะพ
# ะทะฐะบั€ั‹ั‚ะธั ะปะพะบะฐะปัŒะฝะพะน ัั‚ะพั€ะพะฝะพะน. ะ”ะตั„ะพะปั‚ 60
net.core.netdev_budget=600 # (ะดะตั„ะพะปั‚ 300)
# ะ•ัะปะธ ะฒั‹ะฟะพะปะฝะตะฝะธะต ะฟั€ะพะณั€ะฐะผะผะฝั‹ั… ะฟั€ะตั€ั‹ะฒะฐะฝะธะน ะฝะต ะฒั‹ะฟะพะปะฝััŽั‚ัั ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะดะพะปะณะพ,
# ั‚ะพ ั‚ะตะผะฟ ั€ะพัั‚ะฐ ะฒั…ะพะดัั‰ะธั… ะดะฐะฝะฝั‹ั… ะผะพะถะตั‚ ะฟั€ะตะฒั‹ัะธั‚ัŒ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ัะดั€ะฐ 
# ะพะฟัƒัั‚ะพัˆะธั‚ัŒ ะฑัƒั„ะตั€. ะ’ ั€ะตะทัƒะปัŒั‚ะฐั‚ะต ะฑัƒั„ะตั€ั‹ NIC ะฟะตั€ะตะฟะพะปะฝัั‚ัั, ะธ ั‚ั€ะฐั„ะธะบ ะฑัƒะดะตั‚ ะฟะพั‚ะตั€ัะฝ.
# ะ˜ะฝะพะณะดะฐ, ะฝะตะพะฑั…ะพะดะธะผะพ ัƒะฒะตะปะธั‡ะธั‚ัŒ ะดะปะธั‚ะตะปัŒะฝะพัั‚ัŒ ั€ะฐะฑะพั‚ั‹ SoftIRQs
# (ะฟั€ะพะณั€ะฐะผะผะฝั‹ั… ะฟั€ะตั€ั‹ะฒะฐะฝะธะน) ั CPU. ะ—ะฐ ัั‚ะพ ะพั‚ะฒะตั‡ะฐะตั‚ netdev_budget. 
# ะ—ะฝะฐั‡ะตะฝะธะต ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ 300. ะŸะฐั€ะฐะผะตั‚ั€ ะทะฐัั‚ะฐะฒะธั‚ ะฟั€ะพั†ะตัั SoftIRQ ะพะฑั€ะฐะฑะพั‚ะฐั‚ัŒ
# 300 ะฟะฐะบะตั‚ะพะฒ ะพั‚ NIC ะฟะตั€ะตะด ั‚ะตะผ ะบะฐะบ ะพั‚ะฟัƒัั‚ะธั‚ัŒ CPU
net.ipv4.tcp_fastopen=3
# TFO TCP Fast Open
# ะตัะปะธ ะธ ะบะปะธะตะฝั‚ ะธ ัะตั€ะฒะตั€ ะธะผะตัŽั‚ ะฟะพะดะดะตั€ะถะบัƒ TFO, ะพ ะบะพั‚ะพั€ะพะน ัะพะพะฑั‰ะฐัŽั‚ ะทะฐ ัั‡ะตั‚
# ัะฟะตั†ะธะฐะปัŒะฝะพะณะพ ั„ะปะฐะณะฐ ะฒ TCP ะฟะฐะบะตั‚ะต. ะ’ ะฝะฐัˆะตะผ ัะปัƒั‡ะฐะต ัะฒะปัะตั‚ัั ะฟะปะฐั†ะตะฑะพ, ะฟั€ะพัั‚ะพ
# ะฒั‹ะณะปัะดะธั‚ ะบั€ะฐัะธะฒะพ)

ะกเชšเชฎเช• เชจเซ‡เชŸเชตเชฐเซเช• เช…เชฒเช— เชซเซเชฒเซ‡เชŸ เชจเซ‡เชŸเชตเชฐเซเช•เชฎเชพเช‚ เช…เชฒเช— 10Gbps เชจเซ‡เชŸเชตเชฐเซเช• เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชชเชฐ เชซเชพเชณเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชฆเชฐเซ‡เช• เชฎเชถเซ€เชจเชจเซ‡ เชฌเซ‡-เชชเซ‹เชฐเซเชŸ เชจเซ‡เชŸเชตเชฐเซเช• เช•เชพเชฐเซเชกเซเชธ เชชเซ‚เชฐเชพ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ เชฎเซ‡เชฒเชพเชจเซ‹เช•เซเชธ 10/25 Gbps เชฌเซ‡ เช…เชฒเช— 10Gbps เชธเซเชตเซ€เชšเซ‹เชฎเชพเช‚ เชชเซเชฒเช— เชฅเชฏเซ‡เชฒ เช›เซ‡. OSPF เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเช•เชคเซเชฐเซ€เช•เชฐเชฃ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚, เช•เชพเชฐเชฃ เช•เซ‡ เช…เชฎเซเช• เช•เชพเชฐเชฃเซ‹เชธเชฐ lacp เชธเชพเชฅเซ‡ เชฌเช‚เชงเชจ เช เชฎเชนเชคเซเชคเชฎ 16 Gbps เชจเซ‹ เช•เซเชฒ เชฅเซเชฐเซเชชเซเชŸ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ ospf เช เชฆเชฐเซ‡เช• เชฎเชถเซ€เชจ เชชเชฐ เชฌเช‚เชจเซ‡ เชกเชเชจเชจเซ‹ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฐเซ€เชคเซ‡ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹. เชฒเซ‡เชŸเชจเซเชธเซ€ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เช† เชฎเซ‡เชฒเชพเชจเซ‹เช•เซเชธ เชชเชฐ ROCE เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชตเชงเซ เชฏเซ‹เชœเชจเชพเช“ เชนเชคเซ€. เชจเซ‡เชŸเชตเชฐเซเช•เชจเซ‹ เช† เชญเชพเช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเซเชฏเซ‹ เชนเชคเซ‹:

  1. เชฎเชถเซ€เชจเซ‹ เชชเซ‹เชคเซ‡ BGP เชชเชฐ เชฌเชพเชนเซเชฏ IP เชงเชฐเชพเชตเซ‡ เช›เซ‡, เช…เชฎเชจเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ - (เช…เชฅเชตเชพ เชฌเชฆเชฒเซ‡, เชฒเซ‡เช–เชจ เชธเชฎเชฏเซ‡, เชคเซ‡ เชนเชคเซเช‚ frr=6.0-1 ) เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชŠเชญเซ‹ เชนเชคเซ‹.
  2. เช•เซเชฒ เชฎเชณเซ€เชจเซ‡, เชฎเชถเซ€เชจเซ‹เชฎเชพเช‚ เชฌเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชนเชคเชพ, เชฆเชฐเซ‡เช•เชฎเชพเช‚ เชฌเซ‡ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ - เช•เซเชฒ 4 เชชเซ‹เชฐเซเชŸ. เชเช• เชจเซ‡เชŸเชตเชฐเซเช• เช•เชพเชฐเซเชก เชซเซ‡เช•เซเชŸเชฐเซ€เชจเซ‡ เชฌเซ‡ เชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ เชœเซ‹เชคเซเช‚ เชนเชคเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐ BGP เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เชนเชคเซเช‚, เชฌเซ€เชœเชพเช เชฌเซ‡ เชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡เชจเชพ เชฌเซ‡ เช…เชฒเช—-เช…เชฒเช— เชธเซเชตเชฟเชš เชชเชฐ เชœเซ‹เชฏเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐ OSPF เชธเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚.

OSPF เชธเซเชฏเซ‹เชœเชฟเชค เช•เชฐเชตเชพ เชชเชฐ เชตเชงเซ: เชฎเซเช–เซเชฏ เช•เชพเชฐเซเชฏ เชฌเซ‡ เชฒเชฟเช‚เช•เซเชธเชจเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡ เช…เชจเซ‡ เช–เชพเชฎเซ€ เชธเชนเชจเชถเซ€เชฒเชคเชพ เชงเชฐเชพเชตเซ‡ เช›เซ‡.
เชฌเซ‡ เชธเชฐเชณ เชซเซเชฒเซ‡เชŸ เชจเซ‡เชŸเชตเชฐเซเช•เซเชธเชฎเชพเช‚ เช—เซ‹เช เชตเซ‡เชฒเชพ เชฌเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เช‡เชจเซเชŸเชฐเชซเซ‡เชธ - 10.10.10.0/24 เช…เชจเซ‡ 10.10.20.0/24

1: ens1f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
inet 10.10.10.2/24 brd 10.10.10.255 scope global ens1f0
2: ens1f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
inet 10.10.20.2/24 brd 10.10.20.255 scope global ens1f1

เชœเซ‡เชจเชพ เชฆเซเชตเชพเชฐเชพ เช•เชพเชฐ เชเช•เชฌเซ€เชœเชพเชจเซ‡ เชœเซเช เช›เซ‡.

เชกเชฟเชธเซเช•

เช†เช—เชณเชจเซเช‚ เชชเช—เชฒเซเช‚ เชกเชฟเชธเซเช• เชชเซเชฐเชฆเชฐเซเชถเชจเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพเชจเซเช‚ เชนเชคเซเช‚. SSD เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐเชจเซ‡ เช†เชฎเชพเช‚ เชฌเชฆเชฒเซเชฏเซเช‚ เชจเซ‚เชช, HDD เชฎเชพเชŸเซ‡ - เช…เชจเซเชคเชฟเชฎ เชฐเซ‡เช–เชพ. เชœเซ‹ เชคเซ‡ เช–เชฐเชฌเชšเชกเซ€ เชนเซ‹เชฏ, เชคเซ‹ NOOP เช เชธเชฟเชฆเซเชงเชพเช‚เชค เชชเชฐ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ "เช•เซ‹เชฃ เชชเชนเซ‡เชฒเชพ เช‰เช เซ‡ เช›เซ‡ - เชคเซ‡ เชšเชชเซเชชเชฒ เช›เซ‡", เชœเซ‡ เช…เช‚เช—เซเชฐเซ‡เชœเซ€เชฎเชพเช‚ "FIFO (เชซเชฐเซเชธเซเชŸ เช‡เชจ, เชซเชฐเซเชธเซเชŸ เช†เช‰เชŸ)" เชœเซ‡เชตเซ‹ เชฒเชพเช—เซ‡ เช›เซ‡. เชœเซ‡เชฎ เชœเซ‡เชฎ เชคเซ‡เช“ เช†เชตเซ‡ เช›เซ‡ เชคเซ‡เชฎ เชตเชฟเชจเช‚เชคเซ€เช“ เช•เชคเชพเชฐเชฎเชพเช‚ เชนเซ‹เชฏ เช›เซ‡. DEADLINE เชตเชงเซ เชตเชพเช‚เชšเชตเชพ-เชฎเซˆเชคเซเชฐเซ€เชชเซ‚เชฐเซเชฃ เช›เซ‡, เช‰เชชเชฐเชพเช‚เชค เช•เชคเชพเชฐเชฎเชพเช‚เชฅเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เช“เชชเชฐเซ‡เชถเชจ เชธเชฎเชฏเซ‡ เชกเชฟเชธเซเช•เชจเซ€ เชฒเช—เชญเช— เชตเชฟเชถเชฟเชทเซเชŸ เชเช•เซเชธเซ‡เชธ เชฎเชณเซ‡ เช›เซ‡. เช…เชฎเชพเชฐเซ€ เชธเชฟเชธเซเชŸเชฎ เชฎเชพเชŸเซ‡, เช† เชธเชฐเชธ เช›เซ‡ - เช›เซ‡เชตเชŸเซ‡, เชฆเชฐเซ‡เช• เชกเชฟเชธเซเช• เชธเชพเชฅเซ‡ เชฎเชพเชคเซเชฐ เชเช• เชœ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ - OSD เชกเชฟเชฎเชจ.
(เชœเซ‡เช“ I / O เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐเชฎเชพเช‚ เชกเชพเช‡เชต เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‡ เช›เซ‡ เชคเซ‡เช“ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เช…เชนเซ€เช‚ เชตเชพเช‚เชšเซ€ เชถเช•เซ‡ เช›เซ‡:
http://www.admin-magazine.com/HPC/Articles/Linux-I-O-Schedulers

เชœเซ‡เช“ เชฐเชถเชฟเชฏเชจเชฎเชพเช‚ เชตเชพเช‚เชšเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡: https://www.opennet.ru/base/sys/linux_shedulers.txt.html)

Linux เชจเซ‡ เชŸเซเชฏเซเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชญเชฒเชพเชฎเชฃเซ‹เชฎเชพเช‚, nr_request เชจเซ‡ เชตเชงเชพเชฐเชตเชพเชจเซ€ เชชเชฃ เชธเชฒเชพเชน เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡

nr_requests
nr_requests เชจเซ€ เช•เชฟเช‚เชฎเชค I/O เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชœเซ‡ I/O เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐ เชฌเซเชฒเซ‹เช• เช‰เชชเช•เชฐเชฃเชจเซ‡ เชกเซ‡เชŸเชพ เชฎเซ‹เช•เชฒเซ‡ / เชฎเซ‡เชณเชตเซ‡ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เชฌเชซเชฐ เชฅเชพเชฏ เช›เซ‡, เชœเซ‹ เชคเชฎเซ‡ RAID เช•เชพเชฐเซเชก / เชฌเซเชฒเซ‹เช• เช‰เชชเช•เชฐเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เชœเซ‡ I เช•เชฐเชคเชพเช‚ เชฎเซ‹เชŸเซ€ เช•เชคเชพเชฐเชจเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. /O เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐ เชชเชฐ เชธเซ‡เชŸ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชธเชฐเซเชตเชฐ เชชเชฐ เชฎเซ‹เชŸเซ€ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ I/O เช†เชตเซ‡ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ nr_requestsเชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชตเชงเชพเชฐเชตเชพเชฅเซ€ เชธเชฐเซเชตเชฐ เชฒเซ‹เชกเชจเซ‡ เชธเซเชงเชพเชฐเชตเชพเชฎเชพเช‚ เช…เชจเซ‡ เช˜เชŸเชพเชกเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชธเชฎเชฏเชฎเชฐเซเชฏเชพเชฆเชพ เช…เชฅเชตเชพ CFQ เชจเซ‹ เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐ เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹, เชคเซ‹ เชเชตเซเช‚ เชธเซ‚เชšเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ nr_request เชฎเซ‚เชฒเซเชฏเชจเซ‡ เช•เชคเชพเชฐเชจเซ€ เชŠเช‚เชกเชพเชˆเชจเชพ เชฎเซ‚เชฒเซเชฏเชจเชพ 2 เช—เชฃเชพ เชชเชฐ เชธเซ‡เชŸ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช.

เชชเชฐเช‚เชคเซ! เชจเชพเช—เชฐเชฟเช•เซ‹ เชชเซ‹เชคเซ‡, CEPH เชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“, เช…เชฎเชจเซ‡ เช–เชพเชคเชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡เชฎเชจเซ€ เชชเซเชฐเชพเชฅเชฎเชฟเช•เชคเชพเช“เชจเซ€ เชธเชฟเชธเซเชŸเชฎ เชตเชงเซ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡.

เชธเซ‡เชซ - "เช˜เซ‚เช‚เชŸเชฃ เชชเชฐ" เชฅเซ€ "เช‰เชคเซเชชเชพเชฆเชจ" เชธเซเชงเซ€

WBTrottle เช…เชจเซ‡/เช…เชฅเชตเชพ nr_requests

WBTrottle เช…เชจเซ‡/เช…เชฅเชตเชพ nr_requests
เชซเชพเช‡เชฒ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เชฌเชซเชฐ เช•เชฐเซ‡เชฒ I/O เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡; เชœเซ‹ เชซเชพเชˆเชฒ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฒเซ‹เช— เชเชกเชชเซ€ เชฎเซ€เชกเชฟเชฏเชพ เชชเชฐ เชนเซ‹เชฏ เชคเซ‹ เช† เช˜เชฃเชพ เชฒเชพเชญเซ‹ เชฒเชพเชตเซ‡ เช›เซ‡. เชฒเซ‹เช—เชฎเชพเช‚ เชกเซ‡เชŸเชพ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช•เซ‡ เชคเชฐเชค เชœ เช•เซเชฒเชพเชฏเชจเซเชŸเชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เชธเซ‚เชšเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชชเช›เซ€ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค Linux เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเช›เซ€เชจเชพ เชธเชฎเชฏเซ‡ เชกเซ‡เชŸเชพ เชกเชฟเชธเซเช• เชชเชฐ เชซเซเชฒเชถ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช†เชจเชพเชฅเซ€ OSD เชธเซเชชเชฟเชจเซเชกเชฒ เชกเซเชฐเชพเชˆเชตเซ‹ เชœเซเชฏเชพเชฐเซ‡ เชจเชพเชจเชพ เชตเชฟเชธเซเชซเซ‹เชŸเซ‹เชฎเชพเช‚ เชฒเช–เซ‡ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ SSD เชœเซ‡เชตเซ€ เชœ เชฐเชพเชˆเชŸ เชฒเซ‡เชŸเชจเซเชธเซ€ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เช† เชตเชฟเชฒเช‚เชฌเชฟเชค เชฐเชพเชˆเชŸ-เชฌเซ‡เช• เช•เชฐเซเชจเชฒเชจเซ‡ เชกเชฟเชธเซเช• เชชเชฐ I/O เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เช—เซ‹เช เชตเชตเชพเชจเซ€ เชชเชฃ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡, เช•เชพเช‚ เชคเซ‹ เชคเซ‡เชฎเชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เชฎเชฐเซเชœ เช•เชฐเชตเชพเชจเซ€ เช…เชฅเชตเชพ เชนเชพเชฒเชจเชพ เชกเชฟเชธเซเช• เชนเซ‡เชกเชจเซ‡ เชคเซ‡เชฎเชจเชพ เชชเซเชฒเซ‡เชŸเชฐ เชชเชฐ เชตเชงเซ เชธเชพเชฐเซ‹ เชฎเชพเชฐเซเช— เชฒเซ‡เชตเชพ เชฆเซ‡เชตเชพเชจเซ€ เช†เชถเชพ เชธเชพเชฅเซ‡. เช…เช‚เชคเชฟเชฎ เช…เชธเชฐ เช เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช…เชฅเชตเชพ เชธเชฟเช‚เช•เซเชฐเชจเชธ I/O เชธเชพเชฅเซ‡ เชถเช•เซเชฏ เชนเซ‹เชฏ เชคเซ‡เชจเชพ เช•เชฐเชคเชพเช‚ เชฆเชฐเซ‡เช• เชกเชฟเชธเซเช•เชฎเชพเช‚เชฅเซ€ เชธเชนเซ‡เชœ เชตเชงเซ I/O เชธเซเช•เซเชตเชฟเช เช•เชฐเซ€ เชถเช•เชถเซ‹.

เชœเซ‹ เช•เซ‡, เชšเซ‹เช•เซเช•เชธ เชธเชฎเชธเซเชฏเชพ เชŠเชญเซ€ เชฅเชพเชฏ เช›เซ‡ เชœเซ‹ เช†เชชเซ‡เชฒ Ceph เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เช‡เชจเช•เชฎเชฟเช‚เช— เชฒเช–เชตเชพเชจเซเช‚ เชตเซ‹เชฒเซเชฏเซเชฎ เช…เช‚เชคเชฐเซเช—เชค เชกเชฟเชธเซเช•เชจเซ€ เชคเชฎเชพเชฎ เช•เซเชทเชฎเชคเชพเช“ เช•เชฐเชคเชพเช‚ เชตเชงเซ€ เชœเชพเชฏ. เช†เชตเชพ เชธเช‚เชœเซ‹เช—เซ‹เชฎเชพเช‚, เชกเชฟเชธเซเช• เชชเชฐ เชฒเช–เชตเชพเชจเซ€ เชฐเชพเชน เชœเซ‹เชˆ เชฐเชนเซ‡เชฒเชพ เชฌเชพเช•เซ€ I/O เชจเซ€ เช•เซเชฒ เชธเช‚เช–เซเชฏเชพ เช…เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เชฐเซ€เชคเซ‡ เชตเชงเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ‡ I/O เช•เชคเชพเชฐเชฎเชพเช‚ เชชเชฐเชฟเชฃเชฎเซ‡ เช›เซ‡ เชœเซ‡ เชธเชฎเช—เซเชฐ เชกเชฟเชธเซเช• เช…เชจเซ‡ Ceph เช•เชคเชพเชฐเซ‹เชจเซ‡ เชญเชฐเซ€ เชฆเซ‡ เช›เซ‡. เชตเชพเช‚เชšเชตเชพเชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เช–เชฐเชพเชฌ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชฒเช–เชตเชพเชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เชตเชšเซเชšเซ‡ เช…เชŸเชตเชพเชˆ เชœเชพเชฏ เช›เซ‡, เชœเซ‡เชจเซ‡ เชชเซเชฐเชพเชฅเชฎเชฟเช• เชกเซเชฐเชพเชˆเชต เชชเชฐ เชซเซเชฒเชถ เชฅเชตเชพเชฎเชพเช‚ เช˜เชฃเซ€ เชธเซ‡เช•เชจเซเชก เชฒเชพเช—เซ€ เชถเช•เซ‡ เช›เซ‡.

เช† เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, Ceph เชชเชพเชธเซ‡ WBThrottle เชจเชพเชฎเชจเซ€ เชซเชพเช‡เชฒ เชธเซเชŸเซ‹เชฐเซ‡เชœเชฎเชพเช‚ เชฌเชจเซ‡เชฒ เชฐเชพเชˆเชŸเชฌเซ‡เช• เชฅเซเชฐเซ‹เชŸเชฒเชฟเช‚เช— เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เช›เซ‡. เชคเซ‡ เช†เชณเชธเซ เชฒเช–เชพเชฃ I/O เชจเซ€ เช•เซเชฒ เชฐเช•เชฎเชจเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡ เชœเซ‡ เช•เชคเชพเชฐเชฎเชพเช‚ เช‰เชญเชพ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชซเซเชฒเชถ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช•เชฐเซเชจเชฒ เชฆเซเชตเชพเชฐเชพ เชœ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชคเซ‡เชจเชพ เช•เชฐเชคเชพ เชตเชนเซ‡เชฒเชพ เชถเชฐเซ‚ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช•เชฎเชจเชธเซ€เชฌเซ‡, เชชเชฐเซ€เช•เซเชทเชฃ เชฌเชคเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸเซเชธ เชนเชœเซ เชชเชฃ เชตเชฐเซเชคเชจเชจเซ‡ เชเชตเชพ เชธเซเชคเชฐเซ‡ เช˜เชŸเชพเชกเซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚ เช•เซ‡ เชœเซ‡ เชตเชพเช‚เชšเชตเชพเชฎเชพเช‚ เชตเชฟเชฒเช‚เชฌเชฟเชคเชคเชพ เชชเชฐเชจเซ€ เช† เช…เชธเชฐเชจเซ‡ เช˜เชŸเชพเชกเซ€ เชถเช•เซ‡. เชŸเซเชตเซ€เช•เซ€เช‚เช— เช† เชตเชฐเซเชคเชฃเซ‚เช•เชจเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชเช•เช‚เชฆเชฐเซ‡ เชฒเช–เชตเชพเชจเซ€ เช•เชคเชพเชฐเชจเซ€ เชฒเช‚เชฌเชพเชˆ เช˜เชŸเชพเชกเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เช…เชธเชฐเชจเซ‡ เช“เช›เซ€ เช—เช‚เชญเซ€เชฐ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชœเซ‹ เช•เซ‡, เชคเซเชฏเชพเช‚ เชเช• เชŸเซเชฐเซ‡เชก-เช“เชซ เช›เซ‡: เช•เชคเชพเชฐเชฎเชพเช‚ เชฐเชพเช–เชตเชพ เชฎเชพเชŸเซ‡ เชฎเช‚เชœเซ‚เชฐ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธเชจเซ€ เช•เซเชฒ เชฎเชนเชคเซเชคเชฎ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เช˜เชŸเชพเชกเซ€เชจเซ‡, เชคเชฎเซ‡ เช†เชตเชจเชพเชฐเซ€ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เช“เชฐเซเชกเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเซเชจเชฒเชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‡ เชฎเชนเชคเซเชคเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ€ เช•เซเชทเชฎเชคเชพเชจเซ‡ เช˜เชŸเชพเชกเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเชฎเชพเชฐเซ€ เชตเชฟเชถเชฟเชทเซเชŸ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ, เชตเชฐเซเช•เชฒเซ‹เชก เช…เชจเซ‡ เชฎเซ‡เชš เชฎเชพเชŸเซ‡ เชเชกเชœเชธเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชตเชงเซ เชถเซเช‚ เชœเซ‹เชˆเช เช›เซ‡ เชคเซ‡ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเซเช‚ เชตเชฟเชšเชพเชฐเชตเซเช‚ เชฏเซ‹เช—เซเชฏ เช›เซ‡.

เช†เชตเซ€ เชฐเชพเชˆเชŸ-เชฌเซ‡เช• เช•เชคเชพเชฐเชจเซ€ เชŠเช‚เชกเชพเชˆเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ WBThrottle เชธเซ‡เชŸเชฟเช‚เช— เชฒเชพเช—เซ เช•เชฐเซ€เชจเซ‡ I/Os เชจเชพ เช•เซเชฒ เชฎเชนเชคเซเชคเชฎ เชฌเซ‡เช•เชฒเซ‹เช—เชจเซ‡ เช˜เชŸเชพเชกเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช•เชฐเซเชจเชฒเชจเชพ เชธเซŒเชฅเซ€ เชฌเซเชฒเซ‹เช• เชธเซเชคเชฐเซ‡ เชฌเซ‡เช•เชฒเซ‹เช— เชฎเชพเชŸเซ‡ เชฎเชนเชคเซเชคเชฎ เชฎเซ‚เชฒเซเชฏ เช˜เชŸเชพเชกเซ€ เชถเช•เซ‹ เช›เซ‹. เชฌเช‚เชจเซ‡ เชธเชฎเชพเชจ เชตเชฐเซเชคเชจเชจเซ‡ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชธเช‚เชฆเช—เซ€เช“ เช›เซ‡ เชœเซ‡ เช† เชธเซ‡เชŸเชฟเช‚เช—เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡เชจเซ‹ เช†เชงเชพเชฐ เชนเชถเซ‡.
เช เชชเชฃ เชจเซ‹เช‚เชงเชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ Ceph เชจเซ€ เช‘เชชเชฐเซ‡เชถเชจ เช…เช—เซเชฐเชคเชพ เชธเชฟเชธเซเชŸเชฎ เชŸเซ‚เช‚เช•เซ€ เชกเชฟเชธเซเช•-เชฒเซ‡เชตเชฒ เช•เซเชตเซ‡เชฐเซ€เช เชฎเชพเชŸเซ‡ เชตเชงเซ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช›เซ‡. เช†เชชเซ‡เชฒ เชกเชฟเชธเซเช• เชชเชฐ เชเช•เช‚เชฆเชฐ เช•เชคเชพเชฐ เช˜เชŸเชพเชกเชคเซ€ เชตเช–เชคเซ‡, เชฎเซเช–เซเชฏ เช•เชคเชพเชฐเชจเซเช‚ เชธเซเชฅเชพเชจ Ceph เชชเชฐ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซเชฏเชพเช‚ เชคเซ‡ I/O เช‘เชชเชฐเซ‡เชถเชจเชจเซ€ เชชเซเชฐเชพเชฅเชฎเชฟเช•เชคเชพ เชชเชฐ เชตเชงเซ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชงเชฐเชพเชตเซ‡ เช›เซ‡. เชจเซ€เชšเซ‡เชจเชพ เช‰เชฆเชพเชนเชฐเชฃเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‹:

echo 8 > /sys/block/sda/queue/nr_requests

http://onreader.mdl.ru/MasteringCeph/content/Ch09.html#030202

เช•MMเชฎเชจ

เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เช•เชพเชฐเชจเซ‡ เชธเซ‹เชซเซเชŸ เช…เชจเซ‡ เชธเชฟเชฒเซเช•เซ€ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฅเซ‹เชกเชพ เชตเชงเซ เช•เชฐเซเชจเชฒ เชŸเซเชตเซ€เช•เซเชธ เช…เชจเซ‡ เช†เชฏเชฐเซเชจเชฎเชพเช‚เชฅเซ€ เชตเชงเซ เชชเชฐเชซเซ‹เชฐเซเชฎเชจเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡

cat /etc/sysctl.d/60-ceph2.conf

 kernel.pid_max = 4194303
#ะ”ะธัะบะพะฒ ะฒ ะบะฐะถะดะพะน ะผะฐัˆะธะฝะต ะฟะพ 25, ะฟะพั‚ะพะผัƒ ั€ะฐััั‡ะธั‚ั‹ะฒะฐะปะธ ั‡ั‚ะพ ะฟั€ะพั†ะตััะพะฒ ะฑัƒะดะตั‚ ะผะฝะพะณะพ
kernel.threads-max=2097152
# ะขั€ะตะดะพะฒ, ะตัั‚ะตััะฝะพ, ั‚ะพะถะต.
vm.max_map_count=524288
# ะฃะฒะตะปะธั‡ะธะปะธ ะบะพะปะธั‡ะตัั‚ะฒะพ ะพะฑะปะฐัั‚ะตะน ะบะฐั€ั‚ั‹ ะฟะฐะผัั‚ะธ ะฟั€ะพั†ะตััะฐ. 
# ะšะฐะบ ัะปะตะดัƒะตั‚ ะธะท ะดะพะบัƒะผะตะฝั‚ะฐั†ะธะธ ะฟะพ ัะดะตั€ะฝั‹ะผ ะฟะตั€ะตะผะตะฝะฝั‹ะผ 
# ะžะฑะปะฐัั‚ะธ ะบะฐั€ั‚ั‹ ะฟะฐะผัั‚ะธ ะธัะฟะพะปัŒะทัƒะตั‚ัั ะบะฐะบ ะฟะพะฑะพั‡ะฝั‹ะน ัั„ั„ะตะบั‚ ะฒั‹ะทะพะฒะฐ
# malloc, ะฝะฐะฟั€ัะผัƒัŽ ั ะฟะพะผะพั‰ัŒัŽ mmap, mprotect ะธ madvise, ะฐ ั‚ะฐะบะถะต ะฟั€ะธ ะทะฐะณั€ัƒะทะบะต
# ะพะฑั‰ะธั… ะฑะธะฑะปะธะพั‚ะตะบ.
fs.aio-max-nr=50000000
# ะŸะพะดั‚ัŽะฝะธะผ ะฟะฐั€ะฐะผะตั‚ั€ั‹ input-output
# ะฏะดั€ะพ Linux ะฟั€ะตะดะพัั‚ะฐะฒะปัะตั‚ ั„ัƒะฝะบั†ะธัŽ ะฐัะธะฝั…ั€ะพะฝะฝะพะณะพ ะฝะตะฑะปะพะบะธั€ัƒัŽั‰ะตะณะพ ะฒะฒะพะดะฐ-ะฒั‹ะฒะพะดะฐ (AIO),
# ะบะพั‚ะพั€ะฐั ะฟะพะทะฒะพะปัะตั‚ ะฟั€ะพั†ะตัััƒ ะธะฝะธั†ะธะธั€ะพะฒะฐั‚ัŒ ะฝะตัะบะพะปัŒะบะพ ะพะฟะตั€ะฐั†ะธะน ะฒะฒะพะดะฐ-ะฒั‹ะฒะพะดะฐ
# ะพะดะฝะพะฒั€ะตะผะตะฝะฝะพ, ะฝะต ะดะพะถะธะดะฐัััŒ ะทะฐะฒะตั€ัˆะตะฝะธั ะบะฐะบะพะน-ะปะธะฑะพ ะธะท ะฝะธั…. 
# ะญั‚ะพ ะฟะพะผะพะณะฐะตั‚ ะฟะพะฒั‹ัะธั‚ัŒ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ะฟั€ะธะปะพะถะตะฝะธะน, 
# ะบะพั‚ะพั€ั‹ะต ะผะพะณัƒั‚ ะฟะตั€ะตะบั€ั‹ะฒะฐั‚ัŒ ะพะฑั€ะฐะฑะพั‚ะบัƒ ะธ ะฒะฒะพะด-ะฒั‹ะฒะพะด.
# ะŸะฐั€ะฐะผะตั‚ั€ aio-max-nr ะพะฟั€ะตะดะตะปัะตั‚ ะผะฐะบัะธะผะฐะปัŒะฝะพะต ะบะพะปะธั‡ะตัั‚ะฒะพ ะดะพะฟัƒัั‚ะธะผั‹ั… 
# ะพะดะฝะพะฒั€ะตะผะตะฝะฝั‹ั… ะทะฐะฟั€ะพัะพะฒ.
vm.min_free_kbytes=1048576
# ะผะธะฝะธะผะฐะปัŒะฝั‹ะน ั€ะฐะทะผะตั€ ัะฒะพะฑะพะดะฝะพะน ะฟะฐะผัั‚ะธ ะบะพั‚ะพั€ั‹ะน ะฝะตะพะฑั…ะพะดะธะผะพ ะฟะพะดะดะตั€ะถะธะฒะฐั‚ัŒ.
# ะ’ั‹ัั‚ะฐะฒะปะตะฝ 1Gb, ั‡ะตะณะพ ะฒะฟะพะปะฝะต ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะดะปั ั€ะฐะฑะพั‚ั‹ ะพะฟะตั€ะฐั†ะธะพะฝะฝะพะน ัะธัั‚ะตะผั‹, 
# ะธ ะฟะพะทะฒะพะปัะตั‚ ะธะทะฑะตะณะฐั‚ัŒ OOM Killer ะดะปั ะฟั€ะพั†ะตััะพะฒ OSD. ะฅะพั‚ั ะฟะฐะผัั‚ะธ ะธ ั‚ะฐะบ
# ะบะฐะบ ัƒ ะดัƒั€ะฐะบะฐ ั„ะฐะฝั‚ะธะบะพะฒ, ะฝะพ ะทะฐะฟะฐั ะบะฐั€ะผะฐะฝ ะฝะต ั‚ัะฝะตั‚
vm.swappiness=10
# ะ“ะพะฒะพั€ะธะผ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ัะฒะพะฟ ะตัะปะธ ะพัั‚ะฐะปะพััŒ ัะฒะพะฑะพะดะฝั‹ะผ 10% ะฟะฐะผัั‚ะธ.
# ะะฐ ะผะฐัˆะธะฝะฐั… 128G ะพะฟะตั€ะฐั‚ะธะฒั‹, ะธ 10% ัั‚ะพ 12 ะ“ะธะณะพะฒ. ะ‘ะพะปะตะต ั‡ะตะผ ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะดะปั ั€ะฐะฑะพั‚ั‹.
# ะจั‚ะฐั‚ะฝั‹ะน ะฟะฐั€ะฐะผะตั‚ั€ ะฒ 60% ะทะฐัั‚ะฐะฒะปัะป ั‚ะพั€ะผะพะทะธั‚ัŒ ัะธัั‚ะตะผัƒ, ะทะฐะปะตะทะฐั ะฒ ัะฒะพะฟ,
# ะบะพะณะดะฐ ะตัั‚ัŒ ะตั‰ะต ะบัƒั‡ะฐ ัะฒะพะฑะพะดะฝะพะน ะฟะฐะผัั‚ะธ
vm.vfs_cache_pressure=1000
# ะฃะฒะตะปะธั‡ะธะฒะฐะตะผ ัะพ ัˆั‚ะฐั‚ะฝั‹ั… 100. ะ—ะฐัั‚ะฐะฒะปัะตะผ ัะดั€ะพ ะฐะบั‚ะธะฒะฝะตะต ะฒั‹ะณั€ัƒะถะฐั‚ัŒ
# ะฝะตะธัะฟะพะปัŒะทัƒะตะผั‹ะต ัั‚ั€ะฐะฝะธั†ั‹ ะฟะฐะผัั‚ะธ ะธะท ะบะตัˆะฐ.
vm.zone_reclaim_mode=0
# ะŸะพะทะฒะพะปัะตั‚  ัƒัั‚ะฐะฝะฐะฒะปะธะฒะฐั‚ัŒ ะฑะพะปะตะต ะธะปะธ ะผะตะฝะตะต ะฐะณั€ะตััะธะฒะฝั‹ะต ะฟะพะดั…ะพะดั‹ ะบ
# ะฒะพััั‚ะฐะฝะพะฒะปะตะฝะธัŽ ะฟะฐะผัั‚ะธ, ะบะพะณะดะฐ ะฒ ะทะพะฝะต ะทะฐะบะฐะฝั‡ะธะฒะฐะตั‚ัั ะฟะฐะผัั‚ัŒ. 
# ะ•ัะปะธ ะพะฝ ัƒัั‚ะฐะฝะพะฒะปะตะฝ ะฝะฐ ะฝะพะปัŒ, ั‚ะพ ะฝะต ะฟั€ะพะธัั…ะพะดะธั‚ ะฒะพััั‚ะฐะฝะพะฒะปะตะฝะธะต ะทะพะฝั‹.
# ะ”ะปั ั„ะฐะนะปะพะฒั‹ั… ัะตั€ะฒะตั€ะพะฒ ะธะปะธ ั€ะฐะฑะพั‡ะธั… ะฝะฐะณั€ัƒะทะพะบ
# ะฒั‹ะณะพะดะฝะพ, ะตัะปะธ ะธั… ะดะฐะฝะฝั‹ะต ะบััˆะธั€ะพะฒะฐะฝั‹, zone_reclaim_mode
# ะพัั‚ะฐะฒะธั‚ัŒ ะพั‚ะบะปัŽั‡ะตะฝะฝั‹ะผ, ะฟะพัะบะพะปัŒะบัƒ ัั„ั„ะตะบั‚ ะบััˆะธั€ะพะฒะฐะฝะธั, 
# ะฒะตั€ะพัั‚ะฝะพ, ะฑัƒะดะตั‚ ะฑะพะปะตะต ะฒะฐะถะฝั‹ะผ, ั‡ะตะผ ะผะตัั‚ะพะฝะฐั…ะพะถะดะตะฝะธะต ะดะฐะฝะฝั‹ั….
vm.dirty_ratio=20
# ะŸั€ะพั†ะตะฝั‚ ะพะฟะตั€ะฐั‚ะธะฒะฝะพะน ะฟะฐะผัั‚ะธ, ะบะพั‚ะพั€ั‹ะน ะผะพะถะฝะพ ะฒั‹ะดะตะปะธั‚ัŒ ะฟะพะด "ะณั€ัะทะฝั‹ะต" ัั‚ั€ะฐะฝะธั†ั‹
# ะ’ั‹ั‡ะธัะปัะปะธ ะธะท ะฟั€ะธะผะตั€ะฝะพะณะพ ั€ะฐัั‡ะตั‚ะฐ: 
# ะ’ ัะธัั‚ะตะผะฐ 128 ะณะธะณะพะฒ ะฟะฐะผัั‚ะธ.
# ะŸั€ะธะผะตั€ะฝะพ ะฟะพ 20 ะดะธัะบะพะฒ SSD, ัƒ ะบะพั‚ะพั€ั‹ั… ะฒ ะฝะฐัั‚ั€ะพะนะบะฐั… CEPH ัƒะบะฐะทะฐะฝะพ 
# ะฒั‹ะดะตะปัั‚ัŒ ะฟะพะด ะบััˆะธั€ะพะฒะฐะฝะธะต ะฟะพ 3G ะพะฟะตั€ะฐั‚ะธะฒั‹.
# ะŸั€ะธะผะตั€ะฝะพ ะฟะพ 40 ะดะธัะบะพะฒ HDD, ะดะปั ะบะพั‚ะพั€ั‹ั… ัั‚ะพั‚ ะฟะฐั€ะฐะผะตั‚ั€ ั€ะฐะฒะตะฝ 1G
# 20% ะพั‚ 128 ัั‚ะพ 25.6 ะณะธะณะพะฒ. ะ˜ั‚ะพะณะพ, ะฒ ัะปัƒั‡ะฐะต ะผะฐะบัะธะผะฐะปัŒะฝะพะน ัƒั‚ะธะปะธะทะฐั†ะธะธ ะฟะฐะผัั‚ะธ,
# ะดะปั ัะธัั‚ะตะผั‹ ะพัั‚ะฐะฝะตั‚ัั 2.4G ะฟะฐะผัั‚ะธ. ะงะตะณะพ ะตะน ะดะพะปะถะฝะพ ั…ะฒะฐั‚ะธั‚ัŒ ั‡ั‚ะพะฑ ะฒั‹ะถะธั‚ัŒ ะธ ะดะพะถะดะฐั‚ัŒัั
# ัั‚ัƒะบะฐ ะบะพะฟั‹ั‚ ะบะฐะฒะฐะปะตั€ะธะธ - ั‚ะพ ะตัั‚ัŒ ะฟั€ะธัˆะตัั‚ะฒะธั DevOps ะบะพั‚ะพั€ั‹ะน ะฒัะต ะฟะพั‡ะธะฝะธั‚.
vm.dirty_background_ratio=3
# ะฟั€ะพั†ะตะฝั‚ ัะธัั‚ะตะผะฝะพะน ะฟะฐะผัั‚ะธ, ะบะพั‚ะพั€ั‹ะน ะผะพะถะฝะพ ะทะฐะฟะพะปะฝะธั‚ัŒ dirty pages ะดะพ ั‚ะพะณะพ,
# ะบะฐะบ ั„ะพะฝะพะฒั‹ะต ะฟั€ะพั†ะตััั‹ pdflush/flush/kdmflush ะทะฐะฟะธัˆัƒั‚ ะธั… ะฝะฐ ะดะธัะบ
fs.file-max=524288
# ะัƒ ะธ ะพั‚ะบั€ั‹ั‚ั‹ั… ั„ะฐะนะปะพะฒ ัƒ ะฝะฐั,ะฒะตั€ะพัั‚ะฝะพ, ะฑัƒะดะตั‚ ัะธะปัŒะฝะพ ะฑะพะปัŒัˆะต, ั‡ะตะผ ัƒะบะฐะทะฐะฝะพ ะฟะพ ะดะตั„ะพะปั‚ัƒ. 

CEPH เชฎเชพเช‚ เชจเชฟเชฎเชœเซเชœเชจ

เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เช•เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เชนเซเช‚ เชตเชงเซ เชตเชฟเช—เชคเชฎเชพเช‚ เชฐเชนเซ‡เชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚:

cat /etc/ceph/ceph.conf

osd:
journal_aio: true               # ะขั€ะธ ะฟะฐั€ะฐะผะตั‚ั€ะฐ, ะฒะบะปัŽั‡ะฐัŽั‰ะธะต 
journal_block_align: true       # ะฟั€ัะผะพะน i/o
journal_dio: true               # ะฝะฐ ะถัƒั€ะฝะฐะป
journal_max_write_bytes: 1073714824 # ะะตะผะฝะพะณะพ ั€ะฐัั‚ัะฝะตะผ ะผะฐะบัะธะผะฐะปัŒะฝั‹ะน ั€ะฐะทะผะตั€
# ั€ะฐะทะพะฒะพ ะทะฐะฟะธัั‹ะฒะฐะตะผะพะน ะพะฟะตั€ะฐั†ะธะธ ะฒ ะถัƒั€ะฝะฐะป
journal_max_write_entries: 10000    # ะัƒ ะธ ะบะพะปะธั‡ะตัั‚ะฒะพ ะพะดะฝะพะฒั€ะตะผะตะฝะฝั‹ั… ะทะฐะฟะธัะตะน
journal_queue_max_bytes: 10485760000 
journal_queue_max_ops: 50000
rocksdb_separate_wal_dir: true      # ะ ะตัˆะธะปะธ ะดะตะปะฐั‚ัŒ ะพั‚ะดะตะปัŒะฝั‹ะน wal                                                                            
# ะ”ะฐะถะต ะฟะพะฟั‹ั‚ะฐะปะธััŒ ะฒั‹ะฑะธั‚ัŒ ะฟะพะด ัั‚ะพ ะดะตะปะพ                                                                                                                                                                                     
# NVMe
bluestore_block_db_create: true     # ะัƒ ะธ ะฟะพะด ะถัƒั€ะฝะฐะป ะพั‚ะดะตะปัŒะฝะพะต ัƒัั‚ั€ะพะนัั‚ะฒะพ
bluestore_block_db_size: '5368709120 #5G'
bluestore_block_wal_create: true
bluestore_block_wal_size: '1073741824   #1G' 
bluestore_cache_size_hdd: '3221225472   # 3G' 
# ะฑะพะปัŒัˆะพะน ะพะฑัŠะตะผ ะพะฟะตั€ะฐั‚ะธะฒั‹ ะฟะพะทะฒะพะปัะตั‚ 
# ั…ั€ะฐะฝะธั‚ัŒ ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะฑะพะปัŒัˆะธะต ะพะฑัŠะตะผั‹
bluestore_cache_size_ssd: '9663676416   # 9G' 
keyring: /var/lib/ceph/osd/ceph-$id/keyring
osd_client_message_size_cap: '1073741824 #1G'
osd_disk_thread_ioprio_class: idle
osd_disk_thread_ioprio_priority: 7
osd_disk_threads: 2 # ะบะพะปะธั‡ะตัั‚ะฒะพ ั‚ั€ะตะดะพะฒ ัƒ ะดะตะผะพะฝะฐ ะฝะฐ ะพะดะธะฝ ะดะธัะบ
osd_failsafe_full_ratio: 0.95
osd_heartbeat_grace: 5
osd_heartbeat_interval: 3
osd_map_dedup: true
osd_max_backfills: 2 # ะบะพะปะธั‡ะตัั‚ะฒะพ ะพะดะฝะพะฒั€ะตะผะตะฝะฝั‹ั… ะพะฟะตั€ะฐั†ะธะน ะทะฐะฟะพะปะฝะตะฝะธั ะฝะฐ ะพะดะธะฝ ะžะกะ”.
osd_max_write_size: 256
osd_mon_heartbeat_interval: 5
osd_op_threads: 16
osd_op_num_threads_per_shard: 1
osd_op_num_threads_per_shard_hdd: 2
osd_op_num_threads_per_shard_ssd: 2
osd_pool_default_min_size: 1     # ะžัะพะฑะตะฝะฝะพัั‚ะธ ะถะฐะดะฝะพัั‚ะธ. ะžั‡ะตะฝัŒ ะฑั‹ัั‚ั€ะพ ัั‚ะฐะปะพ
osd_pool_default_size: 2         # ะฝะตั…ะฒะฐั‚ะฐั‚ัŒ ะผะตัั‚ะฐ, ะฟะพั‚ะพะผัƒ ะบะฐะบ ะฒั€ะตะผะตะฝะฝะพะต                                                                                                                                                      
# ั€ะตัˆะตะฝะธะต ะฟั€ะธะฝัะปะธ ัƒะผะตะฝัŒัˆะตะฝะธะต ะบะพะปะธั‡ะตัั‚ะฒะพ 
# ั€ะตะฟะปะธะบ ะดะฐะฝะฝั‹ั…
osd_recovery_delay_start: 10.000000
osd_recovery_max_active: 2
osd_recovery_max_chunk: 1048576
osd_recovery_max_single_start: 3
osd_recovery_op_priority: 1
osd_recovery_priority: 1            # ะฟะฐั€ะฐะผะตั‚ั€ ั€ะตะณัƒะปะธั€ัƒะตะผ ะฟะพ ะฝะตะพะฑั…ะพะดะธะผะพัั‚ะธ ะฝะฐ ั…ะพะดัƒ
osd_recovery_sleep: 2
osd_scrub_chunk_max: 4

เชธเช‚เชธเซเช•เชฐเชฃ 12.2.12 เชชเชฐ QA เชชเชฐ เชšเช•เชพเชธเชพเชฏเซ‡เชฒ เช•เซ‡เชŸเชฒเชพเช• เชชเชฐเชฟเชฎเชพเชฃเซ‹ ceph 12.2.2 เชธเช‚เชธเซเช•เชฐเชฃเชฎเชพเช‚ เช–เซ‚เชŸเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ osd_recovery_threads. เชคเซ‡เชฅเซ€, เชฏเซ‹เชœเชจเชพเช“เชฎเชพเช‚ เชชเซเชฐเซ‹เชก เชชเชฐ เช…เชชเชกเซ‡เชŸ 12.2.12 เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธเซ‡ 12.2.2 เช…เชจเซ‡ 12.2.12 เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชจเชพ เชเช• เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชธเซเชธเช‚เช—เชคเชคเชพ เชฆเชฐเซเชถเชพเชตเซ€ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เชฐเซ‹เชฒเชฟเช‚เช— เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชŸเซ‡เชธเซเชŸ เช•เซเชฒเชธเซเชŸเชฐ

เชธเซเชตเชพเชญเชพเชตเชฟเช• เชฐเซ€เชคเซ‡, เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เชฏเซเชฆเซเชงเชจเซ€ เชœเซ‡เชฎ เชธเชฎเชพเชจ เชธเช‚เชธเซเช•เชฐเชฃ เชนเซ‹เชตเซเช‚ เชœเชฐเซ‚เชฐเซ€ เชนเชคเซเช‚, เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ เชฎเซ‡เช‚ เช•เซเชฒเชธเซเชŸเชฐ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚, เชคเซเชฏเชพเชฐเซ‡ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชซเช•เซเชค เชเช• เชจเชตเซเช‚ เชนเชคเซเช‚. เชคเชฎเซ‡ เชจเชพเชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเชฎเชพเช‚ เชถเซเช‚ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เชคเซ‡ เชœเซ‹เชฏเชพ เชชเช›เซ€, เชคเซ‡ เช–เซ‚เชฌ เชฎเซ‹เชŸเซเช‚ เชจเชฅเซ€ (1393 เชฐเซ‚เชชเชฐเซ‡เช–เชพเชฎเชพเช‚ เชฒเซ€เชŸเซ€เช“ เชธเชพเชฎเซ‡ 1436 เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเชฎเชพเช‚), เช…เชฎเซ‡ เชจเชตเชพเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เชถเชฐเซ‚ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ (เช•เซ‹เชˆเชชเชฃ เชฐเซ€เชคเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‹, เชถเชพ เชฎเชพเชŸเซ‡ เชœเซ‚เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เชชเชฐ เชœเชพเช“)

เชเช•เชฎเชพเชคเซเชฐ เชตเชธเซเชคเซ เช•เซ‡ เชœเซ‡ เชคเซ‡เช“เช เชœเซ‚เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เช›เซ‹เชกเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เชคเซ‡ เชชเซ‡เช•เซ‡เชœ เช›เซ‡ ceph- เชœเชฎเชพเชตเชŸ, เช•เชพเชฐเชฃ เช•เซ‡ เช•เซ‡เชŸเชฒเซ€เช• เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“ (เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“) เชคเซ‡เชจเชพ เชตเชพเช•เซเชฏเชฐเชšเชจเชพ เช…เชจเซเชธเชพเชฐ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. เชจเชตเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เชคเชฆเซเชฆเชจ เช…เชฒเช— เชนเชคเซเช‚, เชชเชฐเช‚เชคเซ เชคเซ‡ เช•เซเชฒเชธเซเชŸเชฐเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เช…เชธเชฐ เช•เชฐเชคเซเช‚ เชจ เชนเชคเซเช‚, เช…เชจเซ‡ เชคเซ‡ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฆเซเชตเชพเชฐเชพ เช›เซ‹เชกเซ€ เชฆเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. 1.5.39

ceph-disk เช†เชฆเซ‡เชถ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡ เชจเชพเชชเชธเช‚เชฆ เช›เซ‡ เช…เชจเซ‡ ceph-เชตเซ‹เชฒเซเชฏเซเชฎ เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เชชเซเชฐเชฟเชฏเชœเชจเซ‹ - เช…เชฎเซ‡ เชœเซ‚เชจเชพ เช†เชฆเซ‡เชถ เชชเชฐ เชธเชฎเชฏ เชฌเช—เชพเชกเซเชฏเชพ เชตเชฟเชจเชพ, เช† เช†เชฆเซ‡เชถ เชธเชพเชฅเซ‡ OSD เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚.

เชฏเซ‹เชœเชจเชพ เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เชนเชคเซ€ - เชฌเซ‡ SSD เชกเชฟเชธเซเช•เชจเซ‹ เชฎเชฟเชฐเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชœเซ‡เชจเชพ เชชเชฐ เช…เชฎเซ‡ OSD เชฒเซ‹เช—เซเชธ เชฎเซ‚เช•เซ€เชถเซเช‚, เชœเซ‡ เชฌเชฆเชฒเชพเชฎเชพเช‚, เชธเซเชชเชฟเชจเซเชกเชฒ SASs เชชเชฐ เชธเซเชฅเชฟเชค เช›เซ‡. เชคเซ‡เชฅเซ€ เชœเซเชฏเชพเชฐเซ‡ เชœเชฐเซเชจเชฒ เชกเชฟเชธเซเช• เช•เซเชฐเซ‡เชถ เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เชกเซ‡เชŸเชพ เชธเชฎเชธเซเชฏเชพเช“ เชธเชพเชฎเซ‡ เชตเซ€เชฎเซ‹ เชฒเชˆเชถเซเช‚.

เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เช…เชจเซเชธเชพเชฐ เชธเซเชŸเซ€เชฒ เช•เซเชฒเชธเซเชŸเชฐ เชฌเชจเชพเชตเซ‹

cat /etc/ceph/ceph.conf

root@ceph01-qa:~# cat /etc/ceph/ceph.conf # ะฟะพะปะพะถะธะปะธ ะทะฐั€ะฐะฝะตะต ะฟะพะดะณะพั‚ะพะฒะปะตะฝะฝั‹ะน ะบะพะฝั„ะธะณ
[client]
rbd_cache = true
rbd_cache_max_dirty = 50331648
rbd_cache_max_dirty_age = 2
rbd_cache_size = 67108864
rbd_cache_target_dirty = 33554432
rbd_cache_writethrough_until_flush = true
rbd_concurrent_management_ops = 10
rbd_default_format = 2
[global]
auth_client_required = cephx
auth_cluster_required = cephx
auth_service_required = cephx
cluster network = 10.10.10.0/24
debug_asok = 0/0
debug_auth = 0/0
debug_buffer = 0/0
debug_client = 0/0
debug_context = 0/0
debug_crush = 0/0
debug_filer = 0/0
debug_filestore = 0/0
debug_finisher = 0/0
debug_heartbeatmap = 0/0
debug_journal = 0/0
debug_journaler = 0/0
debug_lockdep = 0/0
debug_mon = 0/0
debug_monc = 0/0
debug_ms = 0/0
debug_objclass = 0/0
debug_objectcatcher = 0/0
debug_objecter = 0/0
debug_optracker = 0/0
debug_osd = 0/0
debug_paxos = 0/0
debug_perfcounter = 0/0
debug_rados = 0/0
debug_rbd = 0/0
debug_rgw = 0/0
debug_throttle = 0/0
debug_timer = 0/0
debug_tp = 0/0
fsid = d0000000d-4000-4b00-b00b-0123qwe123qwf9
mon_host = ceph01-q, ceph02-q, ceph03-q
mon_initial_members = ceph01-q, ceph02-q, ceph03-q
public network = 8.8.8.8/28 # ะฐะดั€ะตั ะธะทะผะตะฝะตะฝ, ะตัั‚ะตัั‚ะฒะตะฝะฝะพ ))
rgw_dns_name = s3-qa.mycompany.ru # ะธ ัั‚ะพั‚ ะฐะดั€ะตั ะธะทะผะตะฝ
rgw_host = s3-qa.mycompany.ru # ะธ ัั‚ะพั‚ ั‚ะพะถะต
[mon]
mon allow pool delete = true
mon_max_pg_per_osd = 300 # ะฑะพะปัŒัˆะต ั‚ั€ะตั…ัะพั‚ ะฟะปะตะนัะผะตะฝั‚ ะณั€ัƒะฟะฟ
# ะฝะฐ ะดะธัะบ ะฝะต ั€ะตัˆะธะปะธััŒ
# ั…ะพั‚ั ะฟะฐั€ะฐะผะตั‚ั€, ะตัั‚ะตัั‚ะฒะตะฝะฝะพ, ะทะฐะฒะธัะธั‚ ะพั‚ ะบะพะปะธั‡ะตัั‚ะฒะฐ ะฟัƒะปะพะฒ,
# ะธั… ั€ะฐะทะผะตั€ะพะฒ ะธ ะบะพะปะธั‡ะตัั‚ะฒะฐ OSD. ะ˜ะผะตั‚ัŒ ะผะฐะปะพ ะฝะพ ะทะดะพั€ะพะฒั‹ั… PG
# ั‚ะพะถะต ะฝะต ะปัƒั‡ัˆะธะน ะฒั‹ะฑะพั€ - ัั‚ั€ะฐะดะฐะตั‚ ั‚ะพั‡ะฝะพัั‚ัŒ ะฑะฐะปะฐะฝัะธั€ะพะฒะบะธ
mon_osd_backfillfull_ratio = 0.9
mon_osd_down_out_interval = 5
mon_osd_full_ratio = 0.95 # ะฟะพะบะฐ ะดะปั SSD ะดะธัะบะพะฒ ะผะตัั‚ะพะผ ะดะปั ะธั…
# ะถัƒั€ะฝะฐะปะฐ ัะฒะปัะตั‚ัั ั‚ะพั‚-ะถะต ะดะตะฒะฐะนั ั‡ั‚ะพ ะธ ะดะปั ะžะกะ”
# ั€ะตัˆะธะปะธ ั‡ั‚ะพ 5% ะพั‚ ะดะธัะบะฐ (ะบะพั‚ะพั€ั‹ะน ัะฐะผ ั€ะฐะทะผะตั€ะพะผ 1.2Tb)
#  ะดะพะปะถะฝะพ ะฒะฟะพะปะฝะต ั…ะฒะฐั‚ะธั‚ัŒ, ะธ ะบะพั€ั€ะตะปะธั€ัƒะตั‚ ั ะฟะฐั€ะฐะผะตั‚ั€ะพะผ
# bluestore_block_db_size ะฟะปัŽั ะฒะฐั€ะธะฐั‚ะธะฒะฝะพัั‚ัŒ ะฝะฐ ะฑะพะปัŒัˆะธะต 
# ะฟะปะตะนัะผะตะฝั‚ ะณั€ัƒะฟะฟั‹
mon_osd_nearfull_ratio = 0.9
mon_pg_warn_max_per_osd = 520
[osd]
bluestore_block_db_create = true
bluestore_block_db_size = 5368709120 #5G
bluestore_block_wal_create = true
bluestore_block_wal_size = 1073741824 #1G
bluestore_cache_size_hdd = 3221225472 # 3G
bluestore_cache_size_ssd = 9663676416 # 9G
journal_aio = true
journal_block_align = true
journal_dio = true
journal_max_write_bytes = 1073714824
journal_max_write_entries = 10000
journal_queue_max_bytes = 10485760000
journal_queue_max_ops = 50000
keyring = /var/lib/ceph/osd/ceph-$id/keyring
osd_client_message_size_cap = 1073741824 #1G
osd_disk_thread_ioprio_class = idle
osd_disk_thread_ioprio_priority = 7
osd_disk_threads = 2
osd_failsafe_full_ratio = 0.95
osd_heartbeat_grace = 5
osd_heartbeat_interval = 3
osd_map_dedup = true
osd_max_backfills = 4
osd_max_write_size = 256
osd_mon_heartbeat_interval = 5
osd_op_num_threads_per_shard = 1
osd_op_num_threads_per_shard_hdd = 2
osd_op_num_threads_per_shard_ssd = 2
osd_op_threads = 16
osd_pool_default_min_size = 1
osd_pool_default_size = 2
osd_recovery_delay_start = 10.0
osd_recovery_max_active = 1
osd_recovery_max_chunk = 1048576
osd_recovery_max_single_start = 3
osd_recovery_op_priority = 1
osd_recovery_priority = 1
osd_recovery_sleep = 2
osd_scrub_chunk_max = 4
osd_scrub_chunk_min = 2
osd_scrub_sleep = 0.1
rocksdb_separate_wal_dir = true

# ัะพะทะดะฐะตะผ ะผะพะฝะธั‚ะพั€ั‹
root@ceph01-qa:~#ceph-deploy mon create ceph01-q
# ะณะตะฝะตั€ะธั€ัƒะตะผ ะบะปัŽั‡ะธ ะดะปั ะฐัƒั‚ะตะฝั‚ะธั„ะธะบะฐั†ะธะธ ะฝะพะด ะฒ ะบะปะฐัั‚ะตั€ะต
root@ceph01-qa:~#ceph-deploy gatherkeys ceph01-q
# ะญั‚ะพ ะตัะปะธ ะฟะพัˆั‚ัƒั‡ะฝะพ. ะ•ัะปะธ ัƒ ะฝะฐั ะฝะตัะบะพะปัŒะบะพ ะผะฐัˆะธะฝ ะดะพัั‚ัƒะฟะฝั‹ - ั‚ะต, ะบะพั‚ะพั€ั‹ะต ะพะฟะธัะฐะฝั‹ ะฒ ะบะพะฝั„ะธะณะต ะฒ ัะตะบั†ะธะธ 
# mon_initial_members = ceph01-q, ceph02-q, ceph03-q
# ะผะพะถะฝะพ ะทะฐะฟัƒัั‚ะธั‚ัŒ ัั‚ะธ ะดะฒะต ะบะพะผะฐะฝะดั‹ ะฒ ะฒะธะดะต ะพะดะฝะพะน
root@ceph01-qa:~#ceph-deploy mon create-initial
# ะŸะพะปะพะถะธะผ ะบะปัŽั‡ะธ ะฒ ัƒะบะฐะทะฐะฝะฝั‹ะต ะฒ ะบะพะฝั„ะธะณะต ะผะตัั‚ะฐ
root@ceph01-qa:~#cat ceph.bootstrap-osd.keyring > /var/lib/ceph/bootstrap-osd/ceph.keyring 
root@ceph01-qa:~#cat ceph.bootstrap-mgr.keyring > /var/lib/ceph/bootstrap-mgr/ceph.keyring 
root@ceph01-qa:~#cat ceph.bootstrap-rgw.keyring > /var/lib/ceph/bootstrap-rgw/ceph.keyring
# ัะพะทะดะฐะดะธะผ ะบะปัŽั‡ ะดะปั ัƒะฟั€ะฐะฒะปะตะฝะธั ะบะปะฐัั‚ะตั€ะพะผ
root@ceph01-qa:~#ceph-deploy admin ceph01-q
# ะธ ะผะตะฝะตะดะถะตั€, ะฟะปะฐะณะธะฝะฐะผะธ ัƒะฟั€ะฐะฒะปัั‚ัŒ
root@ceph01-qa:~#ceph-deploy mgr create ceph01-q

เชตเชฐเซเชเชจ 12.2.12 เชจเชพ เช•เซเชฒเชธเซเชŸเชฐ เชธเชพเชฅเซ‡ ceph-deploy เชจเชพ เช† เชตเชฐเซเชเชจเชจเชพ เช•เชพเชฎเชฎเชพเช‚ เชฎเชจเซ‡ เชชเชนเซ‡เชฒเซ€ เชตเชธเซเชคเซ เชœเซ‡ เช เซ‹เช•เชฐ เชฒเชพเช—เซ€ เช›เซ‡ เชคเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชฐเซ‡เช‡เชก เชชเชฐ db เชธเชพเชฅเซ‡ OSD เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชญเซ‚เชฒ เช›เซ‡ -

root@ceph01-qa:~#ceph-volume lvm create --bluestore --data /dev/sde --block.db /dev/md0
blkid could not detect a PARTUUID for device: /dev/md1

เช–เชฐเซ‡เช–เชฐ, blkid PARTUUID เชฌเชคเชพเชตเชคเซเช‚ เชจเชฅเซ€, เชฎเชพเชฐเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชชเชพเชฐเซเชŸเซ€เชถเชจเซ‹ เชฌเชจเชพเชตเชตเชพ เชนเชคเชพ:

root@ceph01-qa:~#parted /dev/md0 mklabel GPT 
# ั€ะฐะทะดะตะปะพะฒ ะฑัƒะดะตั‚ ะผะฝะพะณะพ, 
# ะฑะตะท GPT ะธั… ัะพะทะดะฐั‚ัŒ ะฝะต ะฟะพะปัƒั‡ะธั‚ัั
# ั€ะฐะทะผะตั€ ั€ะฐะทะดะตะปะฐ ะผั‹ ัƒะบะฐะทะฐะปะธ ะฒ ะบะพะฝั„ะธะณะต ะฒั‹ัˆะต = bluestore_block_db_size: '5368709120 #5G'
# ะ”ะธัะบะพะฒ ัƒ ะผะตะฝั 20 ะฟะพะด OSD, ั€ัƒะบะฐะผะธ ัะพะทะดะฐะฒะฐั‚ัŒ ั€ะฐะทะดะตะปั‹ ะปะตะฝัŒ
# ะฟะพั‚ะพะผัƒ ัะดะตะปะฐะป ั†ะธะบะป
root@ceph01-qa:~#for i in {1..20}; do echo -e "nnnn+5Gnw" | fdisk /dev/md0; done

เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชฌเชงเซเช‚ เชคเซˆเชฏเชพเชฐ เช›เซ‡, เช…เชฎเซ‡ เชซเชฐเซ€เชฅเซ€ OSD เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เชญเซ‚เชฒ เชฎเซ‡เชณเชตเซ€เช เช›เซ€เช (เชœเซ‡, เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชฏเซเชฆเซเชงเชฎเชพเช‚ เชชเซเชจเชƒเช‰เชคเซเชชเชพเชฆเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชจ เชนเชคเซ€)

เชฌเซเชฒเซเชธเซเชŸเซ‹เชฐ OSD เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡ WAL เชจเซ‹ เชชเชพเชฅ เชธเซเชชเชทเซเชŸ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ, เชชเชฐเช‚เชคเซ db เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซเชฏเชพ เชตเช—เชฐ

root@ceph01-qa:~#ceph-volume lvm create --bluestore --data /dev/sde --block.db /dev/md0
stderr: 2019-04-12 10:39:27.211242 7eff461b6e00 -1 bluestore(/var/lib/ceph/osd/ceph-0/) _read_fsid unparsable uuid
stderr: 2019-04-12 10:39:27.213185 7eff461b6e00 -1 bdev(0x55824c273680 /var/lib/ceph/osd/ceph-0//block.wal) open open got: (22) Invalid argument
stderr: 2019-04-12 10:39:27.213201 7eff461b6e00 -1 bluestore(/var/lib/ceph/osd/ceph-0/) _open_db add block device(/var/lib/ceph/osd/ceph-0//block.wal) returned: (22) Invalid argument
stderr: 2019-04-12 10:39:27.999039 7eff461b6e00 -1 bluestore(/var/lib/ceph/osd/ceph-0/) mkfs failed, (22) Invalid argument
stderr: 2019-04-12 10:39:27.999057 7eff461b6e00 -1 OSD::mkfs: ObjectStore::mkfs failed with error (22) Invalid argument
stderr: 2019-04-12 10:39:27.999141 7eff461b6e00 -1  ** ERROR: error creating empty object store in /var/lib/ceph/osd/ceph-0/: (22) Invalid argumen

เชคเชฆเซเชชเชฐเชพเช‚เชค, เชœเซ‹ เช เชœ เช…เชฐเซ€เชธเชพ เชชเชฐ (เช…เชฅเชตเชพ เชฌเซ€เชœเซ€ เชœเช—เซเชฏเชพเช, เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡) WAL เชฎเชพเชŸเซ‡ เชฌเซ€เชœเซเช‚ เชชเชพเชฐเซเชŸเซ€เชถเชจ เชฌเชจเชพเชตเซ‹ เช…เชจเซ‡ OSD เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡ เชคเซ‡เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‹, เชคเซ‹ เชฌเชงเซเช‚ เชœ เชธเชฐเชณเชคเชพเชฅเซ€ เชšเชพเชฒเชถเซ‡ (เช…เชฒเช— WAL เชจเชพ เชฆเซ‡เช–เชพเชต เชธเชฟเชตเชพเชฏ, เชœเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชจ เชนเซ‹เชˆ เชถเช•เซ‡. เชœเซ‹เชˆเชคเซเช‚ เชนเชคเซเช‚).

เชชเชฐเช‚เชคเซ, WAL เชจเซ‡ NVMe เชชเชฐ เชฒเชพเชตเชตเชพเชจเซ€ เชคเซ‡ เชนเชœเซ เชฆเซ‚เชฐเชจเซ€ เชฏเซ‹เชœเชจเชพเชฎเชพเช‚ เชนเซ‹เชตเชพเชฅเซ€, เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เช…เชจเชพเชตเชถเซเชฏเช• เชจ เชนเชคเซ€.

root@ceph01-qa:~#ceph-volume lvm create --bluestore --data /dev/sdf --block.wal  /dev/md0p2 --block.db /dev/md1p2

เชฎเซ‹เชจเชฟเชŸเชฐ, เชฎเซ‡เชจเซ‡เชœเชฐ เช…เชจเซ‡ เช“เชเชธเชกเซ€ เชฌเชจเชพเชตเซเชฏเชพ. เชนเชตเซ‡ เชนเซเช‚ เชคเซ‡เชฎเชจเซ‡ เช…เชฒเช— เช…เชฒเช— เชฐเซ€เชคเซ‡ เชœเซ‚เชฅเชฌเชฆเซเชง เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชนเซเช‚ เชตเชฟเชตเชฟเชง เชชเซเชฐเช•เชพเชฐเชจเซ€ เชกเชฟเชธเซเช• - SSD เชชเชฐ เชเชกเชชเซ€ เชชเซ‚เชฒ เช…เชจเซ‡ เชฎเซ‹เชŸเชพ, เชชเชฐเช‚เชคเซ SAS เชชเซ‡เชจเช•เซ‡เช• เชชเชฐ เชงเซ€เชฎเซ€ เชฐเชพเช–เชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เช˜เชกเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚.

เช…เชฎเซ‡ เชงเชพเชฐเซ€เชถเซเช‚ เช•เซ‡ เชธเชฐเซเชตเชฐเซเชธ เชชเชฐ 20 เชกเชฟเชธเซเช• เช›เซ‡, เชชเซเชฐเชฅเชฎ เชฆเชธ เชเช• เชชเซเชฐเช•เชพเชฐ เช›เซ‡, เชฌเซ€เชœเซ€ เชฌเซ€เชœเซ€ เช›เซ‡.
เชกเชฟเชซเซ‰เชฒเซเชŸ เชจเช•เชถเซ‹ เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

ceph osd เชตเซƒเช•เซเชท

root@ceph01-q:~# ceph osd เชŸเซเชฐเซ€
ID เชตเชฐเซเช— เชตเชœเชจ เชชเซเชฐเช•เชพเชฐเชจเซเช‚ เชจเชพเชฎ เชธเซเชŸเซ‡เชŸเชธ เชฐเชฟเชตเซ‡เช‡เชŸ PRI-AFF
-1 14.54799 เชฐเซ‚เชŸ เชกเชฟเชซเซ‹เชฒเซเชŸ
-3 9.09200 เชนเซ‹เชธเซเชŸ ceph01-q
0 ssd 1.00000 osd.0 เช…เชช 1.00000 1.00000
1 ssd 1.00000 osd.1 เช…เชช 1.00000 1.00000
2 ssd 1.00000 osd.2 เช…เชช 1.00000 1.00000
3 ssd 1.00000 osd.3 เช…เชช 1.00000 1.00000
4 hdd 1.00000 osd.4 เช…เชช 1.00000 1.00000
5 hdd 0.27299 osd.5 เช…เชช 1.00000 1.00000
6 hdd 0.27299 osd.6 เช…เชช 1.00000 1.00000
7 hdd 0.27299 osd.7 เช…เชช 1.00000 1.00000
8 hdd 0.27299 osd.8 เช…เชช 1.00000 1.00000
9 hdd 0.27299 osd.9 เช…เชช 1.00000 1.00000
10 hdd 0.27299 osd.10 เช…เชช 1.00000 1.00000
11 hdd 0.27299 osd.11 เช…เชช 1.00000 1.00000
12 hdd 0.27299 osd.12 เช…เชช 1.00000 1.00000
13 hdd 0.27299 osd.13 เช…เชช 1.00000 1.00000
14 hdd 0.27299 osd.14 เช…เชช 1.00000 1.00000
15 hdd 0.27299 osd.15 เช…เชช 1.00000 1.00000
16 hdd 0.27299 osd.16 เช…เชช 1.00000 1.00000
17 hdd 0.27299 osd.17 เช…เชช 1.00000 1.00000
18 hdd 0.27299 osd.18 เช…เชช 1.00000 1.00000
19 hdd 0.27299 osd.19 เช…เชช 1.00000 1.00000
-5 5.45599 เชนเซ‹เชธเซเชŸ ceph02-q
20 ssd 0.27299 osd.20 เช…เชช 1.00000 1.00000
21 ssd 0.27299 osd.21 เช…เชช 1.00000 1.00000
22 ssd 0.27299 osd.22 เช…เชช 1.00000 1.00000
23 ssd 0.27299 osd.23 เช…เชช 1.00000 1.00000
24 hdd 0.27299 osd.24 เช…เชช 1.00000 1.00000
25 hdd 0.27299 osd.25 เช…เชช 1.00000 1.00000
26 hdd 0.27299 osd.26 เช…เชช 1.00000 1.00000
27 hdd 0.27299 osd.27 เช…เชช 1.00000 1.00000
28 hdd 0.27299 osd.28 เช…เชช 1.00000 1.00000
29 hdd 0.27299 osd.29 เช…เชช 1.00000 1.00000
30 hdd 0.27299 osd.30 เช…เชช 1.00000 1.00000
31 hdd 0.27299 osd.31 เช…เชช 1.00000 1.00000
32 hdd 0.27299 osd.32 เช…เชช 1.00000 1.00000
33 hdd 0.27299 osd.33 เช…เชช 1.00000 1.00000
34 hdd 0.27299 osd.34 เช…เชช 1.00000 1.00000
35 hdd 0.27299 osd.35 เช…เชช 1.00000 1.00000
36 hdd 0.27299 osd.36 เช…เชช 1.00000 1.00000
37 hdd 0.27299 osd.37 เช…เชช 1.00000 1.00000
38 hdd 0.27299 osd.38 เช…เชช 1.00000 1.00000
39 hdd 0.27299 osd.39 เช…เชช 1.00000 1.00000
-7 6.08690 เชนเซ‹เชธเซเชŸ ceph03-q
40 ssd 0.27299 osd.40 เช…เชช 1.00000 1.00000
41 ssd 0.27299 osd.41 เช…เชช 1.00000 1.00000
42 ssd 0.27299 osd.42 เช…เชช 1.00000 1.00000
43 ssd 0.27299 osd.43 เช…เชช 1.00000 1.00000
44 hdd 0.27299 osd.44 เช…เชช 1.00000 1.00000
45 hdd 0.27299 osd.45 เช…เชช 1.00000 1.00000
46 hdd 0.27299 osd.46 เช…เชช 1.00000 1.00000
47 hdd 0.27299 osd.47 เช…เชช 1.00000 1.00000
48 hdd 0.27299 osd.48 เช…เชช 1.00000 1.00000
49 hdd 0.27299 osd.49 เช…เชช 1.00000 1.00000
50 hdd 0.27299 osd.50 เช…เชช 1.00000 1.00000
51 hdd 0.27299 osd.51 เช…เชช 1.00000 1.00000
52 hdd 0.27299 osd.52 เช…เชช 1.00000 1.00000
53 hdd 0.27299 osd.53 เช…เชช 1.00000 1.00000
54 hdd 0.27299 osd.54 เช…เชช 1.00000 1.00000
55 hdd 0.27299 osd.55 เช…เชช 1.00000 1.00000
56 hdd 0.27299 osd.56 เช…เชช 1.00000 1.00000
57 hdd 0.27299 osd.57 เช…เชช 1.00000 1.00000
58 hdd 0.27299 osd.58 เช…เชช 1.00000 1.00000
59 hdd 0.89999 osd.59 เช…เชช 1.00000 1.00000

เชšเชพเชฒเซ‹ เชฌเซเชฒเซ‡เช•เชœเซ‡เช• เช…เชจเซ‡ เช…เชจเซเชฏ เชตเชธเซเชคเซเช“ เชธเชพเชฅเซ‡ เช†เชชเชฃเชพ เชชเซ‹เชคเชพเชจเชพ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฐเซ‡เช•เซเชธ เช…เชจเซ‡ เชธเชฐเซเชตเชฐเซเชธ เชฌเชจเชพเชตเซ€เช:

root@ceph01-q:~#ceph osd crush add-bucket rack01 root #ัะพะทะดะฐะปะธ ะฝะพะฒั‹ะน root
root@ceph01-q:~#ceph osd crush add-bucket ceph01-q host #ัะพะทะดะฐะปะธ ะฝะพะฒั‹ะน ั…ะพัั‚
root@ceph01-q:~#ceph osd crush move ceph01-q root=rack01 #ะฟะตั€ะตัั‚ะฐะฒะธะปะธ ัะตั€ะฒะตั€ ะฒ ะดั€ัƒะณัƒัŽ ัั‚ะพะนะบัƒ
root@ceph01-q:~#osd crush add 28 1.0 host=ceph02-q # ะ”ะพะฑะฐะฒะธะปะธ ะžะกะ” ะฒ ัะตั€ะฒะตั€
# ะ•ัะปะธ ะบั€ะธะฒะพ ัะพะทะดะฐะปะธ ั‚ะพ ะผะพะถะฝะพ ัƒะดะฐะปะธั‚ัŒ
root@ceph01-q:~# ceph osd crush remove osd.4
root@ceph01-q:~# ceph osd crush remove rack01

เช…เชฎเซ‡ เชœเซ‡ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซเชฏเซ‹ เชฒเชกเชพเชˆ เช•เซเชฒเชธเซเชŸเชฐ, เชœเซเชฏเชพเชฐเซ‡ เชจเชตเซเช‚ เชนเซ‹เชธเซเชŸ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เชนเซ‹เชฏ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชนเชพเชฒเชจเชพ เชฐเซ‡เช•เชฎเชพเช‚ เช–เชธเซ‡เชกเซ‹ - เช†เชฆเซ‡เชถ ceph osd crush move ceph01-host root=rack01 เช…เชŸเช•เซ€ เช—เชฏเซ‹, เช…เชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เชเช• เชชเช›เซ€ เชเช• เชชเชกเชตเชพ เชฒเชพเช—เซเชฏเชพ. เชธเชฐเชณ CTRL+C เชตเชกเซ‡ เช†เชฆเซ‡เชถเชจเซ‡ เช…เชตเชฐเซ‹เชงเชตเชพเชฅเซ€ เช•เซเชฒเชธเซเชŸเชฐ เชœเซ€เชตเช‚เชค เชตเชฟเชถเซเชตเชฎเชพเช‚ เชชเชพเช›เซเช‚ เช†เชตเซเชฏเซเช‚.

เชถเซ‹เชงเชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเซ€ เชธเชฎเชธเซเชฏเชพ เช†เชตเซ€: https://tracker.ceph.com/issues/23386

เช‰เช•เซ‡เชฒ เช เชนเชคเซ‹ เช•เซ‡ เช•เซเชฐเชถเชฎเซ‡เชชเชจเซ‡ เชกเชฎเซเชช เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซเชฏเชพเช‚เชฅเซ€ เชตเชฟเชญเชพเช—เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‹ เชจเชฟเชฏเชฎ replicated_ruleset

root@ceph01-prod:~#ceph osd getcrushmap -o crushmap.row #ะ”ะฐะผะฟะธะผ ะบะฐั€ั‚ัƒ ะฒ ัั‹ั€ะพะผ ะฒะธะดะต
root@ceph01-prod:~#crushtool -d crushmap.row -o crushmap.txt #ะฟะตั€ะตะฒะพะดะธะผ ะฒ ั‡ะธั‚ะฐะตะผั‹ะน
root@ceph01-prod:~#vim  crushmap.txt #ั€ะตะดะฐะบั‚ะธั€ัƒะตะผ, ัƒะดะฐะปัั rule replicated_ruleset
root@ceph01-prod:~#crushtool -c crushmap.txt  -o new_crushmap.row #ะบะพะผะฟะธะปะธั€ัƒะตะผ ะพะฑั€ะฐั‚ะฝะพ
root@ceph01-prod:~#ceph osd setcrushmap -i  new_crushmap.row #ะทะฐะณั€ัƒะถะฐะตะผ ะฒ ะบะปะฐัั‚ะตั€

เช…เชšเชคเซเช‚เช—: เช† เช•เชพเชฎเช—เซ€เชฐเซ€ OSDs เชตเชšเซเชšเซ‡ เชชเซเชฒเซ‡เชธเชฎเซ‡เชจเซเชŸ เชœเซ‚เชฅ เชชเซเชจเชƒเชธเช‚เชคเซเชฒเชจเชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เช–เซ‚เชฌ เชœ เชจเชพเชจเชพ.

เช…เชจเซ‡ เชŸเซ‡เชธเซเชŸ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เช…เชฎเชจเซ‡ เชœเซ‡ เชตเชฟเชšเชฟเชคเซเชฐเชคเชพ เชฎเชณเซ€ เชคเซ‡ เช เช›เซ‡ เช•เซ‡ OSD เชธเชฐเซเชตเชฐเชจเซ‡ เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชคเซ‡เช“ เชญเซ‚เชฒเซ€ เช—เชฏเชพ เช•เซ‡ เชคเซ‡เช“ เชจเชตเชพ เชธเชฐเซเชตเชฐเซเชธ เช…เชจเซ‡ เชฐเซ‡เช•เซเชธ เชชเชฐ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡, เช…เชจเซ‡ เชฎเซ‚เชณ เชกเชฟเชซเซ‹เชฒเซเชŸ เชชเชฐ เชชเชพเช›เชพ เชซเชฐเซเชฏเชพ เช›เซ‡.
เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช…เช‚เชคเชฟเชฎ เชฏเซ‹เชœเชจเชพเชจเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชœเซ‡เชฎเชพเช‚ เช…เชฎเซ‡ ssd เชกเชฟเชธเซเช• เชฎเชพเชŸเซ‡ เช…เชจเซ‡ เชธเซเชชเชฟเชจเซเชกเชฒ เชฎเชพเชŸเซ‡ เช…เชฒเช—เชฅเซ€ เชเช• เช…เชฒเช— เชฐเซเชŸ เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡, เช…เชฎเซ‡ เชคเชฎเชพเชฎ OSD เชจเซ‡ เชฐเซ‡เช•เซเชธ เชธเชพเชฅเซ‡ เช–เซ‡เช‚เชšเซ€ เชฒเซ€เชงเชพ เช›เซ‡ เช…เชจเซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซเชŸเชจเซ‡ เช–เชพเชฒเซ€ เช•เชพเชขเซ€ เชจเชพเช–เซเชฏเชพ เช›เซ‡. เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, OSD เชคเซ‡เชฎเชจเชพ เชธเซเชฅเชพเชจเซ‡ เชฐเชนเซ‡เชตเชพ เชฒเชพเช—เซเชฏเชพ.
เชชเชพเช›เชณเชฅเซ€ เชกเซ‹เช•เซเชฏเซเชฎเซ‡เชจเซเชŸเซ‡เชถเชจเชฎเชพเช‚ เช—เชกเชฌเชก เช•เชฐเชตเชพเชฅเซ€ เชเช• เชชเชฐเชฟเชฎเชพเชฃ เชฎเชณเซเชฏเซเช‚ เชœเซ‡ เช† เชตเชฐเซเชคเชจ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เช›เซ‡. เชฌเซ€เชœเชพ เชญเชพเช—เชฎเชพเช‚ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡

เช…เชฎเซ‡ เชกเชฟเชธเซเช•เชจเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชตเชฟเชง เชœเซ‚เชฅเซ‹ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเซเชฏเชพ.

เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชฌเซ‡ เชฎเซ‚เชณ เชฌเชจเชพเชตเซเชฏเชพ เช›เซ‡ - ssd เช…เชจเซ‡ hdd เชฎเชพเชŸเซ‡

root@ceph01-q:~#ceph osd crush add-bucket ssd-root root
root@ceph01-q:~#ceph osd crush add-bucket hdd-root root

เชธเชฐเซเชตเชฐ เชญเซŒเชคเชฟเช• เชฐเซ€เชคเซ‡ เชตเชฟเชตเชฟเชง เชฐเซ‡เช•เซเชธเชฎเชพเช‚ เชธเซเชฅเชฟเชค เชนเซ‹เชตเชพเชฅเซ€, เชธเช—เชตเชก เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชฐเซ‡เช•เซเชธ เชฌเชจเชพเชตเซเชฏเชพ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชธเชฐเซเชตเชฐ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช›เซ‡

# ะกั‚ะพะนะบะธ:
root@ceph01-q:~#ceph osd crush add-bucket ssd-rack01 rack
root@ceph01-q:~#ceph osd crush add-bucket ssd-rack02 rack
root@ceph01-q:~#ceph osd crush add-bucket ssd-rack03 rack
root@ceph01-q:~#ceph osd crush add-bucket hdd-rack01 rack
root@ceph01-q:~#ceph osd crush add-bucket hdd-rack01 rack
root@ceph01-q:~#ceph osd crush add-bucket hdd-rack01 rack
# ะกะตั€ะฒะตั€ะฐ
root@ceph01-q:~#ceph osd crush add-bucket ssd-ceph01-q host
root@ceph01-q:~#ceph osd crush add-bucket ssd-ceph02-q host
root@ceph01-q:~#ceph osd crush add-bucket ssd-ceph03-q host
root@ceph01-q:~#ceph osd crush add-bucket hdd-ceph01-q host
root@ceph01-q:~#ceph osd crush add-bucket hdd-ceph02-q host
root@ceph01-q:~#ceph osd crush add-bucket hdd-ceph02-q host

เช…เชจเซ‡ เช…เชฒเช—-เช…เชฒเช— เชธเชฐเซเชตเชฐเซเชธเชฎเชพเช‚ เชคเซ‡เชฎเชจเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เช…เชจเซเชธเชพเชฐ เชตเซ‡เชฐเชตเชฟเช–เซ‡เชฐ เชกเชฟเชธเซเช•

root@ceph01-q:~# ะ”ะธัะบะธ ั 0 ะฟะพ 3 ัั‚ะพ SSD, ะฝะฐั…ะพะดัั‚ัั ะฒ ceph01-q, ัั‚ะฐะฒะธะผ ะธั… ะฒ ัะตั€ะฒะตั€ 
root@ceph01-q:~#  ssd-ceph01-q
root@ceph01-q:~#ceph osd crush add 0 1 host=ssd-ceph01-q
root@ceph01-q:~#ceph osd crush add 1 1 host=ssd-ceph01-q
root@ceph01-q:~#ceph osd crush add 2 1 host=ssd-ceph01-q
root@ceph01-q:~#ceph osd crush add 3 1 host=ssd-ceph01-q
root-ceph01-q:~# ะฐะฝะฐะปะพะณะธั‡ะฝะพ ั ะดั€ัƒะณะธะผะธ ัะตั€ะฒะตั€ะฐะผะธ

ssd-root เช…เชจเซ‡ hdd-root เชฐเซ‚เชŸ เชชเชฐ เชกเชฟเชธเซเช•เชจเซ‡ เชตเซ‡เชฐเชตเชฟเช–เซ‡เชฐ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เช…เชฎเซ‡ เชฐเซ‚เชŸ-เชกเชฟเชซเซ‹เชฒเซเชŸเชจเซ‡ เช–เชพเชฒเซ€ เช›เซ‹เชกเซ€ เชฆเซ€เชงเซเช‚ เช›เซ‡, เชœเซ‡เชฅเซ€ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซ€ เชถเช•เซ€เช.

root-ceph01-q:~#ceph osd crush remove default

เช†เช—เชณ, เช†เชชเชฃเซ‡ เชตเชฟเชคเชฐเชฃเชจเชพ เชจเชฟเชฏเชฎเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช•เซ‡ เชœเซ‡ เช†เชชเชฃเซ‡ เชฌเชจเชพเชตเซ‡เชฒเชพ เชชเซ‚เชฒ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชˆเชถเซเช‚ - เชจเชฟเชฏเชฎเซ‹เชฎเชพเช‚ เช†เชชเชฃเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเซ€เชถเซเช‚ เช•เซ‡ เช†เชชเชฃเซ‡ เช•เชฏเชพ เชฐเซ‚เชŸเชฎเชพเช‚ เช†เชชเชฃเซ‹ เชชเซ‚เชฒ เชกเซ‡เชŸเชพ เช…เชจเซ‡ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟเชจเซเช‚ เชตเชฟเชถเชฟเชทเซเชŸเชคเชพ เชธเซเชคเชฐ เชฎเซ‚เช•เซ€ เชถเช•เซ€เช - เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟเช“ เชตเชฟเชตเชฟเชง เชธเชฐเซเชตเชฐเซเชธ เชชเชฐ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช, เช…เชฅเชตเชพ เชตเชฟเชตเชฟเชง เชฐเซ‡เช•เซเชธเชฎเชพเช‚ (เชœเซ‹ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช†เชตเซเช‚ เชตเชฟเชคเชฐเชฃ เชนเซ‹เชฏ เชคเซ‹ เชคเชฎเซ‡ เชœเซเชฆเชพ เชœเซเชฆเชพ เชฐเซเชŸเชฎเชพเช‚ เชชเชฃ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹)

เชชเซเชฐเช•เชพเชฐ เชชเชธเช‚เชฆ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ, เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹ เชตเชพเช‚เชšเชตเชพเชจเซเช‚ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡:
http://docs.ceph.com/docs/jewel/rados/operations/crush-map/#crushmaprules

root-ceph01-q:~#ceph osd crush rule create-simple rule-ssd ssd-root host firstn
root-ceph01-q:~#ceph osd crush rule create-simple rule-hdd hdd-root host firstn
root-ceph01-q:~# ะœั‹ ัƒะบะฐะทะฐะปะธ ะดะฒะฐ ะฟั€ะฐะฒะธะปะฐ, ะฒ ะบะพั‚ะพั€ั‹ั… ะดะฐะฝะฝั‹ะต ั€ะตะฟะปะธั†ะธั€ัƒัŽั‚ัั 
root-ceph01-q:~# ะผะตะถะดัƒ ั…ะพัั‚ะฐะผะธ - ั‚ะพ ะตัั‚ัŒ ั€ะตะฟะปะธะบะฐ ะดะพะปะถะฝะฐ ะปะตะถะฐั‚ัŒ ะฝะฐ ะดั€ัƒะณะพะผ ั…ะพัั‚ะต,
root-ceph01-q:~# ะดะฐะถะต ะตัะปะธ ะพะฝะธ ะฒ ะพะดะฝะพะน ัั‚ะพะนะบะต
root-ceph01-q:~# ะ’ ะฟั€ะพะดะฐะบัˆะตะฝะต, ะตัะปะธ ะตัั‚ัŒ ะฒะพะทะผะพะถะฝะพัั‚ัŒ, ะปัƒั‡ัˆะต ั€ะฐัะฟั€ะตะดะตะปะธั‚ัŒ ั…ะพัั‚ั‹
root-ceph01-q:~# ะฟะพ ัั‚ะพะนะบะฐะผ ะธ ัƒะบะฐะทะฐั‚ัŒ ั€ะฐัะฟั€ะตะดะตะปัั‚ัŒ ั€ะตะฟะปะธะบะธ ะฟะพ ัั‚ะพะนะบะฐะผ:
root-ceph01-q:~# ##ceph osd crush rule create-simple rule-ssd ssd-root rack firstn

เช เซ€เช• เช›เซ‡, เช…เชฎเซ‡ เชชเซ‚เชฒ เชฌเชจเชพเชตเซ€เช เช›เซ€เช เชœเซ‡เชฎเชพเช‚ เช…เชฎเซ‡ เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚ เช…เชฎเชพเชฐเชพ เชตเชฐเซเชšเซเชฏเซเช…เชฒเชพเชˆเชเซ‡เชถเชจเชจเซ€ เชกเชฟเชธเซเช• เชˆเชฎเซ‡เชœเซ‹ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช - PROXMOX:

    root-ceph01-q:~# #ceph osd pool create {NAME} {pg_num}  {pgp_num}
root-ceph01-q:~# ceph osd pool create ssd_pool 1024 1024 
root-ceph01-q:~# ceph osd pool create hdd_pool 1024 1024

เช…เชจเซ‡ เช…เชฎเซ‡ เช† เชชเซ‚เชฒเชจเซ‡ เช•เชนเซ€เช เช›เซ€เช เช•เซ‡ เชชเซเชฒเซ‡เชธเชฎเซ‡เชจเซเชŸเชจเชพ เช•เชฏเชพ เชจเชฟเชฏเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹

 root-ceph01-q:~#ceph osd crush rule ls # ัะผะพั‚ั€ะธะผ ัะฟะธัะพะบ ะฟั€ะฐะฒะธะป
root-ceph01-q:~#ceph osd crush rule dump rule-ssd | grep rule_id #ะฒั‹ะฑะธั€ะฐะตะผ ID ะฝัƒะถะฝะพะณะพ
root-ceph01-q:~#ceph osd pool set ssd_pool crush_rule 2

เชชเซเชฒเซ‡เชธเชฎเซ‡เชจเซเชŸ เชœเซ‚เชฅเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ€ เชชเชธเช‚เชฆเช—เซ€ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเชพ เช•เซเชฒเชธเซเชŸเชฐ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเซเชต-เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชฐเชนเซ‡เชฒเชพ เชตเชฟเชเชจ เชธเชพเชฅเซ‡ เชธเช‚เชชเชฐเซเช• เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช - เชคเซเชฏเชพเช‚ เช•เซ‡เชŸเชฒเซ‹ OSD เชนเชถเซ‡, เช•เซ‡เชŸเชฒเซ‹ เชกเซ‡เชŸเชพ (เช•เซเชฒเชจเซ€ เชŸเช•เชพเชตเชพเชฐเซ€ เชคเชฐเซ€เช•เซ‡) เชชเซ‚เชฒเชฎเชพเช‚ เชนเชถเซ‡, เช•เซเชฒ เช•เซ‡เชŸเชฒเซ‹ เชกเซ‡เชŸเชพ .

เช•เซเชฒ เชฎเชณเซ€เชจเซ‡, เชกเชฟเชธเซเช• เชฆเซ€เช  300 เชฅเซ€ เชตเชงเซ เชชเซเชฒเซ‡เชธเชฎเซ‡เชจเซเชŸ เชœเซ‚เชฅเซ‹ เชจ เชฐเชพเช–เชตเชพ เช‡เชšเซเช›เชจเซ€เชฏ เช›เซ‡, เช…เชจเซ‡ เชจเชพเชจเชพ เชชเซเชฒเซ‡เชธเชฎเซ‡เชจเซเชŸ เชœเซ‚เชฅเซ‹ เชธเชพเชฅเซ‡ เชธเช‚เชคเซเชฒเชจ เช•เชฐเชตเซเช‚ เชธเชฐเชณ เชฐเชนเซ‡เชถเซ‡ - เชเชŸเชฒเซ‡ เช•เซ‡, เชœเซ‹ เชคเชฎเชพเชฐเซ‹ เช†เช–เซ‹ เชชเซ‚เชฒ เชคเซ‡เชฎเชพเช‚ 10 Tb เช…เชจเซ‡ 10 PG เชงเชฐเชพเชตเซ‡ เช›เซ‡ - เชคเซ‹ เชคเซ‡ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เชฌเชจเชถเซ‡. เชŸเซ‡เชฐเชพเชฌเชพเช‡เชŸ เช‡เช‚เชŸเซ‹ (pg) เชซเซ‡เช‚เช•เซ€เชจเซ‡ เชธเช‚เชคเซเชฒเชฟเชค เช•เชฐเชตเชพ - เชกเซ‹เชฒเชฎเชพเช‚ เชฐเซ‡เชคเซ€เชจเชพ เชจเชพเชจเชพ เชฆเชพเชฃเชพ เชธเชพเชฅเซ‡ เชฐเซ‡เชคเซ€ เชฐเซ‡เชกเชตเซ€ เชธเชฐเชณ เช…เชจเซ‡ เชธเชฐเชณ เช›เซ‡).

เชชเชฐเช‚เชคเซ เช†เชชเชฃเซ‡ เชฏเชพเชฆ เชฐเชพเช–เชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เชชเซ€เชœเซ€เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชœเซ‡เชŸเชฒเซ€ เชตเชงเชพเชฐเซ‡ เช›เซ‡ - เชคเซ‡เชฎเชจเชพ เชธเซเชฅเชพเชจเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชงเซ เชธเช‚เชธเชพเชงเชจเซ‹ เช–เชฐเซเชšเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ - เชฎเซ‡เชฎเชฐเซ€ เช…เชจเซ‡ เชธเซ€เชชเซ€เชฏเซเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡.

เช…เช‚เชฆเชพเชœเชฟเชค เชธเชฎเชœเชฃ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡เชฒเซเช•เซเชฏเซเชฒเซ‡เชŸเชฐ เช†เชชเซ‹, CEPH เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชธเชพเชฎเช—เซเชฐเซ€เชจเซ€ เชธเซ‚เชšเชฟ:

https://blog.packagecloud.io/eng/2017/02/06/monitoring-tuning-linux-networking-stack-sending-data
http://www.admin-magazine.com/HPC/Articles/Linux-I-O-Schedulers
http://onreader.mdl.ru/MasteringCeph/content/Ch09.html#030202
https://tracker.ceph.com/issues/23386
https://ceph.com/pgcalc/

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹