Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност

Π’Π°Π·ΠΈ ΠΏΡ€ΠΎΠ»Π΅Ρ‚ Π²Π΅Ρ‡Π΅ ΠΎΠ±ΡΡŠΠ΄ΠΈΡ…ΠΌΠ΅ някои ΡƒΠ²ΠΎΠ΄Π½ΠΈ Ρ‚Π΅ΠΌΠΈ, Π½Π°ΠΏΡ€. ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ скоростта Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ устройства ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ RAID. Π’ΡŠΠ² Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΎΡ‚ тях Π΄ΠΎΡ€ΠΈ ΠΎΠ±Π΅Ρ‰Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΠΌ Π΄Π° ΠΈΠ·ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ производитСлността Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ многодискови Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² ZFS. Π’ΠΎΠ²Π° Π΅ слСдващото ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, която сСга сС внСдрява навсякъдС ябълка Π΄ΠΎ Ubuntu.

Π•, днСс Π΅ Π½Π°ΠΉ-добрият Π΄Π΅Π½ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ със ZFS, Π»ΡŽΠ±ΠΎΠΏΠΈΡ‚Π½ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π½Π°ΠΉΡ‚Π΅, Ρ‡Π΅ спорСд скромната ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° OpenZFS ΠœΠ°Ρ‚ АрСнс, β€žΠ½Π°ΠΈΡΡ‚ΠΈΠ½Π° Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎβ€œ.

Но ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° стигнСм Π΄ΠΎ числата – Π° Ρ‚Π°ΠΊΠΈΠ²Π° Ρ‰Π΅ ΠΈΠΌΠ°, ΠΎΠ±Π΅Ρ‰Π°Π²Π°ΠΌ – Π·Π° всички Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π½Π° конфигурацията Π½Π° ZFS с осСм диска, трябва Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΊΠ°Ρ‚ΠΎ ΠšΠ°Ρ‚ΠΎ цяло ZFS ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ Π½Π° диск.

Zpool, vdev ΠΈ устройство

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
Π’Π°Π·ΠΈ пълна Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ° Π½Π° ΠΏΡƒΠ»Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° Ρ‚Ρ€ΠΈ спомагатСлни vdev, ΠΏΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ всСки клас ΠΈ Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ Π·Π° RAIDz2

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
ОбикновСно няма ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π½Π΅ΡΡŠΠ²ΠΏΠ°Π΄Π°Ρ‰ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ Π½Π° vdev - Π½ΠΎ Π°ΠΊΠΎ искатС, Π½ΠΈΡ‰ΠΎ Π½Π΅ Π²ΠΈ ΠΏΡ€Π΅Ρ‡ΠΈ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅

Π—Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ наистина Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ZFS, трябва Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ‚Π΅ ΠΎΡ‚Π±Π»ΠΈΠ·ΠΎ дСйствитСлната ΠΉ структура. ΠŸΡŠΡ€Π²ΠΎ, ZFS обСдинява Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ слоСвС Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π΅ΠΌ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма. Π’Ρ‚ΠΎΡ€ΠΎ, Ρ‚ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запис. Π’Π΅Π·ΠΈ характСристики ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°Ρ‚, Ρ‡Π΅ систСмата Π΅ структурно ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° ΠΎΡ‚ ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми ΠΈ RAID масиви. ΠŸΡŠΡ€Π²ΠΈΡΡ‚ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ основни Π³Ρ€Π°Π΄ΠΈΠ²Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅, са ΠΏΡƒΠ»ΡŠΡ‚ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ (zpool), Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎΡ‚ΠΎ устройство (vdev) ΠΈ Ρ€Π΅Π°Π»Π½ΠΎΡ‚ΠΎ устройство (устройство).

zpool

ΠŸΡƒΠ»ΡŠΡ‚ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° zpool Π΅ Π½Π°ΠΉ-Π³ΠΎΡ€Π½Π°Ρ‚Π° ZFS структура. ВсСки ΠΏΡƒΠ» ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ устройства. На свой Ρ€Π΅Π΄ всСки ΠΎΡ‚ тях ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ€Π΅Π°Π»Π½ΠΈ устройства (устройства). Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ басСйни са самостоятСлни Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ. Π•Π΄ΠΈΠ½ физичСски ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Π΄Π²Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΏΡƒΠ»Π°, Π½ΠΎ всСки ΠΎΡ‚ тях Π΅ напълно нСзависим ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅. ΠŸΡƒΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сподСлят Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ устройства.

Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ZFS Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ устройство, Π° Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡƒΠ». Няма Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ излишък Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡƒΠ»β€”Π°ΠΊΠΎ сС Π·Π°Π³ΡƒΠ±ΠΈ vdev ΠΈΠ»ΠΈ спСциалСн vdev, цСлият ΠΏΡƒΠ» сС Π³ΡƒΠ±ΠΈ Π·Π°Π΅Π΄Π½ΠΎ с Π½Π΅Π³ΠΎ.

Π‘ΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ ΠΏΡƒΠ»ΠΎΠ²Π΅ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° прСТивСят Π·Π°Π³ΡƒΠ±Π°Ρ‚Π° Π½Π° кСша ΠΈΠ»ΠΈ ΠΆΡƒΡ€Π½Π°Π»Π° Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ устройство - Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° загубят ΠΌΠ°Π»ΠΊΠΎ количСство ΠΌΡ€ΡŠΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ, Π°ΠΊΠΎ загубят vdev ΠΆΡƒΡ€Π½Π°Π»Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈΠ»ΠΈ срив Π½Π° систСмата.

Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° чСсто срСщано ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎ схващанС, Ρ‡Π΅ ZFS β€žΠ»Π΅Π½Ρ‚ΠΈΡ‚Π΅ с Π΄Π°Π½Π½ΠΈβ€œ сС записват Π² цСлия ΠΏΡƒΠ». Π’ΠΎΠ²Π° Π½Π΅ Π΅ вярно. Zpool Π½Π΅ Π΅ смСшСн RAID0, Ρ‚ΠΎΠΉ Π΅ ΠΏΠΎ-скоро смСшСн JBOD със слоТСн ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.

Π’ ΠΏΠΎ-голямата си част записитС сС разпрСдСлят ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ устройства спорСд Π½Π°Π»ΠΈΡ‡Π½ΠΎΡ‚ΠΎ свободно пространство, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π° тСория всички Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ запълнСни Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. По-Π½ΠΎΠ²ΠΈΡ‚Π΅ вСрсии Π½Π° ZFS Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° vdev (ΠΈΠ·Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅) - Π°ΠΊΠΎ Π΅Π΄Π½ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ устройство Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½ΠΎ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ ΠΏΡ€ΠΈ Ρ‡Π΅Ρ‚Π΅Π½Π΅), Ρ‚ΠΎ Ρ‰Π΅ бъдС Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ пропуснато Π·Π° запис, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΈΠΌΠ° Π½Π°ΠΉ-високото ΡΡŠΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° свободно пространство .

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Ρ€Π΅Ρ†ΠΈΠΊΠ»ΠΈΡ€Π°Π½Π΅, Π²Π³Ρ€Π°Π΄Π΅Π½ Π² ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° разпрСдСлянС Π½Π° запис Π½Π° ZFS, ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ латСнтността ΠΈ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ пропускатСлната способност ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈ Π½Π° Π½Π΅ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΎ високо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ - Π½ΠΎ Π½Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΊΠ°Ρ€Ρ‚Π±Π»Π°Π½Ρˆ Π΄ΠΎ Π½Π΅Π²ΠΎΠ»Π½ΠΎ смСсванС Π½Π° Π±Π°Π²Π½ΠΈ HDD ΠΈ Π±ΡŠΡ€Π·ΠΈ SSD Π² Π΅Π΄ΠΈΠ½ ΠΏΡƒΠ». Вакъв Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π΅Π½ ΠΏΡƒΠ» всС ΠΎΡ‰Π΅ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ със скоростта Π½Π° Π½Π°ΠΉ-Π±Π°Π²Π½ΠΎΡ‚ΠΎ устройство, Ρ‚.Π΅. сякаш Π΅ изцяло ΡΡŠΡΡ‚Π°Π²Π΅Π½ ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠ²Π° устройства.

vdev

