NILFS2 β€” пулСнСпробиваСмая файловая систСма для /home

NILFS2 — пулСнСпробиваСмая файловая систСма для /home

Как извСстно, Ссли Π½Π΅ΠΏΡ€ΠΈΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ, Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚. НавСрноС, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΈ случаи, ΠΊΠΎΠ³Π΄Π° случайно Π±Ρ‹Π» стёрт свСТий Π²Π°ΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΈΠ»ΠΈ случайно Π±Ρ‹Π» Π²Ρ‹Π΄Π΅Π»Π΅Π½ ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ тСкст Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅.

Если Π²Ρ‹ β€” хостСр ΠΈΠ»ΠΈ Π²Π»Π°Π΄Π΅Π»Π΅Ρ† сайта, Ρ‚ΠΎ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ со Π²Π·Π»ΠΎΠΌΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ своСго сайта. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π²Π°ΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ…Ρ€ΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, Π½Π°ΠΉΡ‚ΠΈ способ проникновСния ΠΈ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ использовал Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ прСкрасно ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ файловая систСма NILFS2.

Она присутствуСт Π² ядрС Linux, начиная с вСрсии 2.6.30.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° систСмС контроля вСрсий: Π²Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ состояниС систСмы Π½Π°Π·Π°Π΄ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ½Π° Π±Ρ‹Π»Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π°Π·Π°Π΄.

Для обСспСчСния этого Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Cron-скрипты, Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ½Π΅ΠΏΡˆΠΎΡ‚Ρ‹ ΠΈ Ρ‚.ΠΏ. Ѐайловая систСма NILFS2 Π΄Π΅Π»Π°Π΅Ρ‚ это всё сама. Она Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ пСрСписываСт старыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ всСгда ΠΏΠΈΡˆΠ΅Ρ‚ Π² Π½ΠΎΠ²Ρ‹Π΅ области диска, Ссли достаточно свободного дискового пространства. Π’ ΠΏΠΎΠ»Π½ΠΎΠΌ соотвСтствии с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ Copy-on-Write.

ЀактичСски, любоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π²Π»Π΅Ρ‡Ρ‘Ρ‚ Π·Π° собой автоматичСскоС созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ снимка Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π€Π‘ ΠΊΠ°ΠΊ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΡ‚ΠΌΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°Π·Π°Π΄ состояниС Ρ„Π°ΠΉΠ»ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

NILFS2 — пулСнСпробиваСмая файловая систСма для /homeNILFS2 Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² Π½Π΅Π΄Ρ€Π°Ρ… Nippon Telegraph and Telephone Corporation, фактичСски, государствСнной (ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚) ΠΈ ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠ΅ΠΉ Ρ‚Π΅Π»Π΅ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π―ΠΏΠΎΠ½ΠΈΠΈ. А ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π΅Π΅ Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ CyberSpace Laboratories ΠΏΠΎΠ΄ руководством Ryusuke Konishi.

Для Ρ‡Π΅Π³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Π½Ρ‚Π½ΠΎ ΠΎΠ½Π° Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»Π°ΡΡŒ β€” нСизвСстно, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ подобная Π€Π‘, с Π΅Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ β€œΠΌΠ°ΡˆΠΈΠ½Ρ‹ врСмСни” идСальна для хранСния Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠΎΠ²Ρ‹Ρ€ΡΡ‚ΡŒΡΡ спСцслуТбам, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ всю ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ БМБ, Π΅ΠΌΠ΅ΠΉΠ»ΠΎΠ² ΠΈ Ρ‚.п…

NILFS2 Ρ‚Π°ΠΊΠΆΠ΅, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ Ρ†Π΅Π½Π½Ρ‹ΠΉ инструмСнт для слуТб Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ бСзопасности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ письма Π² ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΡΠΊΡ€Ρ‹Ρ‚ΡŒ косяки сотрудников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ впослСдствии ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΡ… Π·Π°ΠΌΠ°ΡΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡƒΠ΄Π°Π»ΠΈΠ² ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² свои Ρ„Π°ΠΉΠ»Ρ‹.

