เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš

เปƒเบ™เบžเบฒเบเบฎเบฝเบ™ spring เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบชเบปเบ™เบ—เบฐเบ™เบฒเปเบฅเป‰เบงเบšเบฒเบ‡เบซเบปเบงเบ‚เปเป‰เปเบ™เบฐเบ™เปเบฒ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบงเบดเบ—เบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เป„เบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™ ะธ RAID เปเบกเปˆเบ™เบซเบเบฑเบ‡. เปƒเบ™เบ„เบฑเป‰เบ‡เบ—เบตเบชเบญเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบชเบฑเบ™เบเบฒเบงเปˆเบฒเบˆเบฐเบชเบทเบšเบ•เปเปˆเบเบฒเบ™เบชเบถเบเบชเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ multi-disk topologies เปƒเบ™ ZFS. เบ™เบตเป‰เปเบกเปˆเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบฎเบธเปˆเบ™เบ•เปเปˆเป„เบ›เบ—เบตเปˆเบ›เบฐเบˆเบธเบšเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเปเบซเปˆเบ‡: เบˆเบฒเบ เบˆเบฒเบเบซเบ™เบฒเบเปเบญเบšเป€เบ›เบต เบเบฒเบ™ Ubuntu.

เบ”เบต, เบกเบทเป‰เบ™เบตเป‰เปเบกเปˆเบ™เบกเบทเป‰เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบนเป‰เบˆเบฑเบเบเบฑเบš ZFS, เบœเบนเป‰เบญเปˆเบฒเบ™ inquisitive. เบžเบฝเบ‡เปเบ•เปˆเบฎเบนเป‰เบงเปˆเบฒเปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ—เบตเปˆเบ–เปˆเบญเบกเบ•เบปเบงเบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ OpenZFS Matt Ahrens, "เบกเบฑเบ™เบเบฒเบเปเบ—เป‰เป†."

เปเบ•เปˆเบเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป„เบ›เบซเบฒเบ•เบปเบงเป€เบฅเบ - เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐ, เบ‚เป‰เบญเบเบชเบฑเบ™เบเบฒ - เบชเปเบฒเบฅเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ ZFS เปเบ›เบ”, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบš. เบงเบดเบ—เบตเบเบฒเบ™ เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, ZFS เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เปเบœเปˆเบ™.

Zpool, vdev เปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เปเบœเบ™เบงเบฒเบ”เบชเบฐเบ™เบธเบเป€เบเบตเป€เบ•เบฑเบกเบ™เบตเป‰เบ›เบฐเบเบญเบšเบกเบตเบชเบฒเบก vdevs เบŠเปˆเบงเบเป€เบซเบผเบทเบญ, เบซเบ™เบถเปˆเบ‡เปƒเบ™เปเบ•เปˆเบฅเบฐเบซเป‰เบญเบ‡เบฎเบฝเบ™, เปเบฅเบฐเบชเบตเปˆเบชเปเบฒเบฅเบฑเบš RAIDz2.

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบšเปเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบชเบฐเบ™เบธเบเป€เบเบตเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ” vdev เบ—เบตเปˆเบšเปเปˆเบเบปเบ‡เบเบฑเบ™เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ” - เปเบ•เปˆเบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เปˆเบฒเบ™เบˆเบฒเบเบเบฒเบ™เป€เบฎเบฑเบ”เป€เบŠเบฑเปˆเบ™เบ™เบฑเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™.

เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ ZFS เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบšเบดเปˆเบ‡เบขเปˆเบฒเบ‡เปƒเบเป‰เบŠเบดเบ”เบเปˆเบฝเบงเบเบฑเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ•เบปเบงเบˆเบดเบ‡เบ‚เบญเบ‡เบกเบฑเบ™. เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, ZFS unifies เบฅเบฐเบ”เบฑเบšเบ›เบฐเป€เบžเบ™เบตเบ‚เบญเบ‡เบ›เบฐเบฅเบดเบกเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ. เบญเบฑเบ™เบ—เบตเบชเบญเบ‡, เบกเบฑเบ™เปƒเบŠเป‰เบเบปเบ™เป„เบเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเปเบฒเป€เบ™เบปเบฒเปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™. เบฅเบฑเบเบชเบฐเบ™เบฐเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบฅเบฐเบšเบปเบšเบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เปเบฒเบกเบฐเบ”เบฒเปเบฅเบฐ RAID arrays. เบŠเบธเบ”เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเปเบกเปˆเบ™เบชเบฐเบ™เบธเบเป€เบเบตเป€เบเบฑเบšเบฎเบฑเบเบชเบฒ (zpool), เบญเบธเบ›เบฐเบเบญเบ™ virtual (vdev), เปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡ (เบญเบธเบ›เบฐเบเบญเบ™).

zpool

เบชเบฐเบฅเบญเบเบ™เป‰เปเบฒเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ zpool เปเบกเปˆเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ ZFS เบชเบนเบ‡เบชเบธเบ”. เปเบ•เปˆเบฅเบฐเบชเบฐเบ™เบธเบเป€เบเบตเบ›เบฐเบเบญเบšเบกเบตเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบญเบธเบ›เบฐเบเบญเบ™ virtual. เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เปเบ•เปˆเบฅเบฐเบžเบงเบเบกเบฑเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™ (เบญเบธเบ›เบฐเบเบญเบ™). เบชเบฐเบฅเบญเบเบ™เป‰เบณเบชเบฐเป€เปเบทเบญเบ™เปเบกเปˆเบ™เบšเบฅเบฑเบญเบเบ—เบตเปˆเบšเบฑเบ™เบˆเบธเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡. เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป€เบ„เบทเปˆเบญเบ‡เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเปœเปˆเบงเบเปœเบถเปˆเบ‡เบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบˆเบธเบชเบญเบ‡ เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™เปเบเบเบเบฑเบ™เป„เบ”เป‰, เปเบ•เปˆเปเบ•เปˆเบฅเบฐเบญเบฑเบ™เปเบกเปˆเบ™เป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฒเบ”เบ—เบฑเบ‡เปเบปเบ”. เบชเบฐเบฅเบญเบเบ™เป‰เบณเบšเปเปˆเบชเบฒเบกเบฒเบ”เปเบšเปˆเบ‡เบ›เบฑเบ™เบญเบธเบ›เบฐเบเบญเบ™เบชเบฐเป€เปเบทเบญเบ™เป„เบ”เป‰.

เบเบฒเบ™เบŠเปเป‰เบฒเบŠเป‰เบญเบ™เบ‚เบญเบ‡ ZFS เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบญเบธเบ›เบฐเบเบญเบ™ virtual, เบšเปเปˆเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบชเบฐเบ™เบธเบเป€เบเบต. เบšเปเปˆเบกเบตเบเบฒเบ™เบŠเปเป‰เบฒเบŠเป‰เบญเบ™เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡เปƒเบ™เบฅเบฐเบ”เบฑเบšเบชเบฐเบ™เบธเบเป€เบเบต - เบ–เป‰เบฒเป„เบ” vdev เบซเบผเบท vdev เบžเบดเป€เบชเบ”เบ–เบทเบเบชเบนเบ™เป€เบชเบ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบฐเบ™เบธเบเป€เบเบตเบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบชเบนเบ™เป€เบชเบเป„เบ›เบžเป‰เบญเบกเบเบฑเบšเบกเบฑเบ™.

เบชเบฐเบฅเบญเบเบ™เป‰เปเบฒเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบชเบฒเบกเบฒเบ”เบฅเบญเบ”เบŠเบตเบงเบดเบ”เบˆเบฒเบเบเบฒเบ™เบชเบนเบ™เป€เบชเบ cache เบซเบผเบทเบšเบฑเบ™เบ—เบถเบเบญเบธเบ›เบฐเบเบญเบ™ virtual - เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบกเบนเบ™เป€เบ›เบทเป‰เบญเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบเบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเบชเบนเบ™เป€เบชเบ vdev log เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป„เบŸเบŸเป‰เบฒเบซเบผเบทเบฅเบฐเบšเบปเบšเบ‚เบฑเบ”เบ‚เป‰เบญเบ‡.

เบกเบตเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบœเบดเบ”เบ—เบปเปˆเบงเป„เบ›เบงเปˆเบฒ ZFS "เป€เบชเบฑเป‰เบ™เบ”เปˆเบฒเบ‡เบ‚เปเป‰เบกเบนเบ™" เบ–เบทเบเบ‚เบฝเบ™เปƒเบ™เบ—เบปเปˆเบงเบชเบฐเบ™เบธเบเป€เบเบตเบ—เบฑเบ‡เบซเบกเบปเบ”. เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡. Zpool เบšเปเปˆเปเบกเปˆเบ™ RAID0 เบ•เบฐเบซเบฅเบปเบเบ—เบฑเบ‡เบซเบกเบปเบ”, เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ•เบฐเบซเบฅเบปเบเบซเบผเบฒเบ JBOD เบ”เป‰เบงเบเบเบปเบ™เป„เบเบเบฒเบ™เปเบˆเบเบขเบฒเบเบ•เบปเบงเปเบ›เบ—เบตเปˆเบŠเบฑเบšเบŠเป‰เบญเบ™.

เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบฅเบฒเบเบเบฒเบ™เป„เบ”เป‰เบ–เบทเบเปเบˆเบเบขเบฒเบเปƒเบ™เบšเบฑเบ™เบ”เบฒเบญเบธเบ›เบฐเบเบญเบ™ virtual เบ—เบตเปˆเบกเบตเบขเบนเปˆเบ•เบฒเบกเบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปƒเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบตเบžเบงเบเบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเบ•เบทเปˆเบกเปƒเบชเปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™. เปƒเบ™ ZFS เบฎเบธเปˆเบ™เบ•เปเปˆเบกเบฒ, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ vdev เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™ (เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰) เป„เบ”เป‰เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒ - เบ–เป‰เบฒเบญเบธเบ›เบฐเบเบญเบ™ virtual เปƒเบ”เบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™ busier เบซเบผเบฒเบเบเปˆเบงเบฒเบญเบทเปˆเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เป‚เบซเบผเบ”), เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ‚เป‰เบฒเบกเบŠเบปเปˆเบงเบ„เบฒเบงเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™, เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบเบฒเบ™เบŸเบฃเบตเบชเบนเบ‡เบชเบธเบ”. เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบžเบทเป‰เบ™เบ—เบตเปˆ.