ВсСки ΠΏΡƒΠ» Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ устройства (vdev). На свой Ρ€Π΅Π΄ всСки vdev Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ€Π΅Π°Π»Π½ΠΈ устройства. ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ устройства сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° просто ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΠΈΠΌΠ° няколко vdev ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ класа, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ CACHE, LOG ΠΈ SPECIAL. ВсСки ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ vdev ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π΅Π΄Π½Π° ΠΎΡ‚ ΠΏΠ΅Ρ‚Ρ‚Π΅ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ: Π΅Π΄Π½ΠΎ устройство, RAIDz1, RAIDz2, RAIDz3 ΠΈΠ»ΠΈ ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎ.

RAIDz1, RAIDz2 ΠΈ RAIDz3 са спСциални разновидности Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ старитС Ρ…ΠΎΡ€Π° Π±ΠΈΡ…Π° Π½Π°Ρ€Π΅ΠΊΠ»ΠΈ RAID с Π΄Π²ΠΎΠ΅Π½ (Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅Π½) ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚. 1, 2 ΠΈ 3 сС отнасят Π΄ΠΎ Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ Π±Π»ΠΎΠΊΠ° Π·Π° ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚ са Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π·Π° всяка Π»Π΅Π½Ρ‚Π° Π·Π° Π΄Π°Π½Π½ΠΈ. ВмСсто Π΄Π° ΠΈΠΌΠ°Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ дисковС Π·Π° осигуряванС Π½Π° ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ RAIDz устройства разпрСдСлят ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚Π° ΠΏΠΎΠ»ΡƒΡ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ дисковСтС. Π•Π΄ΠΈΠ½ RAIDz масив ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π³ΡƒΠ±ΠΈ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° дисковС, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈΠΌΠ° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π·Π° ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚; Π°ΠΊΠΎ Π·Π°Π³ΡƒΠ±ΠΈ Π΄Ρ€ΡƒΠ³, Ρ‚ΠΎΠΉ Ρ‰Π΅ сС ΠΏΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈ Ρ‰Π΅ Π²Π·Π΅ΠΌΠ΅ ΠΏΡƒΠ»Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ със сСбС си.

Π’ ΠΎΠ³Π»Π΅Π΄Π°Π»Π½ΠΈΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ устройства (mirror vdev), всСки Π±Π»ΠΎΠΊ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π½Π° всяко устройство във vdev. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΎΠ³Π»Π΅Π΄Π°Π»Π°Ρ‚Π° с Π΄Π²Π΅ ΡˆΠΈΡ€ΠΈΠ½ΠΈ са Π½Π°ΠΉ-чСсто срСщанитС, Π΅Π΄Π½ΠΎ ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π±Ρ€ΠΎΠΉ устройства - Π² Π³ΠΎΠ»Π΅ΠΌΠΈ инсталации Ρ‚Ρ€ΠΎΠΉΠ½ΠΈΡ‚Π΅ чСсто сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° подобряванС Π½Π° производитСлността Π½Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ устойчивостта Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. ΠžΠ³Π»Π΅Π΄Π°Π»ΠΎΡ‚ΠΎ Π½Π° vdev ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΆΠΈΠ²Π΅Π΅ всяка ΠΏΠΎΠ²Ρ€Π΅Π΄Π°, стига ΠΏΠΎΠ½Π΅ Π΅Π΄Π½ΠΎ устройство във vdev Π΄Π° останС Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎ.

Π•Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΈΡ‚Π΅ vdev са опасни ΠΏΠΎ своята ΡΡŠΡ‰Π½ΠΎΡΡ‚. Π’Π°ΠΊΠΎΠ²Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ устройство няма Π΄Π° ΠΏΡ€Π΅ΠΆΠΈΠ²Π΅Π΅ Π½ΠΈΡ‚ΠΎ Π΅Π΄Π½Π° ΠΏΠΎΠ²Ρ€Π΅Π΄Π° - ΠΈ Π°ΠΊΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈΠ»ΠΈ спСциалСн vdev, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΠΎΠ²Ρ€Π΅Π΄Π°Ρ‚Π° ΠΌΡƒ Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡƒΠ½ΠΈΡ‰ΠΎΠΆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° цСлия ΠΏΡƒΠ». Π‘ΡŠΠ΄Π΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΈ Ρ‚ΡƒΠΊ.

CACHE, LOG ΠΈ SPECIAL Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ устройства ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ създадСни във всяка ΠΎΡ‚ Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ - Π½ΠΎ Π½Π΅ забравяйтС, Ρ‡Π΅ Π·Π°Π³ΡƒΠ±Π°Ρ‚Π° Π½Π° SPECIAL Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ устройство ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° Π·Π°Π³ΡƒΠ±Π° Π½Π° ΠΏΡƒΠ»Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΈΠ·Π»ΠΈΡˆΠ½Π°Ρ‚Π° топология Π΅ силно ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π½Π°.

приспособлСниС

Π’ΠΎΠ²Π° Π΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π°ΠΉ-лСсният Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π² ZFS - Ρ‚ΠΎΠ²Π° Π΅ Π±ΡƒΠΊΠ²Π°Π»Π½ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ устройство с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ. НС забравяйтС, Ρ‡Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ устройства са ΡΡŠΡΡ‚Π°Π²Π΅Π½ΠΈ ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ устройства, Π° ΠΏΡƒΠ»ΡŠΡ‚ Π΅ ΡΡŠΡΡ‚Π°Π²Π΅Π½ ΠΎΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ устройства.

ДисковСтС, ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΈ ΠΈΠ»ΠΈ Ρ‚Π²ΡŠΡ€Π΄ΠΎΡ‚Π΅Π»Π½ΠΈ, са Π½Π°ΠΉ-чСсто срСщанитС Π±Π»ΠΎΠΊΠΎΠ²ΠΈ устройства, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ Π³Ρ€Π°Π΄ΠΈΠ²Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° vdev. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° всяко устройство с дСскриптор Π² /dev Ρ‰Π΅ ΡΠ²ΡŠΡ€ΡˆΠΈ Ρ€Π°Π±ΠΎΡ‚Π° - Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ†Π΅Π»ΠΈ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ RAID масиви ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ устройства.

ΠŸΡ€ΠΎΡΡ‚ΠΈΡΡ‚ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Ρ„Π°ΠΉΠ» Π΅ Π΅Π΄Π½ΠΎ ΠΎΡ‚ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ устройства, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ vdev. ВСстови басСйни ΠΎΡ‚ Ρ€Π΅Π΄ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Π½Π° ΠΏΡƒΠ»Π° ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ място Π΅ Π½Π°Π»ΠΈΡ‡Π½ΠΎ Π² ΠΏΡƒΠ»Π° ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎΡ‚ΠΎ устройство с Π΄Π°Π΄Π΅Π½Π° топология.

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ тСстов ΠΏΡƒΠ» ΠΎΡ‚ Ρ€Π΅Π΄ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ само Π·Π° няколко сСкунди - Π½ΠΎ Π½Π΅ забравяйтС слСд Ρ‚ΠΎΠ²Π° Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅Ρ‚Π΅ цСлия ΠΏΡƒΠ» ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ

Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ искатС ΡΡŠΡ€Π²ΡŠΡ€ с осСм диска ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ 10 TB (~9300 GiB) дисковС – Π½ΠΎ Π½Π΅ стС сигурни коя топология отговаря Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π΅ Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ Π½ΡƒΠΆΠ΄ΠΈ. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎ-Π³ΠΎΡ€Π΅ Π½ΠΈΠ΅ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ тСстов ΠΏΡƒΠ» ΠΎΡ‚ Ρ€Π°Π·Ρ€Π΅Π΄Π΅Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° няколко сСкунди - ΠΈ сСга Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ RAIDz2 vdev ΠΎΡ‚ осСм 10 TB диска осигурява 50 TiB ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π΅ΠΌ ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚.

Π”Ρ€ΡƒΠ³ спСциалСн клас устройства са SPARE. Устройствата с Π³ΠΎΡ€Π΅Ρ‰Π° смяна, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ устройства, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ към цСлия ΠΏΡƒΠ», Π° Π½Π΅ към Π΅Π΄Π½ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ устройство. Ако някоС vdev Π² ΠΏΡƒΠ»Π° сС ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ ΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎ устройство Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ към ΠΏΡƒΠ»Π° ΠΈ Π΅ Π½Π°Π»ΠΈΡ‡Π½ΠΎ, Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Ρ‰Π΅ сС ΠΏΡ€ΠΈΡΡŠΠ΅Π΄ΠΈΠ½ΠΈ към засСгнатия vdev.

