NILFS2 - گھر کے لیے ایک بلٹ پروف فائل سسٹم

NILFS2 - گھر کے لیے ایک بلٹ پروف فائل سسٹم

جیسا کہ آپ جانتے ہیں، اگر مصیبت آسکتی ہے، تو یہ ضرور ہوگی۔ غالباً ہر ایک کو ایسے معاملات ہوئے ہوں گے جب ایک حالیہ اہم فائل غلطی سے مٹ گئی تھی، یا ٹیکسٹ ایڈیٹر میں غلطی سے متن کو منتخب کر کے تباہ کر دیا گیا تھا۔

اگر آپ میزبان یا ویب سائٹ کے مالک ہیں، تو شاید آپ کو صارف کے اکاؤنٹس یا اپنی ویب سائٹ کی ہیکنگ کا سامنا کرنا پڑا ہو۔ ایسے معاملات میں، تاریخ کو بحال کرنا، داخلے کا طریقہ تلاش کرنا اور حملہ آور کے ذریعے استعمال ہونے والی کمزوری کا پتہ لگانا ضروری ہے۔

NILFS2 فائل سسٹم ایسے مسائل کو حل کرنے کے لیے بہترین ہے۔

یہ لینکس کرنل میں ورژن 2.6.30 سے ​​موجود ہے۔

اس فائل سسٹم کی خاصیت یہ ہے کہ یہ ایک ورژن کنٹرول سسٹم کی طرح ہے: آپ ہمیشہ سسٹم کی حالت کو واپس کر سکتے ہیں اور دیکھ سکتے ہیں کہ یہ کچھ عرصہ پہلے کیسا تھا۔

یہ فعالیت فراہم کرنے کے لیے، آپ کو کرون اسکرپٹس کو ترتیب دینے، سنیپ شاٹس لینے وغیرہ کی ضرورت نہیں ہے۔ NILFS2 فائل سسٹم یہ سب خود کرتا ہے۔ یہ کبھی بھی پرانے ڈیٹا کو اوور رائٹ نہیں کرتا ہے اور اگر ڈسک کی کافی جگہ ہے تو ہمیشہ ڈسک کے نئے علاقوں میں لکھتا ہے۔ کاپی آن رائٹ کے اصول کے مطابق۔

درحقیقت، فائل میں کوئی بھی تبدیلی خود بخود فائل سسٹم کا ایک نیا سنیپ شاٹ بناتی ہے، لہذا آپ اس FS کو ٹائم مشین کے طور پر استعمال کر سکتے ہیں اور فائلوں کی حالت کو ریوائنڈ کر سکتے ہیں۔

کہانی

NILFS2 - گھر کے لیے ایک بلٹ پروف فائل سسٹمNILFS2 کی گہرائیوں میں تیار کیا گیا تھا۔ نپون ٹیلی گراف اور ٹیلی فون کارپوریشن, درحقیقت، سرکاری ملکیت (اس کا کنٹرولنگ حصہ ہے) اور جاپان کی سب سے بڑی ٹیلی کمیونیکیشن کمپنی۔ مزید خاص طور پر، قیادت میں سائبر اسپیس لیبارٹریز میں ریوسوکے کونیشی.

یہ بالکل کس مقصد کے لیے تیار کیا گیا تھا، یہ معلوم نہیں ہے، تاہم، یہ فرض کیا جا سکتا ہے کہ اس طرح کی FS، اپنی "ٹائم مشین" کی فعالیت کے ساتھ، ڈیٹا کو ذخیرہ کرنے کے لیے مثالی ہے جسے انٹیلی جنس سروسز اس کی پوری تصویر کو دوبارہ چلانے کے لیے کھودنا چاہتی ہیں۔ ایس ایم ایس، ای میلز وغیرہ....