เบเบปเบ™เป„เบเบเบฒเบ™เบŠเบญเบเบ„เบปเป‰เบ™เบซเบฒเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบเบฒเบ™เบ‚เบฝเบ™เปเบšเบš ZFS เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเปเบฅเบฐเป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบชเบนเบ‡เบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบด - เปเบ•เปˆเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰. carte blanch เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบชเบปเบก HDDs เบŠเป‰เบฒ เปเบฅเบฐ SSDs เป„เบงเป‚เบ”เบเบšเปเปˆเป„เบ”เป‰เบชเบฐเปเบฑเบเปƒเบˆเปƒเบ™เบเบธเปˆเบกเบ”เบฝเบง. เบชเบฐเบ™เบธเบเป€เบเบตเบ—เบตเปˆเบšเปเปˆเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบŠเป‰เบฒเบ—เบตเปˆเบชเบธเบ”, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ„เบทเบเบฑเบšเบงเปˆเบฒเบกเบฑเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบญเบธเบ›เบฐเบเบญเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ—เบฑเบ‡เบซเบกเบปเบ”.

vdev

เปเบ•เปˆเบฅเบฐเบชเบฐเบฅเบญเบเบ™เป‰เปเบฒเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบญเบธเบ›เบฐเบเบญเบ™ virtual (เบญเบธเบ›เบฐเบเบญเบ™ virtual, vdev). เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เปเบ•เปˆเบฅเบฐ vdev เบกเบตเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™. เบญเบธเบ›เบฐเบเบญเบ™ virtual เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ, เปเบ•เปˆเบกเบตเบซเป‰เบญเบ‡เบฎเบฝเบ™เบœเบนเป‰เบŠเปˆเบงเบ vdev เบซเบผเบฒเบ, เบฅเบงเบกเบ—เบฑเบ‡ CACHE, LOG, เปเบฅเบฐ SPECIAL. เปเบ•เปˆเบฅเบฐ vdev เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบกเบตเบซเบ™เบถเปˆเบ‡เปƒเบ™เบซเป‰เบฒ topologies: เบญเบธเบ›เบฐเบเบญเบ™เบ”เบฝเบง (เบญเบธเบ›เบฐเบเบญเบ™เบ”เบฝเบง), RAIDz1, RAIDz2, RAIDz3, เบซเบผเบท mirror (เบเบฐเบˆเบปเบ).

RAIDz1, RAIDz2 เปเบฅเบฐ RAIDz3 เปเบกเปˆเบ™เปเบ™เบงเบžเบฑเบ™เบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบ„เบปเบ™เป€เบเบปเปˆเบฒเป€เบญเบตเป‰เบ™เบงเปˆเบฒ RAID เป€เบ—เบปเปˆเบฒ (เป€เบชเบฑเป‰เบ™เบ‚เบงเบฒเบ‡) parity. 1, 2 เปเบฅเบฐ 3 เบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ–เบดเบ‡เบˆเปเบฒเบ™เบงเบ™ parity blocks เบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™เปƒเบซเป‰เปเบ•เปˆเบฅเบฐเปเบ–เบšเบ‚เปเป‰เบกเบนเบ™. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เปเบœเปˆเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบš parity, เบญเบธเบ›เบฐเบเบญเบ™ virtual RAIDz เปเบˆเบเบขเบฒเบ parity เบ™เบตเป‰เป€เบ„เบดเปˆเบ‡เป€เบ—เบปเปˆเบฒเบเบฑเบ™เปƒเบ™เบ—เบปเปˆเบงเปเบœเปˆเบ™. A RAIDz array เบชเบฒเบกเบฒเบ”เบชเบนเบ™เป€เบชเบเปเบœเปˆเบ™เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบกเบฑเบ™เบกเบตเบ•เบฑเบ™ parity; เบ–เป‰เบฒเบกเบฑเบ™เบชเบนเบ™เป€เบชเบเบญเบฑเบ™เบญเบทเปˆเบ™, เบกเบฑเบ™เบˆเบฐเบ‚เบฑเบ”เปเบฅเบฐเป€เบญเบปเบฒเบชเบฐเบฅเบญเบเบ™เป‰เปเบฒเบเบฑเบšเบกเบฑเบ™.

เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™ virtual mirrored (mirror vdev), เปเบ•เปˆเบฅเบฐ block เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เปเบ•เปˆเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เปƒเบ™ vdev. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบเบฐเบˆเบปเบเบชเบญเบ‡เบเบงเป‰เบฒเบ‡เปเบกเปˆเบ™เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบ•เบปเบ™เป€เบญเบ‡เบกเบฑเบเบชเบฒเบกเบฒเบ”เบขเบนเปˆเปƒเบ™เบเบฐเบˆเบปเบ - triples เบกเบฑเบเบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบญเปˆเบฒเบ™เปเบฅเบฐเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เบเบฐเบˆเบปเบ vdev เบชเบฒเบกเบฒเบ”เบฅเบญเบ”เบžเบปเป‰เบ™เบˆเบฒเบเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบงเป„เบ”เป‰เบ•เบฒเบšเปƒเบ”เบ—เบตเปˆเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡เบญเบธเบ›เบฐเบเบญเบ™เปƒเบ™ vdev เบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ.

vdevs เบ”เบฝเบงเปเบกเปˆเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเป‚เบ”เบเบ—เปเบฒเบกเบฐเบŠเบฒเบ”. เบญเบธเบ›เบฐเบเบญเบ™ virtual เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบˆเบฐเบšเปเปˆเบขเบนเปˆเบฅเบญเบ”เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบงเบ”เบฝเบง - เปเบฅเบฐเบ–เป‰เบฒเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบซเบผเบท vdev เบžเบดเป€เบชเบ”, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡เบกเบฑเบ™เบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบ—เปเบฒเบฅเบฒเบเบชเบฐเบ™เบธเบเป€เบเบตเบ—เบฑเบ‡เบซเบกเบปเบ”. เบˆเบปเปˆเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เบซเบผเบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

CACHE, LOG, เปเบฅเบฐ SPECIAL VAs เบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰ topologies เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เปƒเบ”เป† - เปเบ•เปˆเบˆเบทเปˆเบงเปˆเบฒเบเบฒเบ™เบชเบนเบ™เป€เบชเบ SPECIAL VA เบซเบกเบฒเบเป€เบ–เบดเบ‡เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบชเบฐเบ™เบธเบเป€เบเบต, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ topology เบŠเป‰เปเบฒเบŠเป‰เบญเบ™เปเบกเปˆเบ™เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบชเบนเบ‡.

เบญเบธเบ›เบฐเบเบญเบ™

เบ™เบตเป‰เปเบกเปˆเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ„เปเบฒเบชเบฑเบšเบ—เบตเปˆเบ‡เปˆเบฒเบเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเปƒเบ™ ZFS - เบกเบฑเบ™เป€เบ›เบฑเบ™เบญเบธเบ›เบฐเบเบญเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบšเบšเบชเบธเปˆเบกเบ—เบฒเบ‡เบ•เบฑเบ™. เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒเบญเบธเบ›เบฐเบเบญเบ™เบชเบฐเป€เปเบทเบญเบ™เปเบกเปˆเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบญเบธเบ›เบฐเบเบญเบ™เปเบ•เปˆเบฅเบฐเบญเบฑเบ™, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบชเบฐเบ™เบธเบเป€เบเบตเปเบกเปˆเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบญเบธเบ›เบฐเบเบญเบ™เบชเบฐเป€เปเบทเบญเบ™.

เปเบœเปˆเบ™ - เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบชเบฐเบ™เบฐเปเบกเปˆเป€เบซเบผเบฑเบเบซเบผเบทเปเบ‚เบ‡ - เปเบกเปˆเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ•เบฑเบ™เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบญเบฒเบ„เบฒเบ™เบ‚เบญเบ‡ vdev. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบญเบธเบ›เบฐเบเบญเบ™เปƒเบ”เป†เบ—เบตเปˆเบกเบตเบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเปƒเบ™ /dev เบˆเบฐเป€เบฎเบฑเบ”, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบฎเบฒเบ”เปเบง RAID arrays เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบญเบธเบ›เบฐเบเบญเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เป„เบŸเบฅเปŒเบ”เบดเบšเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบšเบฅเบฑเบญเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆ vdev เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบˆเบฒเบ. เบ—เบปเบ”เบชเบญเบšเบชเบฐเบ™เบธเบเป€เบเบตเบˆเบฒเบ เป„เบŸเบฅเปŒเบเบฐเปเบˆเบเบเบฐเบˆเบฒเบ เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบเปƒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบณเบชเบฑเปˆเบ‡เบชเบฐเบ™เบธเบเป€เบเบต เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบตเบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”เปƒเบ™เบชเบฐเบฅเบญเบเบ™เป‰เบณ เบซเบผเบทเบญเบธเบ›เบฐเบเบญเบ™เบชเบฐเป€เปเบทเบญเบ™เบ‚เบญเบ‡ topology เบ—เบตเปˆเปƒเบซเป‰เป„เบงเป‰.

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบชเป‰เบฒเบ‡โ€‹เบชเบฐโ€‹เบ™เบธเบโ€‹เป€เบเบตโ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เบˆเบฒเบโ€‹เป„เบŸเบฅโ€‹เปŒ sparse เปƒเบ™โ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบชเบญเบ‡โ€‹เบชเบฒเบกโ€‹เบงเบดโ€‹เบ™เบฒโ€‹เบ—เบต - เปเบ•เปˆโ€‹เบšเปเปˆโ€‹เบฅเบทเบกโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบฅเบปเบšโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบชเบฐโ€‹เบ™เบธเบโ€‹เป€เบเบตโ€‹เปเบฅเบฐโ€‹เบญเบปเบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบ‚เบญเบ‡โ€‹เบกเบฑเบ™โ€‹เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹.

เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบชเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบ™เปเบ›เบ”เปเบœเปˆเบ™เปเบฅเบฐเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เปเบœเปˆเบ™ 10 TB (~9300 GiB) - เปเบ•เปˆเบ—เปˆเบฒเบ™เบšเปเปˆเปเบ™เปˆเปƒเบˆเบงเปˆเบฒ topology เปƒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบชเบฐเบ™เบธเบเป€เบเบตเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบˆเบฒเบเป„เบŸเบฅเปŒเบ—เบตเปˆเปเบ•เบเบซเบฑเบเปƒเบ™เบงเบดเบ™เบฒเบ—เบต - เปเบฅเบฐเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒ RAIDz2 vdev เบ‚เบญเบ‡เปเบ›เบ” 10 TB เบ”เบดเบ”เปƒเบซเป‰ 50 TiB เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰.