Π’Π΅Π΄Π½ΡŠΠΆ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ със засСгнатия vdev, замСстващото устройство Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° копия ΠΈΠ»ΠΈ рСконструкции Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° са Π½Π° липсващото устройство. Π’ традиционния RAID Ρ‚ΠΎΠ²Π° сС Π½Π°Ρ€ΠΈΡ‡Π° "rebuilding", Π° Π² ZFS Π΅ "resilvering".

Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ замСстващитС устройства Π½Π΅ замСнят ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½ΠΈΡ‚Π΅ устройства. Π’ΠΎΠ²Π° Π΅ само Π²Ρ€Π΅ΠΌΠ΅Π½Π½Π° замяна, Π·Π° Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° vdev Π·Π° Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€Π°Π½Π΅. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π·Π°ΠΌΠ΅Π½ΠΈ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ vdev устройство, Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ сС Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π° Π½Π° Ρ‚ΠΎΠ²Π° постоянно устройство ΠΈ SPARE сС ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° ΠΎΡ‚ vdev ΠΈ сС Π²Ρ€ΡŠΡ‰Π° ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎ Π·Π° цСлия ΠΏΡƒΠ».

Набори ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΈ сСктори

БлСдващият Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π³Ρ€Π°Π΄ΠΈΠ²Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π² Π½Π°ΡˆΠ΅Ρ‚ΠΎ ZFS ΠΏΡŠΡ‚ΡƒΠ²Π°Π½Π΅, сС отнасят ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π΄ΠΎ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π° ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π΄ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚ ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ самитС Π΄Π°Π½Π½ΠΈ. ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ°ΠΌΠ΅ няколко слоя Ρ‚ΡƒΠΊ - ΠΊΠ°Ρ‚ΠΎ metaslab - Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΠΌ ΠΏΡ€Π΅Ρ‚Ρ€ΡƒΠΏΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈΡ‚Π΅, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° цялостната структура.

Набор ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
ΠšΠΎΠ³Π°Ρ‚ΠΎ Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚ създадСм Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, Ρ‚ΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π²Π° цялото Π½Π°Π»ΠΈΡ‡Π½ΠΎ пространство Π² ΠΏΡƒΠ»Π°. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π·Π°Π΄Π°Π²Π°ΠΌΠ΅ ΠΊΠ²ΠΎΡ‚Π°Ρ‚Π° - ΠΈ промСнямС Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅. Магия!

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
Zvol Π΅ Π½Π°ΠΉ-Π²Π΅Ρ‡Π΅ просто Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, лишСн ΠΎΡ‚ своя слой Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма, ΠΊΠΎΠΉΡ‚ΠΎ замСствамС Ρ‚ΡƒΠΊ с напълно Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма ext4

ΠΠ°Π±ΠΎΡ€ΡŠΡ‚ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Π½Π° ZFS Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ ΡΡŠΡ‰ΠΈΡΡ‚ ΠΊΠ°Ρ‚ΠΎ стандартна ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма. Подобно Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, Π½Π° ΠΏΡ€ΡŠΠ² ΠΏΠΎΠ³Π»Π΅Π΄ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ Π΅ β€žΠΏΡ€ΠΎΡΡ‚ΠΎ ΠΎΡ‰Π΅ Π΅Π΄Π½Π° ΠΏΠ°ΠΏΠΊΠ°β€œ. Но ΡΡŠΡ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми, всСки ZFS Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΈΠΌΠ° свой собствСн Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ основни свойства.

На ΠΏΡŠΡ€Π²ΠΎ място, Π΄Π°Π΄Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° ΠΊΠ²ΠΎΡ‚Π°. Ако инсталиратС zfs set quota=100G poolname/datasetname, Ρ‚ΠΎΠ³Π°Π²Π° няма Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π² ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π°Ρ‚Π° ΠΏΠ°ΠΏΠΊΠ° /poolname/datasetname ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 100 GiB.

ЗабСлязватС Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ ΠΈ липсата Π½Π° Π½Π°ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈ Ρ‡Π΅Ρ€Ρ‚ΠΈ Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° всСки Ρ€Π΅Π΄? ВсСки Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΈΠΌΠ° своС място ΠΊΠ°ΠΊΡ‚ΠΎ Π² йСрархията Π½Π° ZFS, Ρ‚Π°ΠΊΠ° ΠΈ Π² йСрархията Π½Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° систСмата. Π’ йСрархията Π½Π° ZFS няма Π²ΠΎΠ΄Π΅Ρ‰Π° Π½Π°ΠΊΠ»ΠΎΠ½Π΅Π½Π° Ρ‡Π΅Ρ€Ρ‚Π° - Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚Π΅ с ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡƒΠ»Π° ΠΈ слСд Ρ‚ΠΎΠ²Π° ΠΏΡŠΡ‚Ρ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ към слСдващия. НапримСр, pool/parent/child Π·Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ с ΠΈΠΌΠ΅ child ΠΏΠΎΠ΄ родитСлския Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ parent Π² ΠΏΡƒΠ» с творчСско ΠΈΠΌΠ΅ pool.

По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ бъдС Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½Π° Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ ΠΌΡƒ Π² йСрархията Π½Π° ZFS, с Π²ΠΎΠ΄Π΅Ρ‰Π° Π½Π°ΠΊΠ»ΠΎΠ½Π΅Π½Π° Ρ‡Π΅Ρ€Ρ‚Π° - ΠΏΡƒΠ»Π° с ΠΈΠΌΠ΅ pool ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ ΠΊΠ°Ρ‚ΠΎ /pool, Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ parent ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ Π² /pool/parentΠΈ Π΄ΡŠΡ‰Π΅Ρ€Π½ΠΈΡ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ child ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ Π² /pool/parent/child. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° систСмната Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½Π°.

Ако посочим zfs set mountpoint=/lol pool/parent/child, слСд Ρ‚ΠΎΠ²Π° Π½Π°Π±ΠΎΡ€ΡŠΡ‚ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ pool/parent/child ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ Π² систСмата ΠΊΠ°Ρ‚ΠΎ /lol.

Π’ допълнСниС към Π½Π°Π±ΠΎΡ€ΠΈΡ‚Π΅ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ трябва Π΄Π° спомСнСм ΠΎΠ±Π΅ΠΌΠΈ (zvol). Π’ΠΎΠΌΡŠΡ‚ Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ ΡΡŠΡ‰ΠΎΡ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ няма Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма - Ρ‚ΠΎΠ²Π° Π΅ просто Π±Π»ΠΎΠΊΠΎΠ²ΠΎ устройство. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ zvol Π‘ ΠΈΠΌΠ΅ mypool/myzvol, слСд Ρ‚ΠΎΠ²Π° Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ с ext4 Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма ΠΈ слСд Ρ‚ΠΎΠ²Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ‚Π°Π·ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма - сСга ΠΈΠΌΠ°Ρ‚Π΅ ext4 Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, Π½ΠΎ с всички Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° сигурност Π½Π° ZFS! Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π³Π»ΡƒΠΏΠ°Π²ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, Π½ΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ смисъл ΠΊΠ°Ρ‚ΠΎ Π±Π΅ΠΊΠ΅Π½Π΄ ΠΏΡ€ΠΈ СкспортиранС Π½Π° iSCSI устройство.

Π±Π»ΠΎΠΊΠΎΠ²Π΅

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
Π€Π°ΠΉΠ»ΡŠΡ‚ Π΅ прСдставСн ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅. ВсСки Π±Π»ΠΎΠΊ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π½Π° Π΅Π΄Π½ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ устройство. Π Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Π±Π»ΠΎΠΊΠ° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ Ρ€Π°Π²Π΅Π½ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Ρ€Π΅ΠΊΠΎΡ€Π΄Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ Π΄ΠΎ 2^ashift, Π°ΠΊΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ малък Ρ„Π°ΠΉΠ».

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
НиС наистина наистина НС сС ΡˆΠ΅Π³ΡƒΠ²Π°ΠΌΠ΅ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Π°Ρ‚Π° Π·Π°Π³ΡƒΠ±Π° Π½Π° производитСлност, Π°ΠΊΠΎ Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ ashift Ρ‚Π²ΡŠΡ€Π΄Π΅ ниско