NILFS2 ممکنہ طور پر داخلی سلامتی کی خدمات کے لیے ایک بہت ہی قیمتی ٹول ہے، کیونکہ یہ آپ کو میل ڈیٹا بیس میں تمام حذف شدہ خطوط کو بازیافت کرنے کی اجازت دیتا ہے، جس سے ملازمین کے جموں کا پتہ چلتا ہے جو بعد میں اپنی فائلوں کو حذف یا تبدیل کر کے انہیں چھپانے کی کوشش کر سکتے ہیں۔

آپ اپنی پوری خط و کتابت کی تاریخ کو کیسے ٹریک کرسکتے ہیں؟لینکس سرورز پر (اور یہ وہ جگہ ہے جہاں NILFS2 کو اندرونی حفاظتی مقاصد کے لیے انسٹال کیا جانا چاہیے)، ای میلز کو اسٹور کرنے کا فائل طریقہ اکثر ای میل پیغامات کو اسٹور کرنے کے لیے استعمال کیا جاتا ہے۔ نام نہاد فارمیٹ میلڈیر. ڈالنے کے لیے کافی ہے۔ کورئیر میل سرور اور میل سٹوریج کو میلڈیر میں کنفیگر کریں۔ دوسری شکل mbox ایک بڑی ٹیکسٹ فائل ہے جسے انفرادی پیغامات میں آسانی سے پارس کیا جا سکتا ہے۔

اگر میل سرور ڈیٹا بیس کا استعمال کرتا ہے، تو NILFS2 ڈیٹا بیس کی تبدیلیوں کے صحیح وقت اور ان میں سے کسی بھی لمحے ڈیٹا بیس کو بحال کرنے کی صلاحیت کو بحال کرنا ممکن بنائے گا۔ اور پھر آپ کو یہ دیکھنے کے لیے ڈیٹا بیس ٹولز استعمال کرنے کی ضرورت ہے کہ اس وقت اس میں کیا تھا...

تاہم، کچھ غلط ہو گیا۔ یا تو جاپانی حکومت نے سب کی نگرانی کرنے کے بارے میں اپنا ذہن بدل لیا (a la the Yarovaya اصول)، یا روایتی HDDs پر NILFS2 کی کارکردگی برابر سے نیچے نکلی، اور NILFS2 کو GPL لائسنس کے تحت جاری کیا گیا اور بہت جلد لینکس کے کرنل میں داخل ہو گیا، کیونکہ اعلیٰ تعلیم یافتہ جاپانی لکھے گئے کوڈ کے بارے میں کوئی خاص شکایت نہیں تھی، لینکس کرنل کے ڈویلپرز کے پاس یہ نہیں تھی۔

NILFS2 کیسا ہے؟

استعمال کے نقطہ نظر سے: ورژن کنٹرول سسٹم پر SVN. ہر FS چیک پوائنٹ ایک کمٹ ہے جو صارف کے علم کے بغیر خود بخود ہو جاتا ہے جب بھی کوئی تبدیلی ہوتی ہے: چاہے وہ حذف ہو، فائل کے مواد کو تبدیل کرنا ہو یا رسائی کے حقوق میں تبدیلی ہو۔ ہر کمٹ میں ایک نمبر ہوتا ہے جو لکیری طور پر بڑھتا ہے۔

پروگرامر کے نقطہ نظر سے: ایک سرکلر بفر۔ فائل سسٹم تبدیلیوں کو جمع کرتا ہے اور انہیں تقریباً 8 MB (2000 * 4096، جہاں 2000 بلاک میں عناصر کی تعداد ہے اور 4096 میموری صفحہ کا سائز ہے) کے برابر حصہ میں لکھتا ہے۔ پوری ڈسک کو اس طرح کے ٹکڑوں میں تقسیم کیا گیا ہے۔ ریکارڈنگ ترتیب وار آگے بڑھتی ہے۔ جب خالی جگہ ختم ہو جاتی ہے، تو سب سے پرانے اسنیپ شاٹس کو حذف کر دیا جاتا ہے اور ٹکڑوں کو اوور رائٹ کر دیا جاتا ہے۔