เบญเบธเบ›เบฐเบเบญเบ™เบžเบดเป€เบชเบ”เบญเบตเบเบญเบฑเบ™เปœเบถเปˆเบ‡เปเบกเปˆเบ™ SPARE (เบญเบฒเป„เบซเบผเปˆ). เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™ Hot-swap, เบšเปเปˆโ€‹เป€เบซเบกเบทเบญเบ™โ€‹เบเบฑเบšโ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบ›เบปเบโ€‹เบเบฐโ€‹เบ•เบด, เป€เบ›เบฑเบ™โ€‹เบ‚เบญเบ‡โ€‹เบชเบฐโ€‹เบ™เบธเบโ€‹เป€เบเบตโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”, เปเบฅเบฐโ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™ virtual เบ”เบฝเบง. เบ–เป‰เบฒ vdev เปƒเบ™เบชเบฐเบฅเบญเบเบ™เป‰เปเบฒเบฅเบปเป‰เบกเป€เบซเบฅเบงเปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™ spare เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบชเบฐเบ™เบธเบเป€เบเบตเปเบฅเบฐเบกเบต, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก vdev เบ—เบตเปˆเบ–เบทเบเบเบฐเบ—เบปเบšเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš vdev เบ—เบตเปˆเบ–เบทเบเบเบฐเบ—เบปเบš, เบญเบธเบ›เบฐเบเบญเบ™ spare เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบชเปเบฒเป€เบ™เบปเบฒเบซเบผเบทเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ„เบทเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ„เบงเบ™เบˆเบฐเบขเบนเปˆเปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบ‚เบฒเบ”เบซเบฒเบเป„เบ›. เปƒเบ™ RAID เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบกเบ™เบตเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ„เบทเบ™เปƒเบซเบกเปˆ, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบขเบนเปˆเปƒเบ™ ZFS เบกเบฑเบ™เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ resilvering.

เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบญเบธเบ›เบฐเบเบญเบ™ spare เบšเปเปˆเป„เบ”เป‰เบ›เปˆเบฝเบ™เปเบ—เบ™เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบฅเบปเป‰เบกเป€เบซเบฅเบงเบขเปˆเบฒเบ‡เบ–เบฒเบงเบญเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบŠเบปเปˆเบงเบ„เบฒเบงเป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ vdev เบ–เบทเบเบ—เปเบฒเบฅเบฒเบ. เบซเบผเบฑเบ‡เบˆเบฒเบเบœเบนเป‰เป€เบšเบดเปˆเบ‡เปเบเบ‡เบฅเบฐเบšเบปเบšเบ›เปˆเบฝเบ™เปเบ—เบ™ vdev เบ—เบตเปˆเบฅเบปเป‰เบกเป€เบซเบฅเบง, เบเบฒเบ™เบŠเปเป‰เบฒเบŠเป‰เบญเบ™เบˆเบฐเบ–เบทเบเบŸเบทเป‰เบ™เบŸเบนเบเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบ–เบฒเบงเบญเบ™เบ™เบฑเป‰เบ™, เปเบฅเบฐ SPARE เบ–เบทเบเบ•เบฑเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบˆเบฒเบ vdev เปเบฅเบฐเบเบฑเบšเบ„เบทเบ™เป„เบ›เป€เบฎเบฑเบ”เบงเบฝเบเป€เบ›เบฑเบ™เบญเบฒเป„เบซเบผเปˆเบชเปเบฒเบฅเบฑเบšเบชเบฐเบฅเบญเบเบ™เป‰เปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”.

เบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™, เบ•เบฑเบ™เปเบฅเบฐเบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™

เบŠเบธเบ”เบ•เปเปˆเป„เบ›เบ‚เบญเบ‡เบญเบฒเบ„เบฒเบ™เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเปƒเบ™เบเบฒเบ™เป€เบ”เบตเบ™เบ—เบฒเบ‡ ZFS เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบซเบ™เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบšเบฎเบฒเบ”เปเบงเปเบฅเบฐเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบ–เบทเบเบˆเบฑเบ”เปเบฅเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒ. เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบ‚เป‰เบฒเบกเบชเบญเบ‡เบชเบฒเบกเบฅเบฐเบ”เบฑเบšเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰ - เป€เบŠเบฑเปˆเบ™ metaslab - เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰ clutter เป€เบ–เบดเบ‡เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เป‚เบ”เบเบฅเบงเบก.

เบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™ (เบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™)

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เปเบฒเบญเบดเบ”, เบกเบฑเบ™เบˆเบฐเบชเบฐเปเบ”เบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบชเบฐเบฅเบญเบเบ™เป‰เปเบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เป‚เบ„เบ•เป‰เบฒ - เปเบฅเบฐเบ›เปˆเบฝเบ™เบˆเบธเบ” mount. เบงเบดเป€เบชเบ”!

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
Zvol เปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆเบžเบฝเบ‡เปเบ•เปˆเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ–เบทเบเบ–เบญเบ”เบญเบญเบเบˆเบฒเบเบŠเบฑเป‰เบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ‚เบญเบ‡เบกเบฑเบ™, เป€เบŠเบดเปˆเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบ›เปˆเบฝเบ™เปเบ—เบ™เบ—เบตเปˆเบ™เบตเป‰เบ”เป‰เบงเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ ext4 เบ›เบปเบเบเบฐเบ•เบดเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™.

เบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™ ZFS เปเบกเปˆเบ™เบ›เบฐเบกเบฒเบ™เบ„เบทเบเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ›เบปเบเบเบฐเบ•เบด, เบขเบนเปˆ glance เบ—เปเบฒเบญเบดเบ”เบกเบฑเบ™เบ„เป‰เบฒเบเบ„เบท "เบžเบฝเบ‡เปเบ•เปˆเป‚เบŸเบ™เป€เบ”เบตเบญเบทเปˆเบ™". เปเบ•เปˆเบ„เบทเบเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ”เป‰เบ›เบปเบเบเบฐเบ•เบด, เปเบ•เปˆเบฅเบฐเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™ ZFS เบกเบตเบŠเบธเบ”เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡.

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบกเบตเป‚เบ„เบ•เป‰เบฒเบ—เบตเปˆเบ–เบทเบเบกเบญเบš เปเบฒเบ. เบ–เป‰เบฒเบ•เบฑเป‰เบ‡ zfs set quota=100G poolname/datasetname, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เปƒเบชเปˆเป‚เบŸเบ™เป€เบ”เบตเบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡ /poolname/datasetname เบซเบผเบฒเบเบเปˆเบงเบฒ 100 GiB.

เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบเบฒเบ™เบกเบต - เปเบฅเบฐเบšเปเปˆเบกเบต - เบ‚เบญเบ‡ slashes เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเปเบ–เบง? เปเบ•เปˆเบฅเบฐเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบกเบตเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เปƒเบ™เบ—เบฑเบ‡เบฅเบฐเบšเบปเบš ZFS hierarchy เปเบฅเบฐเบฅเบฐเบšเบปเบš mount hierarchy. เบšเปเปˆเบกเบตเบ•เบปเบงเป€เบฅเบทเปˆเบญเบ™เบŠเบฑเป‰เบ™เบ™เปเบฒเปƒเบ™เบฅเปเบฒเบ”เบฑเบš 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.

เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™, เบžเบงเบเป€เบฎเบปเบฒเบ„เบงเบ™เบเปˆเบฒเบงเป€เบ–เบดเบ‡เบ›เบฐเบฅเบดเบกเบฒเบ™ (zvols). เบ›เบฐเบฅเบดเบกเบฒเบ™เบ›เบฐเบกเบฒเบ™เป€เบ—เบปเปˆเบฒเบเบฑเบšเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™, เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบกเบตเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ - เบกเบฑเบ™เป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบญเบธเบ›เบฐเบเบญเบ™เบšเบฅเบฑเบญเบ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเป‰เบฒเบ‡ zvol เบ”เป‰เบงเบโ€‹เบŠเบทเปˆ mypool/myzvol, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเบกเบฑเบ™เบ”เป‰เบงเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ ext4, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ mount เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ™เบฑเป‰เบ™ - เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบกเบตเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ ext4, เปเบ•เปˆเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ ZFS! เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป‚เบ‡เปˆเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ”เบฝเบง, เปเบ•เปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเบฎเบนเป‰เบชเบถเบเบซเบผเบฒเบเป€เบ›เบฑเบ™ backend เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบชเบปเปˆเบ‡เบญเบญเบเบญเบธเบ›เบฐเบเบญเบ™ iSCSI.

เบ—เปˆเบญเบ™เป„เบกเป‰

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เป„เบŸเบฅเปŒเปเบกเปˆเบ™เบชเบฐเปเบ”เบ‡เป‚เบ”เบเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบ•เบฑเบ™. เปเบ•เปˆเบฅเบฐเบšเบฅเบฑเบญเบเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™ virtual เบซเบ™เบถเปˆเบ‡. เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ•เบฑเบ™เปเบกเปˆเบ™เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเป€เบ—เบปเปˆเบฒเบเบฑเบšเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต เบ‚เบฐเปœเบฒเบ”เบšเบฑเบ™เบ—เบถเบ, เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบฅเบปเบ‡เป€เบ›เบฑเบ™ 2^เบ›เปˆเบฝเบ™เบ–เป‰เบฒเบกเบฑเบ™เบกเบต metadata เบซเบผเบทเป„เบŸเบฅเปŒเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ.

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เบžเบงเบเป€เบฎเบปเบฒเปเบ—เป‰เป† เปเบ—เป‰ เบขเปˆเบฒเป€เบงเบปเป‰เบฒเบ•เบฐเบซเบผเบปเบเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบฅเบปเบ‡เป‚เบ—เบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบฑเบ™เปƒเบซเบเปˆเบซเบผเบงเบ‡เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบฅเบทเปˆเบญเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเป€เบเบตเบ™เป„เบ›

