ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° OpenZFS 2.1, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ZFS Π΄Π»Ρ Linux ΠΈ FreeBSD. ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΡΡΡ ΠΊΠ°ΠΊ Β«ZFS on LinuxΒ» ΠΈ ΡΠ°Π½Π΅Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π»ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ΄ΡΠ° Linux, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ FreeBSD Π±ΡΠ» ΠΏΡΠΈΠ·Π½Π°Π½ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ OpenZFS ΠΈ Π±ΡΠ» ΠΈΠ·Π±Π°Π²Π»Π΅Π½ ΠΎΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ Linux Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ.
OpenZFS telah diuji dengan kernel Linux dari 3.10 hingga 5.13 dan semua cawangan FreeBSD bermula dari 12.2-RELEASE. Kod itu diedarkan di bawah lesen CDDL percuma. OpenZFS sudah digunakan dalam FreeBSD dan disertakan dalam pengedaran Debian, Ubuntu, Gentoo, Sabayon Linux dan ALT Linux. Pakej dengan versi baharu tidak lama lagi akan disediakan untuk pengedaran Linux utama, termasuk Debian, Ubuntu, Fedora, RHEL/CentOS.
OpenZFS menyediakan pelaksanaan komponen ZFS yang berkaitan dengan kedua-dua sistem fail dan pengurus volum. Khususnya, komponen berikut dilaksanakan: SPA (Pengumpuk Kolam Storan), DMU (Unit Pengurusan Data), ZVOL (Volume Ditiru ZFS) dan ZPL (Lapisan ZFS POSIX). Selain itu, projek ini menyediakan keupayaan untuk menggunakan ZFS sebagai backend untuk sistem fail kluster Lustre. Kerja projek adalah berdasarkan kod ZFS asal, yang diimport daripada projek OpenSolaris dan dikembangkan dengan penambahbaikan dan pembetulan daripada komuniti Illumos. Projek ini sedang dibangunkan dengan penyertaan pekerja Makmal Kebangsaan Livermore di bawah kontrak dengan Jabatan Tenaga AS.
Kod ini diedarkan di bawah lesen CDDL percuma, yang tidak serasi dengan GPLv2, yang tidak membenarkan penyepaduan OpenZFS ke dalam cawangan utama kernel Linux, kerana pencampuran kod di bawah lesen GPLv2 dan CDDL tidak boleh diterima. Untuk memintas ketidakserasian pelesenan ini, diputuskan untuk mengedarkan keseluruhan produk di bawah lesen CDDL sebagai modul yang boleh dimuat turun secara berasingan, yang dibekalkan secara berasingan daripada kernel. Kestabilan pangkalan kod OpenZFS dinilai sebagai setanding dengan FS lain untuk Linux.
Perubahan utama:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ dRAID (Distributed Spare RAID), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ RAIDZ Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΎΠ² Π΄Π»Ρ Π³ΠΎΡΡΡΠ΅Π³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ (hot spare). dRAID ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° RAIDZ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π΄ΠΎΠ±ΠΈΡΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΡ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° (resilvering) ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ dRAID ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
Π³ΡΡΠΏΠΏ RAIDZ, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ² ΡΡΡΠ½ΠΎΡΡΠΈ. Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π³ΡΡΠΏΠΏΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠΌ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π΄ΠΈΡΠΊΠΎΠ². ΠΠΌΠ΅ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ° Π΄Π»Ρ Π³ΠΎΡΡΡΠ΅Π³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π² dRAID ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ² Π΄Π»Ρ Π³ΠΎΡΡΡΠ΅Π³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π΄ΠΈΡΠΊΠ°ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Β«compatibilityΒ» (Β«zpool create -o compatibility=off|legacy|file[,fileβ¦] pool vdevΒ»), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π½Π°Π±ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΏΡΠ»Π΅, Ρ ΡΠ΅Π»ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΡ ΠΏΡΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ OpenZFS ΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠ»Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π‘Π£ΠΠ InfluxDB, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ, Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΡΠΎΡΠΌΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΄Π° (ΡΡΠ΅Π·Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ). ΠΠ»Ρ ΡΠΊΡΠΏΠΎΡΡΠ° Π² ΡΠΎΡΠΌΠ°Ρ InfluxDB ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«zpool influxdbΒ».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³ΠΎΡΡΡΠ΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ CPU.
- ΠΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΎΠΏΡΠΈΠΈ:
- Β«zpool create -uΒ» β Π·Π°ΠΏΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- Β«zpool history -iΒ» β ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
- Β«zpool statusΒ» β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ Π΄ΠΈΡΠΊΠ°Ρ Ρ Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π±Π»ΠΎΠΊΠ°.
- Β«zfs send βskip-missing|-sΒ» β ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ½Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎΡΠΎΠΊΠ° Π΄Π»Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
- Β«zfs rename -uΒ» β ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π€Π‘ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- Π arcstat Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ L2ARC ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ Β«-aΒ» (all) ΠΈ Β«-pΒ» (parsable).
- Pengoptimuman:
- ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°.
- Π£ΡΠΊΠΎΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° prefetch Π΄Π»Ρ Π½Π°Π³ΡΡΠ·ΠΎΠΊ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ Π΄Π°Π½Π½ΡΠΌ.
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ Π·Π° ΡΡΡΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ.
- Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΡΠ»Π°.
- Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ZIL-Π±Π»ΠΎΠΊΠΎΠ².
- ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
- Π£Π»ΡΡΡΠ΅Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ.
- Π£ΡΠΊΠΎΡΠ΅Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ°.
Sumber: opennet.ru