بنیادی NILFS2 گڈیز

  • ورژننگ!!!
  • ناکامی کے بعد فائل سسٹم کو بحال کرنے کا طریقہ کار آسان ہے: لوڈ کرتے وقت، آخری ٹکڑا جس میں صحیح چیکسم ہوتا ہے تلاش کیا جاتا ہے، اور اس پر ایک سپر بلاک نصب کیا جاتا ہے۔ یہ تقریباً فوری آپریشن ہے۔
  • اس حقیقت کی وجہ سے کہ ریکارڈنگ ہمیشہ لکیری طور پر آگے بڑھتی ہے، پھر:
    • سست بے ترتیب تحریروں کے ساتھ SSD پر چلتے وقت اچھے نتائج دکھا سکتے ہیں۔
    • NILFS2 SSD وسائل کو بچاتا ہے، کیونکہ تقریباً کوئی لکھنے کا کوئی عنصر نہیں ہے۔
      زیادہ واضح طور پر، یہ 2 سے زیادہ نہیں ہے۔حقیقت یہ ہے کہ جب پوری ڈسک کو چکرا کر دوبارہ لکھا جائے گا، NILFS2 ناقابل تبدیلی ڈیٹا کو نئے ٹکڑوں (ٹکڑوں) میں منتقل کرے گا۔

      اگر ہمارے پاس ڈسک پر 10% غیر تبدیل شدہ ڈیٹا ہے، تو ہمیں 10 مکمل دوبارہ لکھنے کے ساتھ 1% تحریری اضافہ ملے گا۔ ٹھیک ہے، ڈسک کی 50 مکمل ری رائٹ کے لیے ڈیوائس کی 50% پرپورننس پر 1% اضافہ۔

      لکھنے کا زیادہ سے زیادہ فائدہ 2 ہے۔ یہ بہت کم ہے کیونکہ ہر چیز ترتیب وار لکھی جاتی ہے۔ عام طور پر، رائٹ اینیمیشن 4096 بائٹ سیکٹر کے ساتھ روایتی بکھرے ہوئے فائل سسٹم سے کم ہوگی۔ (سوچ سے متاثر ہوا۔ تبصرہ).

  • ریموٹ NILFS2 FS پر نقل کے نفاذ میں ممکنہ آسانی

NILFS2/گھر کے لیے

یونکس جیسے آپریٹنگ سسٹم میں، ایک اصول کے طور پر، ایک /ہوم فولڈر ہوتا ہے جس میں صارف کا ڈیٹا محفوظ ہوتا ہے۔ مختلف پروگرام اس فولڈر میں اپنی صارف کی مخصوص ترتیبات محفوظ کرتے ہیں۔

اور کون، اگر صارف نہیں، تو اکثر غلطیاں کرتا ہے؟ لہذا، جیسا کہ وہ کہتے ہیں، خدا نے خود NILFS2 کو /گھر پر استعمال کرنے کا حکم دیا۔

مزید برآں، SSDs کے وسیع پیمانے پر استعمال کے ساتھ، اب ہمیں CoW فائل سسٹم استعمال کرتے وقت شدید کمی کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔

جی ہاں، ہم ZFS اور BTRFS میں جتنی بار چاہیں FS سنیپ شاٹس بنا سکتے ہیں، لیکن اس بات کا خطرہ ہمیشہ رہتا ہے کہ اسنیپ شاٹس کے درمیان فائل کی گمشدہ تبدیلی ختم ہو جائے گی۔ اور تصاویر کو ابھی بھی انتظام کرنے کی ضرورت ہے: پرانی کو حذف کرنے کی ضرورت ہے۔ NILFS2 میں، یہ سب کچھ خود بخود ہوتا ہے، لفظی طور پر ہر چند سیکنڈ میں۔

میں نے lvcreate (nvme والیوم گروپ میں، thin pool thin) کا استعمال کرتے ہوئے ایک منطقی حجم بنایا۔ میں اسے 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 !!