เปƒเบ™เบชเบฐเบ™เบธเบเป€เบเบต ZFS, เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบฅเบงเบกเบ—เบฑเบ‡ metadata, เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบšเบฅเบฑเบญเบ. เบ‚เบฐเบซเบ™เบฒเบ”เบšเบฅเบฑเบญเบเบชเบนเบ‡เบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เบŠเบฑเบšเบชเบดเบ™ recordsize (เบ‚เบฐเบซเบ™เบฒเบ”เบšเบฑเบ™เบ—เบถเบ). เบ‚เบฐเบซเบ™เบฒเบ”เบšเบฑเบ™เบ—เบถเบเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰, เปเบ•เปˆเบ™เบตเป‰เบˆเบฐเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบซเบผเบทเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ‚เบญเบ‡เบšเบฅเบฑเบญเบเปƒเบ”เป†เบ—เบตเปˆเป„เบ”เป‰เบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™ - เบกเบฑเบ™เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบžเบฝเบ‡เปเบ•เปˆเบšเบฅเบฑเบญเบเปƒเบซเบกเปˆเบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบ‚เบฝเบ™.

เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เป€เบ›เบฑเบ™เบขเปˆเบฒเบ‡เบญเบทเปˆเบ™, เบ‚เบฐเบซเบ™เบฒเบ”เบšเบฑเบ™เบ—เบถเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™ 128 KiB. เบกเบฑเบ™เป€เบ›เบฑเบ™เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เบŠเบทเป‰เบ‚เบฒเบเบ—เบตเปˆเบซเบเบธเป‰เบ‡เบเบฒเบเบ—เบตเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเปเปˆเบชเบปเบกเบšเบนเบ™เปเบšเบš, เปเบ•เปˆเบกเบฑเบ™เบšเปเปˆเบ‚เบตเป‰เบฎเป‰เบฒเบเปƒเบ™เบเปเบฅเบฐเบ™เบตเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”. Recordsize เบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป„เบ”เป‰เบˆเบฒเบ 4K เบซเบฒ 1M (เบ”เป‰เบงเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบฑเป‰เบ™เบชเบนเบ‡ recordsize เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹เบซเบผเบฒเบโ€‹, เปเบ•เปˆโ€‹เบงเปˆเบฒโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบšเปเปˆโ€‹เบ„เปˆเบญเบโ€‹เป€เบ›เบฑเบ™โ€‹เบ„เบงเบฒเบกโ€‹เบ„เบดเบ”โ€‹เบ—เบตเปˆโ€‹เบ”เบตโ€‹)โ€‹.

เบšเบผเบฑเบญเบเปƒเบ”เบ™เบถเปˆเบ‡เปเบฒเบเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ”เบฝเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™ - เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบšเบตเบšเบชเบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบšเบฅเบฑเบญเบเบ”เบฝเบงเป„เบ”เป‰. เปเบ•เปˆเบฅเบฐเป„เบŸเบฅเปŒเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบ•เบฑเบ™, เบ‚เบถเป‰เบ™เบเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”. เบ–เป‰เบฒเบ‚เบฐเบซเบ™เบฒเบ”เป„เบŸเบฅเปŒเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบเบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบšเบฑเบ™เบ—เบถเบ, เบกเบฑเบ™เบˆเบฐเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบšเบฅเบฑเบญเบเบ—เบตเปˆเบ™เป‰เบญเบเบเบงเปˆเบฒ - เบ•เบปเบงเบขเปˆเบฒเบ‡, เบšเบฅเบฑเบญเบเบ—เบตเปˆเบกเบตเป„เบŸเบฅเปŒ 2 KiB เบˆเบฐเบ„เบญเบšเบ„เบญเบ‡เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบ‚เบฐเปเบซเบ™เบ‡ 4 KiB เปƒเบ™เปเบœเปˆเบ™.

เบ–เป‰เบฒเป„เบŸเบฅเปŒเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบžเบฝเบ‡เบžเปเปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบซเบผเบฒเบเบ•เบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบšเบฑเบ™เบ—เบถเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบตเป„เบŸเบฅเปŒเบ™เบตเป‰เบˆเบฐเบกเบตเบ‚เบฐเบซเบ™เบฒเบ” recordsize - เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบชเบธเบ”เบ—เป‰เบฒเบ, เบชเปˆเบงเบ™เบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ เบžเบทเป‰เบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰.

zvols เบšเปเปˆเบกเบตเบŠเบฑเบšเบชเบดเบ™ recordsize โ€” เปเบ—เบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบกเบตโ€‹เบŠเบฑเบšโ€‹เบชเบดเบ™โ€‹เบ—เบฝเบšโ€‹เป€เบ—เบปเปˆเบฒโ€‹ volblocksize.

เบ‚เบฐเปเปœเบ‡เบเบฒเบ™

เบชเบธเบ”เบ—เป‰เบฒเบ, เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™. เบกเบฑเบ™เป€เบ›เบฑเบ™เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบ—เบฒเบ‡เบเบฒเบเบฐเบžเบฒเบšเบ—เบตเปˆเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบซเบฒเบซเบผเบทเบญเปˆเบฒเบ™เบˆเบฒเบเบญเบธเบ›เบฐเบเบญเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™. เบชเปเบฒเบฅเบฑเบšเบซเบผเบฒเบเป†เบ—เบปเบ”เบชเบฐเบงเบฑเบ”, เปเบœเปˆเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆเปƒเบŠเป‰เบ‚เบฐเปเบซเบ™เบ‡ 512-byte. เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰, เปเบœเปˆเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™เบ‚เบฐเปเบซเบ™เบ‡ 4 KiB, เปเบฅเบฐเบšเบฒเบ‡ - เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปเบกเปˆเบ™ SSDs - เบกเบตเบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™ 8 KiB เบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™.

เบฅเบฐเบšเบปเบš ZFS เบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡. เบŠเบฑเบšเบชเบดเบ™เบ™เบตเป‰ ashift. เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบชเบฑเบšเบชเบปเบ™, ashift เปเบกเปˆเบ™เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบ‚เบญเบ‡เบชเบญเบ‡. เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡, ashift=9 เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™ 2^9, เบซเบผเบท 512 bytes.

ZFS เบชเบญเบšเบ–เบฒเบกเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเปˆเบฝเบงเบเบฑเบšเปเบ•เปˆเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบšเบฅเบฑเบญเบเป€เบกเบทเปˆเบญเบกเบฑเบ™เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ vdev เปƒเบซเบกเปˆ, เปเบฅเบฐเบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบตเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡ ashift เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ‚เปเป‰เบกเบนเบ™เบ™เบฑเป‰เบ™. เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบซเบผเบฒเบเป„เบ”เบ™เบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป€เบžเบทเปˆเบญเบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš Windows XP (เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เบ—เบตเปˆเบกเบตเบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™เบญเบทเปˆเบ™เป†).

เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™ ZFS เป„เบ”เป‰เบ–เบทเบเปเบ™เบฐเบ™เปเบฒเบขเปˆเบฒเบ‡เปเบ‚เบ‡เปเบฎเบ‡เบ—เบตเปˆเบˆเบฐเบฎเบนเป‰เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™เบ•เบปเบงเบˆเบดเบ‡เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปเบฅเบฐเบเปเบฒเบ™เบปเบ”เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡ ashift. เบ–เป‰เบฒ ashift เบ–เบทเบเบ•เบฑเป‰เบ‡เป„เบงเป‰เบ•เปˆเปเบฒเป€เบเบตเบ™เป„เบ›, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบญเปˆเบฒเบ™ / เบ‚เบฝเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ—เบฒเบ‡เบ”เบฒเบฅเบฒเบชเบฒเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบ‚เบฝเบ™ 512-byte "sectors" เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™ 4 KiB เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ•เป‰เบญเบ‡เบ‚เบฝเบ™ "sector", เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบญเปˆเบฒเบ™เบ‚เบฐเปเบซเบ™เบ‡ 4 KiB, เบ”เบฑเบ”เปเบ›เบ‡เบกเบฑเบ™เบ”เป‰เบงเบ "sector" 512-byte เบ—เบตเบชเบญเบ‡, เบ‚เบฝเบ™เบกเบฑเบ™เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™เปƒเบซเบกเปˆ. เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™ 4 KiB, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบฅเบฒเบเบเบฒเบ™.

เปƒเบ™เป‚เบฅเบเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡, เบเบฒเบ™เบฅเบปเบ‡เป‚เบ—เบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง hits Samsung EVO SSDs, เป€เบŠเบดเปˆเบ‡ ashift=13, เปเบ•เปˆ SSDs เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ™เบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ, เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™ ashift=9. เบ–เป‰เบฒเบœเบนเป‰เป€เบšเบดเปˆเบ‡เปเบเบ‡เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบตเป‰, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ SSD เบ™เบตเป‰เป€เบฎเบฑเบ”เบงเบฝเบ เบŠเป‰เบฒเบเบงเปˆเบฒ HDD เบชเบฐเบ™เบฐเปเบกเปˆเป€เบซเบผเบฑเบเบ—เปเบฒเบกเบฐเบ”เบฒ.

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš, เบชเปเบฒเบฅเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเป€เบเบตเบ™เป„เบ› ashift เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบงเบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบปเบ‡เป‚เบ—เบ”. เบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบปเบ‡เป‚เบ—เบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบดเบ‡, เปเบฅเบฐเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบทเป‰เบ™เบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เปเบกเปˆเบ™ infinitesimal (เบซเบผเบทเบชเบนเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เป€เบ›เบตเบ”). เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเปเบ™เบฐเบ™เปเบฒเบขเปˆเบฒเบ‡เปเบ‚เบ‡เปเบฎเบ‡เบงเปˆเบฒเปเบกเป‰เปเบ•เปˆเป„เบ”เบ—เบตเปˆเบ™เปเบฒเปƒเบŠเป‰เบ‚เบฐเปเบซเบ™เบ‡ 512-byte เบ•เบดเบ”เบ•เบฑเป‰เบ‡ ashift=12 เบซเบผเบทโ€‹เปเบกเป‰โ€‹เบเบฐโ€‹เบ—เบฑเป‰เบ‡ ashift=13เป€เบžเบทเปˆเบญเบ›เบฐเป€เบŠเบตเบ™เบเบฑเบšเบญเบฐเบ™เบฒเบ„เบปเบ”เบ”เป‰เบงเบเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เปƒเบˆ.

