Ceph - kuchokera "pa bondo" mpaka "kupanga"

Kusankha CEPH. Gawo 1

Tinali ndi ma rack asanu, ma switch optical khumi, BGP yokonzedwa, ma SSD angapo angapo ndi ma disks ambiri a SAS amitundu yonse ndi kukula kwake, komanso proxmox ndi chikhumbo choyika zonse zomwe zili m'malo athu a S3. Osati kuti zonsezi ndizofunika kuti mukhale ndi chidziwitso, koma mukangoyamba kugwiritsa ntchito opensource, tsatirani zomwe mumakonda mpaka kumapeto. Chinthu chokhacho chomwe chimandivutitsa chinali BGP. Palibe wina padziko lapansi wopanda thandizo, wopanda udindo komanso wachiwerewere kuposa njira zamkati za BGP. Ndipo ndidadziwa kuti posachedwa tilowa mu izo.

Ceph - kuchokera "pa bondo" mpaka "kupanga"

Ntchitoyi inali yaing'ono - panali CEPH, koma siinagwire bwino. Zinali zofunikira kuchita "zabwino".
Gulu lomwe ndidalandira linali losiyana kwambiri, losinthidwa mwachangu ndipo silinasinthidwe. Inali ndi magulu awiri a ma node osiyanasiyana, gululi imodzi yodziwika bwino yomwe imagwira ntchito ngati gulu komanso network network. Ma nodewo adadzazidwa ndi mitundu inayi ya ma disks - mitundu iwiri ya SSD, yosonkhanitsidwa mu malamulo awiri osiyana oyika, ndi mitundu iwiri ya HDD yamitundu yosiyanasiyana, yosonkhanitsidwa mu gulu lachitatu. Vuto la kukula kosiyanasiyana linathetsedwa ndi masikelo osiyanasiyana a OSD.

Kukonzekera komweko kumagawidwa m'magawo awiri - kukonzanso dongosolo la ntchito ΠΈ kukonza kwa CEPH komwe ndi zoikamo zake.

Kupititsa patsogolo OS

Network

High latency idakhudza kujambula komanso kusanja. Mukajambula - chifukwa kasitomala sangalandire yankho la kujambula bwino mpaka zofananira m'magulu ena oyika zitsimikizire kupambana. Popeza malamulo ogawa zofananira pamapu a CRUSH anali chifaniziro chimodzi pa wolandira, netiweki idagwiritsidwa ntchito nthawi zonse.

Chifukwa chake, chinthu choyamba chomwe ndidaganiza kuchita chinali kusintha pang'ono maukonde apano, pomwe nthawi yomweyo ndikuyesera kundikakamiza kuti ndisamukire pamanetiweki osiyana.

Poyamba, ndinasintha makonda a makadi a netiweki. Ndinayamba ndikukhazikitsa mizere:

chinachitika ndi chiyani:

ethtool -l en1f1

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

Zitha kuwoneka kuti magawo apano ali kutali ndi ma maximums. Zawonjezedwa:

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

Motsogozedwa ndi nkhani yabwino kwambiri

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

onjezerani kutalika kwa mzere wotumiza txqueuelen kuyambira 1000 mpaka 10

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

Chabwino, kutsatira zolembedwa za ceph palokha

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

kuchuluka MTU mpaka 9000.

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

Zowonjezeredwa ku /etc/network/interfaces kuti zonse zomwe zili pamwambazi zikhazikitsidwe poyambira

paka / etc / network / polumikizira

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

Pambuyo pake, kutsatira nkhani yomweyi, ndinayamba kupotoza moganizira zogwirira ntchito za 4.15 kernel. Poganizira kuti ma node ali ndi 128G RAM, tidakhala ndi fayilo yosinthira sysctl

