ΠΠΊΠΎΠ»ΠΎ Π΄Π²ΡΡ Π»Π΅Ρ ΠΈ 5 RC-ΡΠ΅Π»ΠΈΠ·ΠΎΠ² ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ZFS on Linux (ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΠΎ ZoL), ΡΡΠΎΠ±Ρ Π²ΡΠΏΡΡΡΠΈΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ Π·Π½Π°ΡΠΈΠΌΡΠΉ ΡΠ΅Π»ΠΈΠ· — ZFS-0.8.0.
ΠΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
- «ΠΠ°ΡΠΈΠ²Π½ΠΎΠ΅» ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ². ΠΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ aes-256-ccm. ΠΠ»ΡΡΠΈ Π΄Π»Ρ Π΄Π°ΡΠ°ΡΠ΅ΡΠ° ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «zfs load-key» ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄.
- Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈ zfs send/receive. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π±ΡΠΊΠ°ΠΏΡ Π½Π° Π½Π΅Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΠΈ.
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΠ· pool ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ «zpool remove». ΠΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π° ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΈ ΡΠΌΠΊΠΎΡΡΡ ΠΏΡΠ»Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ.
- ΠΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° «zpool checkpoint» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠ»Π° ΠΈ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΡΠΎ ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ snapshot ΠΏΡΠ»Π°. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅)
- TRIM Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΡΠ»Π°. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΡΡΠ΄ΠΎΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ/ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡ ΠΆΠΈΠ·Π½ΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ trim ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ «zpool trim», ΡΠ°ΠΊ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ Π°Π½Π°Π»ΠΎΠ³ ΠΎΠΏΡΠΈΠΈ discard — Π½ΠΎΠ²ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠ»Π° «autotrim»
- ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ»Π°. ΠΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° «zpool initialize» Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉ ΠΏΠ°ΡΠ΅ΡΠ½ Π²ΠΎ Π²ΡΡ Π½Π΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, VMware VMDK).
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΠΊΠΊΠ°ΡΠ½ΡΠΈΠ½Π³Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΊΠ²ΠΎΡ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΊΠ²ΠΎΡΡ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΡΡΡΡΠ° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈ ΠΊΠ²ΠΎΡ. ΠΠ²ΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ ΠΊΠ²ΠΎΡΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ/Π³ΡΡΠΏΠΏ. ΠΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ «zfs project» ΠΈ «zfs projectspace» Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π»ΠΈΠΌΠΈΡΠΎΠ² ΠΊΠ²ΠΎΡ ΠΈ ΠΎΡΡΡΡΠΎΠ² ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ.
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°Π½Π°Π»ΠΎΠ². ΠΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° «zpool program» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π½Π° LUA Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. Π‘ΠΊΡΠΈΠΏΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² «ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅» Ρ Π»ΠΈΠΌΠΈΡΠ°ΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
- Pyzfs. ΠΠΎΠ²Π°Ρ python-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ZFS. ΠΡΠ° ΠΎΠ±ΡΡΡΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²Π·Π°ΠΈΠΌΠ½ΠΎ-ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ΅ (one-to-one) ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ API libzfs_core, Π½ΠΎ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΠΈ ΡΠΈΠΏΡ Π±ΠΎΠ»Π΅Π΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½Ρ Π΄Π»Ρ Python-Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ°.
- Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Python3. Π£ΡΠΈΠ»ΠΈΡΡ «arcstat», «arcsummary» ΠΈ «dbufstat» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Python3
- Direct IO. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° (O_DIRECT).
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΊΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ scrub/resilver/list/get, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ²Π΅ΡΡΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ SSD ΠΌΠ°Π»ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ°), ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ZIL Π·Π° ΡΡΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ SHA256-ΡΠ΅ΠΊΡΡΠΌΠΌ ΠΈ AES-ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Intel QAT (Quick Assist Technology).
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ΄ΡΠ° Linux: 2.6.32 — 5.1 (Π½Π° ΡΠ΄ΡΠ°Ρ 5.0 ΠΈ Π²ΡΡΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ SIMD-ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅)
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠΈΡ Π½Π°Π³ΡΡΠ·ΠΎΠΊ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ. ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΎΠΏΡΠΈΠΉ — man 5 zfs-module-parameters
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru