Ceph - เบˆเบฒเบ "เบซเบปเบงเป€เบ‚เบปเปˆเบฒ" เบเบฑเบš "เบเบฒเบ™เบœเบฐเบฅเบดเบ”"

เป€เบฅเบทเบญเบ CEPH. เบžเบฒเบเบ—เบต 1

เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบซเป‰เบฒ racks, เบชเบดเบšเบชเบฐเบซเบผเบฑเบš optical, configured BGP, เบชเบญเบ‡เบชเบฒเบกเบญเบฒเบเปเบเบฑเบช SSDs เปเบฅเบฐเบŠเปเปˆเบ‚เบญเบ‡เปเบœเปˆเบ™ SAS เบ—เบธเบเบชเบตเปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš proxmox เปเบฅเบฐเบ„เบงเบฒเบกเบ›เบฒเบ–เบฐเบซเบ™เบฒเบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเบ‚เปเป‰เบกเบนเบ™เบชเบฐเบ–เบดเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ S3 เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡. เบšเปเปˆเปเบกเปˆเบ™เบงเปˆเบฒเบชเบดเปˆเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ virtualization, เปเบ•เปˆเป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบŠเป‰ opensource, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก hobby เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบˆเบปเบ™เป€เบ–เบดเบ‡เบ—เบตเปˆเบชเบธเบ”. เบชเบดเปˆเบ‡เบ”เบฝเบงเบ—เบตเปˆเบฅเบปเบšเบเบงเบ™เบ‚เป‰เบญเบเปเบกเปˆเบ™ BGP. เบšเปเปˆเบกเบตเบœเบนเป‰เปƒเบ”เปƒเบ™เป‚เบฅเบเบ—เบตเปˆเบชเบดเป‰เบ™เบซเบงเบฑเบ‡, เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบš เปเบฅเบฐเบ‚เบฒเบ”เบชเบดเบ™เบ—เบณเบซเบผเบฒเบเบเบงเปˆเบฒเบเบฒเบ™เบเบณเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ BGP เบžเบฒเบเปƒเบ™. เปเบฅเบฐเบ‚เป‰เบญเบเบฎเบนเป‰เบงเปˆเบฒเปƒเบ™เป„เบงเป†เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบกเบฑเบ™.

Ceph - เบˆเบฒเบ "เบซเบปเบงเป€เบ‚เบปเปˆเบฒ" เบเบฑเบš "เบเบฒเบ™เบœเบฐเบฅเบดเบ”"

เบงเบฝเบเบ‡เบฒเบ™เปเบกเปˆเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เป€เบฅเบฑเบเป†เบ™เป‰เบญเบเป† - เบกเบต CEPH, เปเบ•เปˆเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบœเบปเบ™เบ”เบตเบซเบผเบฒเบ. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ” "เบ”เบต".
เบเบธเปˆเบกเบ—เบตเปˆเบ‚เป‰เบญเบเป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบซเบผเบฒเบเบซเบผเบฒเบ, เป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบ›เบšเบฑ เปเบฅเบฐ เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบงเบšเปเปˆเป„เบ”เป‰เบ›เบฑเบš. เบกเบฑเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบชเบญเบ‡เบเบธเปˆเบกเบ‚เบญเบ‡ nodes เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบกเบตเบ•เบฒเบ‚เปˆเบฒเบเป„เบŸเบŸเป‰เบฒเบ—เบปเปˆเบงเป„เบ›เบซเบ™เบถเปˆเบ‡เป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ—เบฑเบ‡ cluster เปเบฅเบฐเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ. nodes เป„เบ”เป‰เป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบเบชเบตเปˆเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เปเบœเปˆเบ™ - เบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡ SSD, เป€เบเบฑเบšเบเปเบฒเบขเบนเปˆเปƒเบ™เบชเบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เปเบฅเบฐเบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡ HDD เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เป€เบเบฑเบšเบเปเบฒเบขเบนเปˆเปƒเบ™เบเบธเปˆเบกเบ—เบตเบชเบฒเบก. เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เป‚เบ”เบเบ™เป‰เปเบฒเบซเบ™เบฑเบ OSD เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบ•เบปเบงโ€‹เบกเบฑเบ™โ€‹เป€เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เปเบšเปˆเบ‡โ€‹เบญเบญเบโ€‹เป€เบ›เบฑเบ™โ€‹เบชเบญเบ‡โ€‹เบžเบฒเบโ€‹เบชเปˆเบงเบ™ - เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹ ะธ เบเบฒเบ™เบ›เบฑเบšเปเบ•เปˆเบ‡ CEPH เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡ เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™.