Как ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ пСрСпискиВ Linux Π½Π° сСрвСрах (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΡƒΠ΄Π° ΠΈ стоит ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ NILFS2 для Ρ†Π΅Π»Π΅ΠΉ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ бСзопасности) для хранСния ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… сообщСний ΠΎΡ‡Π΅Π½ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ способ хранСния Π΅-ΠΌΠ΅ΠΉΠ»ΠΎΠ². Π’Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Maildir. Достаточно ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Courier Mail Server ΠΈ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ писСм Π² Maildir. Π”Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ mbox прСдставляСт ΠΈΠ· сСбя большой тСкстовый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅Π³ΠΊΠΎ парсится Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ сообщСния.

Если ΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ сСрвСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ NILFS2 даст Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ…Ρ€ΠΎΠ½ΠΎΠΌΠ΅Ρ‚Ρ€Π°ΠΆ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±Π°Π·Ρ‹ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π½Π° любой ΠΈΠ· этих ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ². А дальшС Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ инструмСнтами Π‘Π”, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ Π±Ρ‹Π»ΠΎ Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ врСмСни…

Однако Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ. Π’ΠΎ Π»ΠΈ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π―ΠΏΠΎΠ½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ΡƒΠΌΠ°Π»ΠΎ Π·Π° всСми ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ (Π°-ля ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π―Ρ€ΠΎΠ²ΠΎΠΉ), Ρ‚ΠΎ Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ NILFS2 Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… HDD оказалась Π½ΠΈΠΆΠ΅ плинтуса, ΠΈ NILFS2 Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° ΠΏΠΎΠ΄ GPL Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ быстро вошла Π² ядро Linux, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ особых ΠΏΡ€Π΅Ρ‚Π΅Π½Π·ΠΈΠΉ ΠΊ ΠΊΠΎΠ΄Ρƒ, написанному высококвалифицированными японцами, Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра Linux Π½Π΅ Π±Ρ‹Π»ΠΎ.

На Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ° NILFS2?

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния использования: Π½Π° систСму контроля вСрсий SVN. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚ Π€Π‘ β€” это ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСлаСтся автоматичСски Π±Π΅Π· Π²Π΅Π΄ΠΎΠΌΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈ любом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ: Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ содСрТимого Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΡ€Π°Π² доступа. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ увСличиваСтся.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программиста: Π½Π° цикличСский Π±ΡƒΡ„Π΅Ρ€. Ѐайловая систСма ΠΊΠΎΠΏΠΈΡ‚ измСнСния ΠΈ записываСт ΠΈΡ… Π² кусок Ρ€Π°Π²Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 8 ΠœΠ‘ (2000 * 4096, Π³Π΄Π΅ 2000 β€” число элСмСнтов Π² Π±Π»ΠΎΠΊΠ΅, Π° 4096 β€” Ρ€Π°Π·ΠΌΠ΅Ρ€ страницы памяти). Π’Π΅ΡΡŒ диск ΠΏΠΎΠ΄Π΅Π»Π΅Π½ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ Ρ‡Π°Π½ΠΊΠΈ. Π—Π°ΠΏΠΈΡΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Когда заканчиваСтся свободноС мСсто, Ρ‚ΠΎ самыС старыС снимки ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ, Π° Ρ‡Π°Π½ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ плюшки NILFS2

  • Π’Π΅Ρ€ΡΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒ!!!
  • ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° восстановлСния Π€Π‘ послС сбоя элСмСнтарна: ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ищСтся послСдний Ρ‡Π°Π½ΠΊ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π²Π΅Ρ€Π½ΡƒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ сумму, ΠΈ Π½Π° Π½Π΅Π³ΠΎ устанавливаСтся супСрблок. Π­Ρ‚ΠΎ практичСски ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ опСрация.
  • Π’ связи с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ запись всСгда ΠΈΠ΄Ρ‘Ρ‚ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ, Ρ‚ΠΎ:
    • ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° SSD, с ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ случайной записью.
    • NILFS2 экономит рСсурс SSD, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΡ‡Ρ‚ΠΈ отсутствуСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ записи.
      Π’ΠΎΡ‡Π½Π΅Π΅ говоря, ΠΎΠ½ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 2.Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ цикличСской пСрСзаписи всСго диска NILFS2 Π±ΡƒΠ΄Π΅Ρ‚ пСрСносит нСизмСняСмыС Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½ΠΎΠ²Ρ‹Π΅ куски (Ρ‡Π°Π½ΠΊΠΈ).

      Если ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π° дискС 10% Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 10% прирост записи ΠΏΡ€ΠΈ 1 ΠΏΠΎΠ»Π½ΠΎΠΉ пСрСзаписи. Ну ΠΈ 50% прирост ΠΏΡ€ΠΈ 50% заполнСнности устройства Π½Π° 1 ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ диска.

      ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ коэффициСнт усилСния записи 2. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ всё ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ записи Π±ΡƒΠ΄Π΅Ρ‚ мСньшС, Ρ‡Π΅ΠΌ Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π€Π‘ с сСктором 4096 Π±Π°ΠΉΡ‚. (На мысли Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΎΠΌ).

  • ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ простота Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΡƒΡŽ NILFS2 Π€Π‘

