ΠžΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° дистрибуираниот Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½ Π±Π»ΠΎΠΊ ΡƒΡ€Π΅Π΄ DRBD 9.2.0

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· распрСдСлСнного Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства DRBD 9.2.0, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ массива RAID-1, сформированного ΠΈΠ· ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½Π½Ρ‹Ρ… ΠΏΠΎ сСти Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дисков Ρ€Π°Π·Π½Ρ‹Ρ… машин (Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ сСти). БистСма ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π° Π² Π²ΠΈΠ΄Π΅ модуля для ядра Linux ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv2. Π’Π΅Ρ‚ΠΊΠ° drbd 9.2.0 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹ drbd 9.x.x ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстима Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚.

DRBD Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΠΈ ΡƒΠ·Π»ΠΎΠ² кластСра Π² Π΅Π΄ΠΈΠ½ΠΎΠ΅ отказоустойчивоС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ систСмы Ρ‚Π°ΠΊΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ выглядит ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ для всСх систСм Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ устройство. ΠŸΡ€ΠΈ использовании DRBD всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ диском ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΠ·Π»Ρ‹ ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с дисками Π΄Ρ€ΡƒΠ³ΠΈΡ… машин. Π’ случаС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· строя ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ автоматичСски ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π·Π° счёт ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΡƒΠ·Π»ΠΎΠ². ΠŸΡ€ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ доступности сбойного ΡƒΠ·Π»Π°, Π΅Π³ΠΎ состояниС Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ Π΄ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°.

ΠšΠ»Π°ΡΡ‚Π΅Ρ€ΠΎΡ‚ ΡˆΡ‚ΠΎ Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ дСсСтици јазли Π»ΠΎΡ†ΠΈΡ€Π°Π½ΠΈ ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° ΠΈ гСографски дистрибуирани Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ†Π΅Π½Ρ‚Ρ€ΠΈ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ Ρ‚Π°ΠΊΠ²ΠΈ Ρ€Π°Π·Π³Ρ€Π°Π½Π΅Ρ‚ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° сС ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π° со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ½ΠΈ ΠΌΡ€Π΅ΠΆΠ½ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Ρ‚Π΅Ρ‡Π°Ρ‚ ΠΏΠΎ ΡΠΈΠ½ΡŸΠΈΡ€ΠΎΡ‚ ΠΎΠ΄ јазол Π΄ΠΎ јазол). Π Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Ρ˜Π°Π·Π»ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΈ Π²ΠΎ синхрон ΠΈ асинхрон Ρ€Π΅ΠΆΠΈΠΌ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π»ΠΎΠΊΠ°Π»Π½ΠΎ хостиранитС јазли ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° користат синхрона Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, Π° Π·Π° прСнос Π½Π° ΠΎΠ΄Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΈ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, асинхроната Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи со Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π° ΠΈ ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΡΠΎΠΎΠ±Ρ€Π°ΡœΠ°Ρ˜ΠΎΡ‚.

ΠžΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° дистрибуираниот Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½ Π±Π»ΠΎΠΊ ΡƒΡ€Π΅Π΄ DRBD 9.2.0

Π’ΠΎ Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:

  • Π‘Π½ΠΈΠΆΠ΅Π½Ρ‹ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… запросов Π½Π° запись. Π‘ΠΎΠ»Π΅Π΅ плотная интСграция с сСтСвым стСком ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ число ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ контСкста ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°.
  • Π‘Π½ΠΈΠΆΠ΅Π½Π° конкурСнция ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π²ΠΎΠ΄ΠΎΠΌ/Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²Π²ΠΎΠ΄ΠΎΠΌ/Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ рСсинхронизации Π·Π° счёт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΏΡ€ΠΈ рСсинхронизации экстСнтов.
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ рСсинхронизации Π½Π° бэкСндах, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… примСняСтся динамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ мСста Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (Β«thin provisioningΒ»). ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ благодаря объСдинСнию ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ trim/discard, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ дольшС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСтСвых пространств ΠΈΠΌΡ‘Π½ (network namespaces), которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Kubernetes для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΈΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ, вмСсто сСти хост-окруТСния.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ transport_rdma для использования Π² качСствС транспорта Infiniband/RoCE вмСсто TCP/IP ΠΏΠΎΠ²Π΅Ρ€Ρ… Ethernet. ИспользованиС Π½ΠΎΠ²ΠΎΠ³ΠΎ транспорта позволяСт ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° CPU ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ копирования (zero-copy).

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€