เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ Reiser5 เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰

เบกเบต เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹, เบฅเบฐโ€‹เบšเบปเบšโ€‹เป„เบŸเบฅโ€‹เปŒ Reiser5 เบ—เบตเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ›เบฐโ€‹เบฅเบดโ€‹เบกเบฒเบ™โ€‹เบขเปˆเบฒเบ‡โ€‹เบกเบตโ€‹เป€เบซเบ”โ€‹เบœเบปเบ™โ€‹เปƒเบ™โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบ—เป‰เบญเบ‡โ€‹เบ–เบดเปˆเบ™โ€‹. เบเบฒเบ™เบ›เบฐเบ”เบดเบ”เบชเป‰เบฒเบ‡เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบฐเบซเบ™เบฒเบ™ (เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบญเบญเบ), เป€เบŠเบดเปˆเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเปเปˆเป„เบ”เป‰เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ•เบฑเบ™, เปเบ•เปˆเป‚เบ”เบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ.

เป€เบ›เบฑเบ™เบ‚เปเป‰เป„เบ”เป‰เบ›เบฝเบšเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰, เบเบฒเบ™เบ‚เบฒเบ”เบ‚เปเป‰เป€เบชเบเบ—เบตเปˆเบ›เบฐเบเบปเบ”เบขเบนเปˆเปƒเบ™ FS + RAID / LVM bundles เปเบฅเบฐเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ‚เบฐเบซเบ™เบฒเบ™ (ZFS, Btrfs), เป€เบŠเบฑเปˆเบ™: เบšเบฑเบ™เบซเบฒเบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡, เบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เบฐเบฅเบดเบกเบฒเบ™เป„เบ”เป‰เบ–เบทเบเป€เบ•เบตเบกเบฅเบปเบ‡เป„เบ› 70%, เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบฎเบนเบšเปเบšเบšเบ›เบฐเบฅเบดเบกเบฒเบ™เบ•เบฒเบกเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบก (RAID / LVM), เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปเบˆเบเบขเบฒเบเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™เบ—เบปเปˆเบงเบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™. เปƒเบ™ FS เบ‚เบฐเบซเบ™เบฒเบ™, เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบญเบธเบ›เบฐเบเบญเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบตเปˆเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™, เบกเบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเป‚เบ”เบเปƒเบŠเป‰เบ›เบฐเป‚เบซเบเบ” mkfs เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.

Reiser5 เปƒเบŠเป‰ O(1) free blockator. เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบšเบฅเบฑเบญเบเบŸเบฃเบตเปƒเบ”เป†เปเบกเปˆเบ™เป€เบญเบเบฐเบฅเบฒเบ”เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบˆเบฑเบ”เบ›เบฐเบฅเบดเบกเบฒเบ™เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เบˆเบฒเบเบญเบธเบ›เบฐเบเบญเบ™เบ•เบฑเบ™เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปเบฅเบฐ throughputs. เบเบฒเบ™เปเบˆเบเบขเบฒเบเบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบเบตเบ”เบ‚เบทเป‰เบ™เป‚เบ”เบเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเปƒเบซเบกเปˆ (เบญเบฑเบ™เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ "เป€เบชเบฑเป‰เบ™เบ”เปˆเบฒเบ‡เป€เบชเบฑเป‰เบ™เป„เบ") เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเป‚เบ”เบเบ™เบฑเบเบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เปเบฅเบฐเบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Eduard Shishkin เบ‚เบญเบ‡เบฅเบฑเบ”เป€เบŠเบ.

เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป I / O เบ—เบตเปˆเบกเบธเป‰เบ‡เป„เบ›เบซเบฒเปเบ•เปˆเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เปเบกเปˆเบ™เป€เบ—เบปเปˆเบฒเบเบฑเบšเบ„เบงเบฒเบกเบญเบฒเบ”เบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ‚เบญเบ‡เบกเบฑเบ™, เบกเบญเบšเบซเบกเบฒเบเป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เปเบกเปˆเบ™เป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบเบ‚เปเป‰เบกเบนเบ™ "เป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™" เปเบฅเบฐ "เบเบธเบ”เบ•เบดเบ—เปเบฒ". เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบญเบธเบ›เบฐเบเบญเบ™เบšเบฅเบฑเบญเบเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเป„เบ”เป‰เบฎเบฑเบšเบ•เบฑเบ™เบซเบ™เป‰เบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ, เปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบกเบตเปเบšเบ™เบงเบดเบ”เบ•เปˆเปเบฒเบšเปเปˆเบเบฒเบเป€เบ›เบฑเบ™ "เบ„เปเบ‚เบงเบ”" (เป€เบŠเบฑเปˆเบ™, เปƒเบ™ RAID arrays).