NILFS2 для /home

Π’ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ОБ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, присутствуСт ΠΏΠ°ΠΏΠΊΠ° /home, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ Π² этой ΠΏΠ°ΠΏΠΊΠ΅ свои настройки, относящиСся ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

А ΠΊΡ‚ΠΎ, ΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, Ρ‡Π°Ρ‰Π΅ всСго косячит? ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ говорится, сам Π‘ΠΎΠ³ Π²Π΅Π»Π΅Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° /home NILFS2.

Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ρ‡Ρ‚ΠΎ с повсСмСстным распостранСниСм SSD ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ Π²ΠΎΠ»Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ насчёт сильной просадки ΠΏΡ€ΠΈ использовании CoW Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм.

Π”Π°, снимки Π€Π‘ (ΡΠ½Π΅ΠΏΡˆΠΎΡ‚Ρ‹) ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ часто ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π² ZFS ΠΈ BTRFS, Π½ΠΎ всСгда Π΅ΡΡ‚ΡŒ риск, Ρ‡Ρ‚ΠΎ потСрянноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° окаТСтся ΠΌΠ΅ΠΆΠ΄Ρƒ снимками. И снимки Π΅Ρ‰Ρ‘ Π½ΡƒΠΆΠ½ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ старыС. Π’ NILFS2 всё это происходит автоматичСски, Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ нСсколько сСкунд.

Π― создал логичСский Ρ‚ΠΎΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ lvcreate (Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ‚ΠΎΠΌΠΎΠ² nvme, Ρ‚ΠΎΠ½ΠΊΠΈΠΉ ΠΏΡƒΠ» thin). Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Ρ‚ΠΎΠΌΠ΅ lvm, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² послСдствии ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΠΌΠ΅Ρ‚ΡŒ 50% свободного мСста Π½Π° дискС с NILFS2 для ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎΠΉ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ вСрсионности.

lvcreate -V10G -T nvme/thin -n home

ΠΈ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π» Π΅Π³ΠΎ Π² NILFS2:

mkfs.nilfs2 -L nvme_home /dev/nvme/home

mkfs.nilfs2 (nilfs-utils 2.1.5)
Start writing file system initial data to the device
Β Β Β Β Β Β Blocksize:4096Β  Device:/dev/nvme/home1Β  Device Size:10737418240
File system initialization succeeded !!

ПослС этого Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ /home.

Π― это сдСлал сразу послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π΄ΠΎ Π²Ρ…ΠΎΠ΄Π° Π² свой Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, ΠΈΠ·-ΠΏΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root. Если Π±Ρ‹ я Π·Π°ΡˆΡ‘Π» ΠΏΠΎΠ΄ своим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Ρ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ Π±Ρ‹ сокСты ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ /home/user, Ρ‡Ρ‚ΠΎ сдСлало Π±Ρ‹ чистоС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Как извСстно, домашняя ΠΏΠ°ΠΏΠΊΠ° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ /root, поэтому Π½Π° Ρ€Π°Π·Π΄Π΅Π»Π΅ /home Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΡŽΡ‚ΡΡ.

