ΠΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π²Π»Π΅Π·Π°Π΅Ρ Π½Π° ΠΎΠ΄ΠΈΠ½ Π΄ΠΈΡΠΊ, ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ ΠΎ RAID. Π Π΄Π΅ΡΡΡΠ²Π΅ ΡΠ°ΡΡΠΎ ΡΠ»ΡΡΠ°Π» ΠΎΡ ΡΡΠ°ΡΡΠΈΡ : Β«ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ RAID ΡΠΉΠ΄ΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π·Π°ΠΏΠΎΠ»ΠΎΠ½ΡΡ ΠΌΠΈΡ, Π° ΡΡ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ CEPHΒ»,- ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π² ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΡΡΠ°Π»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Π¦Π΅Π»ΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° Π±ΡΠ»ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ ceph ΠΈ ΠΏΠΎΠ½ΡΡΡ ΡΠ°ΠΌΠΊΠΈ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ceph Π² ΡΡΠ΅Π΄Π½ΠΈΠΉ Π±ΠΈΠ·Π½Π΅Ρ, Π° Π² ΠΌΠ°Π»ΡΠΉ? ΠΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π»Π΅Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠ°ΡΡ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΏΠΎΡΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ½ΠΊΠΎΡΡΠ΅ΠΉ, ΡΡΠΎ Π½Π΅ Π²ΡΡ ΡΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ CEPH ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ Π΅Π³ΠΎ ΡΠΈΡΠΎΠΊΠΎΠΌΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΠΈ ΠΈΠ·-Π·Π° Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Π·Π°ΡΠ»ΠΈ Π² ΡΡΠΏΠΈΠΊ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠ°Π³ΠΎΠ², ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΡΠΈΠ΅ Π»ΡΠ΄ΠΈ ΠΏΠΎΠ΄Π΅Π»ΡΡΡΡ ΠΎΠΏΡΡΠΎΠΌ ΠΈ ΠΏΠΎΡΡΠ½ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ β Π±ΡΠ΄Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΎΡΡ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½Π° ΡΠ΅ΡΡΡΠ·Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π΄ΠΎΠΏΡΡΠ΅Π½ΠΈΡΡ
, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ° Π²ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ CEPH
ΠΠ»Π°ΡΡΠ΅Ρ CEPH ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ K Π΄ΠΈΡΠΊΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π½ΠΈΡ , Π΄ΡΠ±Π»ΠΈΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΡΡΠΎΡΠ΅ΠΊ (4 ΠΠ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ 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. ΠΡΡΡΠ΄Π°, ΡΠ½ΡΡΠΎΠΏΠΈΡ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ. Π’Π°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ°. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ·Π»Π΅, ΠΈ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ·Π»Π°Ρ β ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π±ΡΡΡΡΠ΅Π΅. ΠΡΠΎ Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ NAS-ΠΎΠΌ, ΠΊΡΠ΄Π° Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΡΠΉ ΠΎΠ±ΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΡΡΠ΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ CEPH β Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ· ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π°Π΄ΡΠΆΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π° Π΄Π΅ΡΡΡΠΊΠΈ Π’Π Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΡΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π·Π°ΡΡΠ°ΡΡ, Π½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌΠΈ Π‘Π₯Π).
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
ΠΠ»Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° Π²ΠΎΠ·ΡΠΌΡΠΌ ΡΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Intel DQ57TM + Intel core i3 540 + 16 ΠΠ ΠΠΠ£. Π§Π΅ΡΡΡΠ΅ Π΄ΠΈΡΠΊΠ° ΠΏΠΎ 2 Π’Π ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ Π² ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ RAID10, ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π²ΡΠΎΡΠΎΠΉ ΡΠ·Π΅Π» ΠΈ Π΅ΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ Π΄ΠΈΡΠΊΠΎΠ².
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Linux. ΠΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ. ΠΠΎΠ΄ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Debian ΠΈ Suse. Π£ Suse Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ; ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Ρ Π½Π΅ ΡΠΌΠΎΠ³ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΊΠΈΠ½ΡΡΡ Π±Π΅Π· ΡΡΠ΅ΡΠ±Π° Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ. Π‘ΡΠ°Π²ΠΈΠΌ Debian ΡΠ΅ΡΠ΅Π· debootstrap buster. ΠΠΏΡΠΈΡ min-base ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠ°Π±ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ². Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Π½Π΅ ΡΠ°ΠΊ Π²Π΅Π»ΠΈΠΊΠ°, ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π±ΠΎΡΠ° Π²Π΅Π΄ΡΡΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Ρ ΠΎΡΠ΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠ½Π°ΠΏΡΠΎΡΡ, ΠΊΠ°ΠΊ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΊΠ°Ρ . Π’Π°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΠΈΠ±ΠΎ LVM, Π»ΠΈΠ±ΠΎ btrfs (ΠΈΠ»ΠΈ xfs, ΠΈΠ»ΠΈ zfs β ΡΠ°Π·Π½ΠΈΡΠ° Π½Π΅ Π²Π΅Π»ΠΈΠΊΠ°). Π£ LVM ΡΠ½Π°ΠΏΡΠΎΡΡ β Π½Π΅ ΡΠΈΠ»ΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π°. Π‘ΡΠ°Π²ΠΈΠΌ btrfs. Π Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ β Π² MBR. ΠΠ΅Ρ ΡΠΌΡΡΠ»Π° Π·Π°ΡΠΎΡΡΡΡ Π΄ΠΈΡΠΊ 50 ΠΠ ΡΠ°Π·Π΄Π΅Π»ΠΎΠΌ Ρ FAT, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠΎΠ»ΠΊΠ°ΡΡ Π΅Π³ΠΎ Π² 1 ΠΠ ΠΎΠ±Π»Π°ΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ Π²ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°Π½ΡΠ»ΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅ 700 ΠΠ. Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ SUSE β Π½Π΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ», ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΠΎΠΊΠΎΠ»ΠΎ 1.1 ΠΈΠ»ΠΈ 1.4 ΠΠ.
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ CEPH. ΠΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌ Π²Π΅ΡΡΠΈΡ 12 Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ debian ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΡΠΌΠΎ Ρ ΡΠ°ΠΉΡΠ° 15.2.3. Π‘Π»Π΅Π΄ΡΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° Β«ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ CEPH Π²ΡΡΡΠ½ΡΡΒ» ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΎΠ³ΠΎΠ²ΠΎΡΠΊΠ°ΠΌΠΈ:
- ΠΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ gnupg wget ca-certificates
- ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΎΠΏΡΡΠ΅Π½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²: 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 β ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π²Π°Ρ ΡΠ»ΡΠΆΠ±Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ° Π΄ΠΈΡΠΊΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π²Π° ΡΠ°Π·Π΄Π΅Π»Π°. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, Π½ΠΎΠΌΠ΅ΡΠ΅ Π΄ΠΈΡΠΊΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ»ΡΡΠΈ ΠΎΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΡΡΠΌΠΎΠΌ 1ΠΠ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π΄ΠΈΡΠΊΠ° ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΌΠ΅ΡΠ°Π», ΡΡΠΎΠ±Ρ ΠΌΠ΅Π½ΡΠ»Π°ΡΡ. ΠΠ° Π²ΡΠΎΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π½Π΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ CEPH. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»Π° xfs ΡΠ°Π·Π΄Π΅Π» ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 100ΠΠ Π΄Π»Ρ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π― ΡΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π» Π΄ΠΈΡΠΊ Π² MBR ΠΈ Π²ΡΠ΄Π΅Π»ΠΈΠ» Π²ΡΠ΅Π³ΠΎ Π½Π° 16ΠΠ β ΡΠ»ΡΠΆΠ±Π° Π½Π΅ ΠΆΠ°Π»ΡΠ΅ΡΡΡ. ΠΡΠΌΠ°Ρ, Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ xfs ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈ Π½Π° ext. ΠΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΡΡΡ Π² /var/lib/…, Π³Π΄Π΅ ΡΠ»ΡΠΆΠ±Π° ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± OSD, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π±Π»ΠΎΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π² /var/lib/…, Π° Π΄ΠΈΡΠΊ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ΄ Π΄Π°Π½Π½ΡΠ΅. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ OSD ΡΠ΅ΡΠ΅Π· ceph-deploy Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π»Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π° Π² /var/lib/…, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ ΠΏΡΠ°Π²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ceph Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΡΠΈ ΡΡΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌΠΎΠΌΡ, Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΠ± ΡΡΠΎΠΌ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ. Π’Π°ΠΊΠΆΠ΅ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ osd memory target, ΡΡΠΎΠ±Ρ Ρ Π²Π°ΡΠΈΠ»ΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ceph-mds. ΠΠ° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ CEPH β ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° 4ΠΠ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅. Π‘ΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π²Π° ΠΏΡΠ»Π°: ΠΎΠ΄ΠΈΠ½ Π΄Π»Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ , Π΄ΡΡΠ³ΠΎΠΉ β Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ½ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π·Π°ΠΏΠΈΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΎΠ±Π° ΠΏΡΠ»Π°, ΡΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. ΠΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Π±Π»ΠΎΠΊΠ°ΠΌ, Π½Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π». ΠΠ° Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΠ»ΡΠΆΠ±Π° ceph-mds. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠ»ΡΠΆΠ±Ρ. ΠΡΡΡ ΠΎΠΏΡΠΈΡ Β«ΠΈΠ½Π΄Π΅ΠΊΡΒ», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΉ β ΡΠΎΠΆΠ΅ Π½Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ.
Ρeph-mon β ΡΡΠ° ΡΠ»ΡΠΆΠ±Π° Ρ ΡΠ°Π½ΠΈΡ ΠΊΠ°ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Π Π½Π΅Ρ Π²Ρ ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ OSD, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ PG Π² OSD ΠΈ, ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ (Π΄Π΅ΡΠ°Π»ΠΈ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΌΠ½Π΅ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½Ρ: Π΅ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /var/lib/ceph/mon/…/store.db, Π² Π½ΡΠΌ Π»Π΅ΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΠΉΠ» β 26ΠΠ, Π° Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ 105Π ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ 256 Π±Π°ΠΉΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ,- Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡ Ρ ΡΠ°Π½ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ PG, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ Π»Π΅ΠΆΠ°Ρ). ΠΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. ΠΡΡΡΠ΄Π° ΠΈ ΡΠ΄Π΅Π»Π°Π½ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ CRUSH ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊ PG ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΠΏΠΎ OSD, Π° ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΠΏΠΎ PG β ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ Ρ ΡΠ°Π½ΡΡΡΡ Π²Π½ΡΡΡΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΊ Π±Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π΅ ΠΈΠ·Π±Π΅Π³Π°Π»ΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°. ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΠ»Π΅ΡΠΊΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ RO, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π²Π΅Π΄ΡΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄ΠΈΡΠΊ ΠΏΠΎΠ΄ ΡΡΠΈ (Π²ΡΡΠ΄ Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ 1 ΠΠ), Π²ΠΎ-Π²ΡΠΎΡΡΡ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΡΠΎΠΉ Π±Π°Π·Ρ. ΠΡΠ»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΡΠΎ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½ΠΎ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΎΠ΄ΠΈΠ½, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ β Π΄Π²Π°. ΠΡΡΡ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π°Π½Π½ΡΡ OSD, ΡΡΠΈΠΆΠ΄Ρ ΠΏΡΠΈΠ±Π΅Π³Π°Π» ΠΊ Π½Π΅ΠΉ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΠΈ ΡΡΠΈΠΆΠ΄Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ , ΠΊΠ°ΠΊ ΠΈ Π΄Π°Π½Π½ΡΡ ΡΠΎΠΆΠ΅. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΈΠ±ΠΎ ΠΌΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΠ΅ΠΌ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» Π½Π° OSD ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ RAID Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΎΡΠ΅Π½Ρ ΠΏΠ»ΠΎΡ ΠΎ ΡΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π»ΠΈΠ±ΠΎ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ Ρ ΠΎΡΡ Π±Ρ Π΄Π²Π° Π½Π°Π΄ΡΠΆΠ½ΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π½ΠΎΡΠΈΡΠ΅Π»Ρ, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, USB, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΡ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡ.
rados-gw β ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ S3 ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ»ΠΎΠ², Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΌ. ΠΡΠΎΠ±ΠΎ Π½Π΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π».
ceph-mgr β ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΡΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ β Π½Π΅ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ autoscale. ΠΠ½ ΡΡΡΠ΅ΠΌΠΈΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ PG/OSD. ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΡΡΠ½ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠ»Π°, Π½ΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° 0, ΠΈ ΡΡΠ°ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ERROR. ΠΠΎΠ΄ΡΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅, ΠΈ Π΅ΡΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π½ΡΠΌ Π½ΡΠΆΠ½ΡΡ ΡΡΡΠΎΡΠΊΡ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΅Π³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ΅ΡΠ°Π»ΠΈ Π»Π΅Π½Ρ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²:
ΠΠΈΡΡΠΈΠ½Π³ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ΅Π· 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, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΡΡ
, ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com