ΠΡΠ±ΠΎΡ CEPH. Π§Π°ΡΡΡ 1
Π£ Π½Π°Ρ Π±ΡΠ»ΠΎ ΠΏΡΡΡ ΡΡΠΎΠ΅ΠΊ, Π΄Π΅ΡΡΡΡ ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²ΠΈΡΠ΅ΠΉ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ BGP, ΠΏΠ°ΡΡ Π΄Π΅ΡΡΡΠΊΠΎΠ² SSD ΠΈ ΠΊΡΡΠ° SAS Π΄ΠΈΡΠΊΠΎΠ² Π²ΡΠ΅Ρ ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², Π° Π΅ΡΡ proxmox ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π·Π°ΡΡΠ½ΡΡΡ Π²ΡΡ ΡΡΠ°ΡΠΈΠΊΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ S3 Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠ΅ ΡΠΎ ΡΡΠΎΠ±Ρ ΡΡΠΎ Π²ΡΡ Π±ΡΠ»ΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π½ΠΎ ΡΠ°Π· Π½Π°ΡΠ°Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ opensource β ΡΠΎ ΠΈΠ΄ΠΈ Π² ΡΠ²ΠΎΡΠΌ ΡΠ²Π»Π΅ΡΠ΅Π½ΠΈΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΠΌΠ΅Π½Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΠ»ΠΎΒ β ΡΡΠΎ BGP. Π ΠΌΠΈΡΠ΅ Π½Π΅Ρ Π½ΠΈΠΊΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ Π±Π΅ΡΠΏΠΎΠΌΠΎΡΠ½ΠΎΠ³ΠΎ, Π±Π΅Π·ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ Π±Π΅Π·Π½ΡΠ°Π²ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ, ΡΠ΅ΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ BGP. Π Ρ Π·Π½Π°Π», ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΊΠΎΡΠΎ ΠΌΡ Π² ΡΡΠΎ ΠΎΠΊΡΠ½ΡΠΌΡΡ.
ΠΠ°Π΄Π°ΡΠ° ΡΡΠΎΡΠ»Π° Π±Π°Π½Π°Π»ΡΠ½Π°Ρ β ΠΈΠΌΠ΅Π»ΡΡ CEPH, ΡΠ°Π±ΠΎΡΠ°Π» Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠΎ. ΠΠ°Π΄ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ «Ρ
ΠΎΡΠΎΡΠΎ».
ΠΠΎΡΡΠ°Π²ΡΠΈΠΉΡΡ ΠΌΠ½Π΅ ΠΊΠ»Π°ΡΡΠ΅Ρ Π±ΡΠ» ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΠΌ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Π½Π° ΡΠΊΠΎΡΡΡ ΡΡΠΊΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΡΠ½ΠΈΠ½Π³ΠΎΠ²Π°Π½Π½ΡΠΌ. ΠΠ½ ΡΠΎΡΡΠΎΡΠ» ΠΈΠ· Π΄Π²ΡΡ
Π³ΡΡΠΏΠΏ ΡΠ°Π·Π½ΡΡ
Π½ΠΎΠ΄, Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΉ ΡΠΎΠ»Ρ ΠΊΠ°ΠΊ cluster ΡΠ°ΠΊ ΠΈ public network. ΠΠΎΠ΄Ρ Π±ΡΠ»ΠΈ Π½Π°Π±ΠΈΡΡ ΡΠ΅ΡΡΡΡΠΌΡ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄ΠΈΡΠΊΠΎΠ² β Π΄Π²Π° ΡΠΈΠΏΠ° SSD, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π² Π΄Π²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
placement rule ΠΈ Π΄Π²Π° ΡΠΈΠΏΠ° HDD ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π² ΡΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ Π±ΡΠ»Π° ΡΠ΅ΡΠ΅Π½Π° ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ OSD.
Π‘Π°ΠΌΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΠ»ΠΈ Π½Π° Π΄Π²Π΅ ΡΠ°ΡΡΠΈ β ΡΡΠ½ΠΈΠ½Π³ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΡΠ½ΠΈΠ½Π³ ΡΠ°ΠΌΠΎΠ³ΠΎ CEPH ΠΈ Π΅Π³ΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
ΠΡΠΎΠΊΠ°ΡΠΊΠ° OS
Network
ΠΡΡΠΎΠΊΠΎΠ΅ latency ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΎΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ΅. ΠΡΠΈ Π·Π°ΠΏΠΈΡΠΈ β ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΎΡΠ²Π΅Ρ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΠΏΠΎΠΊΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π΅ΠΉΡΠΌΠ΅Π½Ρ Π³ΡΡΠΏΠΏΠ°Ρ Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΡΡ ΡΡΠΏΠ΅Ρ . ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΏΠ»ΠΈΠΊ Π² CRUSH map Ρ Π½Π°Ρ Π±ΡΠ»ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ΅ Π½Π° Ρ ΠΎΡΡ, ΡΠΎ ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π²ΡΠ΅Π³Π΄Π°.
ΠΠΎΡΠΎΠΌΡ ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΠ΅ΡΠΈΠ» ΡΠ»Π΅Π³ΠΊΠ° Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ΡΡ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΏΡΡΠ°ΡΡΡ ΡΠ±Π΅Π΄ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΅Ρ Π°ΡΡ Π½Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠΊΡΡΡΠΈΠ» Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΊΠ°ΡΡ. ΠΠ°ΡΠ°Π» Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ:
ΡΡΠΎ Π±ΡΠ»ΠΎ:
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
ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ current ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π°Π»Π΅ΠΊΠΈ ΠΎΡ maximums. Π£Π²Π΅Π»ΠΈΡΠΈΠ»:
root@ceph01:~#ethtool -G ens1f0 rx 4096
root@ceph01:~#ethtool -G ens1f0 tx 4096
root@ceph01:~#ethtool -L ens1f0 combined 63
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ΠΉ
ΡΠ²Π΅Π»ΠΈΡΠΈΠ» Π΄Π»ΠΈΠ½Π½Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ txqueuelen Ρ 1000 Π΄ΠΎ 10 000
root@ceph01:~#ip link set ens1f0 txqueuelen 10000
ΠΡ ΠΈ ΡΠ»Π΅Π΄ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ceph
ΡΠ²Π΅Π»ΠΈΡΠΈΠ» MTU Π΄ΠΎ 9000.
root@ceph01:~#ip link set dev ens1f0 mtu 9000
ΠΠΎΠ±Π°Π²ΠΈΠ» Π² /etc/network/interfaces, ΡΡΠΎΠ± Π²ΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π³ΡΡΠ·ΠΈΠ»ΠΎΡΡ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅
cat /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 ΠΏΠ°ΠΊΠ΅ΡΠ΅. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ»Π°ΡΠ΅Π±ΠΎ, ΠΏΡΠΎΡΡΠΎ
# Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎ)
Π‘luster network Π±ΡΠ»Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ 10Gbps ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ»ΠΎΡΠΊΡΡ ΡΠ΅ΡΡ. ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π±ΡΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ΅ΡΠ΅Π²ΡΠ΅ Π΄Π²ΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΡ mellanox 10/25 Gbps, Π²ΠΎΡΠΊΠ½ΡΡΡΠ΅ Π² Π΄Π²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ 10Gbps ΡΠ²ΠΈΡΠ°. ΠΠ³ΡΠ΅Π³Π°ΡΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ OSPF, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΎΠ½Π΄ΠΈΠ½Π³ Ρ lacp ΠΏΠΎΡΠ΅ΠΌΡ-ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π» ΡΡΠΌΠΌΠ°ΡΠ½ΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π² 16 Gbps, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ospf ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π» ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠ±Π΅ Π΄Π΅ΡΡΡΠΊΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΠΏΠ»Π°Π½Π°Ρ Π±ΡΠ»ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ROCE Π½Π° ΡΡΠΈΡ ΠΌΠ΅Π»Π°Π½ΠΎΠΊΡΠ°Ρ , Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π»ΡΡΡΠ½ΡΠΈ. ΠΠ°ΠΊ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π»ΠΈ ΡΡΡ ΡΠ°ΡΡΡ ΡΠ΅ΡΠΈ:
- ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π°ΠΉΠΏΠΈΡΠ½ΠΈΠΊΠΈ Π½Π° BGP, ΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡ Π½Π°ΠΌ ΡΠΎΡΡ β ( Π° ΡΠΎΡΠ½Π΅Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ ΡΡΠΎ Π±ΡΠ»
frr=6.0-1 ) ΡΠΆΠ΅ ΡΡΠΎΡΠ». - ΠΡΠ΅Π³ΠΎ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°Ρ Π±ΡΠ»ΠΎ Π΄Π²Π΅ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΠΎ Π΄Π²Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° β Π² ΡΡΠΌΠΌΠ΅ 4 ΠΏΠΎΡΡΠ°. ΠΠ΄Π½Π° ΡΠ΅ΡΠ΅Π²Π°Ρ ΠΊΠ°ΡΡΠ° Π΄Π²ΡΠΌΡ ΠΏΠΎΡΡΠ°ΠΌΠΈ ΡΠΌΠΎΡΡΠ΅Π»Π° Π½Π° ΡΠ°Π±ΡΠΈΠΊΡ ΠΈ Π½Π° Π½Π΅ΠΉ Π±ΡΠ» Π½Π°ΡΡΡΠΎΠ΅Π½ BGP, Π²ΡΠΎΡΠ°Ρ β Π΄Π²ΡΠΌΡ ΠΏΠΎΡΡΠ°ΠΌΠΈ ΡΠΌΠΎΡΡΠ΅Π»Π° Π² Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΡΠ²ΠΈΡΡΠ° ΠΈ Π½Π° Π½Π΅Ρ Π±ΡΠ» Π½Π°ΡΡΠ°Π²Π»Π΅Π½ OSPF
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ OSPF: ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° β Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π²Π° Π»ΠΈΠ½ΠΊΠ° ΠΈ ΠΈΠΌΠ΅ΡΡ fault tolerance.
Π΄Π²Π° ΡΠ΅ΡΠ΅Π²ΡΡ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π°ΡΡΡΠΎΠ΅Π½Ρ Π² Π΄Π²Π΅ ΠΏΡΠΎΡΡΡΡ
ΠΏΠ»ΠΎΡΠΊΠΈΡ
ΡΠ΅ΡΠΈ β 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
ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠ°ΡΠΈΠ½Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° Π²ΠΈΠ΄ΡΡ.
DISK
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ ΡΠ΅ΡΠΈΠ» ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π΄ΠΈΡΠΊΠΎΠ². ΠΠ»Ρ SSD ΠΏΠΎΠΌΠ΅Π½ΡΠ» ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° noop, Π΄Π»Ρ HDD β deadline. ΠΡΠ»ΠΈ Π³ΡΡΠ±ΠΎ β ΡΠΎ NOOP ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ «ΠΊΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΡΠ°Π» β ΡΠΎΠ³ΠΎ ΠΈ ΡΠ°ΠΏΠΊΠΈ», ΡΡΠΎ ΠΏΠΎ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ Π·Π²ΡΡΠΈΡ ΠΊΠ°ΠΊ «FIFO (First In, First Out)». ΠΠ°ΠΏΡΠΎΡΡ Π²ΡΡΠ°ΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΡ
ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ. DEADLINE Π±ΠΎΠ»Π΅Π΅ Π·Π°ΡΠΎΡΠ΅Π½ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠ»ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄ΠΈΡΠΊΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ»Ρ Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ β Π²Π΅Π΄Ρ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π΄ΠΈΡΠΊΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ β OSD daemon.
(ΠΠ΅Π»Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡ Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΎ Π½Π΅ΠΌ ΡΡΡ:
ΠΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡΠΈΠ΅ ΡΠΈΡΠ°ΡΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ:
Π ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΡ ΠΏΠΎ ΡΡΠ½ΠΈΠ½Π³Ρ Π»ΠΈΠ½ΡΠΊΡΠ° ΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ°ΠΊ-ΠΆΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ nr_request
nr_requests
The value of nr_requests determines the amount of I/O requests that get buffered before the I/O scheduler sends / receives data to the block device, if you are using a RAID card / Block Device that can handle a larger queue than what the I/O scheduler is set to, raising the value of nr_requests may help to improve throughout and reduce server load when large amounts of I/O occur on the server. If you are using Deadline or CFQ as the scheduler, it is suggested that you should set the nr_request value to 2 times the value of queue depth.
ΠΠ! Π‘Π°ΠΌΠΈ Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ CEPH ΡΠ±Π΅ΠΆΠ΄Π°ΡΡ Π½Π°Ρ, ΡΡΠΎ ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΡΡΡΠ΅
WBThrottle ΠΈ/ΠΈΠ»ΠΈ nr_requests
WBThrottle ΠΈ/ΠΈΠ»ΠΈ nr_requests
Π€Π°ΠΉΠ»ΠΎΠ²ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π±ΡΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°/ Π²ΡΠ²ΠΎΠ΄Π°; ΡΡΠΎ ΠΏΡΠΈΠ²Π½ΠΎΡΠΈΡ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π΅ΡΠ»ΠΈ ΠΆΡΡΠ½Π°Π» ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠΌ Π½ΠΎΡΠΈΡΠ΅Π»Π΅. ΠΠ°ΠΏΡΠΎΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² ΠΆΡΡΠ½Π°Π», Π° Π·Π°ΡΠ΅ΠΌ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°ΠΌ Π΄ΠΈΡΠΊ Π΄Π°Π½Π½ΡΡ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ Linux. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π΄Π»Ρ OSD ΡΠΏΠΈΠ½Π΄Π΅Π»ΡΠ½ΡΡ Π΄ΠΈΡΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ SSD ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΡΡ ΠΌΠ°Π»ΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ. Π’Π°ΠΊΠ°Ρ Π·Π°Π΄Π΅ΡΠΆΠ°Π½Π½Π°Ρ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΠΌΠΎΠΌΡ ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/ Π²ΡΠ²ΠΎΠ΄Π° ΠΊ Π΄ΠΈΡΠΊΡ Ρ Π½Π°Π΄Π΅ΠΆΠ΄ΠΎΠΉ Π»ΠΈΠ±ΠΎ ΡΠ»ΠΈΡΡ ΠΈΡ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠΌΡΡ Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌ Π΄ΠΈΡΠΊΠ° Π²ΡΠ±ΡΠ°ΡΡ Π½Π΅ΠΊΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΡΠ²ΠΎΠΈΡ ΠΏΠ»Π°ΡΡΠΈΠ½. ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΆΠ°ΡΡ ΡΠ»Π΅Π³ΠΊΠ° Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ° ΡΠ΅ΠΌ ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΡΡΠΌΡΡ ΠΈΠ»ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ Π²Π²ΠΎΠ΄Π°/ Π²ΡΠ²ΠΎΠ΄Π°.
ΠΠ΄Π½Π°ΠΊΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΡΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π΄Π°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ Ceph Π±ΡΠ΄ΡΡ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π»Π΅ΠΆΠ°ΡΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΈΡΠΊΠΎΠ². ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/ Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π΄ΠΈΡΠΊ ΠΌΠΎΠ³ΡΡ Π½Π΅ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎ ΡΠ°ΡΡΠΈ ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/ Π²ΡΠ²ΠΎΠ΄Π°, Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π΅ΡΡ Π΄ΠΈΡΠΊ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ceph. ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΡΡΡ Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΠ»ΠΎΡ ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π·Π°ΡΡΡΠ΅Π²Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π»Ρ ΡΠ±ΡΠΎΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π΄ΠΈΡΠΊ.
ΠΠ»Ρ ΠΏΠΎΠ±Π΅Π΄Ρ Π½Π°Π΄ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ceph ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄ΡΠΎΡΡΠ΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ (writeback) Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ WBThrottle. ΠΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΡΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΡΠΎΡΠ° ΡΠ°Π½ΡΡΠ΅ ΡΠ΅ΠΌ ΡΠ΅ΠΌ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π±Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π·Π° ΡΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΠΈΠΌ ΡΠ΄ΡΠΎΠΌ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡ Π΅ΡΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΡΠ΅Π·Π°ΡΡ ΠΈΠΌΠ΅ΡΡΠ΅Π΅ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ. Π Π΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΎΠ±ΡΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π½Π΅ ΡΠΈΠ»ΡΠ½ΡΠΌ ΡΠ°ΠΊΠΎΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΠΊΠΈΠΉ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ: ΡΠΌΠ΅Π½ΡΡΠ°Ρ ΠΎΠ±ΡΠ΅Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΡ ΠΊ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ½ΠΈΠ·ΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΄ΡΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π‘ΡΠΎΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ ΡΡΠΎ Π²Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠΈΡ Π½Π°Π³ΡΡΠ·ΠΎΠΊ ΠΈ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΈΠΌ.
Π§ΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈΠ±ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/ Π²ΡΠ²ΠΎΠ΄Π°, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ WBThrottle, Π»ΠΈΠ±ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π΅Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π±Π»ΠΎΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΄ΡΠ°. Π ΡΠΎ, ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΡΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅ΡΡΠ°ΡΡΡ Π² Ceph ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΡΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡ Π΄ΠΈΡΠΊΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Ceph, Π³Π΄Π΅ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²Π²ΠΎΠ΄Π°/ Π²ΡΠ²ΠΎΠ΄Π°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
echo 8 > /sys/block/sda/queue/nr_requests
COMMON
Π Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΠ΄ΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π°ΡΡ ΡΠ°ΡΠΊΡ ΠΌΡΠ³ΠΊΠΎΠΉ ΠΈ ΡΠ΅Π»ΠΊΠΎΠ²ΠΈΡΡΠΎΠΉ Π²ΡΠΆΠ°ΡΡ Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ· ΠΆΠ΅Π»Π΅Π·Π°
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
Π§Π°ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π½Π° QA Π½Π° Π²Π΅ΡΡΠΈΠΈ 12.2.12, ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π² Π²Π΅ΡΡΠΈΠΈ ceph 12.2.2, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ osd_recovery_threads. ΠΠΎΡΠΎΠΌΡ Π² ΠΏΠ»Π°Π½Ρ Π±ΡΠ»ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΄Π΅ Π΄ΠΎ 12.2.12. ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π²Π΅ΡΡΠΈΠΉ 12.2.2 ΠΈ 12.2.12, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ rolling update.
Π’Π΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅ΡΡ ΡΡ-ΠΆΠ΅ Π²Π΅ΡΡΠΈΡ ΡΡΠΎ ΠΈ Π½Π° Π±ΠΎΡ, Π½ΠΎ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π° ΠΌΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈΠΌΠ΅Π»Π°ΡΡ Π»ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Π°Ρ. ΠΠΎΡΠΌΠΎΡΡΠ΅Π², ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ Π² ΠΌΠΈΠ½ΠΎΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ (1393 ΡΡΡΠΎΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³Π°Ρ ΠΏΡΠΎΡΠΈΠ² 1436 Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ), ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π°ΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΡ (Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ, ΡΠ΅Π³ΠΎ Π΅Ρ Π°ΡΡ Π½Π° ΡΡΠ°ΡΠΎΠΌ Ρ Π»Π°ΠΌΠ΅)
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΠΏΠΎΡΡΠ°ΡΠ°Π»ΠΈΡΡ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ β ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ ceph-deploy, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΡΡΡ ΡΡΠΈΠ»ΠΈΡ (ΠΈ ΡΠ°ΡΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ²) Π±ΡΠ»Π° Π·Π°ΡΠΎΡΠ΅Π½Π° ΠΏΠΎΠ΄ Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. ΠΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π»Π°ΡΡ, Π½ΠΎ Π½Π° ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²Π»ΠΈΡΠ»Π°, ΠΈ Π΅Ρ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΠΈ 1.5.39
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ceph-disk ΡΠ²Π½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΡΠΎ ΠΎΠ½Π° deprecated ΠΈ ΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ-ΠΊΠ°, ΡΠ²Π°ΠΆΠ°Π΅ΠΌΡΠ΅, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ceph-volume β ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ OSD ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Π½Π΅ ΡΡΠ°ΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π΅.
ΠΠ»Π°Π½ Π±ΡΠ» ΡΠ°ΠΊΠΎΠ² β ΡΠΎΠ·Π΄Π°ΡΡ Π·Π΅ΡΠΊΠ°Π»ΠΎ ΠΈΠ· Π΄Π²ΡΡ SSD Π΄ΠΈΡΠΊΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠΌ ΠΆΡΡΠ½Π°Π»Ρ OSD, ΠΊΠΎΡΠΎΡΡΠ΅, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΡΠΏΠΈΠ½Π΄Π΅Π»ΡΠ½ΡΡ SASΠ°Ρ . Π’Π°ΠΊ ΠΏΠΎΠ΄ΡΡΡΠ°Ρ ΡΠ΅ΠΌΡΡ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ Π΄ΠΈΡΠΊΠ° Ρ ΠΆΡΡΠ½Π°Π»ΠΎΠΌ.
Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΡΠ°Π»ΠΈ ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
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
ΠΠ΅ΡΠ²ΠΎΠ΅, ΠΎΠ±ΠΎ ΡΡΠΎ ΡΠΏΠΎΡΠΊΠ½ΡΠ»ΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ceph-deploy Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ 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. Π’Π΅ΠΏΠ΅ΡΡ Ρ ΠΎΡΠ΅ΡΡΡ ΠΈΡ ΠΏΠΎΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΠΎΠΌΡ, ΠΈΠ±ΠΎ Π² ΠΏΠ»Π°Π½Π°Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΈΡΠΊΠΈ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² β Π±ΡΡΡΡΡΠ΅ ΠΏΡΠ»Ρ Π½Π° SSD ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ΅, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ Π½Π° Π±Π»ΠΈΠ½Π°Ρ SAS.
ΠΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ ΡΡΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
ΠΏΠΎ 20 Π΄ΠΈΡΠΊΠΎΠ², ΠΏΠ΅ΡΠ²Π°Ρ Π΄Π΅ΡΡΡΠΊΠ° ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ, Π²ΡΠΎΡΠ°Ρ β Π΄ΡΡΠ³ΠΎΠΉ.
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ, Π΄Π΅ΡΠΎΠ»ΡΠ½Π°Ρ, ΠΊΠ°ΡΡΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ceph osd tree
root@Ρeph01-q:~# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 14.54799 root default
-3 9.09200 host ceph01-q
0 ssd 1.00000 osd.0 up 1.00000 1.00000
1 ssd 1.00000 osd.1 up 1.00000 1.00000
2 ssd 1.00000 osd.2 up 1.00000 1.00000
3 ssd 1.00000 osd.3 up 1.00000 1.00000
4 hdd 1.00000 osd.4 up 1.00000 1.00000
5 hdd 0.27299 osd.5 up 1.00000 1.00000
6 hdd 0.27299 osd.6 up 1.00000 1.00000
7 hdd 0.27299 osd.7 up 1.00000 1.00000
8 hdd 0.27299 osd.8 up 1.00000 1.00000
9 hdd 0.27299 osd.9 up 1.00000 1.00000
10 hdd 0.27299 osd.10 up 1.00000 1.00000
11 hdd 0.27299 osd.11 up 1.00000 1.00000
12 hdd 0.27299 osd.12 up 1.00000 1.00000
13 hdd 0.27299 osd.13 up 1.00000 1.00000
14 hdd 0.27299 osd.14 up 1.00000 1.00000
15 hdd 0.27299 osd.15 up 1.00000 1.00000
16 hdd 0.27299 osd.16 up 1.00000 1.00000
17 hdd 0.27299 osd.17 up 1.00000 1.00000
18 hdd 0.27299 osd.18 up 1.00000 1.00000
19 hdd 0.27299 osd.19 up 1.00000 1.00000
-5 5.45599 host ceph02-q
20 ssd 0.27299 osd.20 up 1.00000 1.00000
21 ssd 0.27299 osd.21 up 1.00000 1.00000
22 ssd 0.27299 osd.22 up 1.00000 1.00000
23 ssd 0.27299 osd.23 up 1.00000 1.00000
24 hdd 0.27299 osd.24 up 1.00000 1.00000
25 hdd 0.27299 osd.25 up 1.00000 1.00000
26 hdd 0.27299 osd.26 up 1.00000 1.00000
27 hdd 0.27299 osd.27 up 1.00000 1.00000
28 hdd 0.27299 osd.28 up 1.00000 1.00000
29 hdd 0.27299 osd.29 up 1.00000 1.00000
30 hdd 0.27299 osd.30 up 1.00000 1.00000
31 hdd 0.27299 osd.31 up 1.00000 1.00000
32 hdd 0.27299 osd.32 up 1.00000 1.00000
33 hdd 0.27299 osd.33 up 1.00000 1.00000
34 hdd 0.27299 osd.34 up 1.00000 1.00000
35 hdd 0.27299 osd.35 up 1.00000 1.00000
36 hdd 0.27299 osd.36 up 1.00000 1.00000
37 hdd 0.27299 osd.37 up 1.00000 1.00000
38 hdd 0.27299 osd.38 up 1.00000 1.00000
39 hdd 0.27299 osd.39 up 1.00000 1.00000
-7 6.08690 host ceph03-q
40 ssd 0.27299 osd.40 up 1.00000 1.00000
41 ssd 0.27299 osd.41 up 1.00000 1.00000
42 ssd 0.27299 osd.42 up 1.00000 1.00000
43 ssd 0.27299 osd.43 up 1.00000 1.00000
44 hdd 0.27299 osd.44 up 1.00000 1.00000
45 hdd 0.27299 osd.45 up 1.00000 1.00000
46 hdd 0.27299 osd.46 up 1.00000 1.00000
47 hdd 0.27299 osd.47 up 1.00000 1.00000
48 hdd 0.27299 osd.48 up 1.00000 1.00000
49 hdd 0.27299 osd.49 up 1.00000 1.00000
50 hdd 0.27299 osd.50 up 1.00000 1.00000
51 hdd 0.27299 osd.51 up 1.00000 1.00000
52 hdd 0.27299 osd.52 up 1.00000 1.00000
53 hdd 0.27299 osd.53 up 1.00000 1.00000
54 hdd 0.27299 osd.54 up 1.00000 1.00000
55 hdd 0.27299 osd.55 up 1.00000 1.00000
56 hdd 0.27299 osd.56 up 1.00000 1.00000
57 hdd 0.27299 osd.57 up 1.00000 1.00000
58 hdd 0.27299 osd.58 up 1.00000 1.00000
59 hdd 0.89999 osd.59 up 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 Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΎ ΠΊΠ»Π°ΡΡΠ΅Ρ Π² ΠΌΠΈΡ ΠΆΠΈΠ²ΡΡ .
ΠΠΎΠΈΡΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π» ΡΠ°ΠΊΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΡΠ΄Π°ΠΌΠΏΠΈΡΡ crushmap ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΎΡΡΡΠ΄Π° ΡΠ΅ΠΊΡΠΈΡ rule 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 #Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ
ΠΡ ΡΡΠ½Π³: Π΄Π°Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΠ΅Π±Π°Π»Π°Π½Ρ placement group ΠΌΠ΅ΠΆΠ΄Ρ OSD. Π£ Π½Π°Ρ ΡΡΠΎ Π²ΡΠ·Π²Π°Π»ΠΎ, Π½ΠΎ ΠΎΡΠ΅Π½Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ.
Π ΡΡΡΠ°Π½Π½ΠΎΡΡΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° OSD Π·Π°Π±ΡΠ²Π°Π»ΠΈ, ΡΡΠΎ ΠΈΡ
ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ½ΡΠ»ΠΈ Π² Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΡΠΎΠΉΠΊΠΈ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΈΡΡ Π² root default.
Π ΠΈΡΠΎΠ³Π΅, ΡΠΎΠ±ΡΠ°Π² ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΡ
Π΅ΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ root Π΄Π»Ρ ssd Π΄ΠΈΡΠΊΠΎΠ² ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠΏΠΈΠ½Π΄Π΅Π»ΡΠ½ΡΡ
, ΠΌΡ ΡΠ°ΡΡΠ°ΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΠ‘Π ΠΏΠΎ ΡΡΠΎΠΉΠΊΠ°ΠΌ Π° ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ default root. ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ OSD ΡΡΠ°Π»ΠΈ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π½Π° ΡΠ²ΠΎΠΈΡ
ΠΌΠ΅ΡΡΠ°Ρ
.
ΠΠΎΠΊΠΎΠΏΠ°Π²ΡΠΈΡΡ ΠΏΠΎΠ·ΠΆΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π°ΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π Π½Π΅ΠΌ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ
ΠΠ°ΠΊ ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΡ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ Π΄ΠΈΡΠΊΠΎΠ².
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π»ΠΈ Π΄Π²Π° root-Π° β Π΄Π»Ρ 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-default ΠΏΡΡΡΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ
root-ceph01-q:~#ceph osd crush remove default
ΠΠ°Π»Π΅Π΅ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠΌ ΠΏΡΠ»Π°ΠΌ β Π² ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ ΡΠΊΠ°ΠΆΠ΅ΠΌ Π² ΠΊΠ°ΠΊΠΈΠ΅ root ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠ»Π° ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ , ΠΈΠ»ΠΈ Π² ΡΠ°Π·Π½ΡΡ ΡΡΠΎΠΉΠΊΠ°Ρ (ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π² ΡΠ°Π·Π½ΡΡ root, Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅Π΅ΠΌ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅)
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΈΠΏ Π»ΡΡΡΠ΅ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ:
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
Π Π²ΡΠ±ΠΎΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠ»Π΅ΠΉΡΠΌΠ΅Π½Ρ Π³ΡΡΠΏΠΏ Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡΡ Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠΌΡΡ Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΡΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ β ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΠ‘Π ΡΠ°ΠΌ Π±ΡΠ΄Π΅Ρ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ (Π² ΠΏΡΠΎΡΠ΅Π½ΡΠ°Ρ ΠΎΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ°) Π±ΡΠ΄Π΅Ρ Π² ΠΏΡΠ»Π΅, ΠΊΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ Π²ΡΠ΅Π³ΠΎ.
Π‘ΡΠΌΠΌΠ°ΡΠ½ΠΎ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ 300 ΠΏΠ»Π΅ΠΉΡΠΌΠ΅Π½Ρ Π³ΡΡΠΏΠΏ Π½Π° Π΄ΠΈΡΠΊ, ΠΈ ΠΏΡΠΎΡΠ΅ Π±ΡΠ΄Π΅Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌΠΈ ΠΏΠ»Π΅ΠΉΡΠΌΠ΅Π½Ρ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ β ΡΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Π²Π΅ΡΡ Π²Π°Ρ ΠΏΡΠ» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 10 Tb ΠΈ Π² Π½Π΅ΠΌ 10 PG β ΡΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΈΠ΄ΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ°Π±Π°ΠΉΡΠ½ΡΡ ΠΊΠΈΡΠΏΠΈΡΠ΅ΠΉ (pg) Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ β ΠΏΠ΅ΡΠ΅ΡΡΠΏΠ°ΡΡ ΠΏΠ΅ΡΠΎΠΊ Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΏΠ΅ΡΡΠΈΠ½ΠΎΠΊ ΠΏΠΎ Π²ΡΠ΄ΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ ΠΈ ΡΠΎΠ²Π½Π΅Π΅).
ΠΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΡΠΎ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ PG β ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΡΠ°ΡΠΈΡΡΡ Π½Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΡΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ Π¦ΠΠ£.
ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ
Π‘ΠΏΠΈΡΠΎΠΊ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ²:
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com