mkdir /mnt/newhome
mount -t nilfs2 /dev/nvme/home /mnt/newhome
cp -a /home/. /mnt/newhome

По ΠΏΠΎΠ²ΠΎΠ΄Ρƒ послСднСй строки см. ΡΡ‚Π°Ρ‚ΡŒΡŽ.

Π”Π°Π»Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠΌ /etc/fstab, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ монтируСтся файловая систСма для /home, Π½Π°

/dev/disk/by-label/nvme_home /home nilfs2Β  Β  noatime 0 0

ΠžΠΏΡ†ΠΈΡΒ noatime Π½ΡƒΠΆΠ½Π° для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π½Π΅ мСнялось atime. Π”Π°Π»Π΅Π΅ пСрСзагруТаСмся.

Π’ΠΈΠ΄Ρ‹ снимков Π² NILFS2.

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ снимок Π±Π΅Π· ΠΈΠΌΠΌΡƒΠ½ΠΈΡ‚Π΅Ρ‚Π° ΠΊ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ называСтся Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚ (checkpoint ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ° восстановлСния).
Π‘Π½ΠΈΠΌΠΎΠΊ с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ автоудалСния называСтся ΡΠ½Π΅ΠΏΡˆΠΎΡ‚ (snapshot), Π΄Π°Π»Π΅Π΅ просто снимок.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ‡Π΅ΠΊΠΏΠΎΠΉΡ‚ΠΎΠ² дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ lscp

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ снимков (ΡΠ½Π΅ΠΏΡˆΠΎΡ‚ΠΎΠ²) lscp -s

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈ сами ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ снимки ΠΈ Ρ‡Π΅ΠΊΠΏΠΎΠΈΡ‚Ρ‹ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

mkcp [-s] устройство

ВосстанавливаСм Π΄Π°Π½Π½Ρ‹Π΅.

NILFS позволяСт Π½Π°ΠΌ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ старых снимков ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с основной Π²Π΅Ρ‚Π²ΡŒΡŽ Π€Π‘. Но Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ для чтСния.

УстроСно всё Ρ‚Π°ΠΊ. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ NILFS2, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΅ΠΉ автоматичСски ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ (ΠΊΠΎΠ³Π΄Π° кончится дисковоС пространство ΠΈΠ»ΠΈ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ nilfs_cleanerd), поэтому ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠΎΠΌ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ пСрСвСсти Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚ Π² ΡΠ½Π΅ΠΏΡˆΠΎΡ‚ ΠΈΠ»ΠΈ, ΠΏΠΎ-русски говоря, Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ снимок.

chcp ss Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°

ПослС этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ снимок, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

mount -t nilfs2 -r -o cp=Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π° /dev/nvme/home /mnt/nilfs/Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°

ПослС Ρ‡Π΅Π³ΠΎ ΠΌΡ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ восстанавливаСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· снимка Π² /home.
А впослСдствии снимаСм Ρ„Π»Π°Π³ нСудалимости со снимка, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ автоматичСский сборщик мусора ΠΌΠΎΠ³ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅:

chcp cp Π½ΠΎΠΌΠ΅Ρ€_Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для NILFS2

А Π²ΠΎΡ‚ с этим Π±Π΅Π΄Π°. Π”Π°, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π€Π‘, ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Ρ‘ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ½-Π»Π°ΠΉΠ½, ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ список Ρ‡Π΅ΠΉΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ², Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΡ…. ΠŸΠ°ΠΊΠ΅Ρ‚ nilfs2-utils прСдоставляСт ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ΅Π½Ρ‚Π΅Π»ΡŒΠΌΠ΅Π½ΡΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ NTT свСрнула финансированиС, Ρ‚ΠΎ Π½Π΅Ρ‚ быстрых Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄Π΅Π»Π°Ρ‚ΡŒ diff ΠΌΠ΅ΠΆΠ΄Ρƒ снимками.