Π’ ZFS ΠΏΡƒΠ» всички Π΄Π°Π½Π½ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅, сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅. ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° Π±Π»ΠΎΠΊΠ° Π·Π° всСки Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π² свойството recordsize (Ρ€Π΅ΠΊΠΎΡ€Π΄Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€). Π Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° записа ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Π½ΠΎ Ρ‚ΠΎΠ²Π° няма Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ мСстополоТСниСто Π½Π° всички Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ са записани Π² Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ - Ρ‚ΠΎΠ²Π° засяга само Π½ΠΎΠ²ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ сС записват.

ОсвСн Π°ΠΊΠΎ Π½Π΅ Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ, тСкущият Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° записа ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ 128 KiB. Π’ΠΎΠ²Π° Π΅ доста Ρ‚Ρ€ΡƒΠ΄Π΅Π½ компромис, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ производитСлността няма Π΄Π° Π΅ ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π½Π°, Π½ΠΎ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи няма Π΄Π° Π΅ уТасна. Recordsize ΠΌΠΎΠΆΠ΅ Π΄Π° сС настрои Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° стойност ΠΎΡ‚ 4K Π΄ΠΎ 1M (с Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ настройки recordsize ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° инсталиратС Π΄ΠΎΡ€ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅, Π½ΠΎ Ρ‚ΠΎΠ²Π° рядко Π΅ Π΄ΠΎΠ±Ρ€Π° идСя).

ВсСки Π±Π»ΠΎΠΊ сС отнася Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ само Π½Π° Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ» - Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° стиснСтС Π΄Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΉΠ»Π° Π² Π΅Π΄ΠΈΠ½ Π±Π»ΠΎΠΊ. ВсСки Ρ„Π°ΠΉΠ» сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅, Π² зависимост ΠΎΡ‚ нСговия Ρ€Π°Π·ΠΌΠ΅Ρ€. Ако Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Ρ„Π°ΠΉΠ»Π° Π΅ ΠΏΠΎ-малък ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° записа, Ρ‚ΠΎΠΉ Ρ‰Π΅ бъдС ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ Π² ΠΏΠΎ-малък Π±Π»ΠΎΠΊ - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊ с Ρ„Π°ΠΉΠ» ΠΎΡ‚ 2 KiB Ρ‰Π΅ Π·Π°Π΅ΠΌΠ° само Π΅Π΄ΠΈΠ½ сСктор ΠΎΡ‚ 4 KiB Π½Π° диска.

Ако Ρ„Π°ΠΉΠ»ΡŠΡ‚ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ голям, Π·Π° Π΄Π° изисква няколко Π±Π»ΠΎΠΊΠ°, Ρ‚ΠΎΠ³Π°Π²Π° всички записи Π² Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ» Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ с Ρ€Π°Π·ΠΌΠ΅Ρ€ recordsize - Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ послСдния запис, чиято основна част ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ пространство.

Ρ‚ΠΎΠΌΠΎΠ²Π΅Ρ‚Π΅ zvol нямат свойството recordsize - вмСсто Ρ‚ΠΎΠ²Π° Ρ‚Π΅ ΠΈΠΌΠ°Ρ‚ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎΡ‚ΠΎ свойство volblocksize.

Π‘Π΅ΠΊΡ‚ΠΎΡ€ΠΈ

ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ‚, Π½Π°ΠΉ-основСн Π³Ρ€Π°Π΄ΠΈΠ²Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π΅ ΡΠ΅ΠΊΡ‚ΠΎΡ€ΡŠΡ‚. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ°Ρ‚Π° физичСска Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, която ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС записана ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½Π° ΠΎΡ‚ хост устройство. Π’ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° няколко дСсСтилСтия ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ дисковС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…Π° 512-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΈ сСктори. Π’ наши Π΄Π½ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ устройства са ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ Π·Π° 4 KiB сСктори, Π° някои - особСно SSD - са ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ Π·Π° 8 KiB сСктора ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ.

ZFS ΠΈΠΌΠ° функция, която Π²ΠΈ позволява Ρ€ΡŠΡ‡Π½ΠΎ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° сСктора. Π’ΠΎΠ·ΠΈ ΠΈΠΌΠΎΡ‚ ashift. Π”ΠΎΠ½ΡΠΊΡŠΠ΄Π΅ ΠΎΠ±ΡŠΡ€ΠΊΠ²Π°Ρ‰ΠΎ, ashift Π΅ стСпСн Π½Π° Π΄Π²Π΅. НапримСр, ashift=9 ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° сСктора 2^9 ΠΈΠ»ΠΈ 512 Π±Π°ΠΉΡ‚Π°.

ZFS иска ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° информация Π·Π° всяко Π±Π»ΠΎΠΊΠΎΠ²ΠΎ устройство, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС добавя към Π½ΠΎΠ² vdev, ΠΈ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ настройва ashift ΠΏΠΎ подходящ Π½Π°Ρ‡ΠΈΠ½ въз основа Π½Π° Ρ‚Π°Π·ΠΈ информация. Π—Π° съТалСниС ΠΌΠ½ΠΎΠ³ΠΎ дисковС Π»ΡŠΠΆΠ°Ρ‚ относно Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° тСхния сСктор, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с Windows XP (ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ успя Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ дисковС с Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ Π½Π° сСктора).

Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π΅ силно ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° ZFS Π΄Π° Π·Π½Π°Π΅ дСйствитСлния Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° сСктора Π½Π° своитС устройства ΠΈ Π΄Π° Π³ΠΎ Π·Π°Π΄Π°Π΄Π΅ Ρ€ΡŠΡ‡Π½ΠΎ ashift. Ако ashift Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ°Π»ΠΊΠΎ, броят Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅/запис сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° астрономичСски. И Ρ‚Π°ΠΊΠ°, записванСто Π½Π° 512-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΈ "сСктори" Π² Ρ€Π΅Π°Π»Π΅Π½ 4 KiB сСктор ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΡŠΡ€Π²ΠΈΡ "сСктор", слСд Ρ‚ΠΎΠ²Π° Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ 4 KiB сСктора, Π΄Π° Π³ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ‚Π΅ с Π²Ρ‚ΠΎΡ€ΠΈ 512-Π±Π°ΠΉΡ‚ΠΎΠ² "сСктор", Π΄Π° Π³ΠΎ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² новия 4 KiB сСктор ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ Π·Π° всСки запис.

Π’ рСалния свят ΠΏΠΎΠ΄ΠΎΠ±Π½Π° санкция засяга Samsung EVO SSD, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π²Π°ΠΆΠΈ ashift=13, Π½ΠΎ Ρ‚Π΅Π·ΠΈ SSD Π»ΡŠΠΆΠ°Ρ‚ относно Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° тСхния сСктор ΠΈ слСдоватСлно ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ Π½Π° ashift=9. ОсвСн Π°ΠΊΠΎ ΠΎΠΏΠΈΡ‚Π΅Π½ систСмСн администратор Π½Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ‚Π°Π·ΠΈ настройка, Ρ‚ΠΎΠ·ΠΈ SSD Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΠΌΠ°Π³Π½ΠΈΡ‚Π΅Π½ Ρ‚Π²ΡŠΡ€Π΄ диск.

Π—Π° сравнСниС, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ Ρ‚Π²ΡŠΡ€Π΄Π΅ голям ashift Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° няма Π½Π°ΠΊΠ°Π·Π°Π½ΠΈΠ΅. Няма Ρ€Π΅Π°Π»Π΅Π½ ΡƒΠ΄Π°Ρ€ Π² производитСлността ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎΡ‚ΠΎ пространство Π΅ Π±Π΅Π·ΠΊΡ€Π°ΠΉΠ½ΠΎ ΠΌΠ°Π»ΠΊΠΎ (ΠΈΠ»ΠΈ Π½ΡƒΠ»Π°, Π°ΠΊΠΎ компрСсията Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π°). Π—Π°Ρ‚ΠΎΠ²Π° силно ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌΠ΅ Π΄Π° сС инсталират Π΄ΠΎΡ€ΠΈ Ρ‚Π΅Π·ΠΈ устройства, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ 512-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΈ сСктори ashift=12 ΠΈΠ»ΠΈ ashift=13Π΄Π° Π³Π»Π΅Π΄Π°Ρ‚ ΡƒΠ²Π΅Ρ€Π΅Π½ΠΎ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ.

