Red Hat ืžืคืชื—ืช NVFS ื—ื“ืฉ, ื™ืขื™ืœ ืขื‘ื•ืจ ื–ื™ื›ืจื•ืŸ NVM

Mikulรกลก Patoฤka, ืื—ื“ ื”ืžืคืชื—ื™ื ืฉืœ LVM ื•ืžื—ื‘ืจื ืฉืœ ืžืกืคืจ ื”ืžืฆืื•ืชื”ืงืฉื•ืจื™ื ืœืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ืžืขืจื›ื•ืช ืื—ืกื•ืŸ, ืขื‘ื•ื“ื” ื‘-Red Hat, ื”ื’ื™ืฉื• ืžืขืจื›ืช ืงื‘ืฆื™ื ื—ื“ืฉื” ื‘ืจืฉื™ืžืช ื”ืชืคื•ืฆื” ืฉืœ ืžืคืชื—ื™ ืœื™ื‘ืช ืœื™ื ื•ืงืก NVFS, ืฉืžื˜ืจืชื• ืœื™ืฆื•ืจ FS ืงื•ืžืคืงื˜ื™ ื•ืžื”ื™ืจ ืขื‘ื•ืจ ืฉื‘ื‘ื™ ื–ื™ื›ืจื•ืŸ ืœื ื ื“ื™ืคื™ื (NVM, ื–ื™ื›ืจื•ืŸ ืœื ื ื“ื™ืฃ, ืœืžืฉืœ NVDIMM), ื”ืžืฉืœื‘ ื‘ื™ืฆื•ืขื™ RAM ืขื ื”ื™ื›ื•ืœืช ืœืื—ืกืŸ ืชื•ื›ืŸ ืœืฆืžื™ืชื•ืช.

ื”ื ื™ืกื™ื•ืŸ ืฉืœ ื”-FS ื ืœืงื— ื‘ื—ืฉื‘ื•ืŸ ื‘ืขืช โ€‹โ€‹ืคื™ืชื•ื— NVFS ื—ื“ืฉ, ื ื•ืฆืจ ื‘ืžื™ื•ื—ื“ ืขื‘ื•ืจ ื–ื™ื›ืจื•ืŸ NVM ื‘ืฉื ืช 2017, ืืš ืœื ื”ืชืงื‘ืœ ืœืœื™ื‘ื” ืฉืœ ืœื™ื ื•ืงืก ื• ืžื•ื’ื‘ืœืช ืชืžื™ื›ื” ื‘ืœื™ื ื•ืงืก ืž-4.13 ืขื“ 5.1.
ื”-FS NVFS ื”ืžื•ืฆืข ื”ื•ื ื”ืจื‘ื” ื™ื•ืชืจ ืคืฉื•ื˜ ืž-NOVA (4972 ืฉื•ืจื•ืช ืงื•ื“ ืœืขื•ืžืช 21459), ืžืกืคืง ืืช ื›ืœื™ ื”ืฉื™ืจื•ืช fsck, ื‘ืขืœ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ื™ื•ืชืจ, ืชื•ืžืš ื‘ืชื›ื•ื ื•ืช ืžื•ืจื—ื‘ื•ืช (xattrs), ืชื•ื•ื™ื•ืช ืื‘ื˜ื—ื”, ACLs ื•ืžื›ืกื•ืช, ืืš ืื™ื ื• ืชื•ืžืš ื‘ืฆื™ืœื•ืžื™ ืžืฆื‘. ืืจื›ื™ื˜ืงื˜ื•ืจื” NVFS ืงืจื•ื‘ ืœ
ืžืขืจื›ืช ื”ืงื‘ืฆื™ื Ext4 ืžืฉืชืœื‘ืช ื”ื™ื˜ื‘ ื‘ืžื•ื“ืœ ืฉืœ ืžืขืจื›ื•ืช ืงื‘ืฆื™ื ื”ืžื‘ื•ืกืกื•ืช ืขืœ ืชืช-ื”ืžืขืจื›ืช VFS, ื”ืžืืคืฉืจืช ืœืžื–ืขืจ ืืช ืžืกืคืจ ื”ืฉื›ื‘ื•ืช ื•ืœื”ืกืชืคืง ื‘ืžื•ื“ื•ืœ ืฉืื™ื ื• ื“ื•ืจืฉ ืชื™ืงื•ื ื™ื ืœืงืจื ืœ.

