ലിനക്സിൽ EXT2, EXT3, EXT4 ആരോഗ്യം എന്നിവ കൈകാര്യം ചെയ്യുന്നതിനുള്ള 4 ഉപകരണങ്ങൾ


ഒരു കമ്പ്യൂട്ടർ സിസ്റ്റത്തിൽ ഡാറ്റ എങ്ങനെ സംഭരിക്കുകയും വീണ്ടെടുക്കുകയും ചെയ്യുന്നുവെന്ന് നിയന്ത്രിക്കാൻ സഹായിക്കുന്ന ഒരു ഡാറ്റാ ഘടനയാണ് ഫയൽസിസ്റ്റം. ഒരു ഡിസ്കിലെ ഫിസിക്കൽ (അല്ലെങ്കിൽ വിപുലീകൃത) പാർട്ടീഷനായി ഒരു ഫയൽസിസ്റ്റം കണക്കാക്കാം. നന്നായി പരിപാലിക്കുകയും പതിവായി നിരീക്ഷിക്കുകയും ചെയ്തില്ലെങ്കിൽ, അത് ദീർഘകാലാടിസ്ഥാനത്തിൽ പല തരത്തിൽ കേടാകുകയോ കേടാകുകയോ ചെയ്യാം.

ഒരു ഫയൽസിസ്റ്റം അനാരോഗ്യകരമാകാൻ കാരണമാകുന്ന നിരവധി ഘടകങ്ങളുണ്ട്: സിസ്റ്റം ക്രാഷുകൾ, ഹാർഡ്uവെയർ അല്ലെങ്കിൽ സോഫ്റ്റ്uവെയർ തകരാറുകൾ, ബഗ്ഗി ഡ്രൈവറുകളും പ്രോഗ്രാമുകളും, അത് തെറ്റായി ട്യൂൺ ചെയ്യുക, അമിതമായ ഡാറ്റയും മറ്റ് ചെറിയ തകരാറുകളും ഉപയോഗിച്ച് ഓവർലോഡ് ചെയ്യുക.

ഈ പ്രശ്uനങ്ങളിൽ ഏതെങ്കിലും ഒരു ഫയൽസിസ്റ്റം മൌണ്ട് ചെയ്യാതിരിക്കാൻ (അല്ലെങ്കിൽ അൺമൗണ്ട് ചെയ്യാതിരിക്കാൻ) ലിനക്uസിന് കാരണമാകും, അങ്ങനെ സിസ്റ്റം പരാജയം സംഭവിക്കുന്നു.

കൂടാതെ, ഒരു തകരാറുള്ള ഫയൽസിസ്റ്റം ഉപയോഗിച്ച് നിങ്ങളുടെ സിസ്റ്റം പ്രവർത്തിപ്പിക്കുന്നത് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഘടകങ്ങളിലോ ഉപയോക്തൃ ആപ്ലിക്കേഷനുകളിലോ മറ്റ് റൺടൈം പിശകുകൾക്ക് കാരണമായേക്കാം, ഇത് ഗുരുതരമായ ഡാറ്റാ നഷ്uടത്തിലേക്ക് നയിച്ചേക്കാം. ഫയൽസിസ്റ്റം അഴിമതിയോ കേടുപാടുകളോ ഉണ്ടാകാതിരിക്കാൻ, നിങ്ങൾ അതിന്റെ ആരോഗ്യം നിരീക്ഷിക്കേണ്ടതുണ്ട്.

ഈ ലേഖനത്തിൽ, ഒരു ext2, ext3, ext4 ഫയൽസിസ്റ്റം ആരോഗ്യം നിരീക്ഷിക്കുന്നതിനും പരിപാലിക്കുന്നതിനുമുള്ള ടൂളുകൾ ഞങ്ങൾ ഉൾപ്പെടുത്തും. ഇവിടെ വിവരിച്ചിരിക്കുന്ന എല്ലാ ടൂളുകൾക്കും റൂട്ട് യൂസർ പ്രത്യേകാവകാശങ്ങൾ ആവശ്യമാണ്, അതിനാൽ അവ പ്രവർത്തിപ്പിക്കുന്നതിന് sudo കമാൻഡ് ഉപയോഗിക്കുക.

EXT2/EXT3/EXT4 ഫയൽസിസ്റ്റം വിവരങ്ങൾ എങ്ങനെ കാണും

ext2/ext3/ext4 ഫയൽസിസ്റ്റം വിവരങ്ങൾ ഡംപ് ചെയ്യാൻ ഉപയോഗിക്കുന്ന ഒരു കമാൻഡ് ലൈൻ ടൂളാണ് dumpe2fs, അതായത് ഇത് സൂപ്പർ ബ്ലോക്ക് പ്രദർശിപ്പിക്കുകയും ഉപകരണത്തിലെ ഫയൽസിസ്റ്റത്തിനായി ഗ്രൂപ്പ് വിവരങ്ങൾ തടയുകയും ചെയ്യുന്നു.

dumpe2fs പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ്, ഫയൽസിസ്റ്റം ഉപകരണത്തിന്റെ പേരുകൾ അറിയാൻ df -hT കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നത് ഉറപ്പാക്കുക.

$ sudo dumpe2fs /dev/sda10
dumpe2fs 1.42.13 (17-May-2015)
Filesystem volume name:   
Last mounted on:          /
Filesystem UUID:          bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              21544960
Block count:              86154752
Reserved block count:     4307737
Free blocks:              22387732
Free inodes:              21026406
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1003
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Sun Jul 31 16:19:36 2016
Last mount time:          Mon Nov  6 10:25:28 2017
Last write time:          Mon Nov  6 10:25:19 2017
Mount count:              432
Maximum mount count:      -1
Last checked:             Sun Jul 31 16:19:36 2016
Check interval:           0 ()
Lifetime writes:          2834 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       6947324
Default directory hash:   half_md4
Directory Hash Seed:      9da5dafb-bded-494d-ba7f-5c0ff3d9b805
Journal backup:           inode blocks
Journal features:         journal_incompat_revoke
Journal size:             128M
Journal length:           32768
Journal sequence:         0x00580f0c
Journal start:            12055

ഫയൽസിസ്റ്റത്തിൽ മോശമായി റിസർവ് ചെയ്uതിരിക്കുന്ന ഏതെങ്കിലും ബ്ലോക്കുകൾ പ്രദർശിപ്പിക്കുന്നതിന് നിങ്ങൾക്ക് -b ഫ്ലാഗ് കൈമാറാം (ഒരു ഔട്ട്uപുട്ടും ബാഡ്uബ്ലോക്കുകളെ സൂചിപ്പിക്കുന്നില്ല):

$ dumpe2fs -b

പിശകുകൾക്കായി EXT2/EXT3/EXT4 ഫയൽസിസ്റ്റംസ് പരിശോധിക്കുന്നു

പിശകുകൾക്കും fsck പരിശോധനകൾക്കുമായി ext2/ext3/ext4 ഫയൽസിസ്റ്റം പരിശോധിക്കാൻ e2fsck ഉപയോഗിക്കുന്നു, കൂടാതെ ഒരു ലിനക്സ് ഫയൽസിസ്റ്റം ഓപ്ഷണലായി റിപ്പയർ ചെയ്യാനും കഴിയും; ഇത് അടിസ്ഥാനപരമായി Linux-ന് കീഴിൽ നൽകുന്ന ഫയൽസിസ്റ്റം ചെക്കറുകളുടെ (fsck.fstype ഉദാഹരണത്തിന് fsck.ext3, fsck.sfx മുതലായവ) ഒരു ഫ്രണ്ട്-എൻഡ് ആണ്.

/etc/fstab കോൺഫിഗറേഷൻ ഫയലിൽ പരിശോധിക്കുന്നതിനായി ലേബൽ ചെയ്തിരിക്കുന്ന പാർട്ടീഷനുകളിൽ സിസ്റ്റം ബൂട്ടിൽ ലിനക്സ് e2fack/fsck സ്വയമേവ പ്രവർത്തിക്കുന്നു എന്നത് ഓർക്കുക. ഒരു ഫയൽസിസ്റ്റം വൃത്തിയായി അൺമൗണ്ട് ചെയ്യാത്തതിന് ശേഷമാണ് ഇത് സാധാരണയായി ചെയ്യുന്നത്.

ശ്രദ്ധിക്കുക: മൗണ്ട് ചെയ്ത ഫയൽസിസ്റ്റമുകളിൽ e2fsck അല്ലെങ്കിൽ fsck പ്രവർത്തിപ്പിക്കരുത്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ ഈ ടൂളുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് ഒരു പാർട്ടീഷൻ ആദ്യം അൺമൗണ്ട് ചെയ്യുക.

$ sudo unmount /dev/sda10
$ sudo fsck /dev/sda10

പകരമായി, -V സ്വിച്ച് ഉപയോഗിച്ച് വെർബോസ് ഔട്ട്uപുട്ട് പ്രവർത്തനക്ഷമമാക്കുക, ഇതുപോലുള്ള ഒരു ഫയൽസിസ്റ്റം തരം വ്യക്തമാക്കുന്നതിന് -t ഉപയോഗിക്കുക:

$ sudo fsck -Vt ext4 /dev/sda10

EXT2/EXT3/EXT4 ഫയൽസിസ്റ്റംസ് ട്യൂൺ ചെയ്യുന്നു

തെറ്റായ ട്യൂണിംഗ് ആണ് ഫയൽസിസ്റ്റം കേടാകാനുള്ള കാരണങ്ങളിലൊന്ന് എന്ന് ഞങ്ങൾ ആദ്യം മുതൽ സൂചിപ്പിച്ചിരുന്നു. ചുവടെ വിശദീകരിച്ചിരിക്കുന്നത് പോലെ ext2/ext3/ext4 ഫയൽസിസ്റ്റമുകളുടെ ട്യൂൺ ചെയ്യാവുന്ന പാരാമീറ്ററുകൾ മാറ്റാൻ നിങ്ങൾക്ക് tune2fs യൂട്ടിലിറ്റി ഉപയോഗിക്കാം.

പരാമീറ്ററുകളുടെ നിലവിലെ മൂല്യങ്ങൾ ഉൾപ്പെടെ ഫയൽസിസ്റ്റം സൂപ്പർബ്ലോക്കിന്റെ ഉള്ളടക്കങ്ങൾ കാണുന്നതിന്, കാണിച്ചിരിക്കുന്നതുപോലെ -l ഓപ്ഷൻ ഉപയോഗിക്കുക.

$ sudo tune2fs -l /dev/sda10
tune2fs 1.42.13 (17-May-2015)
Filesystem volume name:   
Last mounted on:          /
Filesystem UUID:          bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              21544960
Block count:              86154752
Reserved block count:     4307737
Free blocks:              22387732
Free inodes:              21026406
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1003
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Sun Jul 31 16:19:36 2016
Last mount time:          Mon Nov  6 10:25:28 2017
Last write time:          Mon Nov  6 10:25:19 2017
Mount count:              432
Maximum mount count:      -1
Last checked:             Sun Jul 31 16:19:36 2016
Check interval:           0 ()
Lifetime writes:          2834 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       6947324
Default directory hash:   half_md4
Directory Hash Seed:      9da5dafb-bded-494d-ba7f-5c0ff3d9b805
Journal backup:           inode blocks

അടുത്തതായി, -c ഫ്ലാഗ് ഉപയോഗിച്ച്, e2fsck ഉപയോഗിച്ച് ഫയൽസിസ്റ്റം പരിശോധിക്കുന്ന മൗണ്ടുകളുടെ എണ്ണം നിങ്ങൾക്ക് സജ്ജമാക്കാൻ കഴിയും. ഓരോ 4 മൗണ്ടുകൾക്കു ശേഷവും /dev/sda10 എന്നതിനെതിരെ e2fsck പ്രവർത്തിപ്പിക്കാൻ ഈ കമാൻഡ് സിസ്റ്റത്തോട് നിർദ്ദേശിക്കുന്നു.

$ sudo tune2fs -c 4 /dev/sda10

tune2fs 1.42.13 (17-May-2015)
Setting maximal mount count to 4

-i ഓപ്ഷൻ ഉപയോഗിച്ച് നിങ്ങൾക്ക് രണ്ട് ഫയൽസിസ്റ്റം പരിശോധനകൾക്കിടയിലുള്ള സമയം നിർവചിക്കാം. ഇനിപ്പറയുന്ന കമാൻഡ് ഫയൽസിസ്റ്റം പരിശോധനകൾക്കിടയിൽ 2 ദിവസത്തെ ഇടവേള സജ്ജമാക്കുന്നു.

$ sudo tune2fs  -i  2d  /dev/sda10

tune2fs 1.42.13 (17-May-2015)
Setting interval between checks to 172800 seconds

ഇപ്പോൾ നിങ്ങൾ ഈ കമാൻഡ് താഴെ പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ, /dev/sda10 എന്നതിനായുള്ള ഫയൽസിസ്റ്റം പരിശോധന ഇടവേള ഇപ്പോൾ സജ്ജീകരിച്ചിരിക്കുന്നു.

$ sudo tune2fs -l /dev/sda10
Filesystem created:       Sun Jul 31 16:19:36 2016
Last mount time:          Mon Nov  6 10:25:28 2017
Last write time:          Mon Nov  6 13:49:50 2017
Mount count:              432
Maximum mount count:      4
Last checked:             Sun Jul 31 16:19:36 2016
Check interval:           172800 (2 days)
Next check after:         Tue Aug  2 16:19:36 2016
Lifetime writes:          2834 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       6947324
Default directory hash:   half_md4
Directory Hash Seed:      9da5dafb-bded-494d-ba7f-5c0ff3d9b805
Journal backup:           inode blocks

സ്ഥിരസ്ഥിതി ജേണലിംഗ് പാരാമീറ്ററുകൾ മാറ്റുന്നതിന്, -J ഓപ്ഷൻ ഉപയോഗിക്കുക. ഈ ഓപ്uഷനും ഉപ-ഓപ്uഷനുകളുണ്ട്: വലുപ്പം=ജേണലിന്റെ വലുപ്പം (ജേണലിന്റെ വലുപ്പം സജ്ജമാക്കുന്നു), ഉപകരണം=ബാഹ്യ-ജേണൽ (അത് സംഭരിച്ചിരിക്കുന്ന ഉപകരണം വ്യക്തമാക്കുന്നു), സ്ഥാനം=ജേണൽ-ലൊക്കേഷൻ (ജേണലിന്റെ സ്ഥാനം നിർവചിക്കുന്നു).

ഒരു ഫയൽസിസ്റ്റത്തിനായി വലുപ്പമോ ഉപകരണ ഓപ്ഷനുകളിലൊന്ന് മാത്രമേ സജ്ജീകരിക്കാൻ കഴിയൂ എന്നത് ശ്രദ്ധിക്കുക:

$ sudo tune2fs -J size=4MB /dev/sda10

അവസാനത്തേത് എന്നാൽ ഏറ്റവും കുറഞ്ഞത്, ഒരു ഫയൽസിസ്റ്റത്തിന്റെ വോളിയം ലേബൽ ചുവടെയുള്ള -L ഓപ്ഷൻ ഉപയോഗിച്ച് സജ്ജമാക്കാൻ കഴിയും.

$ sudo tune2fs -L "ROOT" /dev/sda10

EXT2/EXT3/EXT4 ഫയൽസിസ്റ്റംസ് ഡീബഗ് ചെയ്യുക

debugfs ഒരു ലളിതവും സംവേദനാത്മകവുമായ കമാൻഡ് ലൈൻ അടിസ്ഥാനമാക്കിയുള്ള ext2/ext3/ext4 ഫയൽസിസ്റ്റം ഡീബഗ്ഗറാണ്. ഫയൽസിസ്റ്റം പരാമീറ്ററുകൾ സംവേദനാത്മകമായി പരിഷ്കരിക്കാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു. ഉപ-കമാൻഡുകൾ അല്ലെങ്കിൽ അഭ്യർത്ഥനകൾ കാണുന്നതിന്, \?\ എന്ന് ടൈപ്പ് ചെയ്യുക.

$ sudo debugfs /dev/sda10

സ്ഥിരസ്ഥിതിയായി, ഫയൽസിസ്റ്റം റീഡ്-റൈറ്റ് മോഡിൽ തുറക്കണം, റീഡ്-റൈറ്റ് മോഡിൽ തുറക്കാൻ -w ഫ്ലാഗ് ഉപയോഗിക്കുക. അത് ദുരന്ത മോഡിൽ തുറക്കാൻ, -c ഓപ്ഷൻ ഉപയോഗിക്കുക.

debugfs 1.42.13 (17-May-2015)
debugfs:  ?
Available debugfs requests:

show_debugfs_params, params
                         Show debugfs parameters
open_filesys, open       Open a filesystem
close_filesys, close     Close the filesystem
freefrag, e2freefrag     Report free space fragmentation
feature, features        Set/print superblock features
dirty_filesys, dirty     Mark the filesystem as dirty
init_filesys             Initialize a filesystem (DESTROYS DATA)
show_super_stats, stats  Show superblock statistics
ncheck                   Do inode->name translation
icheck                   Do block->inode translation
change_root_directory, chroot
....

ഫ്രീ സ്പെയ്സ് ഫ്രാഗ്മെന്റേഷൻ കാണിക്കാൻ, ഫ്രീഫ്രാഗ് അഭ്യർത്ഥന ഉപയോഗിക്കുക.

debugfs: freefrag
Device: /dev/sda10
Blocksize: 4096 bytes
Total blocks: 86154752
Free blocks: 22387732 (26.0%)

Min. free extent: 4 KB 
Max. free extent: 2064256 KB
Avg. free extent: 2664 KB
Num. free extent: 33625

HISTOGRAM OF FREE EXTENT SIZES:
Extent Size Range :  Free extents   Free Blocks  Percent
    4K...    8K-  :          4883          4883    0.02%
    8K...   16K-  :          4029          9357    0.04%
   16K...   32K-  :          3172         15824    0.07%
   32K...   64K-  :          2523         27916    0.12%
   64K...  128K-  :          2041         45142    0.20%
  128K...  256K-  :          2088         95442    0.43%
  256K...  512K-  :          2462        218526    0.98%
  512K... 1024K-  :          3175        571055    2.55%
    1M...    2M-  :          4551       1609188    7.19%
    2M...    4M-  :          2870       1942177    8.68%
    4M...    8M-  :          1065       1448374    6.47%
    8M...   16M-  :           364        891633    3.98%
   16M...   32M-  :           194        984448    4.40%
   32M...   64M-  :            86        873181    3.90%
   64M...  128M-  :            77       1733629    7.74%
  128M...  256M-  :            11        490445    2.19%
  256M...  512M-  :            10        889448    3.97%
  512M... 1024M-  :             2        343904    1.54%
    1G...    2G-  :            22      10217801   45.64%
debugfs:  

നൽകിയിരിക്കുന്ന ഹ്രസ്വ വിവരണം വായിച്ചുകൊണ്ട് ഫയലുകളോ ഡയറക്uടറികളോ സൃഷ്uടിക്കുകയോ നീക്കം ചെയ്യുകയോ നിലവിലുള്ള വർക്കിംഗ് ഡയറക്uടറി മാറ്റുകയോ മറ്റ് പലതും പോലുള്ള മറ്റ് നിരവധി അഭ്യർത്ഥനകൾ നിങ്ങൾക്ക് പര്യവേക്ഷണം ചെയ്യാം. ഡീബഗ്ഫുകൾ ഉപേക്ഷിക്കാൻ, q അഭ്യർത്ഥന ഉപയോഗിക്കുക.

ഇപ്പോഴത്തേക്ക് ഇത്രമാത്രം! ചുവടെയുള്ള വ്യത്യസ്ത വിഭാഗങ്ങൾക്ക് കീഴിലുള്ള അനുബന്ധ ലേഖനങ്ങളുടെ ഒരു ശേഖരം ഞങ്ങളുടെ പക്കലുണ്ട്, അത് നിങ്ങൾക്ക് ഉപയോഗപ്രദമാകും.

  1. ലിനക്സിൽ ഡിസ്ക് സ്പേസ് പരിശോധിക്കാൻ 12 ഉപയോഗപ്രദമായ \df കമാൻഡുകൾ
  2. വ്യത്യസ്uത നിറങ്ങളിലുള്ള ഡിസ്uക് ഉപയോഗം പരിശോധിക്കുന്നതിനുള്ള Pydf ഒരു ബദൽ \df കമാൻഡ്
  3. ഫയലുകളുടെയും ഡയറക്ടറികളുടെയും ഡിസ്ക് ഉപയോഗം കണ്ടെത്തുന്നതിനുള്ള 10 ഉപയോഗപ്രദമായ du (ഡിസ്ക് ഉപയോഗം) കമാൻഡുകൾ

  1. 3 ഉപയോഗപ്രദമായ GUI, ടെർമിനൽ അടിസ്ഥാനമാക്കിയുള്ള Linux ഡിസ്ക് സ്കാനിംഗ് ടൂളുകൾ
  2. ലിനക്സിലെ ഹാർഡ് ഡിസ്കിൽ മോശം സെക്ടറുകളോ മോശം ബ്ലോക്കുകളോ എങ്ങനെ പരിശോധിക്കാം
  3. ലിനക്സ് സിസ്റ്റം പാർട്ടീഷനുകളും ഡയറക്uടറികളും എങ്ങനെ നന്നാക്കാം, ഡീഫ്രാഗ്uമെന്റ് ചെയ്യാം

ആരോഗ്യകരമായ ഒരു ഫയൽസിസ്റ്റം നിലനിർത്തുന്നത് എപ്പോഴും നിങ്ങളുടെ Linux സിസ്റ്റത്തിന്റെ മൊത്തത്തിലുള്ള പ്രകടനം മെച്ചപ്പെടുത്തുന്നു. പങ്കിടാൻ നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അധിക ചിന്തകളോ ഉണ്ടെങ്കിൽ ചുവടെയുള്ള അഭിപ്രായ ഫോം ഉപയോഗിക്കുക.