เบ„เบธเบ™โ€‹เบชเบปเบกโ€‹เบšเบฑเบ” ashift เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™ virtual vdev, เปเบฅเบฐ เบšเปเปˆเปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ™เบธเบเป€เบเบต, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบซเบผเบฒเบเบ„เบปเบ™เบ„เบดเบ”เบœเบดเบ” - เปเบฅเบฐเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡. เบ–เป‰เบฒเป€เบˆเบปเป‰เบฒเบ•เบตเป‚เบ”เบเบšเบฑเบ‡เป€เบญเบตเบ™ ashift เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบžเบตเปˆเบก vdev เปƒเบซเบกเปˆเปƒเบชเปˆเบชเบฐเบ™เบธเบเป€เบเบต, เบ—เปˆเบฒเบ™เบกเบตเบกเบปเบ™เบฅเบฐเบžเบดเบ”เปƒเบ™เบชเบฐเบ™เบธเบเป€เบเบตเบ—เบตเปˆเบกเบตเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ•เปเปˆเบฒเปเบฅเบฐเบกเบฑเบเบˆเบฐเบšเปเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบเบฒเบ™เบ—เปเบฒเบฅเบฒเบเบชเบฐเบฅเบญเบเบ™เป‰เปเบฒเปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบซเบกเปˆ. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบเบฒเบ™เบ–เบญเบ™ vdev เบˆเบฐเบšเปเปˆเบŠเปˆเบงเบเบ›เบฐเบขเบฑเบ”เบ—เปˆเบฒเบ™เบˆเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเปเบ•เบเบซเบฑเบ ashift!

เบเบปเบ™เป„เบเบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เบ–เป‰เบฒเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ›เบปเบเบเบฐเบ•เบดเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เบ—เบฑเบšเบ‚เปเป‰เบกเบนเบ™, เบกเบฑเบ™เบˆเบฐเบ›เปˆเบฝเบ™เปเบ•เปˆเบฅเบฐเบšเบฅเบฑเบญเบเบ—เบตเปˆเบกเบฑเบ™เบขเบนเปˆ

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ copy-on-write เบ‚เบฝเบ™เป€เบงเบตเบŠเบฑเบ™เบšเบฅเบฑเบญเบเปƒเปเปˆเปเบฅเป‰เบงเบ›เบปเบ”เบฅเบฑเบญเบเป€เบงเบตเบŠเบฑเบ™เป€เบเบปเปˆเบฒ

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบšเปเปˆเบกเบตเบ•เบปเบงเบ•เบปเบ™, เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบปเบ™เปƒเบˆเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบ‚เบญเบ‡เบ•เบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, "เบ‚เปเป‰เบกเบนเบ™ comet" เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเปเบ›เป€เบ›เบฑเบ™ "เปเบกเปˆเบ—เป‰เบญเบ‡เบ‚เปเป‰เบกเบนเบ™" เบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบˆเบฒเบเบŠเป‰เบฒเบเป„เบ›เบ‚เบงเบฒเปƒเบ™เบ—เบปเปˆเบงเปเบœเบ™เบ—เบตเปˆเบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบกเบตเบขเบนเปˆ.

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบ”เบตเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™ copy-on-write snapshots เป€เบฎเบฑเบ”เบงเบฝเบ - เปเบ•เปˆเบฅเบฐ block เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบ‚เบญเบ‡ snapshots เบซเบผเบฒเบ, เปเบฅเบฐเบˆเบฐเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเบˆเบปเบ™เบเปˆเบงเบฒเบ—เบฑเบ‡เบซเบกเบปเบ” snapshots เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ–เบทเบเบ—เปเบฒเบฅเบฒเบ.

เบเบปเบ™เป„เบเบเบฒเบ™ Copy on Write (CoW) เปเบกเปˆเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰ ZFS เป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบซเบ™เป‰เบฒเบ›เบฐเบซเบฅเบฒเบ”เปƒเบˆ. เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ - เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ‚เปเปƒเบซเป‰เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบกเบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒ, เบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบ•เบฒเบกเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ–เบฒเบก. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ‚เปเปƒเบซเป‰เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ copy-on-write เป€เบฎเบฑเบ”เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, เบกเบฑเบ™เบˆเบฐเป€เบงเบปเป‰เบฒเบงเปˆเบฒ "ok" เปเบ•เปˆเบ•เบปเบงเบฐเป€เบˆเบปเป‰เบฒ.

เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ copy-on-write เบ‚เบฝเบ™เป€เบงเบตเบŠเบฑเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡เบšเบฅเบฑเบญเบเบ—เบตเปˆเบ–เบทเบเบ”เบฑเบ”เปเบ›เบ‡เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ›เบฑเบšเบ›เบธเบ‡ metadata เบ‚เบญเบ‡เป„เบŸเบฅเปŒเป€เบžเบทเปˆเบญเบเบปเบเป€เบฅเบตเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบšเบฅเบฑเบญเบเป€เบเบปเปˆเบฒเปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบšเบฅเบฑเบญเบเปƒเบซเบกเปˆเบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบซเบฒเบเปเปˆเบ‚เบฝเบ™เปƒเบชเปˆเบกเบฑเบ™.

เบเบฒเบ™เบ–เบญเบ”เบšเบฅเบฑเบญเบเป€เบเบปเปˆเบฒเปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบญเบฑเบ™เปƒเบซเบกเปˆเปเบกเปˆเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบซเบ™เบถเปˆเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เป„เบ”เป‰ - เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ›เบดเบ”เป„เบŸเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบกเบตเป„เบŸเบฅเปŒเบฎเบธเปˆเบ™เปƒเบซเบกเปˆ, เปเบฅเบฐเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ›เบดเบ”เป„เบŸเป„เบง, เบ—เปˆเบฒเบ™เบกเบตเป€เบงเบตเบŠเบฑเบ™เป€เบเบปเปˆเบฒ. . เปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบˆเบฐเบšเปเปˆเบกเบตเบ‚เปเป‰เบ‚เบฑเบ”เปเบเปˆเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ.

Copy-on-write เปƒเบ™ ZFS เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ, เปเบ•เปˆเบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เปเบœเปˆเบ™. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒ ZFS เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบšเบˆเบฒเบเบžเบทเป‰เบ™เบ—เบตเปˆเบชเบตเบ‚เบฒเบง (เบ‚เบธเบกเปƒเบ™ RAID) - เบ›เบฐเบเบปเบ”เบเบฒเบ™เป€เบกเบทเปˆเบญเปเบ–เบšเบกเบตเป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบšเบฑเบ™เบ—เบถเบเบšเบฒเบ‡เบชเปˆเบงเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เบเปˆเบญเบ™เบ—เบตเปˆเบฅเบฐเบšเบปเบšเบˆเบฐเบ‚เบฑเบ”เบ‚เป‰เบญเบ‡, เบกเบตเบ„เบงเบฒเบกเป€เบชเบเบซเบฒเบ array เบซเบผเบฑเบ‡เบˆเบฒเบ reboot. เบ—เบตเปˆเบ™เบตเป‰เป€เบชเบฑเป‰เบ™เบ”เปˆเบฒเบ‡เบ–เบทเบเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบ›เบฐเบฅเปเบฒเบกเบฐเบ™เบน, vdev เปเบกเปˆเบ™เบฅเปเบฒเบ”เบฑเบšเบชเบฐเป€เบซเบกเบต, เปเบฅเบฐ Bob เปเบกเปˆเบ™เบฅเบธเบ‡เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ.

ZIL: เบšเบฑเบ™เบ—เบถเบเบ„เบงเบฒเบกเบ•เบฑเป‰เบ‡เปƒเบˆ ZFS

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เบฅเบฐเบšเบปเบš ZFS เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เปเปˆเบเบฒเบ™เบ‚เบฝเบ™เปเบšเบš synchronous เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบžเบดเป€เบชเบ” - เบกเบฑเบ™เบŠเบปเปˆเบงเบ„เบฒเบงเปเบ•เปˆเบ—เบฑเบ™เบ—เบตเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบžเบงเบเบกเบฑเบ™เป„เบงเป‰เปƒเบ™ ZIL เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบžเบงเบเบกเบฑเบ™เบขเปˆเบฒเบ‡เบ–เบฒเบงเบญเบ™เบ•เปเปˆเบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™ asynchronous.

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบชเปˆ ZIL เบˆเบฐเบšเปเปˆเบ–เบทเบเบญเปˆเบฒเบ™เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡. เปเบ•เปˆเบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบซเบผเบฑเบ‡เบˆเบฒเบเบฅเบฐเบšเบปเบšเบ‚เบฑเบ”เบ‚เป‰เบญเบ‡

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
SLOG, เบซเบผเบทเบญเบธเบ›เบฐเบเบญเบ™ LOG เบ—เบตเบชเบญเบ‡, เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบžเบดเป€เบชเบ” - เปเบฅเบฐเบกเบฑเบเป„เบงเบซเบผเบฒเบ - vdev, เบšเปˆเบญเบ™เบ—เบตเปˆ ZIL เบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบˆเบฒเบเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ•เบปเป‰เบ™เบ•เป.

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เบซเบผเบฑเบ‡เบˆเบฒเบเป€เบเบตเบ”เบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”, เบ‚เปเป‰เบกเบนเบ™เป€เบ›เบทเป‰เบญเบ™เบ—เบฑเบ‡เปเบปเบ”เปƒเบ™ ZIL เบˆเบฐเบ–เบทเบเบซเบผเบดเป‰เบ™เบ„เบทเบ™ - เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, ZIL เบขเบนเปˆเปƒเบ™ SLOG, เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบซเบผเบดเป‰เบ™เบ„เบทเบ™เบˆเบฒเบเบšเปˆเบญเบ™เบ™เบฑเป‰เบ™.

เบกเบตเบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบฝเบ™ - synchronous (sync) เปเบฅเบฐ asynchronous (async). เบชเปเบฒเบฅเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เปเบกเปˆเบ™ asynchronous - เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบฅเบงเบšเบฅเบงเบกเปเบฅเบฐเบญเบญเบเป€เบ›เบฑเบ™ batches, เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เปเบ•เบเปเบเบเปเบฅเบฐเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ.

เบเบฒเบ™โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบ synchronized เป€เบ›เบฑเบ™โ€‹เป€เบฅเบทเปˆเบญเบ‡โ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹เบซเบกเบปเบ”โ€‹. เป€เบกเบทเปˆเบญเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ‚เบฝเบ™ synchronous, เบกเบฑเบ™เบšเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ: "เป€เบˆเบปเป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰เปƒเบซเป‰เบเบฑเบšเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡. เบ”เบฝเบงโ€‹เบ™เบตเป‰เบˆเบปเบ™เบเปˆเบงเบฒเบ™เบฑเป‰เบ™, เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบญเบตเบเบ—เบตเปˆเบ‚เป‰เบญเบเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰." เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบ‚เบฝเบ™ synchronous เบ„เบงเบ™เบกเบธเปˆเบ‡เบซเบกเบฑเป‰เบ™เบขเบนเปˆเปƒเบ™เปเบœเปˆเบ™เบ—เบฑเบ™เบ—เบต - เปเบฅเบฐเบ–เป‰เบฒเบงเปˆเบฒเบ™เบฑเป‰เบ™เป€เบžเบตเปˆเบกเบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบซเบผเบทเบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเปเปˆเป€เบ›เบฑเบ™เป€เบŠเบฑเปˆเบ™เบ™เบฑเป‰เบ™.