اس کے بعد، آپ کو موجودہ /گھر سے تمام ڈیٹا کاپی کرنے کی ضرورت ہے۔

میں نے کمپیوٹر کو بوٹ کرنے کے فوراً بعد، اپنے اکاؤنٹ میں لاگ ان کرنے سے پہلے، بطور روٹ صارف کیا۔ اگر میں اپنے صارف کے طور پر لاگ اِن ہوتا، تو کچھ پروگرام میرے صارف کے /home/user فولڈر میں ساکٹ اور فائلیں کھول دیتے ہیں، جس سے کلین کاپی مشکل ہوجائے گی۔ جیسا کہ آپ جانتے ہیں، روٹ صارف کے لیے ہوم فولڈر عام طور پر /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 کارکردگی کو بہتر بنانے کی ضرورت ہے تاکہ ہر فائل تک رسائی کے ساتھ وقت تبدیل نہ ہو۔ اگلا ہم ریبوٹ کرتے ہیں۔

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 افادیت، جو کسی مخصوص فائل/ڈائریکٹری میں تبدیلیوں کی تاریخ دکھا سکتا ہے:

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

اس کمانڈ میں تاریخ کا وقفہ بھی معاون ہے۔

ڈویلپرز کے لئے ایک فریاد

Habré پر بہت سے ماہرین ہیں۔ براہ کرم NILFS2 کو ختم کریں۔ ریپلیکیشن بنائیں، نظرثانی، ریفلنک اور دیگر سامان کے درمیان نچلی سطح کا تیز فرق!

حوالہ جات

NILFS کی سرکاری ویب سائٹ.

ذخیرے:
NILFS2.
NILFS2 افادیت اور ماڈیولز.

خبرنامے:
NILFS2 ڈویلپرز کے لیے ای میل نیوز لیٹر. linux-nilfs سبسکرپشن کے لیے ID۔
نیوز لیٹر آرکائیو.

nilfs_cleanerd سیٹ اپ گائیڈ.
بینچ مارکنگ EXT4، Btrfs، XFS اور NILFS2 کارکردگی کے ٹیسٹ.

اعترافات:

  • NILFS2 ڈویلپرز: Ryusuke Konishi, Koji Sato, Naruhiko Kamimura, Seiji Kihara, Yoshiji Amagai, Hisashi Hifumi اور Satoshi Moriai۔ دیگر اہم شراکت دار ہیں: آندریاس روہنر، ڈین میکجی، ڈیوڈ آرینڈٹ، ڈیوڈ سمڈ، ڈیکسن ڈیوریس، دمتری سمرنوف، ایرک سنڈین، جیرو سیکیبا، میٹیو فریگو، ہیتوشی میٹاکے، تاکاشی ایوائی، ویاچسلاو ڈوبیکو۔
  • امبلن انٹرٹینمنٹ اور یونیورسل پکچرز کو فلموں کی شاندار سیریز کے لیے۔ "مستقبل کی طرف واپس". پوسٹ کی پہلی تصویر فلم "بیک ٹو دی فیوچر 3" سے لی گئی ہے۔
  • کمپنیاں۔ آر یو وی ڈی ایس حمایت اور Habré پر اپنے بلاگ پر شائع کرنے کے موقع کے لیے۔

PS براہ کرم نجی پیغام میں آپ کی نظر آنے والی کوئی بھی غلطی بھیجیں۔ میں اس کے لیے اپنا کرما بڑھاتا ہوں۔

آپ NILFS2 کے ساتھ ایک ورچوئل مشین کا آرڈر دے کر تجربہ کر سکتے ہیں۔ آر یو وی ڈی ایس نیچے کوپن کے ساتھ۔ تمام نئے کلائنٹس کے لیے 3 دن کی مفت آزمائش کی مدت ہے۔

NILFS2 - گھر کے لیے ایک بلٹ پروف فائل سسٹم

ماخذ: www.habr.com

نیا تبصرہ شامل کریں