mphaka /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 idagawidwa pamitundu yosiyana ya 10Gbps network mu network yosiyana. Makina aliwonse anali ndi makadi ochezera a pawiri mellanox 10/25 Gbps, yolumikizidwa mu masiwichi awiri osiyana a 10Gbps. Aggregation inachitika ntchito OSPF, popeza kugwirizana ndi lacp pazifukwa zina anasonyeza throughput okwana munthu munthu pazipita 16 Gbps, pamene ospf bwinobwino ntchito makumi onse pa makina aliwonse. Mapulani amtsogolo anali kutenga mwayi wa ROCE pa melanoxes kuti achepetse latency. Momwe mungakhazikitsire gawo ili la netiweki:

  1. Popeza makinawo ali ndi ma adilesi akunja a IP pa BGP, tikufuna mapulogalamu - (modekha, panthawi yolemba nkhaniyi zinali frr=6.0-1 ) anali ataima kale.
  2. Pazonse, makinawo anali ndi maukonde awiri olumikizirana, iliyonse ili ndi mawonekedwe awiri - madoko 4 okwana. Khadi limodzi maukonde anayang'ana fakitale ndi madoko awiri ndi BGP kukhazikitsidwa pa izo, wachiwiri anayang'ana masiwichi awiri osiyana ndi madoko awiri ndi OSPF anaikidwa pa izo.

Zambiri pa kukhazikitsa OSPF: Ntchito yaikulu ndi kusonkhanitsa maulalo awiri ndi kulolerana zolakwika.
ma netiweki awiri olumikizirana amapangidwa kukhala maukonde awiri osavuta - 10.10.10.0/24 ndi 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

momwe magalimoto amawonana.

DISKI