ΠΈΠΌΠΎΡ‚ ashift сС инсталира Π·Π° всяко Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ устройство vdev ΠΈ Π½Π΅ Π΅ Π·Π° басСйн, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€Π° ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎ смятат - ΠΈ Π½Π΅ сС промСня слСд инсталиранСто. Ако случайно ΡƒΠ΄Π°Ρ€ΠΈΡ‚Π΅ ashift ΠšΠΎΠ³Π°Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Π½ΠΎΠ² vdev към ΠΏΡƒΠ», Π²ΠΈΠ΅ Π±Π΅Π·Π²ΡŠΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ стС Π·Π°ΠΌΡŠΡ€ΡΠΈΠ»ΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΏΡƒΠ» с устройство с ниска производитСлност ΠΈ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ няма Π΄Ρ€ΡƒΠ³Π° опция освСн Π΄Π° ΡƒΠ½ΠΈΡ‰ΠΎΠΆΠΈΡ‚Π΅ ΠΏΡƒΠ»Π° ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ ΠΎΡ‚Π½Π°Ρ‡Π°Π»ΠΎ. Π”ΠΎΡ€ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° vdev няма Π΄Π° Π²ΠΈ спаси ΠΎΡ‚ ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½Π° настройка ashift!

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запис

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
Ако ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма трябва Π΄Π° ΠΏΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ΅ Π΄Π°Π½Π½ΠΈ, тя промСня всСки Π±Π»ΠΎΠΊ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π°

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запис записва Π½ΠΎΠ²Π° вСрсия Π½Π° Π±Π»ΠΎΠΊΠ° ΠΈ слСд Ρ‚ΠΎΠ²Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π²Π° старата вСрсия

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
Π’ Ρ€Π΅Π·ΡŽΠΌΠ΅, Π°ΠΊΠΎ ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π½Π΅ΠΌ дСйствитСлното физичСско ΠΏΠΎΠ΄Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅, Π½Π°ΡˆΠ°Ρ‚Π° β€žΠΊΠΎΠΌΠ΅Ρ‚Π° Π·Π° Π΄Π°Π½Π½ΠΈβ€œ сС опростява Π΄ΠΎ β€žΡ‡Π΅Ρ€Π²Π΅ΠΉ Π·Π° Π΄Π°Π½Π½ΠΈβ€œ, ΠΊΠΎΠΉΡ‚ΠΎ сС Π΄Π²ΠΈΠΆΠΈ отляво надясно ΠΏΠΎ ΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π° Π½Π° Π½Π°Π»ΠΈΡ‡Π½ΠΎΡ‚ΠΎ пространство

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌ Π΄ΠΎΠ±Ρ€Π° прСдстава ΠΊΠ°ΠΊ работят ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈΡ‚Π΅ снимки Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запис - всСки Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ Π½Π° мноТСство ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки ΠΈ Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ всички ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки Π½Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΡƒΠ½ΠΈΡ‰ΠΎΠΆΠ΅Π½ΠΈ

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Copy on Write (CoW) Π΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½Π°Ρ‚Π° основа Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ ZFS Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° нСвСроятна систСма. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° концСпция Π΅ проста - Π°ΠΊΠΎ ΠΏΠΎΠΌΠΎΠ»ΠΈΡ‚Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ», тя Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ стС поискали. Ако ΠΏΠΎΠΌΠΎΠ»ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запис Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ ΡΡŠΡ‰ΠΎΡ‚ΠΎ, тя Ρ‰Π΅ ΠΊΠ°ΠΆΠ΅ β€žΠ΄ΠΎΠ±Ρ€Π΅β€œ – Π½ΠΎ Ρ‰Π΅ Π²ΠΈ излъТС.

ВмСсто Ρ‚ΠΎΠ²Π°, Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запис записва Π½ΠΎΠ²Π° вСрсия Π½Π° модифицирания Π±Π»ΠΎΠΊ ΠΈ слСд Ρ‚ΠΎΠ²Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° Ρ„Π°ΠΉΠ»Π°, Π·Π° Π΄Π° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° Π½Π° стария Π±Π»ΠΎΠΊ ΠΈ Π΄Π° Π³ΠΎ асоциира с новия Π±Π»ΠΎΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚ΠΎΠΊΡƒ-Ρ‰ΠΎ стС написали.

ΠŸΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° Π½Π° стария Π±Π»ΠΎΠΊ ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° новия сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с Π΅Π΄Π½Π° опСрация, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ - Π°ΠΊΠΎ Π½ΡƒΠ»ΠΈΡ€Π°Ρ‚Π΅ Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅Ρ‚ΠΎ, слСд ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° сС случи, ΠΈΠΌΠ°Ρ‚Π΅ Π½ΠΎΠ²Π° вСрсия Π½Π° Ρ„Π°ΠΉΠ»Π°, Π° Π°ΠΊΠΎ Π½ΡƒΠ»ΠΈΡ€Π°Ρ‚Π΅ Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π°, Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠΌΠ°Ρ‚Π΅ старата вСрсия. Π’ΡŠΠ² всСки случай няма Π΄Π° ΠΈΠΌΠ° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ във Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма.

ΠšΠΎΠΏΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΏΡ€ΠΈ запис Π² ZFS сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π½Π΅ само Π½Π° Π½ΠΈΠ²ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, Π½ΠΎ ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° диска. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ZFS Π½Π΅ Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π»ΠΈΠ² Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ Π² записа (Π΄ΡƒΠΏΠΊΠ° Π² RAID) - Ρ„Π΅Π½ΠΎΠΌΠ΅Π½, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ Π»Π΅Π½Ρ‚Π°Ρ‚Π° Π΅ Π±ΠΈΠ»Π° записана само частично ΠΏΡ€Π΅Π΄ΠΈ систСмата Π΄Π° сС сринС, с ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° масива слСд рСстартиранС. Π’ΡƒΠΊ Π»Π΅Π½Ρ‚Π°Ρ‚Π° Π΅ написана Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ, vdev Π²ΠΈΠ½Π°Π³ΠΈ Π΅ послСдоватСлСн ΠΈ Π‘ΠΎΠ± Π΅ Ρ‚Π²ΠΎΠΉ Ρ‡ΠΈΡ‡ΠΎ.

ZIL: ZFS Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ Π½Π° намСрСнията

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
ZFS ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° синхроннитС записи ΠΏΠΎ спСциалСн Π½Π°Ρ‡ΠΈΠ½ - ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π³ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π² ZIL, ΠΏΡ€Π΅Π΄ΠΈ ΠΏΠΎ-късно Π΄Π° Π³ΠΈ напишС постоянно Π·Π°Π΅Π΄Π½ΠΎ с асинхроннитС записи.

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
ОбикновСно Π΄Π°Π½Π½ΠΈΡ‚Π΅, записани Π½Π° ZIL, Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ сС Ρ‡Π΅Ρ‚Π°Ρ‚ ΠΎΡ‚Π½ΠΎΠ²ΠΎ. Но Ρ‚ΠΎΠ²Π° Π΅ възмоТно слСд ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° систСмата

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
SLOG ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎ LOG устройство Π΅ просто спСциалСн - ΠΈ Π·Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡŠΡ€Π· - vdev, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ZIL ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ ΠΎΡ‚ основното Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
Π‘Π»Π΅Π΄ срив всички ΠΌΡ€ΡŠΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ZIL сС Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚ - Π² Ρ‚ΠΎΠ·ΠΈ случай ZIL Π΅ Π½Π° SLOG, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‚Π°ΠΌ сС Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°

Има Π΄Π²Π΅ основни ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ записи: синхронни (sync) ΠΈ асинхронни (async). Π—Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ натоварвания ΠΏΠΎ-голямата част ΠΎΡ‚ записитС са асинхронни - Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΈΠΌ позволява Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈ ΠΈ ΠΈΠ·Π΄Π°Π²Π°Π½ΠΈ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠ΄ΠΈ, намалявайки фрагмСнтацията ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΉΠΊΠΈ пропускатСлната способност.

Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΈΡ‚Π΅ записи са съвсСм Π΄Ρ€ΡƒΠ³ Π²ΡŠΠΏΡ€ΠΎΡ. ΠšΠΎΠ³Π°Ρ‚ΠΎ Π΄Π°Π΄Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ поиска синхронСн запис, Ρ‚ΠΎ ΠΊΠ°Π·Π²Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма: β€žΠ’Ρ€ΡΠ±Π²Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Ρ‚ΠΎΠ²Π° Π² СнСргонСзависима ΠΏΠ°ΠΌΠ΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ сСга, Π° Π΄ΠΎΡ‚ΠΎΠ³Π°Π²Π° Π½Π΅ ΠΌΠΎΠ³Π° Π΄Π° направя Π½ΠΈΡ‰ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ синхроннитС записи трябва Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½ΠΈ към диска - ΠΈ Π°ΠΊΠΎ Ρ‚ΠΎΠ²Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° фрагмСнтацията ΠΈΠ»ΠΈ намалява пропускатСлната способност, Ρ‚Π°ΠΊΠ° Π΄Π° бъдС.

