ΠΠΎΠ³Π° ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΡΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΎΠ±Π΅ΡΠ΅ Π½Π° Π΅Π΄Π΅Π½ Π΄ΠΈΡΠΊ, Π²ΡΠ΅ΠΌΠ΅ Π΅ Π΄Π° ΡΠ°Π·ΠΌΠΈΡΠ»ΠΈΡΠ΅ Π·Π° RAID. ΠΠ°ΠΊΠΎ Π΄Π΅ΡΠ΅, ΡΠ΅ΡΡΠΎ ΡΠ»ΡΡΠ°Π² ΠΎΠ΄ ΠΌΠΎΠΈΡΠ΅ ΠΏΠΎΡΡΠ°ΡΠΈ: βΠΠ΄Π΅Π½ Π΄Π΅Π½ RAID ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΌΠΈΠ½Π°ΡΠΎ, ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΈ ΡΠ΅ Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈ ΡΠ²Π΅ΡΠΎΡ, Π° Π²ΠΈΠ΅ Π΄ΡΡΠΈ ΠΈ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠΎ Π΅ CEPHβ, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΏΡΠ²ΠΎΡΠΎ Π½Π΅ΡΡΠΎ Π²ΠΎ ΠΌΠΎΡΠΎΡ Π½Π΅Π·Π°Π²ΠΈΡΠ΅Π½ ΠΆΠΈΠ²ΠΎΡ Π±Π΅ΡΠ΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π°ΠΌ ΡΠ²ΠΎΡ ΠΊΠ»Π°ΡΡΠ΅Ρ. Π¦Π΅Π»ΡΠ° Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΡ Π±Π΅ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ ΡΠΎ Π²Π½Π°ΡΡΠ΅ΡΠ½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ceph ΠΈ Π΄Π° Π³ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΎΠΏΡΠ΅Π³ΠΎΡ Π½Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΏΡΠΈΠΌΠ΅Π½Π°. ΠΠΎΠ»ΠΊΡ Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ceph Π²ΠΎ ΡΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΈ ΠΌΠ°Π»ΠΈΡΠ΅ Π±ΠΈΠ·Π½ΠΈΡΠΈ? ΠΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ° ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π½Π΅ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΈ Π·Π°Π³ΡΠ±ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ Π·Π° ΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΡΠ° Π΄Π΅ΠΊΠ° Π½Π΅ Π΅ ΡΓ¨ ΡΠΎΠ»ΠΊΡ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ. ΠΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° CEPH ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°Π°Ρ Π±Π°ΡΠΈΠ΅ΡΠΈ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΠΈΡΠΎΠΊΠΎ ΡΡΠ²ΠΎΡΡΠ²Π°ΡΠ΅, ΠΏΠ° ΠΏΠΎΡΠ°Π΄ΠΈ Π½ΠΈΠ² Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ΅ Π΄ΠΎΡΠ΄ΠΎΠ° Π²ΠΎ ΡΠΎΡΡΠΎΠΊΠ°ΠΊ. ΠΠΎΠ΄ΠΎΠ»Ρ Π΅ Π΄Π°Π΄Π΅Π½ ΠΎΠΏΠΈΡ Π½Π° ΡΠΈΡΠ΅ ΠΏΡΠ΅Π·Π΅ΠΌΠ΅Π½ΠΈ ΡΠ΅ΠΊΠΎΡΠΈ, Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠΎΡΠΈ. ΠΠΊΠΎ ΡΠΏΠ°ΡΠ΅Π½ΠΈΡΠ΅ Π»ΡΡΠ΅ Π³ΠΎ ΡΠΏΠΎΠ΄Π΅Π»Π°Ρ ΡΠ²ΠΎΠ΅ΡΠΎ ΠΈΡΠΊΡΡΡΠ²ΠΎ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ Π½Π΅ΠΊΠΎΠΈ ΡΠΎΡΠΊΠΈ, ΡΠ΅ Π±ΠΈΠ΄Π°ΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½.
ΠΠ°Π±Π΅Π»Π΅ΡΠΊΠ°: ΠΠΎΠΌΠ΅Π½ΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°Π° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅ ΠΊΠΎΠΈ Π±Π°ΡΠ°Π°Ρ ΡΠ΅Π²ΠΈΠ·ΠΈΡΠ° Π½Π° ΡΠ΅Π»Π°ΡΠ° ΡΡΠ°ΡΠΈΡΠ°.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡΠ° Π½Π° CEPH
ΠΠ»Π°ΡΡΠ΅ΡΠΎΡ CEPH ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π±ΡΠΎΡ K Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π½ΠΈΠ², Π΄ΡΠΏΠ»ΠΈΡΠ°ΡΡΠΈ Π³ΠΎ ΡΠ΅ΠΊΠΎΠ΅ ΠΏΠ°ΡΡΠ΅ (4 MB ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ) Π΄Π°Π΄Π΅Π½ Π±ΡΠΎΡ N ΠΏΠ°ΡΠΈ.
ΠΠ° Π³ΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ ΡΠΎ Π΄Π²Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ. ΠΠ΄ Π½ΠΈΠ² ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π° ΡΠΎΡΡΠ°Π²ΠΈΡΠ΅ RAID 1 ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠΎ N=2 - ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΈΡΡ. ΠΠΊΠΎ ΠΈΠΌΠ° ΡΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΠΈ ΡΠΈΠ΅ ΡΠ΅ ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°, ΡΠΎΠ³Π°Ρ Π»Π΅ΡΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠΎΡΡΠ°Π²ΠΈ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠΎ N=2: Π΄Π΅Π» ΠΎΠ΄ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈΡΠ΅ 1 ΠΈ 2, Π½Π΅ΠΊΠΎΠΈ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈΡΠ΅ 1 ΠΈ 3, Π° Π½Π΅ΠΊΠΎΠΈ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ Π½Π° 2 ΠΈ 3, Π΄ΠΎΠ΄Π΅ΠΊΠ° RAID Π½Π΅ΠΌΠ° (ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΡΠ°ΠΊΠΎΠ² RAID, Π½ΠΎ ΡΠΎΠ° Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΠ΅ΡΠ²Π΅ΡΠ·ΠΈΡΠ°). ΠΠΊΠΎ ΠΈΠΌΠ° ΡΡΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ, ΡΠΎΠ³Π°Ρ Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ RAID 5; CEPH ΠΈΠΌΠ° Π°Π½Π°Π»ΠΎΠ³ - erasure_code, ΡΡΠΎ Π΅ Π²ΠΎ ΡΠΏΡΠΎΡΠΈΠ²Π½ΠΎΡΡ ΡΠΎ ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΈ Π·Π°ΡΠΎΠ° Π½Π΅ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄ΡΠ²Π°. RAID 5 ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π° Π΄Π΅ΠΊΠ° ΠΈΠΌΠ° ΠΌΠ°Π» Π±ΡΠΎΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ, ΠΎΠ΄ ΠΊΠΎΠΈ ΡΠΈΡΠ΅ ΡΠ΅ Π²ΠΎ Π΄ΠΎΠ±ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π°. ΠΠΊΠΎ Π΅Π΄Π΅Π½ Π½Π΅ ΡΡΠΏΠ΅Π΅, Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΌΠΎΡΠ° Π΄Π° ΠΈΠ·Π΄ΡΠΆΠ°Ρ Π΄ΠΎΠ΄Π΅ΠΊΠ° Π΄ΠΈΡΠΊΠΎΡ Π½Π΅ ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π½Π΅ ΡΠ΅ Π²ΡΠ°ΡΠ°Ρ Π½Π° Π½Π΅Π³ΠΎ. CEPH, ΡΠΎ N>=3, ΡΠ° ΠΏΠΎΡΡΠΈΠΊΠ½ΡΠ²Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΡΠ°ΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π°ΠΊΠΎ ΡΡΠ²Π°ΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π΄ΠΎΠ±ΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΠΊΠΎΠΏΠΈΡΠ° ΠΎΠ΄ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π° ΠΏΡΠ΅ΠΎΡΡΠ°Π½Π°ΡΠΈΡΠ΅ Π΄Π²Π΅ ΠΈΠ»ΠΈ ΡΡΠΈ ΠΊΠΎΠΏΠΈΠΈ Π³ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ ΡΡΠ°ΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ, ΡΠΎΠ³Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈΡΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π΅ Π±Π΅Π·Π±Π΅Π΄Π΅Π½, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π·Π°ΡΠ΅Π³Π° Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΡΠ΅ ΠΆΠΈΠ²ΠΈ - Π½Π΅ΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π° Π°ΠΊΠΎ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½ΠΈΠ² ΡΠ΅ ΡΠΊΡΡΠΈ, ΡΠΎΠ³Π°Ρ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈΠΎΡ Π΄Π΅ΡΠ΅ΠΊΡ Π½Π° ΡΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΡΠΎ ΡΠ°Π±ΠΎΡΠ΅Π½ Π²Π΅ΠΊ ΠΎΠ΄ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ ΠΏΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΏΠΎ ΠΌΠΎΠΆΠ½ΠΎΡΡ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ, Π΅ ΠΊΡΠ°ΡΠ½ΠΎ Π½Π΅Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎ Π½Π°ΡΡΠ°Π½.
ΠΠΎΡΡΠΎΠΈ ΡΡΠΏΡΠΈΠ»Π½ΠΎΡΡ Π²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΏΠΈΠΈ. Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ, ΡΠ΅ ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π° Π΄Π΅ΠΊΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ (~ 100 Π½Π° Π΄ΠΈΡΠΊ) Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π½ΠΈ Π³ΡΡΠΏΠΈ PG, ΠΎΠ΄ ΠΊΠΎΠΈ ΡΠ΅ΠΊΠΎΡΠ° Π΅ Π΄ΡΠΏΠ»ΠΈΡΠ°Π½Π° Π½Π° Π½Π΅ΠΊΠΎΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ. ΠΠ° ΡΠ΅ΡΠ΅ΠΌΠ΅ K=6, N=2, ΡΠΎΠ³Π°Ρ Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡ Π΄Π²Π° Π΄ΠΈΡΠΊΠ° ΠΎΡΠΊΠ°ΠΆΠ°, ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΎ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΈΠ·Π³ΡΠ±Π΅Π½ΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠΏΠΎΡΠ΅Π΄ ΡΠ΅ΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎΡΡ, ΡΠ΅ ΠΈΠΌΠ° Π±Π°ΡΠ΅ΠΌ Π΅Π΄Π΅Π½ PG ΡΡΠΎ ΡΠ΅ ΡΠ΅ Π½Π°ΠΎΡΠ° Π½Π° ΠΎΠ²ΠΈΠ΅ Π΄Π²Π° Π΄ΠΈΡΠΊΠ°. Π Π³ΡΠ±Π΅ΡΠ΅ΡΠΎ Π½Π° Π΅Π΄Π½Π° Π³ΡΡΠΏΠ° Π³ΠΈ ΠΏΡΠ°Π²ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π±Π°Π·Π΅Π½ΠΎΡ. ΠΠΊΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π½Π° ΡΡΠΈ ΠΏΠ°ΡΠ° ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈ Π΄Π° ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΡΠ°ΠΌΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π΅Π½ ΠΏΠ°Ρ, ΡΠΎΠ³Π°Ρ ΡΠ°ΠΊΠ²Π°ΡΠ° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΡΠΏΠΎΡΠ½Π° Π½Π° Π΄Π΅ΡΠ΅ΠΊΡ Π½Π° ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ Π΄ΠΈΡΠΊ, Π½ΠΎ Π°ΠΊΠΎ Π΄Π²Π° Π΄ΠΈΡΠΊΠ° ΠΎΡΠΊΠ°ΠΆΠ°Ρ, Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎΡΡΠ° Π·Π° Π·Π°Π³ΡΠ±Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π΅ Π΅ 100%, Π½ΠΎ ΡΠ°ΠΌΠΎ 3/15, ΠΏΠ° Π΄ΡΡΠΈ ΠΈ Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° Π΄Π΅ΡΠ΅ΠΊΡ ΡΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ - ΡΠ°ΠΌΠΎ 12/20. ΠΡΡΡΠΊΠ°, Π΅Π½ΡΡΠΎΠΏΠΈΡΠ°ΡΠ° Π²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π½Π΅ ΠΏΡΠΈΠ΄ΠΎΠ½Π΅ΡΡΠ²Π° Π·Π° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠΈΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. ΠΡΡΠΎ ΡΠ°ΠΊΠ°, Π·Π°Π±Π΅Π»Π΅ΠΆΠ΅ΡΠ΅ Π΄Π΅ΠΊΠ° Π·Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ Π·Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°ΡΠ° RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° Π±ΡΠ·ΠΈΠ½Π°ΡΠ° Π½Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ. ΠΠΎΠ»ΠΊΡ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π²ΠΎ ΡΠ΅ΠΊΠΎΡ ΡΠ°Π·ΠΎΠ», ΠΈ ΠΊΠΎΠ»ΠΊΡ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π²ΠΎ ΡΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈ, ΡΠΎΠ»ΠΊΡ ΠΏΠΎΠ±ΡΠ·ΠΎ ΡΠ΅ Π±ΠΈΠ΄Π΅. ΠΠ²Π° Π΅ Π½Π΅ΡΠΎΠΌΠ½Π΅Π½ΠΎ ΠΏΡΠ΅Π΄Π½ΠΎΡΡ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ ΠΏΡΠ΅Π΄ Π΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ, ΡΡΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅, Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈΠΎΡ NAS, ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π΅ Π²Π³ΡΠ°Π΄Π΅Π½Π° ΠΌΠ½ΠΎΠ³Ρ ΠΌΠ°Π»Π° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°.
Π‘Π»Π΅Π΄ΠΈ Π΄Π΅ΠΊΠ° CEPH Π΅ Π΄ΠΎΠ±Π°Ρ Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΡΠΈΠ³ΡΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ Π’Π ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΊΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΡΠ° ΠΎΠ΄ Π·Π°ΡΡΠ°ΡΠ΅Π½Π° ΠΎΠΏΡΠ΅ΠΌΠ° (ΡΡΠΊΠ°, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΡΡΠΎΡΠΎΡΠΈ, Π½ΠΎ ΠΌΠ°Π»ΠΈ Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ ΠΊΠΎΠΌΠ΅ΡΡΠΈΡΠ°Π»Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅).
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ
ΠΠ° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΡ, Π΄Π° Π·Π΅ΠΌΠ΅ΠΌΠ΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Intel DQ57TM + Intel core i3 540 + 16 GB RAM. ΠΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΠ΅ΡΠΈΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΠΎΠ΄ 2 TB Π²ΠΎ Π½Π΅ΡΡΠΎ ΠΊΠ°ΠΊΠΎ RAID10, ΠΏΠΎ ΡΡΠΏΠ΅ΡΠ΅Π½ ΡΠ΅ΡΡ ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ Π²ΡΠΎΡ ΡΠ°Π·ΠΎΠ» ΠΈ ΠΈΡΡ Π±ΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° Linux. ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ°ΡΠ° Π±Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΠΈ ΠΈ Π΄Π° Π±ΠΈΠ΄Π΅ ΡΡΠ°Π±ΠΈΠ»Π½Π°. Debian ΠΈ Suse Π³ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ²Π°Π°Ρ Π±Π°ΡΠ°ΡΠ°ΡΠ°. Suse ΠΈΠΌΠ° ΠΏΠΎΡΠ»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π΅Π½ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠ΅Ρ ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΡΠ΅ ΡΠ΅ΠΊΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ; ΠΠ° ΠΆΠ°Π», Π½Π΅ ΠΌΠΎΠΆΠ΅Π² Π΄Π° ΡΡΠ°ΡΠ°ΠΌ ΠΊΠΎΠΈ ΠΎΠ΄ Π½ΠΈΠ² ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ»Π°Ρ Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΎΡΡΠ΅ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΡ. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΡΠ΅ Π³ΠΎ Debian ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ debootstrap buster. ΠΠΏΡΠΈΡΠ°ΡΠ° min-base ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΡΠΊΡΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π½Π° ΠΊΠΎΡ ΠΌΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ²Π°Π°Ρ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ. Π Π°Π·Π»ΠΈΠΊΠ°ΡΠ° Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π²ΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΡΠ΅Π»ΠΎΡΠ½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΡ Π³ΠΎΠ»Π΅ΠΌΠ° Π·Π° Π΄Π° ΡΠ΅ ΠΌΠ°ΡΠΈ. ΠΠΈΠ΄Π΅ΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π²Π΅Π΄ΡΠ²Π° Π½Π° ΡΠΈΠ·ΠΈΡΠΊΠ° ΠΌΠ°ΡΠΈΠ½Π°, ΡΠ°ΠΊΠ°ΠΌ Π΄Π° ΠΏΡΠ°Π²Π°ΠΌ ΡΠ½ΠΈΠΌΠΊΠΈ, ΠΊΠ°ΠΊΠΎ Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ. ΠΠ²Π°Π° ΠΎΠΏΡΠΈΡΠ° Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΠΎΠ΄ LVM ΠΈΠ»ΠΈ btrfs (ΠΈΠ»ΠΈ xfs ΠΈΠ»ΠΈ zfs - ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π½Π΅ Π΅ Π³ΠΎΠ»Π΅ΠΌΠ°). Π‘Π½ΠΈΠΌΠΊΠΈΡΠ΅ Π½Π° LVM Π½Π΅ ΡΠ΅ ΡΠΈΠ»Π½Π° ΡΡΡΠ°Π½Π°. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΡΠ΅ btrfs. Π ΠΏΠΎΠ΄ΠΈΠ³Π½ΡΠ²Π°ΡΠΎΡ Π΅ Π²ΠΎ MBR. ΠΠ΅ΠΌΠ° ΡΠΌΠΈΡΠ»Π° Π΄Π° Π³ΠΎ Π½Π°ΡΡΡΠΏΡΠ²Π°ΡΠ΅ Π΄ΠΈΡΠΊΠΎΡ ΠΎΠ΄ 50 MB ΡΠΎ FAT ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° ΠΊΠΎΠ³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΡΡΡΠ½Π΅ΡΠ΅ Π²ΠΎ Π΄Π΅Π» ΠΎΠ΄ ΡΠ°Π±Π΅Π»Π°ΡΠ° ΡΠΎ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ ΠΎΠ΄ 1 MB ΠΈ Π΄Π° Π³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ΅Π»ΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ. ΠΠ°Π·Π΅ΠΌΠ° 700 MB Π½Π° Π΄ΠΈΡΠΊΠΎΡ. ΠΠ΅ ΡΠ΅ ΡΠ΅ΡΠ°Π²Π°ΠΌ ΠΊΠΎΠ»ΠΊΡ ΠΈΠΌΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° SUSE, ΠΌΠΈΡΠ»Π°ΠΌ Π΄Π΅ΠΊΠ° Π΅ ΠΎΠΊΠΎΠ»Ρ 1.1 ΠΈΠ»ΠΈ 1.4 GB.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΡΠ΅ CEPH. ΠΠ° ΠΈΠ³Π½ΠΎΡΠΈΡΠ°ΠΌΠ΅ Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° 12 Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Π½Π° debian ΠΈ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΠΌΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ΄ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° 15.2.3. ΠΠΈ ΡΠ»Π΅Π΄ΠΈΠΌΠ΅ ΡΠΏΠ°ΡΡΡΠ²Π°ΡΠ° ΠΎΠ΄ Π΄Π΅Π»ΠΎΡ βΠ Π°ΡΠ½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ CEPHβ ΡΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΡΠ²Π°ΡΠ°:
- ΠΡΠ΅Π΄ Π΄Π° Π³ΠΎ ΠΏΠΎΠ²ΡΠ·Π΅ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ, ΠΌΠΎΡΠ° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ gnupg wget ca-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ
- ΠΠΎ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ, Π½ΠΎ ΠΏΡΠ΅Π΄ Π΄Π° Π³ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅ ΠΈΡΠΏΡΡΡΠ΅Π½ΠΎ: apt -y --no-install-recommends install ceph-common ceph-mon ceph-osd ceph-mds ceph-mgr
- ΠΡΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° CEPH ΠΎΠ΄ Π½Π΅ΠΏΠΎΠ·Π½Π°ΡΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ ΡΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° lvm2. ΠΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ, Π½Π΅ Π΅ ΡΡΠ΅ΡΠ°, Π½ΠΎ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ°ΡΠ° Π½Π΅ ΡΡΠΏΠ΅Π΅, ΠΏΠ° Π½ΠΈ CEPH Π½Π΅ΠΌΠ° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°.
ΠΠ²ΠΎΡ Π»Π΅ΠΏΠ΅Π½ΠΊΠ° ΠΏΠΎΠΌΠΎΠ³Π½Π°:
cat << EOF >> /var/lib/dpkg/status Package: lvm2 Status: install ok installed Priority: important Section: admin Installed-Size: 0 Maintainer: Debian Adduser Developers <[email protected]> Architecture: all Multi-Arch: foreign Version: 113.118 Description: No-install EOF
ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ
ceph-osd - Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠΎΡ. ΠΠ° ΡΠ΅ΠΊΠΎΡ Π΄ΠΈΡΠΊ, ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΌΡΠ΅ΠΆΠ½Π° ΡΡΠ»ΡΠ³Π° ΠΊΠΎΡΠ° ΠΏΡΠΈΡΠ°ΡΠ° ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π° Π±Π°ΡΠ°ΡΠ° Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈ. ΠΠ° Π΄ΠΈΡΠΊΠΎΡ ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π°Ρ Π΄Π²Π΅ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ. ΠΠ΄Π΅Π½ ΠΎΠ΄ Π½ΠΈΠ² ΡΠΎΠ΄ΡΠΆΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ, Π±ΡΠΎΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ ΠΈ ΠΊΠΎΠΏΡΠΈΡΠ°ΡΠ° Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ. ΠΠ²Π°Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎΠ΄ 1KB ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π° Π΅Π΄Π½Π°Ρ ΠΏΡΠΈ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½Π° Π΄ΠΈΡΠΊ ΠΈ Π½ΠΈΠΊΠΎΠ³Π°Ρ Π½Π΅ Π±ΠΈΠ»Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Π½Π° Π΄Π΅ΠΊΠ° ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°. ΠΡΠΎΡΠ°ΡΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° Π½Π΅ΠΌΠ° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° CEPH. ΠΠ²ΡΠΎΠΌΠ°ΡΡΠΊΠ°ΡΠ° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° Π²ΠΎ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° xfs ΠΎΠ΄ 100 MB Π·Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. ΠΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π² Π΄ΠΈΡΠΊΠΎΡ Π²ΠΎ MBR ΠΈ Π΄ΠΎΠ΄Π΅Π»ΠΈΠ² ΡΠ°ΠΌΠΎ 16 MB - ΡΡΠ»ΡΠ³Π°ΡΠ° Π½Π΅ ΡΠ΅ ΠΆΠ°Π»ΠΈ. ΠΠΈΡΠ»Π°ΠΌ Π΄Π΅ΠΊΠ° xfs ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ ΡΠΎ ext Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠΎΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ²Π°Π° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° Π΅ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π° Π²ΠΎ /var/lib/β¦, ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠΈΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° OSD ΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π°ΠΎΡΠ° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ° Π·Π° Π±Π»ΠΎΠΊ-ΡΡΠ΅Π΄ΠΎΡ ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ Π·Π°ΡΡΠ²Π°Π½ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. Π’Π΅ΠΎΡΠ΅ΡΡΠΊΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅Π΄Π½Π°Ρ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ /var/lib/β¦ ΠΈ Π΄Π° Π³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ΅Π»ΠΈΠΎΡ Π΄ΠΈΡΠΊ Π·Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΎΠ³Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ OSD ΠΏΡΠ΅ΠΊΡ ceph-deploy, Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ°ΡΠ° Π²ΠΎ /var/lib/β¦, Π° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π½Π° ceph ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΡ ΡΠ΅ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°Π°Ρ ΠΏΡΠ°Π²Π° Π΄Π° Π³ΠΎ ΡΠΈΡΠ° ΡΠ°ΠΊΠ°Π½ΠΈΠΎΡ Π±Π»ΠΎΠΊ ΡΡΠ΅Π΄. ΠΠΊΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΠ°ΡΠ½ΠΎ, ΠΌΠΎΡΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ° ΡΠ°ΠΌΠΈ; Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π΅ Π³ΠΎ ΠΊΠ°ΠΆΡΠ²Π° ΠΎΠ²Π°. ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΠ»ΠΈΠ²ΠΎ Π΅ Π΄Π° Π³ΠΎ Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠΎΡ Π·Π° ΡΠ΅Π»Π½Π°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° osd Π·Π° Π΄Π° ΠΈΠΌΠ° Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ ΡΠΈΠ·ΠΈΡΠΊΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°.
ceph-mds. ΠΠ° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, CEPH Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈ. Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ΡΠΎ ΡΠ΅ ΡΠ²Π΅Π΄ΡΠ²Π° Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ΅ΠΊΠΎΡ Π±Π»ΠΎΠΊ ΠΎΠ΄ 4 MB ΠΊΠ°ΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ. Π‘ΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΈΡΡΠΈΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ. Π‘Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Π°Ρ Π΄Π²Π° Π±Π°Π·Π΅Π½ΠΈ: Π΅Π΄Π΅Π½ Π·Π° ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π΄ΡΡΠ³ΠΈΠΎΡ Π·Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. Π’ΠΈΠ΅ ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ. ΠΠΎ ΠΎΠ²ΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π° Π½Π΅ΠΊΠ°ΠΊΠΎΠ² Π·Π°ΠΏΠΈΡ, ΠΏΠ° Π°ΠΊΠΎ Π³ΠΎ ΠΈΠ·Π±ΡΠΈΡΠ΅ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ, Π½ΠΎ Π³ΠΈ Π·Π°Π΄ΡΠΆΠΈΡΠ΅ Π΄Π²Π°ΡΠ° Π±Π°Π·Π΅Π½ΠΈ, Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π²ΡΠ°ΡΠΈΡΠ΅. ΠΠΌΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π° Π²Π°Π΄Π΅ΡΠ΅ ΡΠ°ΡΠ»ΠΎΠ²ΠΈ ΠΏΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ, ΡΠ° Π½Π΅ΠΌΠ°ΠΌ ΡΠ΅ΡΡΠΈΡΠ°Π½ΠΎ. Π‘Π΅ΡΠ²ΠΈΡΠΎΡ ceph-mds Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ. Π‘Π΅ΠΊΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π±Π°ΡΠ° ΠΏΠΎΡΠ΅Π±Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. ΠΠΎΡΡΠΎΠΈ ΠΎΠΏΡΠΈΡΠ° βΠΈΠ½Π΄Π΅ΠΊΡβ, ΠΊΠΎΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ΄ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π²ΠΎ Π΅Π΄Π΅Π½ - ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π΅ Π΅ ΡΠ΅ΡΡΠΈΡΠ°Π½.
Ceph-mon - ΠΠ²Π°Π° ΡΡΠ»ΡΠ³Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΠΊΠ°ΡΡΠ° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ. ΠΠΊΠ»ΡΡΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΠΈΡΠ΅ OSD, Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° PG Π²ΠΎ OSD ΠΈ, ΡΡΠΎ Π΅ Π½Π°ΡΠ²Π°ΠΆΠ½ΠΎ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ (Π΄Π΅ΡΠ°Π»ΠΈΡΠ΅ Π·Π° ΠΎΠ²ΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π½Π΅ ΠΌΠΈ ΡΠ΅ ΡΠ°ΡΠ½ΠΈ: ΠΈΠΌΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ /var/lib/ceph/mon/β¦/ store.db, ΡΠΎΠ΄ΡΠΆΠΈ Π³ΠΎΠ»Π΅ΠΌΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ 26MB, Π° Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΎΠ΄ 105K ΠΎΠ±ΡΠ΅ΠΊΡΠΈ, ΠΈΠ·Π»Π΅Π³ΡΠ²Π° Π΄Π΅ΠΊΠ° Π΅ Π½Π΅ΡΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 256 Π±Π°ΡΡΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ - ΠΌΠΈΡΠ»Π°ΠΌ Π΄Π΅ΠΊΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΡ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° Π»ΠΈΡΡΠ° Π½Π° ΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ ΠΈ PG-ΠΈ Π²ΠΎ ΠΊΠΎΠΈ ΡΠΈΠ΅ ΡΠ΅ Π½Π°ΠΎΡΠ°Π°Ρ). ΠΡΡΠ΅ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ²ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΡΠ΅Π·ΡΠ»ΡΠΈΡΠ° ΡΠΎ Π³ΡΠ±Π΅ΡΠ΅ Π½Π° ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ. ΠΡΡΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π΅Π½ Π·Π°ΠΊΠ»ΡΡΠΎΠΊΠΎΡ Π΄Π΅ΠΊΠ° CRUSH ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΠΊΠ°ΠΊΠΎ PG ΡΠ΅ Π½Π°ΠΎΡΠ°Π°Ρ Π½Π° OSD, ΠΈ ΠΊΠ°ΠΊΠΎ ΡΠ΅ Π½Π°ΠΎΡΠ°Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΡΠ΅ Π½Π° PG - ΡΠΈΠ΅ ΡΠ΅ ΡΠ΅Π½ΡΡΠ°Π»Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π±Π΅Π· ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π³ΠΎ ΠΈΠ·Π±Π΅Π³Π½ΡΠ²Π°Π°Ρ ΠΎΠ²ΠΎΡ Π·Π±ΠΎΡ. ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, ΠΏΡΠ²ΠΎ, Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° ΡΠ»Π΅Ρ-ΡΡΠ΅Π΄ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ RO, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ ΡΠ΅ ΡΠ½ΠΈΠΌΠ°, ΠΏΠΎΡΡΠ΅Π±Π΅Π½ Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π΄ΠΈΡΠΊ Π·Π° Π½ΠΈΠ² (Π΅Π΄Π²Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 1 GB), Π²ΡΠΎΡΠΎ, Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΈΠΌΠ° ΠΊΠΎΠΏΠΈΡΠ°ΡΡΠ΅ ΡΠ° ΠΎΠ²Π°Π° Π±Π°Π·Π° Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΊΠΎ ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈ, ΡΠΎΠ³Π°Ρ ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠΈΡΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ, Π½ΠΎ Π²ΠΎ Π½Π°ΡΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ Π΅Π΄Π΅Π½ ΠΌΠΎΠ½ΠΈΡΠΎΡ, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π΄Π²Π°. ΠΠΎΡΡΠΎΠΈ ΡΠ΅ΠΎΡΠ΅ΡΡΠΊΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π° Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ OSD, ΡΡΠΈΠΏΠ°ΡΠΈ ΠΏΡΠΈΠ±Π΅Π³Π½Π°Π² ΠΊΠΎΠ½ Π½Π΅Π³ΠΎ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ, Π° ΡΡΠΈ ΠΏΠ°ΡΠΈ Π½Π΅ΠΌΠ°ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ Π·Π° Π³ΡΠ΅ΡΠΊΠ°, ΠΊΠ°ΠΊΠΎ ΠΈ Π±Π΅Π· ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ° ΠΆΠ°Π», ΠΎΠ²ΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°. ΠΠ»ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΌΠ΅ ΡΠΎ ΠΌΠΈΠ½ΠΈΡΠ°ΡΡΡΠ½Π° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° Π½Π° OSD ΠΈ ΡΠΎΡΡΠ°Π²ΡΠ²Π°ΠΌΠ΅ RAID Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΡΠΎ ΡΠ΅ΠΊΠ°ΠΊΠΎ ΡΠ΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ Π»ΠΎΡ Π΅ΡΠ΅ΠΊΡ Π²ΡΠ· ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅, ΠΈΠ»ΠΈ ΡΠ΅ ΠΎΠ΄Π²ΠΎΠΈΠΌΠ΅ Π½Π°ΡΠΌΠ°Π»ΠΊΡ Π΄Π²Π° Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΈ ΡΠΈΠ·ΠΈΡΠΊΠΈ ΠΌΠ΅Π΄ΠΈΡΠΌΠΈ, ΠΏΠΎ ΠΌΠΎΠΆΠ½ΠΎΡΡ USB, Π·Π° Π΄Π° Π½Π΅ Π·Π°ΡΠ°ΡΠ°ΠΌΠ΅ ΠΏΠΎΡΡΠΈ.
rados-gw - ΠΈΠ·Π²Π΅Π·ΡΠ²Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈ ΠΏΡΠ΅ΠΊΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ S3 ΠΈ ΡΠ»ΠΈΡΠ½ΠΎ. Π‘ΠΎΠ·Π΄Π°Π²Π° ΠΌΠ½ΠΎΠ³Ρ Π±Π°Π·Π΅Π½ΠΈ, Π½Π΅ΡΠ°ΡΠ½ΠΎ Π΅ Π·ΠΎΡΡΠΎ. ΠΠ΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ°Π² ΠΌΠ½ΠΎΠ³Ρ.
ceph-mgr - ΠΡΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠ²Π°Π° ΡΡΠ»ΡΠ³Π°, ΡΠ΅ Π»Π°Π½ΡΠΈΡΠ°Π°Ρ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΠ΄Π΅Π½ ΠΎΠ΄ Π½ΠΈΠ² Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΠΌΠ΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈ. Π‘Π΅ ΡΡΡΠ΅ΠΌΠΈ Π΄Π° ΡΠ° ΠΎΠ΄ΡΠΆΠΈ ΡΠΎΡΠ½Π°ΡΠ° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° Π½Π° PG/OSD. ΠΠΊΠΎ ΡΠ°ΠΊΠ°ΡΠ΅ ΡΠ°ΡΠ½ΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΠΎΠ΄Π½ΠΎΡΠΎΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΡΠ΅ ΡΠΊΠ°Π»ΠΈΡΠ°ΡΠ΅ΡΠΎ Π·Π° ΡΠ΅ΠΊΠΎΡ Π±Π°Π·Π΅Π½, Π½ΠΎ Π²ΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠ΄ΡΠ»ΠΎΡ ΠΏΠ°ΡΠ° ΡΠΎ ΠΏΠΎΠ΄Π΅Π»Π±Π° ΡΠΎ 0, Π° ΡΡΠ°ΡΡΡΠΎΡ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ ΡΡΠ°Π½ΡΠ²Π° ERROR. ΠΠΎΠ΄ΡΠ»ΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ Python ΠΈ Π°ΠΊΠΎ ΡΠ° ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° Π²ΠΎ Π½Π΅Π³ΠΎ, ΡΠΎΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π½Π΅Π³ΠΎΠ²ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅. ΠΡΠ΅ΠΌΠ½ΠΎΠ³Ρ ΠΌΡΠ·Π»ΠΈΠ²ΠΈ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠ°Ρ Π½Π° Π΄Π΅ΡΠ°Π»ΠΈΡΠ΅.
Π‘ΠΏΠΈΡΠΎΠΊ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ ΠΈΠ·Π²ΠΎΡΠΈ:
Π‘ΠΏΠΈΡΠΎΡΠΈ Π½Π° ΡΠΊΡΠΈΠΏΡΠΈ:
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΏΡΠ΅ΠΊΡ debootstrap
blkdev=sdb1
mkfs.btrfs -f /dev/$blkdev
mount /dev/$blkdev /mnt
cd /mnt
for i in {@,@var,@home}; do btrfs subvolume create $i; done
mkdir snapshot @/{var,home}
for i in {var,home}; do mount -o bind @${i} @/$i; done
debootstrap buster @ http://deb.debian.org/debian; echo $?
for i in {dev,proc,sys}; do mount -o bind /$i @/$i; done
cp /etc/bash.bashrc @/etc/
chroot /mnt/@ /bin/bash
echo rbd1 > /etc/hostname
passwd
uuid=`blkid | grep $blkdev | cut -d """ -f 2`
cat << EOF > /etc/fstab
UUID=$uuid / btrfs noatime,nodiratime,subvol=@ 0 1
UUID=$uuid /var btrfs noatime,nodiratime,subvol=@var 0 2
UUID=$uuid /home btrfs noatime,nodiratime,subvol=@home 0 2
EOF
cat << EOF >> /var/lib/dpkg/status
Package: lvm2
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 0
Maintainer: Debian Adduser Developers <[email protected]>
Architecture: all
Multi-Arch: foreign
Version: 113.118
Description: No-install
Package: sudo
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 0
Maintainer: Debian Adduser Developers <[email protected]>
Architecture: all
Multi-Arch: foreign
Version: 113.118
Description: No-install
EOF
exit
grub-install --boot-directory=@/boot/ /dev/$blkdev
init 6
apt -yq install --no-install-recommends linux-image-amd64 bash-completion ed btrfs-progs grub-pc iproute2 ssh smartmontools ntfs-3g net-tools man
exit
grub-install --boot-directory=@/boot/ /dev/$blkdev
init 6
ΠΠ°ΠΏΡΠ°Π²Π΅ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅Ρ
apt -yq install --no-install-recommends gnupg wget ca-certificates
echo 'deb https://download.ceph.com/debian-octopus/ buster main' >> /etc/apt/sources.list
wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add -
apt update
apt -yq install --no-install-recommends ceph-common ceph-mon
echo 192.168.11.11 rbd1 >> /etc/hosts
uuid=`cat /proc/sys/kernel/random/uuid`
cat << EOF > /etc/ceph/ceph.conf
[global]
fsid = $uuid
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
mon allow pool delete = true
mon host = 192.168.11.11
mon initial members = rbd1
mon max pg per osd = 385
osd crush update on start = false
#osd memory target = 2147483648
osd memory target = 1610612736
osd scrub chunk min = 1
osd scrub chunk max = 2
osd scrub sleep = .2
osd pool default pg autoscale mode = off
osd pool default size = 1
osd pool default min size = 1
osd pool default pg num = 1
osd pool default pgp num = 1
[mon]
mgr initial modules = dashboard
EOF
ceph-authtool --create-keyring ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
ceph-authtool --create-keyring ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
cp ceph.client.admin.keyring /etc/ceph/
ceph-authtool --create-keyring bootstrap-osd.ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
cp bootstrap-osd.ceph.keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
ceph-authtool ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
ceph-authtool ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
monmaptool --create --add rbd1 192.168.11.11 --fsid $uuid monmap
rm -R /var/lib/ceph/mon/ceph-rbd1/*
ceph-mon --mkfs -i rbd1 --monmap monmap --keyring ceph.mon.keyring
chown ceph:ceph -R /var/lib/ceph
systemctl enable ceph-mon@rbd1
systemctl start ceph-mon@rbd1
ceph mon enable-msgr2
ceph status
# dashboard
apt -yq install --no-install-recommends ceph-mgr ceph-mgr-dashboard python3-distutils python3-yaml
mkdir /var/lib/ceph/mgr/ceph-rbd1
ceph auth get-or-create mgr.rbd1 mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-rbd1/keyring
systemctl enable ceph-mgr@rbd1
systemctl start ceph-mgr@rbd1
ceph config set mgr mgr/dashboard/ssl false
ceph config set mgr mgr/dashboard/server_port 7000
ceph dashboard ac-user-create root 1111115 administrator
systemctl stop ceph-mgr@rbd1
systemctl start ceph-mgr@rbd1
ΠΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½Π° OSD (Π΄Π΅Π»)
apt install ceph-osd
osdnum=`ceph osd create`
mkdir -p /var/lib/ceph/osd/ceph-$osdnum
mkfs -t xfs /dev/sda1
mount -t xfs /dev/sda1 /var/lib/ceph/osd/ceph-$osdnum
cd /var/lib/ceph/osd/ceph-$osdnum
ceph auth get-or-create osd.0 mon 'profile osd' mgr 'profile osd' osd 'allow *' > /var/lib/ceph/osd/ceph-$osdnum/keyring
ln -s /dev/disk/by-partuuid/d8cc3da6-02 block
ceph-osd -i $osdnum --mkfs
#chown ceph:ceph /dev/sd?2
chown ceph:ceph -R /var/lib/ceph
systemctl enable ceph-osd@$osdnum
systemctl start ceph-osd@$osdnum
ΠΡΠ°ΡΠΎΠΊ ΠΏΡΠ΅Π³Π»Π΅Π΄
ΠΠ»Π°Π²Π½Π°ΡΠ° ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ ΠΏΡΠ΅Π΄Π½ΠΎΡΡ Π½Π° CEPH Π΅ CRUSH - Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Π»ΠΎΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΡΠ΅ Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π°Ρ ΠΎΠ²ΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅, ΠΏΠΎ ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π³ΠΎ Π±Π°ΡΠ°Π°Ρ ΡΠ°ΠΊΠ°Π½ΠΈΠΎΡ ΡΠ°Π·ΠΎΠ» ΠΈ ΡΠ°ΠΊΠ°Π½ΠΈΠΎΡ OSD. CRUSH Π½Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ°. Π’ΠΎΠ° Π΅ ΠΌΠ°Π»Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΡΡΠΈ ΠΈ Π΄Π° ΡΠ° ΠΈΡΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΠΈ Π΄Π° ΡΠ° Π·Π°ΠΊΠ°ΡΠΈΡΠ΅ Π½Π° ΡΠΈΠ΄. ΠΡΠ°ΠΊΡΠ°ΡΠ° ΠΏΠΎΠΊΠ°ΠΆΠ° Π΄Π΅ΠΊΠ° CRUSH Π½Π΅ Π΅ ΠΈΡΡΡΠΏΠ½Π° ΠΌΠ°ΠΏΠ°. ΠΠΊΠΎ Π³ΠΈ ΡΠ½ΠΈΡΡΠΈΡΠ΅ ΠΈ ΡΠ΅ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΠ΅, Π·Π°Π΄ΡΠΆΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΡΠΈΡΠ΅ OSD ΠΈ CRUSH, ΡΠΎΠ³Π°Ρ ΠΎΠ²Π° Π½Π΅ Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π·Π° Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ. ΠΠ΄ ΠΎΠ²Π° ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΡΠ²Π° Π΄Π΅ΠΊΠ° ΡΠ΅ΠΊΠΎΡ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° Π½Π΅ΠΊΠΎΠΈ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΡΠ΅Π»ΠΈΠΎΡ ΠΊΠ»Π°ΡΡΠ΅Ρ. ΠΠ°Π»Π°ΡΠ° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π΅ Π½Π°ΠΌΠ΅ΡΠ½ΡΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ, ΡΡΠΊΡ Π±Π°ΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΈΠ²Π½Π°ΡΠ° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ, ΡΡΠΎ Π³ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π·Π°ΡΡΠ΅Π΄ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠΎΡ ΡΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° ΡΠ»Π΅Ρ-ΡΡΠ΅Π΄ ΠΈ Π³ΠΈ ΠΈΡΠΊΠ»ΡΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΡΠ΅ ΡΠΎ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΎΠ΄ ΡΡΠΈ ΡΠ°Π·Π»ΠΈ. ΠΠ³ΡΠ΅ΡΠΈΠ²Π½Π°ΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π²ΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°Π»Π΅ΠΊΡ ΠΎΠ΄ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·Π°ΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° βΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠ°ΠΌ Π·Π° ΡΠΎΠ° ΡΡΠΎ Π³ΠΎ ΠΈΠΌΠ°ΠΌΠ΅, Π½ΠΎ Π΅ ΠΌΠ½ΠΎΠ³Ρ, ΠΌΠ½ΠΎΠ³Ρ ΡΠΊΡΠ΄Π½ΠΎβ. ΠΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ ΡΡΠ»ΡΠ³ΠΈ Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, Π½ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ° Π΄ΠΎΠΏΠΈΡΠ° ΠΎΠ²Π°Π° ΡΠ΅ΠΌΠ° ΠΏΡΠ΅ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ²ΡΡΠ½ΠΎ, ΠΏΠ° Π·Π°ΡΠΎΠ° Π΅ ΠΏΠΎΠ²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎ Π½Π΅ ΠΎΡΠΊΠΎΠ»ΠΊΡ Π΄Π°. ΠΡΠ°ΠΊΡΠΈΡΠ½ΠΎ Π½Π΅ΠΌΠ° ΡΠ°Π½ΡΠΈ Π·Π° Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΎΠ΄ ΠΈΡΠ½Π° ΡΠΈΡΡΠ°ΡΠΈΡΠ°.
ΠΠΏΡΠΈΠΈ Π·Π° ΠΏΠΎΠ½Π°ΡΠ°ΠΌΠΎΡΠ½ΠΎ Π΄Π΅ΡΡΡΠ²ΡΠ²Π°ΡΠ΅: Π½Π°ΠΏΡΡΡΠ΅ΡΠ΅ Π³ΠΎ CEPH ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π³ΠΎ Π±Π°Π½Π°Π»Π½ΠΈΠΎΡ ΠΌΡΠ»ΡΠΈ-Π΄ΠΈΡΠΊ btrfs (ΠΈΠ»ΠΈ xfs, zfs), Π΄ΠΎΠ·Π½Π°ΡΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° CEPH, ΠΊΠΎΠΈ ΡΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π³ΠΎ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈ, ΠΎΠ±ΠΈΠ΄Π΅ΡΠ΅ ΡΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠΎΠΏΡΡΠ²Π΅Π½ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΠΊΠΎ Π½Π°ΠΏΡΠ΅Π΄Π½ΠΎ ΠΎΠ±ΡΠΊΠ°.
ΠΠ·Π²ΠΎΡ: www.habr.com