ΠŸΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Bcachefs Π² состав ядра Linux

ΠšΠ΅Π½Ρ‚ ΠžΠ²Π΅Ρ€ΡΡ‚Ρ€ΠΈΡ‚ (Kent Overstreet), Π°Π²Ρ‚ΠΎΡ€ входящСй Π² состав ядра Linux систСмы ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств Π½Π° SSD-накопитСлях BCache, Π² своём выступлСнии Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ LSFMM 2023 (Linux Storage, Filesystem, Memory Management & BPF Summit) ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΠ» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Bcachefs Π² основной состав ядра Linux ΠΈ рассказал ΠΎ ΠΏΠ»Π°Π½Π°Ρ… ΠΏΠΎ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Π΄Π°Π½Π½ΠΎΠΉ Π€Π‘. Π’ ΠΌΠ°Π΅ для рСцСнзирования ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² основной состав ядра Linux Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π€Π‘ Bcachefs. Π€Π‘ Bcachefs развиваСтся ΡƒΠΆΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 10 Π»Π΅Ρ‚. О готовности рСцСнзирования Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Bcachefs ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π² состав ядра Π±Ρ‹Π»ΠΎ объявлСно Π΅Ρ‰Ρ‘ Π² ΠΊΠΎΠ½Ρ†Π΅ 2020 Π³ΠΎΠ΄Π° ΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ ΡƒΡ‡Ρ‚Π΅Π½Ρ‹ выявлСнныС ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ замСчания ΠΈ Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ЦСлью Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Bcachefs являСтся достиТСниС уровня XFS Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, надёТности ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ, прСдоставляя ΠΏΡ€ΠΈ этом Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности, свойствСнныС Btrfs ΠΈ ZFS, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… устройств, многослойныС раскладки Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ, рСпликация (RAID 1/10), ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ΅ сТатиС Π΄Π°Π½Π½Ρ‹Ρ… (Ρ€Π΅ΠΆΠΈΠΌΡ‹ LZ4, gzip ΠΈ ZSTD), срСзы состояния (ΡΠ½Π°ΠΏΡˆΠΎΡ‚Ρ‹), вСрификация цСлостности ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ суммам, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ хранСния ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ ошибок Π ΠΈΠ΄Π°—Π‘ΠΎΠ»ΠΎΠΌΠΎΠ½Π° (RAID 5/6), Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ChaCha20 ΠΈ Poly1305). По ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Bcachefs ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ Btrfs ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π€Π‘ Π½Π° Π±Π°Π·Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Copy-on-Write, ΠΈ дСмонстрируСт ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π±Π»ΠΈΠ·ΠΊΡƒΡŽ ΠΊ Ext4 ΠΈ XFS.

Из послСдних достиТСний Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Bcachefs отмСчаСтся стабилизация Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ², доступных Π½Π° запись. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Btrfs ΡΠ½Π°ΠΏΡˆΠΎΡ‚Ρ‹ Π² Bcachefs Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ Π»ΠΈΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, свойствСнных Btrfs. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‚Π° ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ² ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования MySQL. Π’ Bcachefs Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° большая Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ — файловая систСма Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»Π° сСбя ΠΏΡ€ΠΈ тСстировании Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ…, Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 100 Π’Π‘, ΠΈ Π² блиТайшСС врСмя оТидаСтся Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Bcachefs Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 1 ΠŸΠ‘. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ nocow для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° «copy-on-write» (nocow). Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π»Π΅Ρ‚Π° ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ довСсти Π΄ΠΎ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ состояния Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ ошибок ΠΈ RAIDZ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с высоким ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ памяти ΠΏΡ€ΠΈ восстановлСнии ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π€Π‘ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ fsck.

Из ΠΏΠ»Π°Π½ΠΎΠ² Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ упоминаСтся ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Bcachefs язык Rust. По мнСнию Π°Π²Ρ‚ΠΎΡ€Π° Bcachefs, ΠΎΠ½ Π»ΡŽΠ±ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π½Π΅ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±Π΅Π·ΡƒΠΌΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° языкС Π‘ΠΈ, ΠΊΠΎΠ³Π΄Π° появился Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Rust ΡƒΠΆΠ΅ задСйствован Π² Bcachefs Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, запускаСмых Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹Π½Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ идСя постСпСнно ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Bcachefs Π½Π° Rust, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ использованиС этого языка сущСствСнно экономит врСмя Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ.

Π§Ρ‚ΠΎ касаСтся продвиТСния Bcachefs Π² основной состав ядра Linux, Ρ‚ΠΎ процСсс принятия ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚ΡΠ½ΡƒΡ‚ΡŒΡΡ ΠΈΠ·-Π·Π° достаточной большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (2500 ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ ΠΈ ΠΎΠΊΠΎΠ»ΠΎ 90 тысяч строк ΠΊΠΎΠ΄Π°), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Для ускорСния рСцСнзирования Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ΡΠ΅Ρ€ΠΈΡŽ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΈ логичСски Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ части. Π’ процСссС обсуТдСния, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ участники Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΠ΄Π½ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Π±Π΅Π· сопровоТдСния, Π² случаС Ссли с Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ (ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ интСрСс Π΄Π²Π° сотрудника Red Hat, Π½ΠΎ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎΠΊΠ° ограничиваСтся исправлСниСм ошибок).

Bcachefs развиваСтся с использованиСм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡƒΠΆΠ΅ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства Bcache, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ доступа ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ Тёстким дискам Π½Π° быстрых SSD-накопитСлях (Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ядро, начиная с выпуска 3.10). Π’ Bcachefs ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Copy-on-Write (COW), ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ измСнСния Π½Π΅ приводят ΠΊ пСрСзаписи Π΄Π°Π½Π½Ρ‹Ρ… — Π½ΠΎΠ²ΠΎΠ΅ состояниС записываСтся Π² Π½ΠΎΠ²ΠΎΠ΅ мСсто, послС Ρ‡Π΅Π³ΠΎ мСняСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ состояния.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Bcachefs являСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многослойного ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ компонуСтся ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слоёв — ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ слою ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ быстрыС Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΠΈ (SSD), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ слой ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‘ΠΌΠΊΠΈΠ΅ ΠΈ Π΄Π΅ΡˆΡ‘Π²Ρ‹Π΅ диски, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΅ вострСбованных Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠ΅ΠΆΠ΄Ρƒ слоями ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ записи (writeback). НакопитСли ΠΌΠΎΠΆΠ½ΠΎ динамичСски Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π»Π° Π±Π΅Π· остановки использования Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы (Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΈΠ³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ автоматичСски).

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