NVFS ืžืฉืชืžืฉ ื‘ืžืžืฉืง ื”ืœื™ื‘ื” DAX ืœื’ื™ืฉื” ื™ืฉื™ืจื” ืœื”ืชืงื ื™ ื–ื™ื›ืจื•ืŸ ืงื‘ื•ืขื™ื, ืขืงื™ืคืช ืžื˜ืžื•ืŸ ื”ืขืžื•ื“ื™ื. ื›ื“ื™ ืœื™ื™ืขืœ ืืช ื”ืคืขื•ืœื” ืฉืœ ื–ื™ื›ืจื•ืŸ NVM ืขื ื›ืชื•ื‘ืช ื‘ืชื™ื, ืชื•ื›ืŸ ื”ื›ื•ื ืŸ ืžืžื•ืคื” ืœืžืจื—ื‘ ื”ื›ืชื•ื‘ื•ืช ื”ืœื™ื ื™ืืจื™ ืฉืœ ื”ืœื™ื‘ื” ืœืœื ืฉื™ืžื•ืฉ ื‘ืฉื›ื‘ืช ื”ืชืงืŸ ื—ืกื™ืžื” ืžืกื•ืจืชื™ืช ื•ื‘ืžื˜ืžื•ืŸ ื‘ื™ื ื™ื™ื. ืžืฉืžืฉ ืœืื—ืกื•ืŸ ืชื•ื›ืŸ ืกืคืจื™ื™ื” ืขืฅ ื‘ืกื™ืก (ืขืฅ ืจื“ื™ืงืก) ืฉื‘ื• ื›ืœ ืฉื ืงื•ื‘ืฅ ืžื•ืขื‘ืจ ื‘-hash ื•ืขืจืš ื”ื’ื™ื‘ื•ื‘ ืžืฉืžืฉ ื‘ืขืช ื—ื™ืคื•ืฉ ื‘ืขืฅ.

ืฉืœืžื•ืช ื”ื ืชื•ื ื™ื ืžื•ื‘ื˜ื—ืช ื‘ืืžืฆืขื•ืช "ืขื“ื›ื•ื ื™ื ืจื›ื™ื"(ื›ืžื• ื‘-UFS ืž-FreeBSD ื•-FFS ืž-OpenBSD) ืœืœื ืฉื™ืžื•ืฉ ื‘ื™ื•ืžืŸ. ื›ื“ื™ ืœื”ื™ืžื ืข ืžื”ืฉื—ืชืช ืงื‘ืฆื™ื ื‘-NVFS, ืคืขื•ืœื•ืช ืฉื™ื ื•ื™ ื ืชื•ื ื™ื ืžืงื•ื‘ืฆื•ืช ื‘ืฆื•ืจื” ื›ื–ื• ืฉื”ืชืจืกืงื•ืช ืœื ื™ื›ื•ืœื” ืœื”ื•ื‘ื™ืœ ืœืื•ื‘ื“ืŸ ื‘ืœื•ืงื™ื ืื• ืื™ื ื•ื“ื•ืช, ื•ืฉืœืžื•ืช ื”ืžื‘ื ื™ื ืžืฉื•ื—ื–ืจืช ื‘ืืžืฆืขื•ืช ื›ืœื™ ื”ืฉื™ืจื•ืช fsck. ืชื•ื›ื ื™ืช ื”ืฉื™ืจื•ืช fsck ืคื•ืขืœืช ื‘ืžืฆื‘ ืจื™ื‘ื•ื™ ื”ืœื™ื›ื™ ื”ืœื™ื›ื” ื•ืžืกืคืงืช ื‘ื™ืฆื•ืขื™ ื›ื•ื— ื’ืก ืฉืœ 1.6 ืžื™ืœื™ื•ืŸ ืื™ื ื•ื“ื™ื ืœืฉื ื™ื™ื”.

