ඔබ දන්නා පරිදි, කරදරයක් සිදුවිය හැකි නම්, එය අනිවාර්යයෙන්ම සිදුවනු ඇත. මෑතකාලීන වැදගත් ගොනුවක් අහම්බෙන් මකා දැමූ විට හෝ පෙළ සංස්කාරකයක් තුළ අකුරු අහම්බෙන් තෝරාගෙන විනාශ වූ විට බොහෝ විට සෑම කෙනෙකුටම අවස්ථා තිබේ.
ඔබ සත්කාරකයකු හෝ වෙබ් අඩවියක හිමිකරුවෙකු නම්, ඔබ බොහෝ විට පරිශීලක ගිණුම් හෝ ඔබේ වෙබ් අඩවිය අනවසරයෙන් ඇතුළුවීමට මුහුණ දී ඇත. එවැනි අවස්ථාවන්හිදී, කාලානුක්රමය ප්රතිෂ්ඨාපනය කිරීම, ඇතුල් වීමේ ක්රමය සහ ප්රහාරකයා විසින් භාවිතා කරන අවදානම සොයා ගැනීම වැදගත් වේ.
NILFS2 ගොනු පද්ධතිය එවැනි ගැටළු විසඳීම සඳහා පරිපූර්ණයි.
එය 2.6.30 අනුවාදයේ සිට ලිනක්ස් කර්නලයේ පවතී.
මෙම ගොනු පද්ධතියේ විශේෂත්වය නම් එය අනුවාද පාලන පද්ධතියකට සමාන වීමයි: ඔබට සෑම විටම පද්ධතියේ තත්වය ආපසු හරවා එය කලකට පෙර පැවති ආකාරය දෙස බැලිය හැකිය.
මෙම ක්රියාකාරිත්වය සැපයීම සඳහා, ඔබට Cron ස්ක්රිප්ට් වින්යාස කිරීම, ස්නැප්ෂොට් ගැනීම යනාදිය අවශ්ය නොවේ. NILFS2 ගොනු පද්ධතිය මෙය තනිවම කරයි. එය කිසි විටෙක පැරණි දත්ත උඩින් ලියන්නේ නැති අතර ප්රමාණවත් නිදහස් තැටි ඉඩක් තිබේ නම් සෑම විටම තැටියේ නව ප්රදේශවලට ලියයි. පිටපත්-මත-ලිවීම මූලධර්මයට සම්පූර්ණයෙන්ම අනුකූලව.
ඇත්ත වශයෙන්ම, ගොනුවකට සිදුවන ඕනෑම වෙනස්කමක් ස්වයංක්රීයව ගොනු පද්ධතියේ නව ඡායාරූපයක් නිර්මාණය කරයි, එබැවින් ඔබට මෙම FS කාල යන්ත්රයක් ලෙස භාවිතා කර ගොනු වල තත්වය ආපසු හැරවිය හැක.
කතාව
NILFS2 ගැඹුරින් සංවර්ධනය කරන ලදී
එය හරියටම සංවර්ධනය කළේ කුමක් සඳහාද යන්න නොදනී, කෙසේ වෙතත්, එවැනි FS, එහි “කාල යන්ත්ර” ක්රියාකාරීත්වය සමඟ, සමස්ත පින්තූරය නැවත ධාවනය කිරීම සඳහා බුද්ධි අංශ හාරා ගැනීමට අවශ්ය දත්ත ගබඩා කිරීම සඳහා වඩාත් සුදුසු යැයි උපකල්පනය කළ හැකිය. SMS, ඊමේල්, ආදිය...
NILFS2 අභ්යන්තර ආරක්ෂක සේවා සඳහා ඉතා වටිනා මෙවලමක් විය හැකිය, මන්ද එය තැපැල් දත්ත ගබඩාවේ ඇති සියලුම මකා දැමූ ලිපි නැවත ලබා ගැනීමට ඔබට ඉඩ සලසයි, පසුව ඔවුන්ගේ ලිපිගොනු මකා දැමීමෙන් හෝ වෙනස් කිරීමෙන් වෙස්වළා ගැනීමට උත්සාහ කළ හැකි සේවකයින්ගේ තදබදය හෙළි කරයි.
ඔබගේ සම්පූර්ණ ලිපි හුවමාරු ඉතිහාසය නිරීක්ෂණය කරන්නේ කෙසේද?Linux සේවාදායකයන් මත (සහ අභ්යන්තර ආරක්ෂක අරමුණු සඳහා NILFS2 ස්ථාපනය කළ යුතු ස්ථානය මෙයයි), විද්යුත් තැපෑල ගබඩා කිරීමේ ගොනු ක්රමය බොහෝ විට විද්යුත් තැපැල් පණිවිඩ ගබඩා කිරීමට භාවිතා කරයි. ඊනියා ආකෘතිය
තැපැල් සේවාදායකය දත්ත සමුදායක් භාවිතා කරන්නේ නම්, NILFS2 මඟින් දත්ත සමුදා වෙනස්වීම්වල නිශ්චිත වේලාව ප්රතිස්ථාපනය කිරීමට සහ මෙම ඕනෑම මොහොතක දත්ත සමුදාය ප්රතිස්ථාපනය කිරීමේ හැකියාව ලබා දෙනු ඇත. එවිට එම අවස්ථාවේ එහි තිබූ දේ බැලීමට ඔබට දත්ත සමුදා මෙවලම් භාවිතා කිරීමට අවශ්ය වේ ...
කෙසේ වෙතත්, යමක් වැරදී ඇත. එක්කෝ ජපාන රජය සෑම කෙනෙකුම නිරීක්ෂණය කිරීම පිළිබඳ සිය අදහස වෙනස් කළේය (a la the Yarovaya මූලධර්මය), නැතහොත් සම්ප්රදායික HDD වල NILFS2 හි ක්රියාකාරිත්වය සමාන විය, සහ NILFS2 GPL බලපත්රය යටතේ නිකුත් කර ඉතා ඉක්මනින් Linux කර්නලයට ඇතුළු විය. ඉහළ සුදුසුකම් ලත් ජපන් භාෂාවෙන් ලියා ඇති කේතය පිළිබඳ විශේෂ පැමිණිලි කිසිවක් නොතිබුණි, ලිනක්ස් කර්නලයේ සංවර්ධකයින්ට එය නොතිබුණි.
NILFS2 මොන වගේද?
භාවිතයේ දෘෂ්ටි කෝණයෙන්: අනුවාද පාලන පද්ධතියක් මත
ක්රමලේඛකයෙකුගේ දෘෂ්ටි කෝණයෙන්: වෘත්තාකාර බෆරයක්. ගොනු පද්ධතිය වෙනස්කම් එකතු කර ඒවා දළ වශයෙන් 8 MB ට සමාන කුට්ටියකට ලියයි (2000 * 4096, මෙහි 2000 යනු බ්ලොක් එකේ ඇති මූලද්රව්ය ගණන වන අතර 4096 යනු මතක පිටුවේ ප්රමාණයයි). මුළු තැටියම එවැනි කුට්ටි වලට බෙදී ඇත. පටිගත කිරීම අනුපිළිවෙලින් සිදු වේ. නිදහස් ඉඩ අවසන් වූ විට, පැරණිම ස්නැප්ෂොට් මකා දමා කුට්ටි උඩින් ලියයි.
මූලික NILFS2 ගුඩීස්
- අනුවාදනය!!!
- අසාර්ථක වීමෙන් පසු ගොනු පද්ධතියක් ප්රතිෂ්ඨාපනය කිරීමේ ක්රියා පටිපාටිය සරලයි: පූරණය වන විට, නිවැරදි චෙක්සම් ඇති අවසාන කොටස සොයනු ලබන අතර, එය මත සුපිරි බ්ලොක් එකක් ස්ථාපනය කර ඇත. මෙය පාහේ ක්ෂණික මෙහෙයුමකි.
- පටිගත කිරීම සැමවිටම රේඛීයව සිදුවන නිසා, එසේ නම්:
- මන්දගාමී අහඹු ලිවීම් සමඟ SSD මත ධාවනය වන විට හොඳ ප්රතිඵල පෙන්විය හැක.
- NILFS2 ලිවීමේ ගුණ කිරීමේ සාධකයක් නොමැති බැවින් SSD සම්පත සුරකියි.
වඩාත් නිවැරදිව, එය 2 ට වඩා වැඩි නොවේ.කාරණය නම්, සම්පූර්ණ තැටිය චක්රීයව නැවත ලියන විට, NILFS2 වෙනස් කළ නොහැකි දත්ත නව කෑලි (කුට්ටි) වෙත මාරු කරනු ඇත.අපට තැටියේ වෙනස් නොවන දත්ත වලින් 10% ක් තිබේ නම්, සම්පූර්ණ නැවත ලිවීම 10 ක් සමඟ 1% ලිවීමේ වැඩිවීමක් අපට ලැබෙනු ඇත. හොඳයි, තැටියේ 50 සම්පූර්ණ නැවත ලිවීම සඳහා උපාංගයේ 50% සම්පූර්ණත්වය 1% වැඩි වීම.
උපරිම ලිවීමේ ලාභය 2. සියල්ල අනුපිළිවෙලින් ලියා ඇති බව සලකන විට මෙය ඉතා අඩුය. සාමාන්යයෙන්, ලිවීමේ සජීවිකරණය 4096-byte අංශයක් සහිත සාම්ප්රදායික ඛණ්ඩනය වූ ගොනු පද්ධතියකට වඩා අඩු වනු ඇත. (සිතිවිල්ලෙන් ආශ්වාදයක්
අදහස් දක්වන්න ).
- දුරස්ථ NILFS2 FS වෙත අනුකරණය ක්රියාත්මක කිරීමේ විභව පහසුව
/home සඳහා NILFS2
Unix වැනි මෙහෙයුම් පද්ධතිවල, රීතියක් ලෙස, පරිශීලක දත්ත ගබඩා කර ඇති / home ෆෝල්ඩරයක් ඇත. විවිධ වැඩසටහන් මෙම ෆෝල්ඩරය තුළ ඔවුන්ගේ පරිශීලක-විශේෂිත සැකසුම් සුරකියි.
පරිශීලකයන් නොවේ නම්, බොහෝ විට වැරදි කරන්නේ කවුද? එමනිසා, ඔවුන් පවසන පරිදි, දෙවියන් විසින්ම NILFS2 / home භාවිතා කිරීමට නියෝග කළේය.
එපමනක් නොව, SSD පුළුල් ලෙස භාවිතා කිරීමත් සමඟ, CW ගොනු පද්ධති භාවිතා කිරීමේදී දැඩි පසුබෑම් ගැන දැන් අපට කරදර විය යුතු නැත.
ඔව්, ZFS සහ BTRFS වලදී අපට කැමති පරිදි FS ස්නැප්ෂොට් සෑදිය හැක, නමුත් නැතිවූ ගොනු වෙනසක් ස්නැප්ෂොට් අතර අවසන් වීමේ අවදානමක් පවතී. පින්තූර තවමත් පරිපාලනය කළ යුතුය: පැරණි ඒවා මකා දැමිය යුතුය. NILFS2 හි, මේ සියල්ල ස්වයංක්රීයව, වචනාර්ථයෙන් සෑම තත්පර කිහිපයකට වරක් සිදු වේ.
මම lvcreate භාවිතා කරමින් තාර්කික පරිමාවක් නිර්මාණය කළෙමි (nvme වෙළුම් කාණ්ඩයේ, සිහින් තටාක තුනී). එය පසුව පහසුවෙන් පුළුල් කළ හැකි බැවින්, එය lvm වෙළුම මත නිර්මාණය කිරීමට මම නිර්දේශ කරමි. හොඳ අනුවාද ගැඹුරක් සඳහා NILFS50 සමඟ 2% නිදහස් තැටි ඉඩක් තිබීම මම නිර්දේශ කරමි.
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 !!
මෙයින් පසු, ඔබ වත්මන් / නිවසෙන් සියලුම දත්ත පිටපත් කළ යුතුය.
මම මෙය පරිගණකය ආරම්භ කළ වහාම, මගේ ගිණුමට පිවිසීමට පෙර, root පරිශීලකයා ලෙස සිදු කළෙමි. මම මගේ පරිශීලකයා ලෙස ලොග් වීමට නම්, සමහර වැඩසටහන් මගේ පරිශීලකයාගේ /home/user ෆෝල්ඩරයේ සොකට් සහ ගොනු විවෘත කරයි, එය පිරිසිදු පිටපතක් අපහසු කරයි. ඔබ දන්නා පරිදි, root පරිශීලකයා සඳහා වන මුල් ෆෝල්ඩරය සාමාන්යයෙන් පිහිටා ඇත්තේ /root මාර්ගයේ, එබැවින් /home කොටසෙහි කිසිදු ගොනුවක් විවෘත නොවේ.
mkdir /mnt/newhome
mount -t nilfs2 /dev/nvme/home /mnt/newhome
cp -a /home/. /mnt/newhome
අවසාන පේළිය සඳහා, බලන්න
මීලඟට අපි /home සඳහා ගොනු පද්ධතිය සවිකර ඇති /etc/fstab සංස්කරණය කරන්නෙමු
/dev/disk/by-label/nvme_home /home nilfs2 noatime 0 0
විකල්පය noatime
එක් එක් ගොනු ප්රවේශය සමඟ වේලාව වෙනස් නොවන පරිදි කාර්ය සාධනය වැඩි දියුණු කිරීමට අවශ්ය වේ. ඊළඟට අපි නැවත ආරම්භ කරමු.
NILFS2 හි රූප වර්ග.
මකාදැමීමට ප්රතිශක්තියක් නොමැති නිත්ය ඡායාරූපයක් මුරපොලක් හෝ ප්රතිසාධන ස්ථානයක් ලෙස හැඳින්වේ.
ස්වයංක්රීයව මකාදැමීමෙන් ආරක්ෂිත ස්නැප්ෂොට් එකක් ස්නැප්ෂොට් ලෙස හඳුන්වනු ලැබේ, පසුව හුදෙක් ස්නැප්ෂොට් එකක් වේ.
මුරපොල බැලීම lscp විධානය භාවිතයෙන් සිදු කෙරේ
ස්නැප්ෂොට් බලන්න lscp -s
අපට ඕනෑම අවස්ථාවක ස්නැප්ෂොට් සහ මුරපොලවල් අප විසින්ම සාදාගත හැක:
mkcp [-s] устройство
අපි දත්ත ප්රතිෂ්ඨාපනය කරමු.
NILFS අපට ප්රධාන FS ශාඛාව සමඟ වැඩ කිරීමට සමගාමීව අපට අවශ්ය තරම් පැරණි ස්නැප්ෂොට් සවි කිරීමට ඉඩ සලසයි. නමුත් කියවීමේ මාදිලියේ පමණි.
සෑම දෙයක්ම මේ ආකාරයෙන් සකස් කර ඇත. NILFS2 විසින් සිදු කරන නිත්ය මුරපොල ඕනෑම වේලාවක ස්වයංක්රීයව මකා දැමිය හැක (තැටියේ ඉඩ අවසන් වූ විට හෝ nilfs_cleanerd රීති වලට අනුව), එබැවින් ස්ථාපනය කිරීමට පෙර අපි මුරපොල ස්නැප්ෂොට් එකක් බවට පරිවර්තනය කළ යුතුය, නැතහොත් රුසියානු භාෂාවෙන්, ස්නැප්ෂොට් ග්රහණය කර ගත යුතුය.
chcp ss номер_чекпоинта
ඊට පසු, අපට ස්නැප්ෂොට් සවි කළ හැකිය, උදාහරණයක් ලෙස, මේ වගේ:
mount -t nilfs2 -r -o cp=номер_чекпоинта /dev/nvme/home /mnt/nilfs/номер_чекпоинта
ඉන් පසුව අපි ප්රතිසාධනය කරන ලද ගොනු ස්නැප්ෂොට් එකෙන් /home වෙත පිටපත් කරමු.
පසුව අපි මකා දැමිය නොහැකි ධජය ස්නැප්ෂොට් එකෙන් ඉවත් කරන්නෙමු එවිට අනාගතයේදී ස්වයංක්රීය කසළ එකතු කරන්නාට යල් පැන ගිය දත්ත ඉවත් කළ හැකිය:
chcp cp номер_чекпоинта
NILFS2 සඳහා උපයෝගිතා
නමුත් ගැටලුව මෙයයි. ඔව්, ඇත්ත වශයෙන්ම, අපට ගොනු පද්ධතියක් නිර්මාණය කළ හැකිය, එහි විශාලත්වය මාර්ගගතව වෙනස් කළ හැකිය, අභියෝගතා ලැයිස්තුව බැලීම, ඒවා නිර්මාණය කිරීම සහ මකා දැමීම. nilfs2-utils පැකේජය අවම මහත්වරුන්ගේ කට්ටලයක් සපයයි.
NTT එහි අරමුදල් සීමා කර ඇති බැවින්, ඔබට ගොනු වෙනස්වීම් ඉතිහාසය ප්රදර්ශනය කිරීමට හෝ ස්නැප්ෂොට් අතර වෙනස ඇති කිරීමට ඉඩ සලසන වේගවත් පහත් මට්ටමේ උපයෝගිතා නොමැත.
මගේ 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
තෝරාගත් ක්රියාත්මක කිරීමේ ක්රමය සඳහා එය ඉතා ඉක්මනින් ක්රියා කරයි: එය bisection ක්රමය භාවිතා කරමින් ගොනු අතර වෙනස්කම් සොයයි, ඉක්මනින් සවි කිරීම සහ විවිධ ස්නැප්ෂොට් වල ගොනු/නාමාවලිය සංසන්දනය කරයි.
යතුර භාවිතයෙන් ඔබට මුරපොල පරාසයක් සැකසිය හැක -cp CP1:CP2
හෝ -cp {YEAR-MM-DD}:{YEAR-MM-DD}
.
ඔබට නිශ්චිත ගොනුවක් හෝ නාමාවලියක් සඳහා මුරපොලවල් අතර වෙනස ද දැකිය හැක:
n2u diff -r cp1:cp2 filename
ඔබට වෙනස්කම් වල සම්පූර්ණ කාලානුක්රමය ප්රදර්ශනය කළ හැකිය: නිශ්චිත ගොනුවක/නාමාවලියක මුරපොල අතර ඇති සියලුම වෙනස්කම්:
n2u blame [-r cp1:cp2] filename
මෙම විධානයේ දින පරතරය ද සහය දක්වයි.
සංවර්ධකයින්ට කෑගැසීමක්
Habré පිළිබඳ බොහෝ විශේෂඥයින් ඇත. කරුණාකර NILFS2 අවසන් කරන්න. ප්රතිනිර්මාණය කරන්න, සංශෝධන, රිලින්ක් සහ වෙනත් හොඳ දේවල් අතර පහත් මට්ටමේ වේගවත් වෙනසක් කරන්න!
යොමු
ගබඩා:
පුවත් ලිපි:
ස්තුතියි:
- NILFS2 සංවර්ධකයින්: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi සහ Satoshi Moriai. අනෙකුත් ප්රධාන දායකයින් වන්නේ: 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 වෙත.
"නැවතත් අනාගතයට" . පෝස්ට් එකේ පළමු පින්තූරය "Back to the Future 3" චිත්රපටයෙන් ලබාගෙන ඇත. - සමාගම්
RUVDS සහාය සඳහා සහ Habré හි ඔබේ බ්ලොගයේ ප්රකාශනය කිරීමට අවස්ථාව.
ප්රාදේශීය සභා කරුණාකර පුද්ගලික පණිවිඩයක ඔබ දකින යම් දෝෂයක් එවන්න. මම මේ සඳහා මගේ කර්මය වැඩි කරමි.
ඔබට අතථ්ය යන්ත්රයක් ඇණවුම් කිරීමෙන් NILFS2 සමඟ අත්හදා බැලිය හැකිය
මූලාශ්රය: www.habr.com