Π’ ядро Linux Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Live Update Orchestrator для обновлСния Π² Live-Ρ€Π΅ΠΆΠΈΠΌΠ΅

Π’ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ ядра Linux, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² Π½Π°Ρ‡Π°Π»Π΅ фСвраля Π±ΡƒΠ΄Π΅Ρ‚ сформирован Ρ€Π΅Π»ΠΈΠ· 6.19, принят ΠΊΠΎΠ΄ подсистСмы LUO (Live Update Orchestrator), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google для обновлСния ядра Π² Live-Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· физичСской ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° базируСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ KHO (Kexec HandOver), Ρ€Π°Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΌ Π² ядро 6.16 ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска Π½ΠΎΠ²ΠΎΠ³ΠΎ ядра ΠΈΠ· старого Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ состояния систСмы.

Live Update Orchestrator позволяСт ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ядро Π±Π΅Π· остановки Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π½Π΅ тСряя состояниС систСмы, устройств ΠΈ процСссов. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ KHO, подсистСма LUO сохраняСт состояниС устройств ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π° Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, связанных с DMA ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. БостояниС сохраняСтся Π΄ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° Π½ΠΎΠ²ΠΎΠ΅ ядро ΠΈ восстанавливаСтся послС задСйствования Π½ΠΎΠ²ΠΎΠ³ΠΎ ядра Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с устройствами, осущСствляСмых систСмой ΠΈ прилоТСниями Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π½ΠΎΠ²ΠΎΠΉ сСрии ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сохранСния Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… дСскрипторов memfd для поддСрТания состояния Π²Π°ΠΆΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ содСрТимоС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин. Π’ качСствС основой области использования подсистСмы упоминаСтся быстроС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ сСрвСров с систСмами Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° KVM, для устранСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈ минимальном Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ простоя Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин. Компания Google ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ эту Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Π² своих Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… окруТСниях.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ livepatch, Ksplice, kpatch, kGraft ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² горячСго налоТСния ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ, новая подсистСма Π½Π΅ ограничиваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ примСнСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… исправлСний ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ ядру ΠΈ позволяСт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ядро. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π²Ρ‹Π·ΠΎΠ²Π° kexec, подсистСма LUO сохраняСт состояниС устройств ΠΈ подсистСм ядра ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²Ρ‹Π·ΠΎΠ² kexec Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ лишь ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ Π½ΠΎΠ²ΠΎΠ΅ ядро с ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ систСмы (эквивалСнт ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π½ΠΎ Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