เบเบณเบฅเบฑเบ‡เบญเบฑเบšเป€เบเบฃเบ” OS

เป€เบ„เบทเบญเบ‚เปˆเบฒเบ

latency เบชเบนเบ‡เบชเบปเปˆเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡. เป€เบกเบทเปˆเบญเบšเบฑเบ™เบ—เบถเบ - เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบฅเบนเบเบ„เป‰เบฒเบˆเบฐเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบˆเบปเบ™เบเปˆเบงเบฒเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบเบธเปˆเบกเบเบฒเบ™เบˆเบฑเบ”เบ•เปเบฒเปเบซเบ™เปˆเบ‡เบญเบทเปˆเบ™เป†เบขเบทเบ™เบขเบฑเบ™เบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบ replicas เปƒเบ™เปเบœเบ™เบ—เบตเปˆ CRUSH เปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡ replicas เบ•เปเปˆ host, เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเบฐเป€เบซเบกเบต.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเบดเปˆเบ‡เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบฎเบฑเบ”เปเบกเปˆเบ™ tweak เป€เบฅเบฑเบเบ™เป‰เบญเบเบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบžเบฐเบเบฒเบเบฒเบกเบŠเบฑเบเบŠเบงเบ™เปƒเบซเป‰เบ‚เป‰เบญเบเบเป‰เบฒเบเป„เบ›เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ›เบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบšเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบ‚เป‰เบญเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ„เบดเบง:

เป€เบเบตเบ”โ€‹เบซเบเบฑเบ‡โ€‹เบ‚เบถเป‰เบ™:

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

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 เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เบฑเบ‡เปเบปเบ”เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ™เบฑเป‰เบ™เบ–เบทเบเป‚เบซเบฅเบ”เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

cat / etc / เป€เบ„เบทเบญเบ‚เปˆเบฒเบ / เบญเบดเบ™เป€เบ•เบตเป€เบŸเบ”

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

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบšเบปเบ”เบ„เบงเบฒเบกเบ”เบฝเบงเบเบฑเบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ„เบดเบ”เบšเบดเบ” handles เบ‚เบญเบ‡ 4.15 kernel. เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบงเปˆเบฒ nodes เบกเบต 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 ะฟะฐะบะตั‚ะต. ะ’ ะฝะฐัˆะตะผ ัะปัƒั‡ะฐะต ัะฒะปัะตั‚ัั ะฟะปะฐั†ะตะฑะพ, ะฟั€ะพัั‚ะพ
# ะฒั‹ะณะปัะดะธั‚ ะบั€ะฐัะธะฒะพ)