Моя ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° n2u

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ этот Π²Π°ΠΊΡƒΡƒΠΌ я написал свою ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ n2u, которая ΡƒΠΌΠ΅Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°/Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ:

n2u log filename

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ:

          CHECKPOINT        DATE     TIME     TYPE          SIZE  MODE
             1787552  2019-11-24 22:08:00    first          7079    cp
             1792659  2019-11-25 23:09:05  changed          7081    cp

Она Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ довольно быстро для ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ способа Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ: ΠΈΡ‰Π΅Ρ‚ различия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ бисСкции, быстро монтируя ΠΈ сравнивая Ρ„Π°ΠΉΠ»/Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π² Ρ€Π°Π·Π½Ρ‹Ρ… снимках.

МоТно Π·Π°Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π° -cp CP1:CP2 ΠΈΠ»ΠΈ -cp {YEAR-MM-DD}:{YEAR-MM-DD}.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°ΠΌΠΈ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ:

n2u diff -r cp1:cp2 filename

МоТно вывСсти всю Ρ…Ρ€ΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: всС Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π°ΠΌΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°/Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ:

n2u blame [-r cp1:cp2] filename

Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» Π΄Π°Ρ‚ Π² Π² этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ‚Π°ΠΊΠΆΠ΅ поддСрТиваСтся.

ΠšΠ»ΠΈΡ‡ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ

На Π₯Π°Π±Ρ€Π΅ ΠΌΠ½ΠΎΠ³ΠΎ спСцов. ΠŸΡ€ΠΎΡˆΡƒ, Π΄ΠΎΠΏΠΈΠ»ΠΈΡ‚Π΅ NILFS2. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ быстрый diff ΠΌΠ΅ΠΆΠ΄Ρƒ рСвизиями, reflink ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ плюшки!

Бсылки

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт NILFS.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ:
NILFS2.
NILFS2 ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

Рассылки:
Π•-ΠΌΠ΅ΠΉΠ» рассылка Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² NILFS2. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для подписки linux-nilfs.
Архив рассылки.

Руководство ΠΏΠΎ настройкС nilfs_cleanerd.
Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ тСсты ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ EXT4, Btrfs, XFS & NILFS2.

Благодарности:

  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ NILFS2: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi and Satoshi Moriai. Other major contributors are: Andreas Rohner, Dan McGee, David Arendt, David Smid, dexen deVries, Dmitry Smirnov, Eric Sandeen, Jiro SEKIBA, Matteo Frigo, Hitoshi Mitake, Takashi Iwai, Vyacheslav Dubeyko.
  • Компаниям Amblin Entertainment ΠΈ Universal Pictures Π·Π° Ρ‡ΡƒΠ΄Π΅ΡΠ½ΡƒΡŽ ΡΠ΅Ρ€ΠΈΡŽ Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ² «Назад Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅Β». ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° поста взята ΠΈΠ· Ρ„ΠΈΠ»ΡŒΠΌΠ° «Назад Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ β€” 3Β».
  • Компании RUVDS Π·Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² своСм Π±Π»ΠΎΠ³Π΅ Π½Π° Π₯Π°Π±Ρ€Π΅.

P.S. Π—Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ошибки направляйтС Π² Π»ΠΈΡ‡ΠΊΡƒ. ΠŸΠΎΠ²Ρ‹ΡˆΠ°ΡŽ Π·Π° это ΠΊΠ°Ρ€ΠΌΡƒ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с NILFS2, Π·Π°ΠΊΠ°Π·Π°Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Ρƒ RUVDS ΠΏΠΎ ΠΊΡƒΠΏΠΎΠ½Ρƒ Π½ΠΈΠΆΠ΅. Для всСх Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² бСсплатный тСстовый ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ 3 дня.

NILFS2 — пулСнСпробиваСмая файловая систСма для /home

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