ZFS เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบ‚เบฝเบ™ synchronous เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ›เบปเบเบเบฐเบ•เบด - เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเปƒเบซเป‰เบžเบงเบเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ›เบปเบเบเบฐเบ•เบด, ZFS เบกเบญเบšเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบขเบนเปˆเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบžเบดเป€เบชเบ”เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ ZFS Intent Log, เบซเบผเบท ZIL. trick เปเบกเปˆเบ™เบงเปˆเบฒเบšเบฑเบ™เบ—เบถเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ เบเบฑเบ‡ เบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ, เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเบžเป‰เบญเบกเบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ‚เบฝเบ™เปเบšเบš asynchronous เบ›เบปเบเบเบฐเบ•เบด, เบ•เปเปˆเบกเบฒเบˆเบฐเบ–เบทเบเบ™เปเบฒเป„เบ›เปƒเบชเปˆเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เป€เบ›เบฑเบ™ TXG เบ›เบปเบเบเบฐเบ•เบดเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™ (เบเบธเปˆเบกเบ—เบธเบฅเบฐเบเปเบฒ).

เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ›เบปเบเบเบฐเบ•เบด, ZIL เบ–เบทเบเบ‚เบฝเบ™เป€เบ›เบฑเบ™เปเบฅเบฐเบšเปเปˆเป€เบ„เบตเบเบญเปˆเบฒเบ™เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡. เป€เบกเบทเปˆเบญ, เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบญเบ‡เบชเบฒเบกเบ™เบฒเบ—เบต, เบšเบฑเบ™เบ—เบถเบเบˆเบฒเบ ZIL เบกเบธเปˆเบ‡เบซเบกเบฑเป‰เบ™เบเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ•เบปเป‰เบ™เบ•เปเปƒเบ™ TXGs เบ—เปเบฒเบกเบฐเบ”เบฒเบˆเบฒเบ RAM, เบžเบงเบเบกเบฑเบ™เบ–เบทเบเปเบเบเบญเบญเบเบˆเบฒเบ ZIL. เป€เบงเบฅเบฒเบ”เบฝเบงเบ—เบตเปˆเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ–เบทเบเบญเปˆเบฒเบ™เบˆเบฒเบ ZIL เปเบกเปˆเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบชเบฐเบ™เบธเบเป€เบเบตเบ–เบทเบเบ™เปเบฒเป€เบ‚เบปเป‰เบฒ.

เบ–เป‰เบฒ ZFS เบฅเบปเป‰เบกเป€เบซเบฅเบง - เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบฑเบ”เบ‚เป‰เบญเบ‡เบซเบผเบทเป„เบŸเป„เบซเบกเป‰ - เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบขเบนเปˆเปƒเบ™ ZIL, เบ‚เปเป‰เบกเบนเบ™เบ™เบฑเป‰เบ™เบˆเบฐเบ–เบทเบเบญเปˆเบฒเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ™เปเบฒเป€เบ‚เบปเป‰เบฒเปƒเบ™เบชเบฐเบ™เบธเบเป€เบเบตเบ•เปเปˆเป„เบ› (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบกเบทเปˆเบญ restart เบฅเบฐเบšเบปเบšเบชเบธเบเป€เบชเบตเบ™). เบชเบดเปˆเบ‡เปƒเบ”เปƒเบ™ ZIL เบˆเบฐเบ–เบทเบเบญเปˆเบฒเบ™, เบˆเบฑเบ”เบเบธเปˆเบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ TXGs, เบกเบธเปˆเบ‡เบซเบกเบฑเป‰เบ™เบ—เบตเปˆเบˆเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ•เบปเป‰เบ™เบ•เป, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปเบเบเบญเบญเบเบˆเบฒเบ ZIL เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ™เปเบฒเป€เบ‚เบปเป‰เบฒ.

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบซเป‰เบญเบ‡เบฎเบฝเบ™เบœเบนเป‰เบŠเปˆเบงเบ vdev เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ LOG เบซเบผเบท SLOG, เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเบชเบญเบ‡เบ‚เบญเบ‡ LOG. เบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบซเบ™เบถเปˆเบ‡ - เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบญเบ‡เบชเบฐเบ™เบธเบเป€เบเบตเบ—เบตเปˆเบกเบตเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เปเบฅเบฐเบกเบฑเบเป„เบง, vdev เบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบเบฒเบ™เบ‚เบฝเบ™เบซเบผเบฒเบเป€เบžเบทเปˆเบญเป€เบเบฑเบšเบฎเบฑเบเบชเบฒ ZIL, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒ ZIL เปƒเบ™เบฎเป‰เบฒเบ™ vdev เบ•เบปเป‰เบ™เบ•เป. ZIL เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบ”เบฝเบงเบเบฑเบ™เบšเปเปˆเบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เบšเปˆเบญเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบก, เปเบ•เปˆเบ–เป‰เบฒ LOG vdev เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบ‚เบฝเบ™เบชเบนเบ‡เบซเบผเบฒเบ, เบเบฒเบ™เบ‚เบฝเบ™ synchronous เบˆเบฐเป„เบงเบ‚เบถเป‰เบ™.

เบเบฒเบ™เป€เบžเบตเปˆเบก vdev เบเบฑเบš LOG เบเบฑเบšเบชเบฐเบ™เบธเบเป€เบเบตเปƒเบŠเป‰เบšเปเปˆเป„เบ”เป‰ เบชเบฒเบกเบฒเบ”เบšเปเปˆเป„เบ”เป‰ เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบ‚เบฝเบ™ asynchronous - เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเบฐเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบ‚เบฝเบ™เบ—เบฑเบ‡เบซเบกเบปเบ” ZIL เบเบฑเบš zfs set sync=always, เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ•เบปเป‰เบ™เบ•เปเปƒเบ™ TXG เปƒเบ™เบ—เบฒเบ‡เบ”เบฝเบงเบเบฑเบ™เปเบฅเบฐเบขเบนเปˆเปƒเบ™เบˆเบฑเบ‡เบซเบงเบฐเบ”เบฝเบงเบเบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบ. เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบปเบ‡เบžเบฝเบ‡เปเบ•เปˆเปเบกเปˆเบ™ latency เบ‚เบญเบ‡ synchronous writes (เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบšเบฑเบ™เบ—เบถเบเป„เบงเบ‚เบถเป‰เบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป„เบงเบ‚เบถเป‰เบ™). sync).

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ‚เบฝเบ™ synchronous เบซเบผเบฒเบ, vdev LOG เบชเบฒเบกเบฒเบ”เป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบ‚เบฝเบ™ asynchronous เปเบฅเบฐเบเบฒเบ™เบญเปˆเบฒเบ™เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ. เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เปเป‰เบกเบนเบ™ ZIL เป„เบ›เบซเบฒ vdev LOG เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบเบฒเบ™เบ‚เบฑเบ”เปเบเป‰เบ‡เบซเบ™เป‰เบญเบเบฅเบปเบ‡เบชเปเบฒเบฅเบฑเบš IOPS เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ•เบปเป‰เบ™เบ•เป, เป€เบŠเบดเปˆเบ‡เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบญเปˆเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ‚เบฝเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบšเบฒเบ‡เบ‚เบญเบšเป€เบ‚เบ”.

เบžเบฒเบšเบ–เปˆเบฒเบ

เบเบปเบ™เป„เบเบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเป€เบ—เบดเบ‡เบเบฒเบ™เบ‚เบฝเบ™เบเบฑเบ‡เป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ–เปˆเบฒเบเบฎเบนเบšเบ›เบฐเบฅเปเบฒเบกเบฐเบ™เบน ZFS เปเบฅเบฐเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เปเบšเบš asynchronous เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™. เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเปƒเบŠเป‰เบงเบฝเบเบกเบตเบ•เบปเป‰เบ™เบŠเบตเป‰เบšเบญเบเบšเบฑเบ™เบ—เบถเบเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™ - เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบ–เปˆเบฒเบเบฎเบนเบš, เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบฎเบฑเบ”เบชเปเบฒเป€เบ™เบปเบฒเบ‚เบญเบ‡เบ•เบปเป‰เบ™เป„เบกเป‰เบ•เบปเบงเบŠเบตเป‰เบ™เบตเป‰.

เป€เบกเบทเปˆเบญเบšเบฑเบ™เบ—เบถเบเบ–เบทเบเบ‚เบฝเบ™เบ—เบฑเบšเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเปƒเบŠเป‰เบงเบฝเบ, ZFS เบ—เปเบฒเบญเบดเบ”เบ‚เบฝเบ™เบชเบฐเบšเบฑเบšเบšเบฅเบฑเบญเบเปƒเบซเบกเปˆเปƒเบซเป‰เบเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบฑเบ™เปเบเบเบ•เบปเบงเบšเบฅเบฑเบญเบเป€เบงเบตเบŠเบฑเบ™เป€เบเบปเปˆเบฒเบญเบญเบเบˆเบฒเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™. เปเบ•เปˆเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบšเบฒเบ‡ snapshot เบซเบกเบฒเบเป€เบ–เบดเบ‡เบšเบฅเบฑเบญเบเป€เบเบปเปˆเบฒ, เบกเบฑเบ™เบเบฑเบ‡เบ„เบปเบ‡เบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡. เบšเบฅเบฑเบญเบเป€เบเบปเปˆเบฒเบˆเบฐเบšเปเปˆเบ–เบทเบเบŸเบทเป‰เบ™เบŸเบนเป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เป„เบ”เป‰ เบˆเบปเบ™เบเบงเปˆเบฒเบ—เบธเบเบžเบฒเบšเบ—เบตเปˆเบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ–เบดเบ‡เบšเบฅเบฑเบญเบเบ™เบตเป‰เบˆเบฐเบ–เบทเบเบ—เบณเบฅเบฒเบ!