ะกเป€เบ„เบทเบญโ€‹เบ‚เปˆเบฒเบ lusterโ€‹ เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™เบขเบนเปˆเปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ 10Gbps เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบฎเบฒเบšเบžเบฝเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เปเบ•เปˆเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ”เป‰เบงเบเบšเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบชเบญเบ‡เบžเบญเบ” mellanox 10/25 Gbps, เบชเบฝเบšเปƒเบชเปˆเบชเบญเบ‡เบ›เบธเปˆเบก 10Gbps เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰ OSPF, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบเบฑเบš lacp เบ”เป‰เบงเบเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡ 16 Gbps, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ ospf เบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบฑเบ‡เบชเบญเบ‡เบชเบดเบšเปƒเบ™เปเบ•เปˆเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ. เปเบœเบ™เบเบฒเบ™เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเปƒเบŠเป‰เบ›เบฐเป‚เบซเบเบ”เบˆเบฒเบ ROCE เปƒเบ™ melanoxes เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒ. เบงเบดเบ—เบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบชเปˆเบงเบ™เบ™เบตเป‰เบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ:

  1. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ•เบปเบงเป€เบญเบ‡เบกเบตเบ—เบตเปˆเบขเบนเปˆ IP เบžเบฒเบเบ™เบญเบเบขเบนเปˆเปƒเบ™ BGP, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบŠเบญเบšเปเบง - (เบซเบผเบฒเบเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ‚เบฝเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบกเบฑเบ™เปเบกเปˆเบ™ 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 (First In, First Out). เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบ„เบดเบงเป€เบกเบทเปˆเบญเบžเบงเบเป€เบ‚เบปเบฒเบกเบฒเบฎเบญเบ”. DEADLINE เปเบกเปˆเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เปเบšเบšเบฎเบฑเบ”เบเบธเบกเบซเบผเบฒเบ, เบšเบงเบเบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบˆเบฑเบ”เบ„เบดเบงเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบเบทเบญเบšเบชเบฐเป€เบžเบฒเบฐเบเบฑเบšเบ”เบดเบชเบเปŒเปƒเบ™เป€เบงเบฅเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบ”เบตเป€เบฅเบตเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ - เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เบžเบฝเบ‡เปเบ•เปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ”เบฝเบงเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเปเบ•เปˆเบฅเบฐเปเบœเปˆเบ™ - OSD daemon.
(เบœเบนเป‰โ€‹เบ—เบตเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป„เบ›โ€‹เปƒเบ™โ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป€เบงโ€‹เบฅเบฒ 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 เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบš buffed เบเปˆเบญเบ™เบ—เบตเปˆ I/O เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบชเบปเปˆเบ‡ / เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป„เบ›เบเบฑเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบ•เบฑเบ™, เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เบšเบฑเบ” RAID / เบญเบธเบ›เบฐเบเบญเบ™เบšเบฅเบฑเบญเบเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบฒเบ™เบ„เบดเบงเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบเปˆเบงเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒ. เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒ /O เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰, เบเบฒเบ™เป€เบžเบตเปˆเบกเบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡ nr_requests เบญเบฒเบ”เบˆเบฐเบŠเปˆเบงเบเบ›เบฑเบšเบ›เบธเบ‡เบ•เบฐเบซเบผเบญเบ”เปเบฅเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบทเปˆเบญ I/O เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰ Deadline เบซเบผเบท CFQ เป€เบ›เบฑเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒ, เบกเบฑเบ™เปเบ™เบฐเบ™เปเบฒเบงเปˆเบฒเบ—เปˆเบฒเบ™เบ„เบงเบ™เบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒ nr_request เป€เบ›เบฑเบ™ 2 เป€เบ—เบปเปˆเบฒเบ‚เบญเบ‡เบ„เปˆเบฒเบ„เบงเบฒเบกเป€เบฅเบดเบเบ‚เบญเบ‡เปเบ–เบง.

เปเบ•เปˆ! เบžเบปเบ™เบฅเบฐเป€เบกเบทเบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ CEPH, เบŠเบฑเบเบŠเบงเบ™เบžเบงเบเป€เบฎเบปเบฒเบงเปˆเบฒเบฅเบฐเบšเบปเบšเบšเบนเบฅเบดเบกเบฐเบชเบดเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป€เบฎเบฑเบ”เบงเบฝเบเบ”เบตเบ‚เบถเป‰เบ™

Ceph - เบˆเบฒเบ "เบซเบปเบงเป€เบ‚เบปเปˆเบฒ" เบเบฑเบš "เบเบฒเบ™เบœเบฐเบฅเบดเบ”"

WBThrottle เปเบฅเบฐ/เบซเบผเบท nr_requests

WBThrottle เปเบฅเบฐ/เบซเบผเบท nr_requests
เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเปƒเบŠเป‰ buffered I/O เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™; เบ™เบตเป‰เบ™เปเบฒเป€เบญเบปเบฒเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบ–เป‰เบฒเบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเบขเบนเปˆเปƒเบ™เบชเบทเปˆเบ—เบตเปˆเป„เบงเบ‚เบถเป‰เบ™. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป„เบ”เป‰เบ–เบทเบเปเบˆเป‰เบ‡เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบ‚เปเป‰เบกเบนเบ™เบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเบšเบฑเบ™เบ—เบถเบ, เปเบฅเบฐเบˆเบฒเบเบ™เบฑเป‰เบ™เบ–เบทเบ flushed เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบœเปˆเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ•เปเปˆเบกเบฒเป‚เบ”เบเปƒเบŠเป‰เบซเบ™เป‰เบฒเบ—เบตเปˆเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ Linux. เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบš OSDs spindle เบ—เบตเปˆเบˆเบฐเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™ latency เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš SSDs เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบฅเบฐเป€เบšเบตเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ. เบเบฒเบ™เบ‚เบฝเบ™เบ„เบทเบ™เบ—เบตเปˆเบŠเบฑเบเบŠเป‰เบฒเบ™เบตเป‰เบเบฑเบ‡เบŠเปˆเบงเบเปƒเบซเป‰ kernel เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบˆเบฑเบ”เบฅเบฐเบšเบฝเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป I/O เปเบœเปˆเบ™เปƒเบซเบกเปˆ, เบ”เป‰เบงเบเบ„เบงเบฒเบกเบซเบงเบฑเบ‡เบ—เบตเปˆเบˆเบฐเบฅเบงเบกเบžเบงเบเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เบซเบผเบทเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบซเบปเบงเบซเบ™เป‰เบฒเปเบœเปˆเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเป€เบฅเบทเบญเบเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบงเปˆเบฒเปƒเบ™เปเบœเปˆเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบœเบปเบ™โ€‹เบเบฐโ€‹เบ—เบปเบšโ€‹เบชเบธเบ”โ€‹เบ—เบดโ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบšเบตเบš I/O เบญเบญเบโ€‹เบˆเบฒเบโ€‹เปเบ•เปˆโ€‹เบฅเบฐโ€‹เปเบœเปˆเบ™โ€‹เป€เบฅเบฑเบโ€‹เบ™เป‰เบญเบโ€‹เบซเบผเบฒเบโ€‹เบโ€‹เปˆโ€‹เบงเบฒโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เป„เบ›โ€‹เป„เบ”เป‰โ€‹เป‚เบ”เบโ€‹เบเบปเบ‡โ€‹เบซเบผเบท synchronous I/Oโ€‹.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบ–เป‰เบฒเบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡เบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเปƒเบ™เบเบธเปˆเบก Ceph เบ—เบตเปˆเบกเบญเบšเปƒเบซเป‰เป€เบเบตเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เปเบœเปˆเบ™เบ—เบตเปˆเบ•เบดเบ”เบžเบฑเบ™. เปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰, เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ I/O เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเบฑเบ‡เบ„เป‰เบฒเบ‡เบขเบนเปˆเบฅเปเบ–เป‰เบฒเบ–เบทเบเบ‚เบฝเบ™เบฅเบปเบ‡เปƒเบ™เปเบœเปˆเบ™เบชเบฒเบกเบฒเบ”เป€เบ•เบตเบšเป‚เบ•เบขเปˆเบฒเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ„เบงเบšเบ„เบธเบกเป„เบ”เป‰เปเบฅเบฐเบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบ„เบดเบง I/O เบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เปƒเบชเปˆเบ—เบฑเบ‡เบ„เบดเบงเบ”เบดเบชเบเปŒเปเบฅเบฐ Ceph. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบญเปˆเบฒเบ™เปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบšเป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเบกเบฑเบ™เบ•เบดเบ”เบขเบนเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ‚เบฝเบ™, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบงเบดเบ™เบฒเบ—เบตเป€เบžเบทเปˆเบญ flush เป„เบ›เบซเบฒเปเบœเปˆเบ™เบ•เบปเป‰เบ™เบ•เป.

เป€เบžเบทเปˆเบญเป€เบญเบปเบฒเบŠเบฐเบ™เบฐเบšเบฑเบ™เบซเบฒเบ™เบตเป‰, Ceph เบกเบตเบเบปเบ™เป„เบ throttling writeback เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ WBThrottle. เบกเบฑเบ™เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบˆเบณเบเบฑเบ”เบˆเบณเบ™เบงเบ™เบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡ I/O write lazy เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบ„เบดเบงเบ‚เบถเป‰เบ™ เปเบฅเบฐเป€เบฅเบตเปˆเบกเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ flush เบ‚เบญเบ‡เบกเบฑเบ™เป„เบ”เป‰เป„เบงเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบ•เบฒเบกเบ—เบณเบกเบฐเบŠเบฒเบ” เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบ”เบ kernel เป€เบญเบ‡. เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบญเบฒเบ”เบˆเบฐเบšเปเปˆเบซเบผเบธเบ”เบฅเบปเบ‡เบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ™เบตเป‰เบ•เปเปˆเบเบฒเบ™เบญเปˆเบฒเบ™ latency. เบเบฒเบ™เบ›เบฑเบšเบ•เบปเบงเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เบžเบถเบ”เบ•เบดเบเปเบฒเบ™เบตเป‰เปเบฅเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบเบฒเบงเบ‚เบญเบ‡เปเบ–เบงเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ”เบเบฅเบงเบกเปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบœเบปเบ™เบเบฐเบ—เบปเบšเบ™เบตเป‰เบฎเบธเบ™เปเบฎเบ‡เบซเบ™เป‰เบญเบเบฅเบปเบ‡. เบกเบตเบเบฒเบ™เบŠเบทเป‰เบ‚เบฒเบ, เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก: เป‚เบ”เบเบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบˆเปเบฒเบ™เบงเบ™เบชเบนเบ‡เบชเบธเบ”เป‚เบ”เบเบฅเบงเบกเบ‚เบญเบ‡เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบˆเบฑเบ”เบ„เบดเบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ kernel เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบชเบธเบ”เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒ. เบกเบฑเบ™เบ„เบธเป‰เบกเบ„เปˆเบฒเบ—เบตเปˆเบˆเบฐเบ„เบดเบ”เป€เบฅเบฑเบเบ™เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบเปเบฅเบฐเบ™เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบงเบฝเบเบ‡เบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ›เบฑเบšเบ•เบปเบงเปƒเบซเป‰เป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบžเบงเบเบกเบฑเบ™.

เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบ„เบงเบฒเบกเป€เบฅเบดเบเบ‚เบญเบ‡เปเบ–เบงเบเบฒเบ™เบ‚เบฝเบ™ backlog เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ I/O เบชเบนเบ‡เบชเบธเบ”เป‚เบ”เบเบฅเบงเบกเป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ WBThrottle, เบซเบผเบทเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เปˆเบฒเบชเบนเบ‡เบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเบเบฑเบ‡เบ„เป‰เบฒเบ‡เบ„เบฒเบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ•เบฑเบ™เบ‚เบญเบ‡เปเบเปˆเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡. เบ—เบฑเบ‡เบชเบญเบ‡เบชเบฒเบกเบฒเบ”เบ„เบงเบšเบ„เบธเบกเบžเบถเบ”เบ•เบดเบเปเบฒเบ”เบฝเบงเบเบฑเบ™เบขเปˆเบฒเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš, เปเบฅเบฐเบ„เบงเบฒเบกเบกเบฑเบเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบˆเบฐเป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบตเป‰.
เบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเบฅเบฐเบšเบปเบšเบšเบนเบฅเบดเบกเบฐเบชเบดเบ”เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡ Ceph เปเบกเปˆเบ™เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบชเบฑเป‰เบ™เบเบงเปˆเบฒเปƒเบ™เบฅเบฐเบ”เบฑเบšเปเบœเปˆเบ™. เบ”เป‰เบงเบเบเบฒเบ™เบซเบเปเป‰เบ„เบดเบงเบ—เบฑเบ‡เปเบปเบ”เบฅเบปเบ‡เปƒเบชเปˆเปเบœเปˆเบ™เบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰, เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบซเบผเบฑเบเบ‚เบญเบ‡เบ„เบดเบงเบˆเบฐเบเป‰เบฒเบเป„เบ›เบ—เบตเปˆ Ceph, เบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบซเบผเบฒเบเบเบงเปˆเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบšเบนเบฅเบดเบกเบฐเบชเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™ I/O เบกเบต. เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ•เบปเบงเบขเปˆเบฒเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

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

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

COMMON

เปเบฅเบฐเบเบฒเบ™เบ›เบฑเบšเบ›เปˆเบฝเบ™ kernel เบญเบตเบเบชเบญเบ‡เบชเบฒเบกเบญเบฑเบ™เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบฅเบปเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบญเปˆเบญเบ™เบ™เบธเป‰เบก เปเบฅเบฐเบฅเบฝเบšเบ™เบฝเบ™ เปเบฅเบฐเบšเบตเบšเบญเบฑเบ”เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบญเบญเบเบˆเบฒเบเบฎเบฒเบ”เปเบงเป€เบฅเบฑเบเบ™เป‰เบญเบ.

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
# ะัƒ ะธ ะพั‚ะบั€ั‹ั‚ั‹ั… ั„ะฐะนะปะพะฒ ัƒ ะฝะฐั,ะฒะตั€ะพัั‚ะฝะพ, ะฑัƒะดะตั‚ ัะธะปัŒะฝะพ ะฑะพะปัŒัˆะต, ั‡ะตะผ ัƒะบะฐะทะฐะฝะพ ะฟะพ ะดะตั„ะพะปั‚ัƒ. 

immersion เปƒเบ™ 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

เบšเบฒเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบ—เบตเปˆเบ–เบทเบเบ—เบปเบ”เบชเบญเบšเบชเปเบฒเบฅเบฑเบš QA เปƒเบ™เบฎเบธเปˆเบ™ 12.2.12 เปเบกเปˆเบ™เบซเบฒเบเป„เบ›เปƒเบ™ ceph เบฎเบธเปˆเบ™ 12.2.2, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡. osd_recovery_threads. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปเบœเบ™เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบ”เป‰เบฅเบงเบกเป€เบญเบปเบฒเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบœเบฐเบฅเบดเบ”เป€เบ›เบฑเบ™ 12.2.12. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบฅเบฐเบซเบงเปˆเบฒเบ‡เบฎเบธเปˆเบ™ 12.2.2 เปเบฅเบฐ 12.2.12 เปƒเบ™เบเบธเปˆเบกเบ”เบฝเบง, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปเบšเบšเบกเป‰เบงเบ™.

เบเบธเปˆเบกเบ—เบปเบ”เบชเบญเบš

เบ•เบฒเบกเบ—เปเบฒเบกเบฐเบŠเบฒเบ”, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบฎเบธเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบชเบนเป‰เบฎเบปเบš, เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ‚เป‰เบญเบเป€เบฅเบตเปˆเบกเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบธเปˆเบก, เบžเบฝเบ‡เปเบ•เปˆเบกเบตเบฎเบธเปˆเบ™เปƒเบซเบกเปˆเบเบงเปˆเบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ repository. เป‚เบ”เบโ€‹เป„เบ”เป‰โ€‹เป€เบšเบดเปˆเบ‡โ€‹, เบชเบดเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบžเบดโ€‹เบˆเบฒโ€‹เบฅเบฐโ€‹เบ™เบฒโ€‹เปƒเบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เป€เบฅเบฑเบโ€‹เบ™เป‰เบญเบโ€‹เปเบกเปˆเบ™โ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เปƒเบซเบเปˆโ€‹เบซเบผเบฒเบ (1393 เบชเบฒเบเปƒเบ™ config เบ•เป‰เบฒเบ™ 1436 เปƒเบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เปƒเบซเบกเปˆโ€‹)โ€‹, เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบ•เบฑเบ”โ€‹เบชเบดเบ™โ€‹เปƒเบˆโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เปƒเบซเบกเปˆ (เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบขเปˆเบฒเบ‡โ€‹เปƒเบ”โ€‹เบเปโ€‹เบ•เบฒเบกโ€‹, เป€เบ›เบฑเบ™โ€‹เบซเบเบฑเบ‡โ€‹เป„เบ›โ€‹เบเบฑเบš junk เป€เบเบปเปˆเบฒโ€‹)

เบชเบดเปˆเบ‡เบ”เบฝเบงเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบžเบฐเบเบฒเบเบฒเบกเบญเบญเบเบˆเบฒเบเบชเบฐเบšเบฑเบšเป€เบเบปเปˆเบฒเปเบกเปˆเบ™เบŠเบธเบ” ceph-deploy เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบšเบฒเบ‡เบชเบดเปˆเบ‡เบญเปเบฒเบ™เบงเบเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบ (เปเบฅเบฐเบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบšเบฒเบ‡เบ„เบปเบ™) เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเปƒเบซเป‰เป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบš syntax เบ‚เบญเบ‡เบกเบฑเบ™. เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบ•เปˆเบšเปเปˆเบกเบตเบœเบปเบ™เบ•เปเปˆเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบเบธเปˆเบกเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡, เปเบฅเบฐเบกเบฑเบ™เบ–เบทเบเบ›เบฐเป„เบงเป‰เบขเบนเปˆเปƒเบ™เบชเบฐเบšเบฑเบš 1.5.39

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เปเบฒเบชเบฑเปˆเบ‡ ceph-disk เป€เบงเบปเป‰เบฒเบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเบเบปเบเป€เบฅเบตเบเปเบฅเบฐเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ ceph-volume, เบ—เบตเปˆเบฎเบฑเบเปเบžเบ‡, เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบชเป‰เบฒเบ‡ OSDs เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰, เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เป€เบชเบเป€เบงเบฅเบฒเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบก.

เปเบœเบ™เบเบฒเบ™เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบšเปˆเบญเบ™เปเบฅเบเบ›เปˆเบฝเบ™เบ„เบงเบฒเบกเบ‚เบญเบ‡เบชเบญเบ‡ SSD drive เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบงเบฒเบ‡เบšเบฑเบ™เบ—เบถเบ OSD, เป€เบŠเบดเปˆเบ‡, เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เบ•เบฑเป‰เบ‡เบขเบนเปˆ spindle 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

เบชเบดเปˆเบ‡เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบ‚เป‰เบญเบ stumbled เป€เบกเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš ceph-deploy เบฎเบธเปˆเบ™เบ™เบตเป‰เบเบฑเบš cluster version 12.2.12 เปเบกเปˆเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบฐเบเบฒเบเบฒเบกเบชเป‰เบฒเบ‡ OSD เบเบฑเบš db เปƒเบ™เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบŠเบญเบšเปเบง -

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 เบ›เบฐเป€เบžเบ” bluestore เป‚เบ”เบเบšเปเปˆเบฅเบฐเบšเบธเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒ 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

เบชเป‰เบฒเบ‡เบœเบนเป‰เบ•เบดเบ”เบ•เบฒเบก, เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เปเบฅเบฐ OSD. เบ•เบญเบ™เบ™เบตเป‰เบ‚เป‰เบญเบเบขเบฒเบเบˆเบฑเบ”เบเบธเปˆเบกเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบ‚เป‰เบญเบเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบกเบตเปเบœเปˆเบ™เบ›เบฐเป€เบžเบ”เบ•เปˆเบฒเบ‡เป† - fast pools on SSD เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, เปเบ•เปˆเบชเบฐเบ™เบธเบเป€เบเบตเบŠเป‰เบฒเปƒเบ™ SAS pancakes.

เปƒเบซเป‰เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบกเบต 20 เปเบœเปˆเบ™, เบชเบดเบšเบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบ›เบฐเป€เบžเบ”เบซเบ™เบถเปˆเบ‡, เบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เบญเบตเบ.
เบšเบฑเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰:

ceph osd เบ•เบปเป‰เบ™เป„เบกเป‰

root@ceph01-q:~# ceph osd tree
ID CLASS WEIGHT TYPE STATUS REWEIGHT 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

เบกเบฒเบชเป‰เบฒเบ‡ racks เปเบฅเบฐเป€เบŠเบตเบšเป€เบงเบต virtual เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ”เป‰เบงเบ blackjack เปเบฅเบฐเบชเบดเปˆเบ‡เบญเบทเปˆเบ™เป†:

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

เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเปƒเบ™ เบเบฒเบ™เบ•เปเปˆเบชเบนเป‰ cluster, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบฐเบเบฒเบเบฒเบกเบชเป‰เบฒเบ‡เป€เบˆเบปเป‰เบฒเบžเบฒเบšเปƒเบซเบกเปˆเปเบฅเบฐเบเป‰เบฒเบเบกเบฑเบ™เป„เบ›เบซเบฒ rack เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง - เบ„เปเบฒเบชเบฑเปˆเบ‡ ceph osd crush เบเป‰เบฒเบ ceph01-host root=rack01 froze, เปเบฅเบฐเบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเบซเบผเบธเบ”เบฅเบปเบ‡เบซเบ™เบถเปˆเบ‡เบซเบ™เบถเปˆเบ‡. เบเบฒเบ™เบเบปเบเป€เบฅเบตเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ”เป‰เบงเบ CTRL + C เบ‡เปˆเบฒเบเป†เบชเบปเปˆเบ‡เบ„เบทเบ™เบเบธเปˆเบกเป„เบ›เบชเบนเปˆเป‚เบฅเบเบ‚เบญเบ‡เบŠเบตเบงเบดเบ”.

เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบšเบฑเบ™เบซเบฒเบ™เบตเป‰: https://tracker.ceph.com/issues/23386

เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เป„เบ”เป‰โ€‹เบเบฒเบโ€‹เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™ dump crushmap เปเบฅเบฐโ€‹เป€เบญเบปเบฒโ€‹เบžเบฒเบโ€‹เบชเปˆเบงเบ™โ€‹เบˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบ™เบฑเป‰เบ™โ€‹ เบเบปเบ”เบฅเบฐเบšเบฝเบš 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 #ะทะฐะณั€ัƒะถะฐะตะผ ะฒ ะบะปะฐัั‚ะตั€

Akhtung: เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบชเบปเบกเบ”เบนเบ™เบ‚เบญเบ‡เบเบธเปˆเบกเบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡ OSDs. เบกเบฑเบ™เป„เบ”เป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ™เบตเป‰เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ, เปเบ•เปˆเบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”.

เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเปเบ›เบเบ›เบฐเบซเบฅเบฒเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเปƒเบ™เบเบธเปˆเบกเบ—เบปเบ”เบชเบญเบšเปเบกเปˆเบ™เบงเปˆเบฒเบซเบผเบฑเบ‡เบˆเบฒเบ rebooting เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ OSD, เบžเบงเบเป€เบ‚เบปเบฒเบฅเบทเบกเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบเป„เบ›เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบซเบกเปˆเปเบฅเบฐ racks, เปเบฅเบฐเบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบฎเบฒเบ.
เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป‚เบ”เบเป„เบ”เป‰เบฅเบงเบšเบฅเบงเบกเป‚เบ„เบ‡เบเบฒเบ™เบชเบธเบ”เบ—เป‰เบฒเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบฎเบฒเบเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเป„เบ” ssd เปเบฅเบฐเบซเบ™เบถเปˆเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบš spindle drives, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบญเบปเบฒ OSD เบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ racks เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบฅเบถเบšเบฎเบฒเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบซเบผเบฑเบ‡เบˆเบฒเบ reboot, 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

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบกเปˆเบ™เบ•เบฑเป‰เบ‡เบขเบนเปˆเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบขเบนเปˆเปƒเบ™ racks เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡ racks เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบขเบนเปˆเปƒเบ™เบžเบงเบเบกเบฑเบ™

# ะกั‚ะพะนะบะธ:
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-default เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบฅเบถเบšเบกเบฑเบ™เป„เบ”เป‰.

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

เบ•เปเปˆเป„เบ›, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบœเบนเบเบกเบฑเบ”เบเบฑเบšเบชเบฐเบ™เบธเบเป€เบเบตเบ—เบตเปˆเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™ - เปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบŠเบตเป‰เบšเบญเบเบงเปˆเบฒเบฎเบฒเบเปƒเบ”เบชเบฒเบกเบฒเบ”เปƒเบชเปˆเบ‚เปเป‰เบกเบนเบ™เบชเบฐเบ™เบธเบเป€เบเบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐเบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบ‚เบญเบ‡ replica - เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™ replicas เบˆเบฐเบ•เป‰เบญเบ‡เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบซเบผเบทเบขเบนเปˆเปƒเบ™ racks เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™ (เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบกเป‰เปเบ•เปˆเบขเบนเปˆเปƒเบ™เบฎเบฒเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบเบฒเบ™เปเบˆเบเบขเบฒเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง)

เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบฅเบทเบญเบเบ›เบฐเป€เบžเบ”, เบกเบฑเบ™เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบญเปˆเบฒเบ™เป€เบญเบเบฐเบชเบฒเบ™:
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

เบ”เบต, เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบชเบฐเบ™เบธเบเป€เบเบตเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฎเบนเบšเบžเบฒเบšเปเบœเปˆเบ™เบ‚เบญเบ‡ virtualization เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ” - 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

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบเบธเปˆเบกเบเบฒเบ™เบˆเบฑเบ”เบ•เปเบฒเปเบซเบ™เปˆเบ‡เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบซเบฒเบ”เป‰เบงเบเบงเบดเป„เบชเบ—เบฑเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™ - เบ›เบฐเบกเบฒเบ™เบˆเปเบฒเบ™เบงเบ™ OSDs เบˆเบฐเบกเบตเบขเบนเปˆเปƒเบ™เบ™เบฑเป‰เบ™, เบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบกเบนเบ™ (เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบฎเป‰เบญเบเบ‚เบญเบ‡เบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”) เบขเบนเปˆเปƒเบ™เบชเบฐเบ™เบธเบเป€เบเบต, เปเบกเปˆเบ™เบซเบเบฑเบ‡. เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹.

เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบกเบฑเบ™เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบšเปเปˆเบกเบตเบซเบผเบฒเบเบเปˆเบงเบฒ 300 เบเบธเปˆเบกเบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡เปƒเบ™เปเบœเปˆเบ™, เปเบฅเบฐเบกเบฑเบ™เบˆเบฐเบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฑเบšเบเบธเปˆเบกเบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ - เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ–เป‰เบฒเบชเบฐเบ™เบธเบเป€เบเบตเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเปƒเบŠเป‰เป€เบงเบฅเบฒเป€เบ–เบดเบ‡ 10 Tb เปเบฅเบฐเบกเบต 10 PG เปƒเบ™เบกเบฑเบ™ - เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡. เป‚เบ”เบเบเบฒเบ™เบ–เบดเป‰เบกเบ”เบดเบ™เบˆเบตเปˆ terabyte (pg) เบˆเบฐเป€เบ›เบฑเบ™เบšเบฑเบ™เบซเบฒ - เบ–เบญเบเบ”เบดเบ™เบŠเบฒเบเบ—เบตเปˆเบกเบตเป€เบกเบฑเบ”เบŠเบฒเบเบ—เบตเปˆเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ–เบฑเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเปเบฅเบฐเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™).

เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒเบˆเปเบฒเบ™เบงเบ™ PGs เบซเบผเบฒเบ, เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบผเบฒเบเปเบกเปˆเบ™เปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ - เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐ CPU เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰.

เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบซเบเบฒเบšเบ„เบฒเบเบญเบฒเบ”เบˆเบฐ เปƒเบซเป‰เบ‚เป‰เบญเบเป€เบ„เบทเปˆเบญเบ‡เบ„เบดเบ”เป€เบฅเบ, เบชเบฐเปœเบญเบ‡เปƒเบซเป‰เป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบญเบเบฐเบชเบฒเบ™ 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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™