ZFS ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° синхроннитС записи ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ ΠΎΡ‚ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми - вмСсто Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° Π³ΠΈ ΠΈΠ·Ρ…Π²ΡŠΡ€Π»Ρ Π² Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ZFS Π³ΠΈ Π°Π½Π³Π°ΠΆΠΈΡ€Π° Π² спСциална област Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° ZFS Intent Log ΠΈΠ»ΠΈ ZIL. ΠΠΎΠΌΠ΅Ρ€ΡŠΡ‚ Π΅, Ρ‡Π΅ Ρ‚Π΅Π·ΠΈ записи ΡΡŠΡ‰ΠΎ остават Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΊΠ°Ρ‚ΠΎ сС Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Ρ‚ Π·Π°Π΅Π΄Π½ΠΎ с Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈΡ‚Π΅ асинхронни заявки Π·Π° запис, Π·Π° Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎ-късно ΠΈΠ·Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΈ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ напълно Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ TXG (Π³Ρ€ΡƒΠΏΠΈ Π·Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ).

ΠŸΡ€ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ZIL сС записва ΠΈ Π½ΠΈΠΊΠΎΠ³Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π½Π΅ сС Ρ‡Π΅Ρ‚Π΅. ΠšΠΎΠ³Π°Ρ‚ΠΎ слСд няколко ΠΌΠΈΠ½ΡƒΡ‚ΠΈ записитС ΠΎΡ‚ ZIL са Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½ΠΈ Π² основното Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ TXG ΠΎΡ‚ RAM, Ρ‚Π΅ сС отдСлят ΠΎΡ‚ ZIL. ЕдинствСният ΠΏΡŠΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π΅Ρ‰ΠΎ сС Ρ‡Π΅Ρ‚Π΅ ΠΎΡ‚ ZIL, Π΅ ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡƒΠ».

Ако възникнС ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° ZFS β€” срив Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅Ρ‚ΠΎ β€” Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ° Π΄Π°Π½Π½ΠΈ Π² ZIL, Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° слСдващото ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡƒΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π°Ρ‚ΠΎ систСмата Π·Π° прСодоляванС Π½Π° срив сС рСстартира). Всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π² ZIL, Ρ‰Π΅ бъдС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΎ, Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½ΠΎ Π² TXG, Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½ΠΎ към основното Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ слСд Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΎ ΠΎΡ‚ ZIL ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСса Π½Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅.

Π•Π΄ΠΈΠ½ ΠΎΡ‚ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΡ‚Π΅ класовС Π½Π° vdev сС Π½Π°Ρ€ΠΈΡ‡Π° LOG ΠΈΠ»ΠΈ SLOG, Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎ LOG устройство. Π’ΠΎΠΉ ΠΈΠΌΠ° Π΅Π΄Π½Π° Π·Π°Π΄Π°Ρ‡Π° - Π΄Π° осигури ΠΏΡƒΠ» с ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ ΠΈ, Π·Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π½Π΅, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ, с ΠΌΠ½ΠΎΠ³ΠΎ висока устойчивост Π½Π° запис, vdev устройство Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ZIL, вмСсто Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ZIL Π½Π° основното vdev Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Бамият ZIL сС Π΄ΡŠΡ€ΠΆΠΈ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½, нСзависимо ΠΎΡ‚ мястото Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ Π°ΠΊΠΎ vdev с LOG ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ висока производитСлност Π½Π° запис, Ρ‚ΠΎΠ³Π°Π²Π° синхроннитС записи Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΈ.

ДобавянСто Π½Π° vdev с LOG към ΠΏΡƒΠ»Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π΅ ΠΌΠΎΠ³Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Ρ‚Π΅ производитСлността Π½Π° асинхронСн запис - Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅ всички записи Π² ZIL с zfs set sync=always, Ρ‚Π΅ всС ΠΎΡ‰Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с основното Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π² TXG ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½ ΠΈ със ΡΡŠΡ‰ΠΎΡ‚ΠΎ Ρ‚Π΅ΠΌΠΏΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ Π±Π΅Π· рСгистрационния Ρ„Π°ΠΉΠ». ЕдинствСното пряко ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ Π½Π° производитСлността Π΅ забавянСто Π½Π° синхронното записванС (Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ-високитС скорости Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ правят ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΈ sync).

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π² срСда, която Π²Π΅Ρ‡Π΅ изисква ΠΌΠ½ΠΎΠ³ΠΎ синхронни записи, vdev LOG ΠΌΠΎΠΆΠ΅ ΠΈΠ½Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° ускори асинхроннитС записи ΠΈ Π½Π΅ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΈΡ‚Π΅ чСтСния. Π Π°Π·Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ZIL записи Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ vdev LOG ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ конкурСнция Π·Π° IOPS Π½Π° основното Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ подобрява производитСлността Π½Π° всички чСтСния ΠΈ записи Π΄ΠΎ извСстна стСпСн.

ΠœΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запис ΡΡŠΡ‰ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° основа Π·Π° ZFS Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΈ снимки ΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π½Π° асинхронна рСпликация. Активната Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма ΠΈΠΌΠ° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π½ΠΎ Π΄ΡŠΡ€Π²ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π° всички записи с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈ Π΄Π°Π½Π½ΠΈ - ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка, Π²ΠΈΠ΅ просто ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ²Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π½ΠΎ Π΄ΡŠΡ€Π²ΠΎ.

ΠšΠΎΠ³Π°Ρ‚ΠΎ запис сС ΠΏΡ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅ Π²ΡŠΡ€Ρ…Ρƒ Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, ZFS ΠΏΡŠΡ€Π²ΠΎ записва Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° Π±Π»ΠΎΠΊΠ° Π² Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ пространство. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° отдСля старата вСрсия Π½Π° Π±Π»ΠΎΠΊΠ° ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма. Но Π°ΠΊΠΎ някоя ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π° към стар Π±Π»ΠΎΠΊ, тя всС ΠΎΡ‰Π΅ остава Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½Π°. Бтарият Π±Π»ΠΎΠΊ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ няма Π΄Π° бъдС Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²Π΅Π½ ΠΊΠ°Ρ‚ΠΎ свободно пространство, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ всички ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки, ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Ρ‰ΠΈ към Ρ‚ΠΎΠ·ΠΈ Π±Π»ΠΎΠΊ, Π½Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΡƒΠ½ΠΈΡ‰ΠΎΠΆΠ΅Π½ΠΈ!

рСпликация

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
ΠœΠΎΡΡ‚Π° Steam Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€Π΅Π· 2015 Π³. бСшС 158 GiB ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΡˆΠ΅ 126 927 Ρ„Π°ΠΉΠ»Π°. Π’ΠΎΠ²Π° Π΅ доста Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° ситуация Π·Π° rsync - ZFS рСпликацията ΠΏΡ€Π΅Π· ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° бСшС "само" 750% ΠΏΠΎ-Π±ΡŠΡ€Π·Π°.

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
Π’ ΡΡŠΡ‰Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ» с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина с Ρ€Π°Π·ΠΌΠ΅Ρ€ 40 GB Π½Π° Windows 7 Π΅ напълно Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° история. РСпликацията Π½Π° ZFS Π΅ 289 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·Π° ΠΎΡ‚ rsyncβ€”ΠΈΠ»ΠΈ "само" 161 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·Π°, Π°ΠΊΠΎ стС Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΈ, Π·Π° Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚Π΅ rsync с ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅Π»Ρ --inplace.