เบเบฒเบ™เบˆเบณเบฅเบญเบ‡

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” Steam เบ‚เบญเบ‡เบ‚เป‰เบญเบเปƒเบ™เบ›เบต 2015 เปเบกเปˆเบ™ 158 GiB เปเบฅเบฐเบฅเบงเบกเป€เบ–เบดเบ‡ 126 เป„เบŸเบฅเปŒ. เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เปƒเบเป‰เบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบชเปเบฒเบฅเบฑเบš rsync - ZFS replication เปƒเบ™เป„เบฅเบเบฐเป€เบ„เบทเบญเบ‚เปˆเบฒเบเปเบกเปˆเบ™ "เบžเบฝเบ‡เปเบ•เปˆ" 927% เป„เบง.

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ”เบฝเบงเบเบฑเบ™, เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เป„เบŸเบฅเปŒเบฎเบนเบšเบžเบฒเบšเป€เบ„เบทเปˆเบญเบ‡ virtual 40GB Windows 7 เบ”เบฝเบงเปเบกเปˆเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบซเบกเบปเบ”. ZFS replication เปเบกเปˆเบ™ 289 เป€เบงเบฅเบฒเป„เบงเบเบงเปˆเบฒ rsync - เบซเบผเบท "เบžเบฝเบ‡เปเบ•เปˆ" 161 เป€เบงเบฅเบฒเป„เบงเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบชเบฐเบซเบฅเบฒเบ”เบžเปเบ—เบตเปˆเบˆเบฐเป‚เบ—เบซเบฒ rsync เบเบฑเบš --inplace.

เบžเบทเป‰เบ™เบ–เบฒเบ™ ZFS: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
เป€เบกเบทเปˆเบญเบฎเบนเบšเบžเบฒเบš VM เบ–เบทเบเบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”, rsync เบšเบฑเบ™เบซเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบเบฑเบšเบกเบฑเบ™. 1,9 TiB เปเบกเปˆเบ™เบšเปเปˆเปƒเบซเบเปˆเบ›เบฒเบ™เปƒเบ”เบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเบžเบฒเบš VM เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก - เปเบ•เปˆเบกเบฑเบ™เปƒเบซเบเปˆเบžเปเบ—เบตเปˆ ZFS replication เปเบกเปˆเบ™เป„เบงเบเบงเปˆเบฒ rsync 1148 เป€เบ—เบปเปˆเบฒ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ -inplace เบ‚เบญเบ‡ rsync.

เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ snapshots, เบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบžเบฒเบšเบ–เปˆเบฒเบเป€เบ›เบฑเบ™เบžเบฝเบ‡เบ•เบปเป‰เบ™เป„เบกเป‰เบ‚เบญเบ‡เบ•เบปเบงเบŠเบตเป‰เป„เบ›เบซเบฒเบšเบฑเบ™เบ—เบถเบ, เบกเบฑเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ™เบฑเป‰เบ™เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ” 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, เบกเบฑเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบญเบ‡เบ•เบปเป‰เบ™เป„เบกเป‰ pointer. เบ•เบปเบงเบŠเบตเป‰เปƒเบ”เป†เบ—เบตเปˆเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบขเบนเปˆเปƒเบ™ @2, เปเบ™เปˆเบ™เบญเบ™เบซเบกเบฒเบเป€เบ–เบดเบ‡เบ•เบฑเบ™เปƒเบซเบกเปˆ - เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบ•เบฑเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เปƒเบ™เบฅเบฐเบšเบปเบšเบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™ send เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ. เบ—เปเบฒเบญเบดเบ”เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบฅเบฒเบเบเบฒเบ™เปƒเบซเบกเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบ™เป‰เปเบฒ send, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบžเบตเปˆเบกเบ•เบปเบงเบŠเบตเป‰เปƒเบชเปˆเบšเบฅเบฑเบญเบเป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™. Voila, เบžเบงเบเป€เบฎเบปเบฒเบกเบต @2 เปƒเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เปƒเบซเบกเปˆโ€‹!

ZFS asynchronous incremental replication เปเบกเปˆเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบญเบฑเบ™เปƒเบซเบเปˆเบซเบผเบงเบ‡เบ•เปเปˆเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบžเบฒเบšเบ–เปˆเบฒเบเบเปˆเบญเบ™เบซเบ™เป‰เบฒเป€เบŠเบฑเปˆเบ™ rsync. เปƒเบ™เบ—เบฑเบ‡เบชเบญเบ‡เบเปเบฅเบฐเบ™เบต, เบžเบฝเบ‡เปเบ•เปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เปเป‰เบกเบนเบ™เบ–เบทเบเป‚เบญเบ™ - เปเบ•เปˆ rsync เบ•เป‰เบญเบ‡เบ—เปเบฒเบญเบดเบ” เบญเปˆเบฒเบ™ เบˆเบฒเบเปเบœเปˆเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบฑเบ‡เบชเบญเบ‡เบ”เป‰เบฒเบ™เป€เบžเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡เบœเบปเบ™เบฅเบงเบกเปเบฅเบฐเบ›เบฝเบšเบ—เบฝเบšเบกเบฑเบ™. เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡ ZFS เบญเปˆเบฒเบ™เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ™เบญเบ เป€เปœเบทเบญ เบˆเบฒเบเบ•เบปเป‰เบ™เป„เบกเป‰เบ•เบปเบงเบŠเบตเป‰ - เปเบฅเบฐเบ—เปˆเบญเบ™เป„เบกเป‰เปƒเบ”เป†เบ—เบตเปˆเบšเปเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเปเบšเปˆเบ‡เบ›เบฑเบ™.

เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปƒเบ™เบ•เบปเบง

เบเบปเบ™เป„เบเบเบฒเบ™เบชเบณเป€เบ™เบปเบฒ-on-write เบเบฑเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบฅเบฐเบšเบปเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปƒเบ™เปเบ–เบงเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™. เปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก, เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปเบกเปˆเบ™เบกเบตเบšเบฑเบ™เบซเบฒ - เบ—เบฑเบ‡เบชเบฐเบšเบฑเบšเป€เบเบปเปˆเบฒเปเบฅเบฐเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ”เบฑเบ”เปเบเป‰เบขเบนเปˆเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™.

เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบขเบนเปˆเปƒเบ™เบเบฒเบ‡เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบŠเบตเบงเบดเบ”เป€เบ›เบฑเบ™ megabyte เบ‚เบญเบ‡เบชเบนเบ™เบˆเบฒเบ 0x00000000 เปเบฅเบฐเบญเบทเปˆเบ™เป†, เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ‡เปˆเบฒเบเบซเบผเบฒเบเบ—เบตเปˆเบˆเบฐเบšเบตเบšเบญเบฑเบ”เบกเบฑเบ™เป„เบ›เบซเบฒเบžเบฒเบเบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เปเบœเปˆเบ™. เปเบ•เปˆเบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเปเบ—เบ™เบ—เบตเปˆ megabyte เบ‚เบญเบ‡เบชเบนเบ™เบ™เบฑเป‰เบ™เบ”เป‰เบงเบ megabyte เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™ incompressible เป€เบŠเบฑเปˆเบ™ JPEG เบซเบผเบท pseudo-random noise? เป‚เบ”เบเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”, เบ‚เปเป‰เบกเบนเบ™ megabyte เบ™เบตเป‰เบˆเบฐเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบซเบ™เบถเปˆเบ‡, เปเบ•เปˆ 256 4 KiB เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™, เปเบฅเบฐเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ™เบตเป‰เบขเบนเปˆเปƒเบ™เปเบœเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™เบ–เบทเบเบชเบฐเบซเบ‡เบงเบ™.

ZFS เบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒเบ™เบตเป‰, เบเป‰เบญเบ™เบงเปˆเบฒเบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบ–เบทเบเบ”เบฑเบ”เปเบเป‰เบ–เบทเบเบ‚เบฝเบ™เบขเบนเปˆเบชเบฐเป€เบซเบกเบตเบเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰ - เบ•เบฑเบ™เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบžเบฝเบ‡เปเบ•เปˆเบ„เบญเบšเบ„เบญเบ‡เบซเบ™เบถเปˆเบ‡ 4 KiB, เปเบฅเบฐเบšเบฑเบ™เบ—เบถเบเปƒเบซเบกเปˆเบˆเบฐเบ„เบญเบšเบ„เบญเบ‡ 256, เปเบ•เปˆเบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบšเบฑเบ™เบซเบฒ - เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ—เบตเปˆเบ–เบทเบเบ”เบฑเบ”เปเบ›เบ‡เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰เบˆเบฒเบ " เบเบฒเบ‡" เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบกเบฑเบ™เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบซเบผเบทเบšเปเปˆ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบš ZFS เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ›เบปเบเบเบฐเบ•เบด.

เบเบฒเบ™เบšเบตเบšเบญเบฑเบ” ZFS เป€เบ”เบตเบกเบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เปเบฅเบฐเบฅเบฐเบšเบปเบšเบˆเบฐเปƒเบซเป‰เบฅเบฐเบšเบปเบš pluggable algorithmsโ€”เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™ LZ4, gzip (1-9), LZJB, เปเบฅเบฐ ZLE.

  • LZ4 เปเบกเปˆเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบ—เบตเปˆเปƒเบซเป‰เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เป„เบงเบ—เบตเปˆเบชเบธเบ” เปเบฅเบฐเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเปเบฒเบฅเบฑเบšเบเปเบฅเบฐเบ™เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเปˆเบงเบ™เปƒเบซเบเปˆ - เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบขเบนเปˆเปƒเบ™ CPU เบ—เบตเปˆเบŠเป‰เบฒเบžเปเบชเบปเบกเบ„เบงเบ™.
  • GZIP เป€เบ›เบฑเบ™เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเป€เบ„เบปเบฒเบฅเบปเบšเบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰ Unix เบ—เบธเบเบ„เบปเบ™เบฎเบนเป‰ เปเบฅเบฐเบกเบฑเบ. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ”เป‰เบงเบเบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ” 1-9, เป‚เบ”เบเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ CPU เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบกเบทเปˆเบญเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเปƒเบเป‰เบฅเบฐเบ”เบฑเบš 9. เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบ—เบธเบเบ‚เปเป‰เบ„เบงเบฒเบก (เบซเบผเบทเบญเบทเปˆเบ™เป†เบ—เบตเปˆเบกเบตเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบชเบนเบ‡), เปเบ•เปˆเบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒ CPU - เปƒเบŠเป‰เบกเบฑเบ™. เบ”เป‰เบงเบเบ„เบงเบฒเบกเบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเบชเบนเบ‡เบ‚เบถเป‰เบ™.
  • LZJB เปเบกเปˆเบ™เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเปƒเบ™ ZFS. เบกเบฑเบ™เบฅเป‰เบฒเบชเบฐเป„เบซเบกเปเบฅเบฐเบšเปเปˆเบ„เบงเบ™เปƒเบŠเป‰เบญเบตเบเบ•เปเปˆเป„เบ›, LZ4 เบฅเบทเปˆเบ™เบเบฒเบเบกเบฑเบ™เปƒเบ™เบ—เบธเบเบ—เบฒเบ‡.
  • ZLE - เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบฅเบฐเบ”เบฑเบšเบชเบนเบ™, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบฅเบฐเบ”เบฑเบšเบชเบนเบ™. เบกเบฑเบ™เบšเปเปˆเบชเปเบฒเบœเบฑเบ”เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ›เบปเบเบเบฐเบ•เบดเบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบ•เปˆเบšเบตเบšเบญเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ‚เบญเบ‡เบชเบนเบ™. เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบšเบตเบšเบญเบฑเบ”เป„เบ”เป‰เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™ (เป€เบŠเบฑเปˆเบ™: JPEG, MP4, เบซเบผเบทเบฎเบนเบšเปเบšเบšเบญเบทเปˆเบ™เป†เบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”เปเบฅเป‰เบง) เบเป‰เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบชเบปเบ™เปƒเบˆเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบšเบตเบšเบญเบฑเบ”เป„เบ”เป‰เปเบ•เปˆเบˆเบฐเบšเบตเบšเบญเบฑเบ”เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เปƒเบ™เบšเบฑเบ™เบ—เบถเบเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš.