เบเบฒเบ™เป€เบžเบตเปˆเบกเบญเบธเบ›เบฐเบเบญเบ™เปƒเบชเปˆเบ›เบฐเบฅเบดเบกเบฒเบ™ เปเบฅเบฐ เบเบฒเบ™เบ–เบญเบ”เบญเบธเบ›เบฐเบเบญเบ™เบญเบญเบเบˆเบฒเบเบ›เบฐเบฅเบดเบกเบฒเบ™เปเบกเปˆเบ™เบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ—เบตเปˆเบฎเบฑเบเบชเบฒ โ€œเบ„เบงเบฒเบกเบเบธเบ•เบดเบ—เบณโ€ เบ‚เบญเบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบ. เปƒเบ™โ€‹เบเปโ€‹เบฅเบฐโ€‹เบ™เบตโ€‹เบ™เบตเป‰โ€‹, เบชเปˆเบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เบตเปˆโ€‹เบเบปเบโ€‹เบเป‰เบฒเบโ€‹เบเบฑเบ‡โ€‹เป€เบ—เบปเปˆเบฒโ€‹เบ—เบฝเบกโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ‚เบญเบ‡โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เป€เบžเบตเปˆเบก (เป€เบญเบปเบฒโ€‹เบญเบญเบโ€‹)โ€‹. เบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™ unfragmented เปเบกเปˆเบ™เบขเบนเปˆเปƒเบเป‰เบเบฑเบšเบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เปƒเบชเปˆเปเบœเปˆเบ™. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ•เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบžเป‰เบญเบกเป†เบเบฑเบ™เบขเบนเปˆเปƒเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™, เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบ„เบปเบ™ (เบเบฒเบ™ defragmenting เบชเปเบฒเบฅเบฑเบš HDD, เบเบฒเบ™เบญเบญเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบเบปเบเป€เบฅเบตเบเบชเปเบฒเบฅเบฑเบš SSD, เปเบฅเบฐเบญเบทเปˆเบ™เป†). เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เปƒเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบตเปˆเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™เปเบกเปˆเบ™เบ–เบทเบเบเบงเบ”เบชเบญเบšเป‚เบ”เบเปƒเบŠเป‰ df(1) utility เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบœเบนเป‰เปƒเบŠเป‰เป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เปƒเบ™เปเบ•เปˆเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบ›เบฐเบฅเบดเบกเบฒเบ™เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™.

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

เบ‚เบญเบ‡โ€‹เปเบœเบ™โ€‹เบเบฒเบ™โ€‹:

  • เบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเบ‚เบญเบ‡ metadata เปƒเบ™เบ—เบปเปˆเบง subvolumes เบซเบผเบฒเบ;
  • เบเบฒเบ™เบเบงเบ”เบชเบญเบš / เบเบฒเบ™เบŸเบทเป‰เบ™เบŸเบนเบ›เบฐเบฅเบดเบกเบฒเบ™เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เบเบฑเบš fsck utility (เป‚เบ”เบเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบชเบฐเบšเบฑเบšเป€เบเบปเปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™);
  • เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ‚เบญเบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบเปเบฅเบฐเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเป‚เบ›เปˆเบ‡เปƒเบช, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ HPC (Burst Buffers);
  • เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐ metadata checksums;
  • 3D-snapshots (snapshots) เบ‚เบญเบ‡เบ›เบฐเบฅเบดเบกเบฒเบ™เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบกเป‰เบงเบ™เบ„เบทเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป„เบŸเบฅเปŒเบ›เบปเบเบเบฐเบ•เบด, เปเบ•เปˆเบเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบ›เบฐเบฅเบดเบกเบฒเบ™ (เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เป€เบžเบตเปˆเบกเปเบฅเบฐเป€เบญเบปเบฒเบญเบธเบ›เบฐเบเบญเบ™);
  • เบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบปเปˆเบงเป‚เบฅเบ (เป€เบ„เบทเบญเบ‚เปˆเบฒเบ) เบ—เบตเปˆเบฅเบงเบกเบญเบธเบ›เบฐเบเบญเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

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