Основи Π½Π° ZFS: Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност
ΠšΠΎΠ³Π°Ρ‚ΠΎ VM ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°, rsync ΠΈΠ·Π΄Π°Π²Π° ΠΌΠ°Ρ‰Π°Π± с Π½Π΅Π³ΠΎ. Π Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ ΠΎΡ‚ 1,9 TiB Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° голям Π·Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ VM ΠΎΠ±Ρ€Π°Π·, Π½ΠΎ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ голям, Ρ‡Π΅ рСпликацията Π½Π° ZFS Π΄Π° Π΅ 1148 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·Π° ΠΎΡ‚ rsync, Π΄ΠΎΡ€ΠΈ с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° rsync --inplace

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ работят ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈΡ‚Π΅ снимки, Ρ‰Π΅ бъдС лСсно Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° рСпликацията. Въй ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π°Ρ‚Π° снимка Π΅ просто Π΄ΡŠΡ€Π²ΠΎ ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° записи, слСдва, Ρ‡Π΅ Π°ΠΊΠΎ Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ zfs send ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π° Π΄ΡŠΡ€Π²ΠΎ ΠΈ всички записи, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π½Π΅Π³ΠΎ. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ Ρ‚ΠΎΠ²Π° zfs send Π² zfs receive Π²ΡŠΡ€Ρ…Ρƒ цСлСвия ΠΎΠ±Π΅ΠΊΡ‚, Ρ‚ΠΎΠΉ записва ΠΊΠ°ΠΊΡ‚ΠΎ дСйствитСлното ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° Π±Π»ΠΎΠΊΠ°, Ρ‚Π°ΠΊΠ° ΠΈ Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Ρ‰ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ към цСлСвия Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ.

На втория Π½Π΅Ρ‰Π°Ρ‚Π° стават ΠΎΡ‰Π΅ ΠΏΠΎ-интСрСсни zfs send. Π‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π΅ систСми, всяка ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° poolname/datasetname@1ΠΈ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½ΠΎΠ²Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка poolname/datasetname@2. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ Π² изходния ΠΏΡƒΠ» ΠΈΠΌΠ°Ρ‚Π΅ datasetname@1 ΠΈ datasetname@2, Π° Π² цСлСвия ΠΏΡƒΠ» ΠΈΠΌΠ° само ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка datasetname@1.

Π—Π°Ρ‰ΠΎΡ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ° ΠΈ Ρ†Π΅Π»Ρ‚Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΠ±Ρ‰Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка datasetname@1, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π΅Π½ zfs send Π½Π° всичко ΠΎΡ‚Π³ΠΎΡ€Π΅. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΅ΠΌ Π½Π° систСмата zfs send -i poolname/datasetname@1 poolname/datasetname@2, Ρ‚ΠΎΠΉ сравнява Π΄Π²Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π½ΠΈ Π΄ΡŠΡ€Π²Π΅Ρ‚Π°. Всички ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ само Π² @2, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ сС отнасят Π·Π° Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ - Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‰Π΅ Π½ΠΈ трябва ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅.

Π’ ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½Π° систСма ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° постСпСнно send ΡΡŠΡ‰ΠΎ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° просто. ΠŸΡŠΡ€Π²ΠΎ записвамС всички Π½ΠΎΠ²ΠΈ записи, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² ΠΏΠΎΡ‚ΠΎΠΊΠ° sendΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ към Ρ‚Π΅Π·ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅. Π’ΠΎΠ°Π»Π°, ΠΈΠΌΠ°ΠΌΠ΅ @2 Π² Π½ΠΎΠ²Π°Ρ‚Π° систСма!

Асинхронната ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π½Π° рСпликация Π½Π° ZFS Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ спрямо ΠΏΠΎ-Ρ€Π°Π½Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки, ΠΊΠ°Ρ‚ΠΎ rsync. И Π² Π΄Π²Π°Ρ‚Π° случая сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚ само ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ - Π½ΠΎ rsync трябва ΠΏΡŠΡ€Π²ΠΎ Ρ‡Π΅Ρ‚Π° ΠΎΡ‚ диска всички Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π΄Π²Π΅Ρ‚Π΅ страни, Π·Π° Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ сумата ΠΈ Π΄Π° я сравнитС. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ Ρ‚ΠΎΠ²Π°, ZFS рСпликацията Π½Π΅ Ρ‡Π΅Ρ‚Π΅ Π½ΠΈΡ‰ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ освСн Π΄ΡŠΡ€Π²Π΅Ρ‚Π° Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ - ΠΈ всички Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са прСдставСни Π² цялостната ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка.

Π’Π³Ρ€Π°Π΄Π΅Π½Π° компрСсия

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запис ΡΡŠΡ‰ΠΎ опростява Π²Π³Ρ€Π°Π΄Π΅Π½Π°Ρ‚Π° систСма Π·Π° компрСсиранС. Π’ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма компрСсиранСто Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ - ΠΊΠ°ΠΊΡ‚ΠΎ старата вСрсия, Ρ‚Π°ΠΊΠ° ΠΈ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ са Π² Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ пространство.

Ако Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ‚Π΅ част ΠΎΡ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² срСдата Π½Π° Ρ„Π°ΠΉΠ», ΠΊΠΎΠΉΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π° ΠΆΠΈΠ²ΠΎΡ‚Π° си ΠΊΠ°Ρ‚ΠΎ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ Π½ΡƒΠ»ΠΈ ΠΎΡ‚ 0x00000000 ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ - ΠΌΠ½ΠΎΠ³ΠΎ Π΅ лСсно Π΄Π° Π³ΠΎ компрСсиратС Π² Π΅Π΄ΠΈΠ½ сСктор Π½Π° диска. Но ΠΊΠ°ΠΊΠ²ΠΎ сС случва, Π°ΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΎΠ·ΠΈ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ Π½ΡƒΠ»ΠΈ с ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ нСкомпрСсируСми Π΄Π°Π½Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ JPEG ΠΈΠ»ΠΈ псСвдослучаСн ΡˆΡƒΠΌ? ИзвСднъТ Ρ‚ΠΎΠ·ΠΈ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ изисква Π½Π΅ Π΅Π΄ΠΈΠ½, Π° 256 сСктора ΠΎΡ‚ 4 KiB ΠΈ само Π΅Π΄ΠΈΠ½ сСктор Π΅ Π·Π°ΠΏΠ°Π·Π΅Π½ Π² Ρ‚ΠΎΠ²Π° дисково пространство.

ZFS няма Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ записи Π²ΠΈΠ½Π°Π³ΠΈ сС записват Π² Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ пространство - оригиналният Π±Π»ΠΎΠΊ Π·Π°Π΅ΠΌΠ° само Π΅Π΄ΠΈΠ½ сСктор ΠΎΡ‚ 4 KiB, Π° Π½ΠΎΠ²ΠΎΡ‚ΠΎ записванС Ρ‰Π΅ Π·Π°Π΅ΠΌΠ΅ 256, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ - наскоро ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ "срСдата" Π½Π° Ρ„Π°ΠΉΠ»Π° Ρ‰Π΅ бъдС записана Π² Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ пространство, нСзависимо Π΄Π°Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ ΠΌΡƒ сС Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ» ΠΈΠ»ΠΈ Π½Π΅, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ напълно Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° ситуация Π·Π° ZFS.

