ZFSonLinux 0.8: Ρ„ΠΈΡ‡ΠΈ, стабилизация, ΠΈΠ½Ρ‚Ρ€ΠΈΠ³ΠΈ. Ну ΠΈ trim

Π‘ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π½Π° днях Ρ€Π΅Π»ΠΈΠ·Π½ΡƒΠ»ΠΈ ΡΠ²Π΅ΠΆΡƒΡŽ stable Π²Π΅Ρ€ΡΠΈΡŽ ZFSonLinux, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ являСтся Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ Π² ΠΌΠΈΡ€Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ OpenZFS. ΠŸΡ€ΠΎΡ‰Π°ΠΉ, OpenSolaris, здравствуй свирСпый GPL-CDDL нСсовмСстимый ΠΌΠΈΡ€ Linux.

ZFSonLinux 0.8: Ρ„ΠΈΡ‡ΠΈ, стабилизация, ΠΈΠ½Ρ‚Ρ€ΠΈΠ³ΠΈ. Ну ΠΈ trim
Под ΠΊΠ°Ρ‚ΠΎΠΌ ΠΎΠ±Π·ΠΎΡ€ самых интСрСсных Π²Π΅Ρ‰Π΅ΠΉ (Π΅Ρ‰Ρ‘ Π±Ρ‹, 2200 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²!), Π° Π½Π° дСсСрт β€” Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Ρ€ΠΈΠ³.

НовыС Ρ„ΠΈΡˆΠΊΠΈ

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, самая оТидаСмая β€” Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ датасСты встроСнным Π² ZFS ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈ (ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ β€” Π³Π»Π°Π²Π½ΠΎΠ΅) β€” Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· zfs send ΠΈ Π‘Π•Π— Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… встроСнными срСдствами, всС возмоТности ΠΏΠΎ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ цСлостности Π΄Π°Π½Π½Ρ‹Ρ… ZFS Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈ вас!

Π”Π°Π»Π΅Π΅ ΠΏΠΎ ваТности стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ Π΄Π°Π²Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ TRIM. Π”Π°, ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ добирался Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°. ΠžΡ‚Ρ‡Π°ΡΡ‚ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ для CoW Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм Π½Π΅ Ρ‚Π°ΠΊ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с износом SSD. Но Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ всС спокойны — zpool trim спасёт наши Π½Π΅ΠΆΠ½Ρ‹Π΅ Ρ„Π»Π΅ΡˆΠΊΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ случайно Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ vdev массивы ΠΈΠ· ΠΏΡƒΠ»Π° (Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ссли это sparse ΠΈΠ»ΠΈ mirror). ПолСзная ΠΌΠ΅Π»ΠΎΡ‡ΡŒ.

Π”Π°Π»Π΅Π΅ Π² нашСм Ρ…ΠΈΡ‚-ΠΏΠ°Ρ€Π°Π΄Π΅ β€” pool checkpoints. ΠšΡ€Π°Ρ‚ΠΊΠΎ β€” ΡΠ½Π°ΠΏΡˆΠΎΡ‚Ρ‹ для всСго состояния ΠΏΡƒΠ»Π°, НО Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ измСнСния Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π½Π° ΠΏΡƒΠ»Π΅ features ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² структурС. Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠΈΡ‚ΡŒΡΡ.

Pool initialization β€” Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰Π΅Π³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° нулями. ПолСзно для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² срСдах с thin provisioned дисками для явного выдСлСния пространства ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… просадок ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² дальнСйшСм.

Project accounting and quota β€” Π² ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ ΠΊΠ²ΠΎΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹.

Channel programs β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ административныС Π·Π°Π΄Π°Ρ‡ΠΈ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Lua скриптов. Π•ΡΡ‚ΡŒ Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° врСмя выполнСния ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Если Π²Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚Π΅ΡΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ β€” Ρ‚ΠΎ это для вас.

