ΠΡΡΡΡΡ ΠΡΠ΅Π½Ρ (
ΠΠΌΠ΅ΡΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° «slave» Π² ZFS ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ «dependent». ΠΠ· Π²ΠΈΠ΄ΠΈΠΌΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° zpool.d/slaves, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ «dm-deps» ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ «dmsetup deps». ΠΠΌΠ΅ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ «slave devices» Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° ΡΡΠ°Π·Π° «dependent (underlying) devices». Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ «freebsd/spl/sys/dkio.h» ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ dki_slave ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΡΠ½ ΠΈΠ· ΡΡΡΡΠΊΡΡΡΡ dk_cinfo Π±Π΅Π· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΠΌΠ΅Π½Ρ. ΠΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «zpool iostat -vc slaves» ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ «zpool iostat -vc size».
Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ «/sys/class/block/$dev/slaves» ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ sysfs ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΄ΡΠΎΠΌ Linux ΠΈ Π½Π΅ΠΏΠΎΠ΄Π²Π»Π°ΡΡΠ½ΠΎ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ OpenZFS. ΠΠ΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ ΠΆΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ «dmsetup deps», Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ dmsetup ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² /sys/ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π½Π΅Π΄Π΅Π»Ρ Π½Π°Π·Π°Π΄ ΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ² whitelist/blacklist ΠΈ master/slave
ΠΠΎΠΌΠΈΡΠ΅Ρ IETF (Internet Engineering Task Force), Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΠΉΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°,
«active/standby»,
«primary/replica»,
«writer/reader»,
«coordinator/worker» ΠΈΠ»ΠΈ
«parent/helper», Π° Π²ΠΌΠ΅ΡΡΠΎ «blacklist/whitelist» — «blocklist/allowlist» ΠΈΠ»ΠΈ «block/permit».
ΠΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ Π½Π° GitHub ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠΎΠ² Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΊΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ: 42 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΎΠ΄ΠΎΠ±ΡΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π° 48 Π²ΡΡΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ². Π‘ΡΠΎΡΠΎΠ½Π½ΠΈΠΊΠΈ ΠΈΠ·Π±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΡ ΡΠ»ΠΎΠ²Π° «slave» ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π»ΡΠ΄Π΅ΠΉ ΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ ΡΡΠ΅ΠΌΠ»ΡΠ½Π½ΡΠΌΠΈ ΠΈ Π½Π°Π²Π΅Π²Π°Π΅Ρ Π²ΠΎΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΎ Π±ΡΠ»ΠΎΠΉ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°ΡΠΈΠΈ. Π ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π½Π°ΡΠ°Π»ΠΎ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΎΡΠΊΠΎΡΠ±ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅.
ΠΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎ Π»ΠΈΡΡ ΡΠ΅ΡΠΌΠΈΠ½Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΡΠΆΠ΅ ΡΡΡΠΎΡΠ»ΠΎΡΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠ΅, Π° Π½Π΅Π³Π°ΡΠΈΠ²Π½Π°Ρ ΠΊΠΎΠ½Π½ΠΎΡΠ°ΡΠΈΡ Π½Π°Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΎ ΠΏΠΎΠ»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ, ΠΌΠ΅ΡΠ°ΡΡΠΈΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. Π‘Π»ΠΎΠ²ΠΎ «slave» ΠΌΠ½ΠΎΠ³ΠΎΠ³ΡΠ°Π½Π½ΠΎ ΠΈ Π½Π΅ΡΡΡ Π² ΡΠ΅Π±Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. ΠΠ΅Π· ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΠ»ΠΎΠ²Π° Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ»ΠΎΠ²ΠΎ ΠΎΡΠΊΠΎΡΠ±ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΎΡΠΊΠΎΡΠ±ΠΈΡΠ΅Π»Π΅Π½. Π’Π΅ΡΠΌΠΈΠ½ «slave» ΡΠΆΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 50 Π»Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ IT Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ «Π²Π΅Π΄ΠΎΠΌΡΠΉ», Π° Π½Π΅ «ΡΠ°Π±». ΠΡΠ»ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΉΡΠΈ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π»ΡΠ±ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠ²Π°Π½ΠΎ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΠΏΠΎΠ΄Π°Π½ΠΎ Π² ΠΈΠ·Π²ΡΠ°ΡΡΠ½Π½ΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΡΠΊΠΎΡΠ±ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru