আমার সংস্থা একটি এম্বেডড ডেবিয়ান লিনাক্স ডিভাইস তৈরি করে যা কোনও অভ্যন্তরীণ এসএসডি ড্রাইভে একটি এক্সট্রি পার্টিশন থেকে বুট হয়। ডিভাইসটি একটি এম্বেড করা "ব্ল্যাক বক্স" হওয়ায় এটি বাহ্যিক সুইচের মাধ্যমে কেবলমাত্র ডিভাইসটির শক্তি কেটে, অভদ্রভাবে সাধারণত বন্ধ করে দেওয়া হয়।
এটি সাধারণত ঠিক আছে, যেহেতু ext3 এর জার্নালিং জিনিসগুলিকে সুশৃঙ্খল করে রাখে, তাই লগ ফাইলের মাঝে মাঝে ক্ষতি হওয়া ব্যতীত, জিনিসগুলি জরিমানা বজায় রাখে।
যাইহোক, আমরা সম্প্রতি বেশ কয়েকটি ইউনিট দেখেছি যেখানে প্রচুর শক্ত-চক্রের পরে ext3 পার্টিশনটি কাঠামোগত সমস্যাগুলি বিকাশ শুরু করে - বিশেষত, আমরা ext3 পার্টিশনে e2fsck চালাই এবং এটি এর মত অনেকগুলি সমস্যা আবিষ্কার করে where এই প্রশ্নের নীচে আউটপুট তালিকাতে দেখানো হয়েছে। এটি রিপোর্টিং ত্রুটিগুলি থামিয়ে দেওয়া (বা পার্টিশনের পুনরায় ফর্ম্যাট করা) সমস্যাগুলি সাফ করার আগে পর্যন্ত ই 2fsck চালানো Run
আমার প্রশ্ন হ'ল ... প্রচুর আকস্মিক / অপ্রত্যাশিত শাটডাউনের শিকার হওয়া একটি এক্সট্রি / এসএসডি সিস্টেমে এই জাতীয় সমস্যাগুলি দেখার কী কী প্রভাব পড়বে?
আমার অনুভূতিটি হ'ল এটি সম্ভবত আমাদের সিস্টেমে কোনও সফ্টওয়্যার বা হার্ডওয়্যার সমস্যার লক্ষণ হতে পারে, যেহেতু আমার বোধগম্যতা (বাগ বা হার্ডওয়্যার সমস্যা বাদ দিয়ে) এক্সট্রাক্টের জার্নালিং বৈশিষ্ট্যটি এই ধরণের ফাইল সিস্টেম-অখণ্ডতা ত্রুটিগুলি রোধ করে বলে মনে করা হচ্ছে। (দ্রষ্টব্য: আমি বুঝতে পেরেছি যে ব্যবহারকারী-ডেটা জার্নাল নয় এবং তাই মুগড / নিখোঁজ / ছাঁটাই হওয়া ব্যবহারকারী-ফাইলগুলি ঘটতে পারে; আমি এখানে বিশেষত নীচে দেখানো ফাইল-সিস্টেম-মেটাডেটা ত্রুটি সম্পর্কে কথা বলছি)
অন্যদিকে আমার সহকর্মী বলছেন যে এটি পরিচিত / প্রত্যাশিত আচরণ কারণ এসএসডি নিয়ন্ত্রকরা মাঝে মাঝে কমান্ডগুলি পুনরায় অর্ডার করে এবং এটি ext3 জার্নালকে বিভ্রান্ত করতে পারে। বিশেষত, তিনি বিশ্বাস করেন যে এমনকি সাধারনত হার্ডওয়্যার এবং বাগ-মুক্ত সফ্টওয়্যার দেওয়া হলেও, এক্সট 3 জার্নাল কেবল ফাইল সিস্টেম দুর্নীতি কম করে তোলে, অসম্ভব নয়, তাই সময় সময় এই জাতীয় সমস্যাগুলি দেখে আমাদের অবাক হওয়ার কিছু নেই।
আমাদের মধ্যে কোনটি সঠিক?
Embedded-PC-failsafe:~# ls
Embedded-PC-failsafe:~# umount /mnt/unionfs
Embedded-PC-failsafe:~# e2fsck /dev/sda3
e2fsck 1.41.3 (12-Oct-2008)
embeddedrootwrite contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Invalid inode number for '.' in directory inode 46948.
Fix<y>? yes
Directory inode 46948, block 0, offset 12: directory corrupted
Salvage<y>? yes
Entry 'status_2012-11-26_14h13m41.csv' in /var/log/status_logs (46956) has deleted/unused inode 47075. Clear<y>? yes
Entry 'status_2012-11-26_10h42m58.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47076. Clear<y>? yes
Entry 'status_2012-11-26_11h29m41.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47080. Clear<y>? yes
Entry 'status_2012-11-26_11h42m13.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47081. Clear<y>? yes
Entry 'status_2012-11-26_12h07m17.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47083. Clear<y>? yes
Entry 'status_2012-11-26_12h14m53.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47085. Clear<y>? yes
Entry 'status_2012-11-26_15h06m49.csv' in /var/log/status_logs (46956) has deleted/unused inode 47088. Clear<y>? yes
Entry 'status_2012-11-20_14h50m09.csv' in /var/log/status_logs (46956) has deleted/unused inode 47073. Clear<y>? yes
Entry 'status_2012-11-20_14h55m32.csv' in /var/log/status_logs (46956) has deleted/unused inode 47074. Clear<y>? yes
Entry 'status_2012-11-26_11h04m36.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47078. Clear<y>? yes
Entry 'status_2012-11-26_11h54m45.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47082. Clear<y>? yes
Entry 'status_2012-11-26_12h12m20.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47084. Clear<y>? yes
Entry 'status_2012-11-26_12h33m52.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47086. Clear<y>? yes
Entry 'status_2012-11-26_10h51m59.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47077. Clear<y>? yes
Entry 'status_2012-11-26_11h17m09.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47079. Clear<y>? yes
Entry 'status_2012-11-26_12h54m11.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47087. Clear<y>? yes
Pass 3: Checking directory connectivity
'..' in /etc/network/run (46948) is <The NULL inode> (0), should be /etc/network (46953).
Fix<y>? yes
Couldn't fix parent of inode 46948: Couldn't find parent directory entry
Pass 4: Checking reference counts
Unattached inode 46945
Connect to /lost+found<y>? yes
Inode 46945 ref count is 2, should be 1. Fix<y>? yes
Inode 46953 ref count is 5, should be 4. Fix<y>? yes
Pass 5: Checking group summary information
Block bitmap differences: -(208264--208266) -(210062--210068) -(211343--211491) -(213241--213250) -(213344--213393) -213397 -(213457--213463) -(213516--213521) -(213628--213655) -(213683--213688) -(213709--213728) -(215265--215300) -(215346--215365) -(221541--221551) -(221696--221704) -227517
Fix<y>? yes
Free blocks count wrong for group #6 (17247, counted=17611).
Fix<y>? yes
Free blocks count wrong (161691, counted=162055).
Fix<y>? yes
Inode bitmap differences: +(47089--47090) +47093 +47095 +(47097--47099) +(47101--47104) -(47219--47220) -47222 -47224 -47228 -47231 -(47347--47348) -47350 -47352 -47356 -47359 -(47457--47488) -47985 -47996 -(47999--48000) -48017 -(48027--48028) -(48030--48032) -48049 -(48059--48060) -(48062--48064) -48081 -(48091--48092) -(48094--48096)
Fix<y>? yes
Free inodes count wrong for group #6 (7608, counted=7624).
Fix<y>? yes
Free inodes count wrong (61919, counted=61935).
Fix<y>? yes
embeddedrootwrite: ***** FILE SYSTEM WAS MODIFIED *****
embeddedrootwrite: ********** WARNING: Filesystem still has errors **********
embeddedrootwrite: 657/62592 files (24.4% non-contiguous), 87882/249937 blocks
Embedded-PC-failsafe:~#
Embedded-PC-failsafe:~# e2fsck /dev/sda3
e2fsck 1.41.3 (12-Oct-2008)
embeddedrootwrite contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Directory entry for '.' in ... (46948) is big.
Split<y>? yes
Missing '..' in directory inode 46948.
Fix<y>? yes
Setting filetype for entry '..' in ... (46948) to 2.
Pass 3: Checking directory connectivity
'..' in /etc/network/run (46948) is <The NULL inode> (0), should be /etc/network (46953).
Fix<y>? yes
Pass 4: Checking reference counts
Inode 2 ref count is 12, should be 13. Fix<y>? yes
Pass 5: Checking group summary information
embeddedrootwrite: ***** FILE SYSTEM WAS MODIFIED *****
embeddedrootwrite: 657/62592 files (24.4% non-contiguous), 87882/249937 blocks
Embedded-PC-failsafe:~#
Embedded-PC-failsafe:~# e2fsck /dev/sda3
e2fsck 1.41.3 (12-Oct-2008)
embeddedrootwrite: clean, 657/62592 files, 87882/249937 blocks