Direct IO β€” для простоты ΠΏΡ€ΠΎΠΊΠΈΠ½ΡƒΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ Direct IO, Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ помСнялось (просто Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈΠ΄ΡƒΡ‚ максимально ΠΌΠΈΠΌΠΎ кСша), Π·Π°Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΆΠ΅Π»Π°ΡŽΡ‰Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ПО Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ€Π΅Π²Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Pyzfs Π²Π»ΠΈΡ‚ Π² основной Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ взят ΠΏΠΎΠ΄ ΠΊΡ€Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ZFSonLinux. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ большС срСдств для управлСния ΠΈΠ· ΠΏΠΈΡ‚ΠΎΠ½Π° (Π½Ρƒ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ спокойнСС Π·Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ модуля). Π’Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ python скрипты Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎΠ΄ python3.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ вкусноС β€” ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ scrub ΠΈ resilver опСрациях сначала Π²Ρ‹Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π² максимально ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ β€” Π΄Π°Π½Π½Ρ‹Π΅. Π’Π΅ΠΌ самым восстановлСниС массива ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° цСлостности проходят Π½Π° максимальной скорости.

Allocation classes β€” Ρƒ vdev массивов появился Ρ‚ΠΈΠΏ носитСлСй, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ вынСсти Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…/Ρ‚Π°Π±Π»ΠΈΡ† Π΄Π΅Π΄ΡƒΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ(DDT)/Π±Π»ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΅ Π₯ ΠšΠ±Π°ΠΉΡ‚ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ vdev массив ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дисков. Π‘ΠΎΠ»ΡŒΡˆΠ΅ скорости Π±ΠΎΠ³Ρƒ скорости! (Π° ΠΏΠΎ Π΄Π΅Π»Ρƒ β€” эта Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ пригодится Π² грядущСм DRAID).

МногиС административныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС Π·Π° счёт Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, zfs list, zfs get).

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π°Π»Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΎΠ²Π°Π½, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° свободного пространства (metaslab) создаётся нСсколько Π°Π»Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Π‘ NVME ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ всё Π½Π΅ выТмСтся, Π½ΠΎ станСт Π»ΡƒΡ‡ΡˆΠ΅.

ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ восстановлСниС цСлостности массива ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π΅ Π½Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ массив ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ пСрСсборкой Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дисков, Π° Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Π΅ΠΌ самым ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡΡ ΠΈ влияниС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈ врСмя пСрСсборки.

ΠŸΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ ΠΏΡƒΠ»ΠΎΠ² с большим количСством volumes ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈΡ… рСгистрации Π² систСмС.

Π’Π°ΠΊΠΆΠ΅ QAT Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ позволяСт Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ расчёт ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм.

Плюс ΠΊΡƒΡ‡Π° ΠΌΠ΅Π»ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (всё Ρ‚Π°ΠΊΠΈ 2000+ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² Ρ€Π΅Π»ΠΈΠ·Π΅!).

Ну ΠΈ Π½Π° дСсСрт β€” ΠΈΠ½Ρ‚Ρ€ΠΈΠ³ΠΈ

Π₯отя ZFSonLinux ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ добавляСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ свСТих ядСр Linux (сСйчас ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ вСрсии 2.6.32 β€” 5.1*), ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ядра ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ ΡΠ²Π½ΡƒΡŽ Π½Π΅Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π² ΠΏΠΎΠΌΠΎΡ‰ΠΈ сторонним модулям («…we do not care at all about
external kernel modules…
β€” greg k-h»). Π’Π°ΠΊ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ядра Π² Π²Π΅Ρ‚ΠΊΠ΅ 5.0 Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° GPL-only . Π’ ядрах с этим ΠΏΠ°Ρ‚Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ZFS Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΡƒΠΆΠ΅. БпасаСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сторонС модуля, Ρ‡Ρ‚ΠΎ скорСС всСго ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ сдСлано. А ΠΏΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с NixOS β€” ΠΎΠ½ΠΈ просто ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΠ»ΠΈ ΠΏΠ°Ρ‚Ρ‡ Π² ядрС πŸ™‚

Π’Π°ΠΊΠΆΠ΅ Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠΆΠ΅ появился Code of Conduct, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠ΄ΠΈΠ»ΠΎ Π²ΠΎΠ»Π½Ρƒ Ρ…ΠΎΠ»ΠΈΠ²Π°Ρ€ΠΎΠ². Но ΠΌΡ‹ устояли πŸ™‚

ВсСм Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π±Π΅ΠΊΠ°ΠΏΠΎΠ² ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·ΠΎΠ²!

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки:
β€” Ρ€Π΅Π»ΠΈΠ· Π½Π° Github
β€” моя вводная Π² ZFS

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

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