ะ’ ืžื‘ื—ื ื™ ื‘ื™ืฆื•ืขื™ื NVFS ื‘ื™ืฆืขื” ืืช ืคืขื•ืœืช ื”ืขืชืงืช ืขืฅ ืžืงื•ืจ ืœื™ื‘ืช ืœื™ื ื•ืงืก ื‘ื–ื™ื›ืจื•ืŸ NVM ื‘ืžื”ื™ืจื•ืช ืฉืœ ื›-10% ืž-NOVA, ื‘-30% ืžื”ืจ ื™ื•ืชืจ ืž-ext4, ื•ื‘-37% ืžื”ืจ ื™ื•ืชืจ ืž-XFS. ื‘ืžื‘ื—ืŸ ืื—ื–ื•ืจ ื”ื ืชื•ื ื™ื, NVFS ื”ื™ื” ืžื”ื™ืจ ื™ื•ืชืจ ืž-NOVA ื‘-3%, ื•-ext4 ื•-XFS ื‘-15% (ืืš ืขื ืžื˜ืžื•ืŸ ื“ื™ืกืง ืคืขื™ืœ, NOVA ื”ื™ื” ืื™ื˜ื™ ื™ื•ืชืจ ื‘-15%).
ื‘ืžื‘ื—ืŸ ืžื™ืœื™ื•ืŸ ืคืขื•ืœื•ืช ื”ืžื“ืจื™ื›ื™ื, NVFS ื”ืฉื™ื’ื” ื‘ื™ืฆื•ืขื™ื ื˜ื•ื‘ื™ื ื™ื•ืชืจ ืž-NOVA ื‘-40%, ext4 ื‘-22% ื•-XFS ื‘-46%. ื‘ืขืช ื”ื“ืžื™ื™ืช ืคืขื™ืœื•ืช DBMS, ืžืขืจื›ืช ื”ืงื‘ืฆื™ื NVFS ืขืœืชื” ืขืœ NOVA ื‘-20%, ext4 ืคื™ 18 ื•-XFS ืคื™ 5. ื‘ืžื‘ื—ืŸ fs_mark, ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ NVFS ื•-NOVA ื”ืชื‘ืจืจื• ื‘ืขืจืš ื‘ืื•ืชื” ืจืžื”, ื‘ืขื•ื“ ext4 ื•-XFS ืคื™ื’ืจื• ื‘ืขืจืš ืคื™ 3.

ื”ืคื™ื’ื•ืจ ืฉืœ ืžืขืจื›ื•ืช ืงื‘ืฆื™ื ืžืกื•ืจืชื™ื•ืช ื‘ื–ื™ื›ืจื•ืŸ NVM ื ื•ื‘ืข ืžื”ืขื•ื‘ื“ื” ืฉื”ืŸ ืื™ื ืŸ ืžื™ื•ืขื“ื•ืช ืœื›ืชื•ื‘ืช ื‘ืชื™ื, ื”ืžืฉืžืฉืช ื‘ื–ื™ื›ืจื•ืŸ ืœื ื ื“ื™ืฃ, ืฉื ืจืื” ื›ืžื• ื–ื™ื›ืจื•ืŸ RAM ืจื’ื™ืœ. ืงืจื™ืื” ืžื›ื•ื ื ื™ื ืจื’ื™ืœื™ื ืžื‘ื˜ื™ื—ื” ืื˜ื•ืžื™ื•ืช ืฉืœ ื”ืคืขื•ืœื” ื‘ืจืžืช ื”ืงืจื™ืื”/ื›ืชื™ื‘ื” ืฉืœ ื”ืžื’ื–ืจ, ื‘ืขื•ื“ ืฉื–ื™ื›ืจื•ืŸ NVM ืžืกืคืง ื’ื™ืฉื” ื‘ืจืžื” ืฉืœ ืžื™ืœื•ืช ืžื›ื•ื ื” ื‘ื•ื“ื“ื•ืช. ื‘ื ื•ืกืฃ, ืžืขืจื›ื•ืช ืงื‘ืฆื™ื ืžืกื•ืจืชื™ื•ืช ืžื ืกื•ืช ืœื”ืคื—ื™ืช ืืช ืขื•ืฆืžืช ื”ื’ื™ืฉื” ืœืžื“ื™ื”, ื”ื ื—ืฉื‘ืช ืœืื˜ื™ืช ื™ื•ืชืจ ืž-RAM, ื•ื’ื ืžื ืกื•ืช ืœืงื‘ืฅ ืคืขื•ืœื•ืช ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืงืจื™ืื” ืจืฆื™ืคื” ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ื›ื•ื ื ื™ื ืงืฉื™ื—ื™ื, ืชื•ืจื™ ื‘ืงืฉื•ืช ืœืขื‘ื“, ืœื”ื™ืœื—ื ื‘ืคื™ืฆื•ืœ ื•ืœื”ืคืจื™ื“ ื‘ื™ืŸ ืกื“ืจื™ ืขื“ื™ืคื•ื™ื•ืช ืฉืœ ืคืขื•ืœื•ืช ืฉื•ื ื•ืช. . ืขื‘ื•ืจ ื–ื™ื›ืจื•ืŸ NVM, ืกื™ื‘ื•ื›ื™ื ื›ืืœื” ืื™ื ื ื ื—ื•ืฆื™ื, ืžื›ื™ื•ื•ืŸ ืฉืžื”ื™ืจื•ืช ื”ื’ื™ืฉื” ืœื ืชื•ื ื™ื ื“ื•ืžื” ืœ-RAM, ื•ืกื“ืจ ื”ื’ื™ืฉื” ืื™ื ื• ืžืฉื ื”.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”