Π’Π³Ρ€Π°Π΄Π΅Π½Π°Ρ‚Π° ZFS компрСсия Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ систСмата ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΏΠ»ΡŠΠ³ΠΈΡ€ΡƒΠ΅ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ - Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ LZ4, gzip (1-9), LZJB ΠΈ ZLE.

  • LZ4 Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π±ΡŠΡ€Π·Π° компрСсия ΠΈ дСкомпрСсия ΠΈ прСдимства Π² производитСлността Π·Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° - Π΄ΠΎΡ€ΠΈ ΠΏΡ€ΠΈ доста Π±Π°Π²Π½ΠΈ процСсори.
  • GZIP Π΅ ΡƒΠ²Π°ΠΆΠ°Π²Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, ΠΊΠΎΠΉΡ‚ΠΎ всички ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π½Π° Unix ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ ΠΈ ΠΎΠ±ΠΈΡ‡Π°Ρ‚. МоТС Π΄Π° сС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ с Π½ΠΈΠ²Π° Π½Π° компрСсия 1-9, с ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚Π° Π½Π° компрСсия ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° процСсора, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π°Π±Π»ΠΈΠΆΠ°Π²Π°Ρ‚Π΅ Π½ΠΈΠ²ΠΎ 9. ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ подходящ Π·Π° всички тСкстови (ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ силно компрСсируСми) случаи Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅, Π½ΠΎ чСсто причинява ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с процСсора Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Π³ΠΎ с повишСно Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, особСно ΠΏΡ€ΠΈ ΠΏΠΎ-високи Π½ΠΈΠ²Π°.
  • LZJB - ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π² ZFS. Π’ΠΎΠΉ Π΅ остарял ΠΈ Π½Π΅ трябва ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, LZ4 Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡŠΡ€ във всяко ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅.
  • Π—Π›Π• β€” ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΡƒΠ»Π΅Π²ΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΡƒΠ»Π΅Π²ΠΎ Π½ΠΈΠ²ΠΎ. Π’ΠΎΠΉ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ засяга Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ компрСсира Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†ΠΈ ΠΎΡ‚ Π½ΡƒΠ»ΠΈ. ПолСзно Π·Π° напълно нСкомпрСсирани Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ (ΠΊΠ°Ρ‚ΠΎ JPEG, MP4 ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π²Π΅Ρ‡Π΅ компрСсирани Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ), Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π° нСкомпрСсиранитС Π΄Π°Π½Π½ΠΈ, Π½ΠΎ компрСсира Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎΡ‚ΠΎ пространство Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ записи.

ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌΠ΅ LZ4 компрСсия Π·Π° ΠΏΠΎΡ‡Ρ‚ΠΈ всички случаи Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°; намаляванСто Π½Π° производитСлността ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с нСкомпрСсируСми Π΄Π°Π½Π½ΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΈ растСТ производитСлността Π·Π° Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½Π°. ΠšΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина Π·Π° Π½ΠΎΠ²Π° инсталация Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма Windows (прясно инсталирана ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма, всС ΠΎΡ‰Π΅ няма Π΄Π°Π½Π½ΠΈ Π²ΡŠΡ‚Ρ€Π΅) с compression=lz4 ΠΏΡ€Π΅ΠΌΠΈΠ½Π° 27% ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΎΡ‚ с compression=none, Аз Н Ρ‚ΠΎΠ·ΠΈ тСст ΠΎΡ‚ 2015 Π³.

ARC - Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π΅Π½ замСстващ кСш

ZFS Π΅ СдинствСната ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, Π·Π° която Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° собствСн ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅, вмСсто Π΄Π° Ρ€Π°Π·Ρ‡ΠΈΡ‚Π° Π½Π° кСша Π½Π° страницата Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма, Π·Π° Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° копия Π½Π° наскоро ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π² RAM.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ собствСният кСш Π½Π΅ Π΅ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ - ZFS Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Π½ΠΎΠ²ΠΈ заявки Π·Π° разпрСдСлянС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π±ΡŠΡ€Π·ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ядрото, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½ΠΎΠ²ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ malloc() задСлянСто Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π°Π»ΠΈ, Π°ΠΊΠΎ изисква RAM, Π·Π°Π΅Ρ‚Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΎΡ‚ ARC. Но ΠΈΠΌΠ° Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ собствСния си кСш, ΠΏΠΎΠ½Π΅ засСга.

Всички ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ MacOS, Windows, Linux ΠΈ BSD, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° LRU (Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ) Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° кСша Π½Π° страницитС. Π’ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π±ΡƒΡ‚Π²Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ Π±Π»ΠΎΠΊ "Π² Π³ΠΎΡ€Π½Π°Ρ‚Π° част Π½Π° ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°" слСд всяко Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ ΠΈΠ·Π±ΡƒΡ‚Π²Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ "Π² Π΄ΡŠΠ½ΠΎΡ‚ΠΎ Π½Π° ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°", Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ Π½ΠΎΠ²ΠΈ пропуски Π² кСша (Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π΅ трябвало Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ ΠΎΡ‚ диска, Π° Π½Π΅ ΠΎΡ‚ кСша) Π΄ΠΎ Π²ΡŠΡ€Ρ…Π°.

ОбикновСно Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅, Π½ΠΎ Π½Π° систСми с Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, LRU лСсно Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ€Π°Π·Π±ΠΈΠ²Π°Π½Π΅ - ΠΈΠ·Π³ΠΎΠ½Π²Π°Π½Π΅ Π½Π° чСсто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅, Π·Π° Π΄Π° освободи място Π·Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½ΠΈΠΊΠΎΠ³Π° няма Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ ΠΎΡ‚ кСша ΠΎΡ‚Π½ΠΎΠ²ΠΎ.

ARC Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π½Π°ΠΈΠ²Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС счита Π·Π° β€žΠΏΡ€Π΅Ρ‚Π΅Π³Π»Π΅Π½β€œ кСш. ВсСки ΠΏΡŠΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС Ρ‡Π΅Ρ‚Π΅ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ Π±Π»ΠΎΠΊ, Ρ‚ΠΎΠΉ става ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Ρ‚Π΅ΠΆΡŠΠΊ ΠΈ ΠΏΠΎ-Ρ‚Ρ€ΡƒΠ΄Π΅Π½ Π·Π° ΠΈΠ·Π³ΠΎΠ½Π²Π°Π½Π΅ - ΠΈ Π΄ΠΎΡ€ΠΈ слСд ΠΊΠ°Ρ‚ΠΎ Π±Π»ΠΎΠΊΡŠΡ‚ бъдС ΠΈΠ·Π³ΠΎΠ½Π΅Π½ прослСдСни ΠΏΡ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅. Π‘Π»ΠΎΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π±ΠΈΠ» ΠΈΠ·Π³ΠΎΠ½Π΅Π½, Π½ΠΎ слСд Ρ‚ΠΎΠ²Π° трябва Π΄Π° бъдС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² кСша, ΡΡŠΡ‰ΠΎ Ρ‰Π΅ станС ΠΏΠΎ-Ρ‚Π΅ΠΆΡŠΠΊ.

ΠšΡ€Π°ΠΉΠ½ΠΈΡΡ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΎΡ‚ всичко Ρ‚ΠΎΠ²Π° Π΅ кСш с ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-високо ΡΡŠΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° попадСния – ΡΡŠΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ попадСния Π² кСша (чСтСния ΠΎΡ‚ кСша) ΠΈ пропуски (чСтСния ΠΎΡ‚ диск). Π’ΠΎΠ²Π° Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π²Π°ΠΆΠ½Π° статистика - Π½Π΅ само Ρ‡Π΅ самитС кСш ΡƒΠ΄Π°Ρ€ΠΈ сС обслуТват с ΠΏΠΎΡ€ΡΠ΄ΡŠΡ†ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ, пропускитС Π² кСша ΡΡŠΡ‰ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС обслуТват ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈΠΌΠ° кСш ΡƒΠ΄Π°Ρ€ΠΈ, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ са ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈΡ‚Π΅ заявки към диска ΠΈ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-ниска Π΅ латСнтността Π·Π° Ρ‚Π΅Π·ΠΈ оставащи пропуски ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° сС обслуТват с диск.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘Π΅Π³Π°, слСд ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠΊΡ€ΠΈΡ…ΠΌΠ΅ основната сСмантика Π½Π° ZFS – ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΏΡ€ΠΈ запис, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡƒΠ»ΠΎΠ²Π΅ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ устройства, Π±Π»ΠΎΠΊΠΎΠ²Π΅, сСктори ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ – Π½ΠΈΠ΅ смС Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π΄Π° обсъдим производитСлността Π² рСалния свят с Ρ€Π΅Π°Π»Π½ΠΈ числа.

Π’ слСдващата част Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ дСйствитСлната производитСлност Π½Π° ΠΎΠ³Π»Π΅Π΄Π°Π»Π½ΠΈΡ‚Π΅ vdev ΠΈ RAIDz ΠΏΡƒΠ»ΠΎΠ²Π΅ Π² сравнСниС Π΅Π΄ΠΈΠ½ с Π΄Ρ€ΡƒΠ³, Π° ΡΡŠΡ‰ΠΎ ΠΈ Π² сравнСниС с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ RAID Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ядрото Π½Π° Linux, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ ΠΏΠΎ-Ρ€Π°Π½ΠΎ.

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ искахмС Π΄Π° ΠΏΠΎΠΊΡ€ΠΈΠ΅ΠΌ само основитС - самитС ZFS Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ - Π½ΠΎ слСд Ρ‚ΠΎΠ²Π° Ρ‚ΠΎΠ²Π° Π©Π΅ бъдСм Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π΄Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΏΠΎ-Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½Π° конфигурация ΠΈ настройка Π½Π° ZFS, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° спомагатСлни Ρ‚ΠΈΠΏΠΎΠ²Π΅ vdev ΠΊΠ°Ρ‚ΠΎ L2ARC, SLOG ΠΈ Special Allocation.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€