เบžเบงเบเป€เบฎเบปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบšเบตเบšเบญเบฑเบ” LZ4 เบชเปเบฒเบฅเบฑเบšเป€เบเบทเบญเบšเบ—เบธเบเบเปเบฅเบฐเบ™เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰; เบเบฒเบ™เบฅเบปเบ‡เป‚เบ—เบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบปเบšเบ‚เปเป‰เบกเบนเบ™ incompressible เปเบกเปˆเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบซเบผเบฒเบ, เปเบฅเบฐ เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ•เบปเบง เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ›เบปเบเบเบฐเบ•เบดเปเบกเปˆเบ™เบชเปเบฒเบ„เบฑเบ™. เบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเบฎเบนเบšเป€เบ„เบทเปˆเบญเบ‡ virtual เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปƒเบซเบกเปˆเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Windows ( OS เบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปƒเบซเบกเปˆ, เบšเปเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบžเบฒเบเปƒเบ™เป€เบ—เบทเปˆเบญ) เบเบฑเบš compression=lz4 เบœเปˆเบฒเบ™ 27% เป„เบงเบเบงเปˆเบฒเบเบฑเบš compression=none, เปƒเบ™ เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เปƒเบ™โ€‹เบ›เบต 2015โ€‹.

ARC - cache เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบเบฒเบ™เบ›เบฑเบšเบ•เบปเบง

ZFS เป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบ”เบฝเบงเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒเปƒเบŠเป‰เบเบปเบ™เป„เบเบเบฒเบ™เบญเปˆเบฒเบ™เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบญเบตเบ‡เปƒเบชเปˆ cache เบซเบ™เป‰เบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบชเปเบฒเป€เบ™เบปเบฒเบ‚เบญเบ‡เบšเบฅเบฑเบญเบเบ—เบตเปˆเบญเปˆเบฒเบ™เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰เบขเบนเปˆเปƒเบ™ RAM.

เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ cache เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เบšเปเปˆเปเบกเปˆเบ™เบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒเบ‚เบญเบ‡เบกเบฑเบ™ - ZFS เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปƒเบซเบกเปˆเป„เบ”เป‰เป„เบงเป€เบ—เบปเปˆเบฒเบ—เบตเปˆ kernel, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบชเบดเปˆเบ‡เบ—เป‰เบฒเบ—เบฒเบเปƒเบซเบกเปˆ. malloc() เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบญเบฒเบ”เบˆเบฐเบฅเบปเป‰เบกเป€เบซเบฅเบงเบ–เป‰เบฒเบกเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™ RAM เบ—เบตเปˆเบ›เบฐเบˆเบธเบšเบฑเบ™เบ„เบญเบšเบ„เบญเบ‡เป‚เบ”เบ ARC. เปเบ•เปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ cache เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡, เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบชเปเบฒเบฅเบฑเบšเบ•เบญเบ™เบ™เบตเป‰.

เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบ—เบฑเบ‡เบซเบกเบปเบ”, เบฅเบงเบกเบ—เบฑเบ‡ MacOS, Windows, Linux เปเบฅเบฐ BSD, เปƒเบŠเป‰เบฅเบฐเบšเบปเบš LRU (เปƒเบŠเป‰เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”) เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒ cache. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ—เบตเปˆเบŠเบธเบเบ”เบฑเบ™เปƒเบซเป‰เบšเบผเบฑเบญเบเปเบ„เบ” "เบ‚เบถเป‰เบ™เปเบ–เบง" เบซเบผเบฑเบ‡เบˆเบฒเบเบญเปˆเบฒเบ™เปเบ•เปˆเบฅเบฐเบ„เบฑเป‰เบ‡, เปเบฅเบฐเบเบนเป‰เบ•เบฑเบ™ "เบฅเบปเบ‡เบ„เบดเบง" เบ•เบฒเบกเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบเบฒเบ™เบžเบฒเบ”เปเบ„เบ”เปƒเปเปˆ (เบšเบฅเบฑเบญเบเบ—เบตเปˆเบ„เบงเบ™เบญเปˆเบฒเบ™เบˆเบฒเบเปเบœเปˆเบ™, เบšเปเปˆเปเบกเปˆเบ™เบˆเบฒเบเปเบ„เบ”) เบ‚เบถเป‰เบ™.

algorithm เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบต, เปเบ•เปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, LRU เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ thrashing - เบ‚เบฑเบšเป„เบฅเปˆเบ•เบฑเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบฅเบทเป‰เบญเบเป†เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบชเปเบฒเบฅเบฑเบšเบ•เบฑเบ™เบ—เบตเปˆเบšเปเปˆเป€เบ„เบตเบเบ–เบทเบเบญเปˆเบฒเบ™เบˆเบฒเบ cache เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡.

ARC เป€เบ›เบฑเบ™ algorithm naive เบซเบผเบฒเบเบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ„เบดเบ”เบงเปˆเบฒเป€เบ›เบฑเบ™ cache "เบ™เป‰เปเบฒเบซเบ™เบฑเบ". เปเบ•เปˆเบฅเบฐเบ„เบฑเป‰เบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เบญเปˆเบฒเบ™เบšเบฅเบฑเบญเบเบ—เบตเปˆเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰, เบกเบฑเบ™ "เปœเบฑเบ" เป€เบฅเบฑเบเบ™เป‰เบญเบเปเบฅเบฐเบเบฒเบเบ—เบตเปˆเบˆเบฐเบ‚เบฑเบšเป„เบฅเปˆ - เปเบฅเบฐเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ‚เบฑเบšเป„เบฅเปˆเบšเบฅเบฑเบญเบ. เบ•เบดเบ”เบ•เบฒเบก เบžเบฒเบเปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™. เบšเบฅเบฑเบญเบเบ—เบตเปˆเบ–เบทเบเบ‚เบฑเบšเป„เบฅเปˆเปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบญเปˆเบฒเบ™เบ„เบทเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ cache เบเบฑเบ‡เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™ "เบซเบ™เบฑเบเบเบงเปˆเบฒ".

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบชเบธเบ”เบ—เป‰เบฒเบเบ‚เบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เปเบกเปˆเบ™ cache เบ—เบตเปˆเบกเบตเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™ hits เบชเบนเบ‡เบเบงเปˆเบฒเบซเบผเบฒเบ, เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ cache hits (เบญเปˆเบฒเบ™เบˆเบฒเบ cache) เปเบฅเบฐ cache misses (เบญเปˆเบฒเบ™เบˆเบฒเบ disk). เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบดเบ•เบดเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ” - เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆ cache hits เบ•เบปเบ™เป€เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เป„เบง, cache misses เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป„เบงเบ‚เบถเป‰เบ™, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ cache hits เบซเบผเบฒเบ, เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป disk concurrent เบซเบ™เป‰เบญเบเปเบฅเบฐ latency เบ•เปˆเปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ misses เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเบ—เบตเปˆเบ•เป‰เบญเบ‡. เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบ”เป‰เบงเบเปเบœเปˆเบ™.

เบชเบฐเบซเบฅเบธเบš

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เบ„เบงเบฒเบกเบซเบกเบฒเบเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ ZFS - เบงเบดเบ—เบตเบเบฒเบ™ copy-on-write เป€เบฎเบฑเบ”เบงเบฝเบ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบฐเบ™เบธเบเป€เบเบตเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ, เบญเบธเบ›เบฐเบเบญเบ™ virtual, เบ•เบฑเบ™, เบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™, เปเบฅเบฐเป„เบŸเบฅเปŒ - เบžเบงเบเป€เบฎเบปเบฒเบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเบ›เบถเบเบชเบฒเบซเบฒเบฅเบทเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบดเบ‡เบเบฑเบšเบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡.

เปƒเบ™เบชเปˆเบงเบ™เบ•เปเปˆเป„เบ›, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบดเบ‡เบ‚เบญเบ‡เบชเบฐเบ™เบธเบเป€เบเบตเบ—เบตเปˆเบกเบต vdevs mirrored เปเบฅเบฐ RAIDz, เบ—เบฝเบšเบเบฑเบšเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™, เปเบฅเบฐเบเบฑเบ‡เบ—เบฝเบšเบเบฑเบš topologies Linux kernel RAID เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบกเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ„เบปเป‰เบ™เบซเบฒ. เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰.

เปƒเบ™เบ•เบญเบ™เบ—เปเบฒเบญเบดเบ”, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบเบงเบกเป€เบญเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบžเบทเป‰เบ™เบ–เบฒเบ™ - the ZFS topologies เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡ - เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบเบฝเบกเบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบฅเบฐเบเบฒเบ™เบ›เบฑเบšเปเบ•เปˆเบ‡เปเบšเบšเบžเบดเป€เบชเบ”เบ‚เบญเบ‡ ZFS, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ›เบฐเป€เบžเบ” vdev auxiliary เป€เบŠเบฑเปˆเบ™ L2ARC, SLOG เปเบฅเบฐเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบžเบดเป€เบชเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™