Chotsatira chinali kukhathamiritsa ma disks. Kwa SSD ndinasintha ndondomeko kuti ayi, kwa HDD - tsiku lomalizira. Kunena mosapita m’mbali, NOOP imagwira ntchito pa mfundo yakuti β€œchoyamba, choyamba,” chomwe m’Chingelezi chimamveka ngati β€œFIFO (First In, First Out).” Zopempha zimayikidwa pamzere zikafika. DEADLINE ndiyokhazikika pakuwerenga, kuphatikiza njira yomwe ili pamzere imapeza mwayi wofikira pa diski panthawi yomwe ntchitoyo. Izi ndizabwino pamakina athu - pambuyo pake, njira imodzi yokha imagwira ntchito ndi diski iliyonse - daemon ya OSD.
(Omwe akufuna kulowa mu I/O scheduler atha kuwerenga za izi apa:
http://www.admin-magazine.com/HPC/Articles/Linux-I-O-Schedulers

Amene amakonda kuwerenga Russian: https://www.opennet.ru/base/sys/linux_shedulers.txt.html)

Pazowongolera pakukonza Linux, tikulimbikitsidwanso kuti muwonjezere nr_request

nr_zopempha
Kufunika kwa nr_requests kumatsimikizira kuchuluka kwa zopempha za I / O zomwe zimasungidwa mkonzi wa I / O asanatumize / kulandira deta ku chipangizo chotchinga, ngati mukugwiritsa ntchito RAID khadi / Block Chipangizo chomwe chimatha kuyendetsa mzere wokulirapo kuposa zomwe I /O scheduler yakhazikitsidwa, kukweza mtengo wa nr_requests kungathandize kusintha ndikuchepetsa kuchuluka kwa seva pamene kuchuluka kwa I/O kumachitika pa seva. Ngati mukugwiritsa ntchito Deadline kapena CFQ monga ndandanda, akulangizidwa kuti muyike mtengo wa nr_request kuchulukitsa ka 2 kuchuluka kwa kuya kwa mzere.

KOMA! Nzika eni, omwe amapanga CEPH, amatitsimikizira kuti zomwe amaika patsogolo zimagwira ntchito bwino

Ceph - kuchokera "pa bondo" mpaka "kupanga"

WBThrottle ndi/kapena nr_requests

WBThrottle ndi/kapena nr_requests
Kusunga mafayilo kumagwiritsa ntchito njira zolembera za I/O zolumikizidwa; izi zimapereka ubwino wambiri ngati buku losungiramo mafayilo lili pa media yofulumira. Zopempha za makasitomala zimadziwitsidwa deta ikangolembedwa ku bukulo, kenako zimatumizidwa ku disk ya data nthawi ina pogwiritsa ntchito magwiridwe antchito wamba. LinuxIzi zimapangitsa kuti ma OSD spindle drives azitha kupereka nthawi yolembera ngati ma SSD polemba m'mapaketi ang'onoang'ono. Kulemba kochedwa kumeneku kumathandizanso kernel yokha kusintha zopempha za I/O ku disk, ndikuyembekeza kuziphatikiza pamodzi kapena kulola mitu ya disk kusankha njira yabwino kwambiri kudutsa m'ma plate awo. Zotsatira zake ndi zakuti mutha kufinya pang'ono ntchito za I/O kuchokera pa disk iliyonse kuposa momwe zingathere ndi ntchito za I/O zolunjika kapena zolumikizana.

Komabe, vuto lina limabwera ngati kuchuluka kwa ma rekodi omwe akubwera ku gulu la Ceph lopatsidwa kumaposa kuthekera konse kwa ma disks omwe ali pansi. Muzochitika izi, chiwerengero chonse cha ntchito za I/O zomwe zikudikirira kulembedwa ku diski zitha kukula mosasunthika ndikupangitsa mizere ya I/O yodzaza disk yonse ndi mizere ya Ceph. Werengani zopempha zimakhudzidwa makamaka chifukwa zimakhazikika pakati pa zopempha zolembera, zomwe zingatenge masekondi angapo kuti zifike ku disk yoyamba.

Kuti athane ndi vutoli, Ceph ali ndi njira yolembera kumbuyo yomwe imapangidwira kusungirako mafayilo otchedwa WBThrottle. Amapangidwa kuti achepetse kuchuluka kwaulesi kulemba I/O komwe kumatha kuima pamzere ndikuyamba kuthamangitsa kale kuposa momwe zikanakhalira chifukwa chothandizidwa ndi kernel yomwe. Tsoka ilo, kuyesa kukuwonetsa kuti mayendedwe osasinthika mwina sangachepetsebe khalidwe lomwe liripo lomwe lingachepetse izi pakuwerengera latency. Zosintha zimatha kusintha izi ndikuchepetsa kutalika kwa mizere yonse ndikupangitsa kuti izi zisakhale zovuta kwambiri. Pali kusinthanitsa, komabe: pochepetsa kuchuluka kwazomwe zimaloledwa kuyikidwa pamzere, mutha kuchepetsa kuthekera kwa kernel yokhayo kuti ikwaniritse bwino pakuyitanitsa zopempha zomwe zikubwera. Ndikofunikira kuganizira pang'ono za zomwe mumafunikira kwambiri pazogwiritsa ntchito, kuchuluka kwa ntchito ndikusintha kuti zigwirizane nazo.

Kuti muwongolere kuya kwa mzere wolembera-backlog, mutha kuchepetsa kuchuluka kwa magwiridwe antchito apamwamba a I/O pogwiritsa ntchito WBThrottle zoikamo, kapena mutha kuchepetsa kuchuluka kwa magwiridwe antchito apamwamba pa block block ya kernel yanu. Onse awiri amatha kuwongolera machitidwe omwewo, ndipo zokonda zanu zidzakhala maziko oyendetsera izi.
Tiyeneranso kukumbukira kuti dongosolo la Ceph ndilofunika kwambiri pafunso lalifupi pa disk level. Pochepetsa mzere wonse ku diski yopatsidwa, malo oyamba a mzerewo amapita ku Ceph, komwe amakhala ndi mphamvu zambiri pazomwe ntchito ya I/O ili nayo. Taganizirani chitsanzo ichi:

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

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

KODI?

Ndipo ma tweaks angapo a kernel kuti galimoto yanu ikhale yofewa komanso yofewa ndikufinya magwiridwe antchito pang'ono kuchokera pamagetsi.

mphaka /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
# Ну ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρƒ нас,вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ сильно большС, Ρ‡Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρƒ. 

Kumizidwa mu CEPH

Zokonda zomwe ndikufuna kuti ndifotokoze mwatsatanetsatane:

mphaka /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

Zina mwa magawo omwe adayesedwa pa QA pa mtundu 12.2.12 akusowa mu ceph version 12.2.2, mwachitsanzo. osd_recovery_threads. Chifukwa chake, mapulaniwo adaphatikizanso zosintha pakupanga mpaka 12.2.12. Zochita zawonetsa kugwirizana pakati pa mitundu 12.2.2 ndi 12.2.12 m'gulu limodzi, zomwe zimalola zosintha.

Gulu la mayeso

Mwachilengedwe, pakuyesa kunali kofunikira kukhala ndi mtundu womwewo wankhondo, koma panthawi yomwe ndidayamba kugwira ntchito ndi tsango, chatsopano chokhacho chinalipo m'malo osungira. Kuyang'ana, zomwe mungazindikire mu mtundu wawung'ono si zazikulu kwambiri (1393 mizere mu configs against 1436 mu mtundu watsopano), tidaganiza zoyamba kuyesa yatsopano (kukonzanso, bwanji kupita ndi zonyansa zakale)

Chinthu chokha chomwe tidayesera kusiya mtundu wakale ndi phukusi ceph-kutumiza popeza zina zothandizira (ndi ena ogwira ntchito) zidapangidwa mogwirizana ndi mawu ake. Mtundu watsopanowu unali wosiyana kwambiri, koma sunakhudze magwiridwe antchito ake, ndipo unasiyidwa mu mtunduwo 1.5.39

Popeza lamulo la ceph-disk likunena momveka bwino kuti lachotsedwa ndikugwiritsa ntchito lamulo la ceph-volume, okondedwa, tinayamba kupanga ma OSD ndi lamulo ili, osataya nthawi pazinthu zakale.

Dongosololi linali kupanga galasi la ma drive awiri a SSD pomwe tidzayika zipika za OSD, zomwe, nazonso, zili pa spindle SASs. Mwanjira iyi tikhoza kudziteteza ku mavuto ndi deta ngati diski yokhala ndi chipika ikugwa.

Tinayamba kupanga gulu molingana ndi zolembazo

mphaka /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

Chinthu choyamba chimene ndinapunthwa pamene ndikugwira ntchito ndi mtundu uwu wa ceph-deploy ndi mtundu wa cluster 12.2.12 chinali cholakwika poyesa kupanga OSD ndi db pa pulogalamu yowonongeka -

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

Zowonadi, blkid sikuwoneka ngati PARTUUID, kotero ndidayenera kupanga magawo pamanja:

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

Chilichonse chikuwoneka kuti chakonzeka, timayesa kupanga OSD kachiwiri ndikupeza zolakwika zotsatirazi (zomwe, mwa njira, sizinapangidwenso pankhondo)

popanga OSD yamtundu wa bluestore osatchula njira yopita ku WAL, koma kufotokoza 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

Komanso, ngati pagalasi lomwelo (kapena m'malo ena, mwa kusankha kwanu) mumapanga gawo lina la WAL ndikulitchula popanga OSD, ndiye kuti zonse zidzayenda bwino (kupatulapo mawonekedwe a WAL osiyana, omwe simungatero. adafuna).

Koma, popeza idakali m'makonzedwe akutali osunthira WAL kupita ku NVMe, mchitidwewu sunakhale wopambana.

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

Adapanga oyang'anira, oyang'anira ndi OSD. Tsopano ndikufuna kuziyika mosiyana, chifukwa ndikukonzekera kukhala ndi mitundu yosiyanasiyana ya ma disks - maiwe othamanga pa SSD ndi zazikulu, koma madzi oyenda pang'onopang'ono pa SAS zikondamoyo.

Tiyeni tiyerekeze kuti ma seva ali ndi ma disks 20, khumi oyambirira ndi mtundu umodzi, wachiwiri ndi wina.
Khadi loyamba, losakhazikika, likuwoneka motere:

ceph osd mtengo

mizu@ceph01-q:~# ceph osd mtengo
ID CLASS WIGHT NAME NAME STATUS REWEIGHT PRI-AFF
-1 14.54799 mizu yosasinthika
-3 9.09200 wokhala ndi ceph01-q
0 ssd 1.00000 osd.0 mpaka 1.00000 1.00000
1 ssd 1.00000 osd.1 mpaka 1.00000 1.00000
2 ssd 1.00000 osd.2 mpaka 1.00000 1.00000
3 ssd 1.00000 osd.3 mpaka 1.00000 1.00000
4 HDD 1.00000 osd.4 mpaka 1.00000 1.00000
5 HDD 0.27299 osd.5 mpaka 1.00000 1.00000
6 HDD 0.27299 osd.6 mpaka 1.00000 1.00000
7 HDD 0.27299 osd.7 mpaka 1.00000 1.00000
8 HDD 0.27299 osd.8 mpaka 1.00000 1.00000
9 HDD 0.27299 osd.9 mpaka 1.00000 1.00000
10 HDD 0.27299 osd.10 mpaka 1.00000 1.00000
11 HDD 0.27299 osd.11 mpaka 1.00000 1.00000
12 HDD 0.27299 osd.12 mpaka 1.00000 1.00000
13 HDD 0.27299 osd.13 mpaka 1.00000 1.00000
14 HDD 0.27299 osd.14 mpaka 1.00000 1.00000
15 HDD 0.27299 osd.15 mpaka 1.00000 1.00000
16 HDD 0.27299 osd.16 mpaka 1.00000 1.00000
17 HDD 0.27299 osd.17 mpaka 1.00000 1.00000
18 HDD 0.27299 osd.18 mpaka 1.00000 1.00000
19 HDD 0.27299 osd.19 mpaka 1.00000 1.00000
-5 5.45599 wokhala ndi ceph02-q
20 ssd 0.27299 osd.20 mpaka 1.00000 1.00000
21 ssd 0.27299 osd.21 mpaka 1.00000 1.00000
22 ssd 0.27299 osd.22 mpaka 1.00000 1.00000
23 ssd 0.27299 osd.23 mpaka 1.00000 1.00000
24 HDD 0.27299 osd.24 mpaka 1.00000 1.00000
25 HDD 0.27299 osd.25 mpaka 1.00000 1.00000
26 HDD 0.27299 osd.26 mpaka 1.00000 1.00000
27 HDD 0.27299 osd.27 mpaka 1.00000 1.00000
28 HDD 0.27299 osd.28 mpaka 1.00000 1.00000
29 HDD 0.27299 osd.29 mpaka 1.00000 1.00000
30 HDD 0.27299 osd.30 mpaka 1.00000 1.00000
31 HDD 0.27299 osd.31 mpaka 1.00000 1.00000
32 HDD 0.27299 osd.32 mpaka 1.00000 1.00000
33 HDD 0.27299 osd.33 mpaka 1.00000 1.00000
34 HDD 0.27299 osd.34 mpaka 1.00000 1.00000
35 HDD 0.27299 osd.35 mpaka 1.00000 1.00000
36 HDD 0.27299 osd.36 mpaka 1.00000 1.00000
37 HDD 0.27299 osd.37 mpaka 1.00000 1.00000
38 HDD 0.27299 osd.38 mpaka 1.00000 1.00000
39 HDD 0.27299 osd.39 mpaka 1.00000 1.00000
-7 6.08690 wokhala ndi ceph03-q
40 ssd 0.27299 osd.40 mpaka 1.00000 1.00000
41 ssd 0.27299 osd.41 mpaka 1.00000 1.00000
42 ssd 0.27299 osd.42 mpaka 1.00000 1.00000
43 ssd 0.27299 osd.43 mpaka 1.00000 1.00000
44 HDD 0.27299 osd.44 mpaka 1.00000 1.00000
45 HDD 0.27299 osd.45 mpaka 1.00000 1.00000
46 HDD 0.27299 osd.46 mpaka 1.00000 1.00000
47 HDD 0.27299 osd.47 mpaka 1.00000 1.00000
48 HDD 0.27299 osd.48 mpaka 1.00000 1.00000
49 HDD 0.27299 osd.49 mpaka 1.00000 1.00000
50 HDD 0.27299 osd.50 mpaka 1.00000 1.00000
51 HDD 0.27299 osd.51 mpaka 1.00000 1.00000
52 HDD 0.27299 osd.52 mpaka 1.00000 1.00000
53 HDD 0.27299 osd.53 mpaka 1.00000 1.00000
54 HDD 0.27299 osd.54 mpaka 1.00000 1.00000
55 HDD 0.27299 osd.55 mpaka 1.00000 1.00000
56 HDD 0.27299 osd.56 mpaka 1.00000 1.00000
57 HDD 0.27299 osd.57 mpaka 1.00000 1.00000
58 HDD 0.27299 osd.58 mpaka 1.00000 1.00000
59 HDD 0.89999 osd.59 mpaka 1.00000 1.00000

Tiyeni tipange zoyika zathu zenizeni ndi maseva okhala ndi blackjack ndi zinthu zina:

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

Mavuto omwe tidakumana nawo kulimbana cluster, poyesa kupanga gulu latsopano ndikusunthira ku rack yomwe ilipo - command ceph osd kuphwanya kusuntha ceph01-host root=rack01 anazizira, ndipo mamonitor anayamba kugwa mmodzimmodzi. Kuchotsa lamuloli ndi CTRL + C yosavuta kunabweretsa gululo kudziko la amoyo.

Kufufuza kunawonetsa vuto ili: https://tracker.ceph.com/issues/23386

Yankho lake linali kutaya crushmap ndikuchotsa gawolo pamenepo lamulo 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: Opaleshoniyi ingayambitsenso kukhazikika kwa gulu loyika pakati pa OSD. Zinapangitsa izi kwa ife, koma zochepa kwambiri.

Ndipo chodabwitsa chomwe tidakumana nacho mugulu loyesa chinali chakuti atayambiranso seva ya OSD, adayiwala kuti adasamutsidwa kumaseva atsopano ndi ma racks, ndikubwerera ku mizu yosasinthika.
Zotsatira zake, titasonkhanitsa chiwembu chomaliza chomwe tidapanga muzu wosiyana wa ma drive a ssd ndi wina wosiyana wa ma spindle drives, tidatenga ma OSD onse kukhala ma racks ndikungochotsa muzu wokhazikika. Pambuyo poyambiranso, OSD idayamba kukhalabe m'malo.
Pambuyo pofufuza zolembazo pambuyo pake, tidapeza chizindikiro chomwe chimayambitsa izi. Za iye mu gawo lachiwiri

Momwe tidapangira magulu osiyanasiyana ndi mtundu wa disk.

Poyamba, tidapanga mizu iwiri - ya ssd ndi hdd

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

Popeza ma seva amakhala m'malo osiyanasiyana, kuti zikhale zosavuta tidapanga ma racks okhala ndi ma seva mkati mwake

# Π‘Ρ‚ΠΎΠΉΠΊΠΈ:
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

ndikugawa ma disks molingana ndi mitundu yawo mu maseva osiyanasiyana

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:~# Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сСрвСрами

Titabalalitsa ma disks pakati pa ssd-root ndi hdd-root njira, tidasiya mizu-default yopanda kanthu, kuti tithe kuichotsa.

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

Kenaka, tifunika kupanga malamulo ogawa omwe tidzamangirira ku maiwe omwe akulengedwa - m'malamulo omwe tidzasonyeza kuti ndi mizu iti yomwe ingaike deta yathu ya dziwe ndi mlingo wapadera wa zojambulazo - mwachitsanzo, zolembazo ziyenera kukhala pa seva zosiyanasiyana, kapena muzitsulo zosiyanasiyana (mukhoza ngakhale mumizu yosiyana, ngati tili ndi kugawa koteroko)

Musanasankhe mtundu, ndi bwino kuwerenga zolembazo:
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

Chabwino, timapanga maiwe momwe tikufuna kusunga zithunzi za disk za virtualization yathu m'tsogolomu - 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

Ndipo timauza madamu awa malamulo oyika oti agwiritse ntchito

 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

Kusankhidwa kwa kuchuluka kwa magulu oyika kuyenera kuyandikira ndi masomphenya omwe analipo kale a gulu lanu - pafupifupi ma OSD angati omwe adzakhalapo, kuchuluka kwa deta (monga kuchuluka kwa voliyumu yonse) kudzakhala mu dziwe, ndi chiyani. kuchuluka kwa data.

Pazonse, ndikofunikira kuti musakhale ndi magulu opitilira 300 oyika pa disk, ndipo zidzakhala zosavuta kulinganiza ndi magulu ang'onoang'ono oyika - ndiye kuti, ngati dziwe lanu lonse litenga 10 Tb ndipo pali 10 PG mmenemo - ndiye. kugwirizanitsa poponya njerwa za terabyte (pg) zidzakhala zovuta - kutsanulira mchenga ndi mchenga waung'ono mu ndowa mosavuta komanso mofanana).

Koma tiyenera kukumbukira kuti kuchuluka kwa ma PG kumagwiritsidwa ntchito powerengera malo awo - kukumbukira ndi CPU zimayamba kugwiritsidwa ntchito.

Kumvetsetsa kwakanthawi ndipatseni chowerengera, yoperekedwa ndi omwe amapanga zolemba za CEPH.

Mndandanda wazinthu:

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/

Source: www.habr.com

Gulani kuchititsa kodalirika kwamasamba okhala ndi chitetezo cha DDoS, ma seva a VPS VDS Gulani malo odalirika osungira mawebusayiti okhala ndi chitetezo cha DDoS, ma seva a VPS VDS | ProHoster