4 ເຄື່ອງມືໃນການຈັດການ EXT2, EXT3 ແລະ EXT4 Health ໃນ Linux


ລະບົບແຟ້ມເອກະສານແມ່ນໂຄງສ້າງຂໍ້ມູນທີ່ຊ່ວຍໃນການຄວບຄຸມວິທີການເກັບຮັກສາແລະເກັບ ກຳ ຂໍ້ມູນໃນລະບົບຄອມພິວເຕີ. ລະບົບແຟ້ມເອກະສານຍັງສາມາດຖືວ່າເປັນການແບ່ງປັນທາງກາຍ (ຫຼືຂະຫຍາຍ) ໃນແຜ່ນ. ຖ້າບໍ່ໄດ້ຮັບການຮັກສາແລະກວດກາຢ່າງເປັນປົກກະຕິ, ມັນອາດຈະກາຍເປັນຄວາມເສຍຫາຍຫຼືເສື່ອມໂຊມໃນໄລຍະຍາວ, ໃນຫລາຍໆດ້ານ.

ມີຫລາຍປັດໃຈທີ່ສາມາດເຮັດໃຫ້ລະບົບແຟ້ມເອກະສານບໍ່ດີ: ອຸປະຕິເຫດຂອງລະບົບ, ອຸປະກອນທີ່ບໍ່ຖືກຕ້ອງຂອງຊອບແວ, ການຂັບຂີ່ແລະໂປຣແກຣມທີ່ບໍ່ຖືກຕ້ອງ, ການດັດແປງມັນບໍ່ຖືກຕ້ອງ, ການໂຫຼດມັນດ້ວຍຂໍ້ມູນຫຼາຍເກີນໄປບວກກັບຄວາມຜິດພາດເລັກໆນ້ອຍໆ.

ບັນຫາໃດ ໜຶ່ງ ທີ່ກ່າວມານີ້ສາມາດເຮັດໃຫ້ Linux ບໍ່ສາມາດຕິດຕັ້ງລະບົບແຟ້ມ (ຫຼືຖອດຍອດ) ລະບົບແຟ້ມເອກະສານໄດ້ຢ່າງສົມບູນຈຶ່ງເຮັດໃຫ້ເກີດຄວາມລົ້ມເຫຼວຂອງລະບົບ.

ນອກຈາກນັ້ນ, ການເຮັດວຽກຂອງລະບົບຂອງທ່ານດ້ວຍລະບົບແຟ້ມຂໍ້ມູນທີ່ມີຂໍ້ບົກພ່ອງອາດເຮັດໃຫ້ເກີດຄວາມຜິດພາດອື່ນໆໃນສ່ວນປະກອບຂອງລະບົບປະຕິບັດການຫຼືໃນການໃຊ້ງານຂອງຜູ້ໃຊ້, ເຊິ່ງມັນອາດຈະເຮັດໃຫ້ການສູນເສຍຂໍ້ມູນຮຸນແຮງຂື້ນ. ເພື່ອຫລີກລ້ຽງບັນຫາການສໍ້ລາດບັງຫຼວງຂອງລະບົບໄຟລ໌ຫຼືຄວາມເສຍຫາຍ, ທ່ານ ຈຳ ເປັນຕ້ອງໄດ້ຕິດຕາມເບິ່ງສຸຂະພາບຂອງມັນ.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະປົກຄຸມເຄື່ອງມືເພື່ອຕິດຕາມແລະຮັກສາສຸຂະພາບຂອງລະບົບແຟ້ມ ext2, ext3 ແລະ ext4. ເຄື່ອງມືທັງ ໝົດ ທີ່ໄດ້ອະທິບາຍຢູ່ນີ້ຮຽກຮ້ອງສິດທິພິເສດຂອງຜູ້ໃຊ້ຮາກ, ສະນັ້ນໃຊ້ ຄຳ ສັ່ງ sudo ເພື່ອ ດຳ ເນີນການພວກມັນ.

ວິທີເບິ່ງຂໍ້ມູນກ່ຽວກັບລະບົບໄຟລ໌ EXT2/EXT3/EXT4

dumpe2fs ແມ່ນເຄື່ອງມືເສັ້ນ ຄຳ ສັ່ງທີ່ໃຊ້ໃນການຖິ້ມຂໍ້ມູນກ່ຽວກັບລະບົບໄຟລ໌ ext2/ext3/ext4, ໝາຍ ຄວາມວ່າມັນສະແດງຂໍ້ມູນ super ແລະຕັນກຸ່ມຂໍ້ມູນ ສຳ ລັບລະບົບແຟ້ມໃນອຸປະກອນ.

ກ່ອນທີ່ຈະໃຊ້ 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

ທ່ານສາມາດຜ່ານທຸງ -b ເພື່ອສະແດງບັນດາທ່ອນໄມ້ທີ່ສະຫງວນໄວ້ທີ່ບໍ່ດີໃນລະບົບແຟ້ມເອກະສານ (ບໍ່ມີຜົນຜະລິດ ໝາຍ ເຖິງ badblocks):

$ dumpe2fs -b

ກວດສອບລະບົບແຟ້ມເອກະສານ EXT2/EXT3/EXT4 ສຳ ລັບຂໍ້ຜິດພາດ

e2fsck ຖືກໃຊ້ເພື່ອກວດກາລະບົບແຟ້ມເອກະສານ ext2/ext3/ext4 ສຳ ລັບຂໍ້ຜິດພາດແລະການກວດສອບ fsck ແລະສາມາດສ້ອມແປງລະບົບແຟ້ມ Linux ແບບເປັນທາງເລືອກ; ໂດຍພື້ນຖານແລ້ວມັນແມ່ນພື້ນຖານທາງ ໜ້າ ສຳ ລັບລະບົບກວດກາລະບົບໄຟລ໌ຕ່າງໆ (fsck.fstype ຕົວຢ່າງ fsck.ext3, fsck.sfx ແລະອື່ນໆ) ທີ່ ນຳ ສະ ເໜີ ພາຍໃຕ້ Linux

ຈື່ໄວ້ວ່າ Linux ໃຊ້ e2fack/fsck ໂດຍອັດຕະໂນມັດໃນລະບົບ boot system ໃນສ່ວນທີ່ຖືກຕິດສະຫຼາກ ສຳ ລັບກວດສອບເອກະສານການຕັ້ງຄ່າ/etc/fstab. ນີ້ແມ່ນ ທຳ ມະດາແລ້ວຫຼັງຈາກທີ່ລະບົບແຟ້ມເອກະສານບໍ່ໄດ້ຖືກຖອດລະຫັດຢ່າງສະອາດ.

ເອົາໃຈໃສ່: ຢ່າແລ່ນ e2fsck ຫຼື fsck ໃນລະບົບແຟ້ມເອກະສານທີ່ຕິດຕັ້ງ, ສະເຫມີຖີ້ມການແບ່ງປັນ ທຳ ອິດກ່ອນທີ່ທ່ານຈະສາມາດ ດຳ ເນີນເຄື່ອງມືເຫລົ່ານີ້ໃສ່ມັນ, ດັ່ງຮູບຂ້າງລຸ່ມນີ້.

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

ອີກທາງເລືອກ ໜຶ່ງ, ຊ່ວຍໃຫ້ຜະລິດຕະພັນ verbose ກັບປຸ່ມ -V ປ່ຽນແລະໃຊ້ -t ເພື່ອລະບຸລະບົບແຟ້ມເອກະສານດັ່ງນີ້:

$ sudo fsck -Vt ext4 /dev/sda10

ການປັບລະບົບລະບົບແຟ້ມ EXT2/EXT3/EXT4

ພວກເຮົາໄດ້ກ່າວເຖິງໃນຕອນເລີ່ມຕົ້ນວ່າ ໜຶ່ງ ໃນສາເຫດຂອງຄວາມເສຍຫາຍຂອງລະບົບໄຟລ໌ແມ່ນການດັດແປງທີ່ບໍ່ຖືກຕ້ອງ. ທ່ານສາມາດໃຊ້ປະໂຫຍດຂອງ tune2fs ເພື່ອປ່ຽນແປງພາລາມິເຕີທີ່ສາມາດປັບປ່ຽນໄດ້ຂອງລະບົບແຟ້ມເອກະສານ ext2/ext3/ext4 ດັ່ງທີ່ໄດ້ອະທິບາຍຂ້າງລຸ່ມນີ້.

ເພື່ອເບິ່ງເນື້ອໃນຂອງລະບົບແຟ້ມເອກະສານ, ລວມທັງຄ່າປັດຈຸບັນຂອງຕົວ ກຳ ນົດການ, ໃຫ້ໃຊ້ຕົວເລືອກ -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 , ທ່ານສາມາດ ກຳ ນົດ ຈຳ ນວນ mount ຫຼັງຈາກນັ້ນລະບົບໄຟລ໌ຈະຖືກກວດສອບໂດຍ e2fsck. ຄຳ ສັ່ງນີ້ແນະ ນຳ ໃຫ້ລະບົບເຮັດ e2fsck ຕ້ານ /dev/sda10 ຫຼັງຈາກທຸກໆ 4 mount.

$ 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 . ຕົວເລືອກນີ້ຍັງມີຕົວເລືອກຍ່ອຍ: ຂະ ໜາດ = ວາລະສານຂະ ໜາດ (ກຳ ນົດຂະ ໜາດ ຂອງວາລະສານ), ອຸປະກອນ = ວາລະສານພາຍນອກ (ລະບຸອຸປະກອນທີ່ມັນເກັບໄວ້) ແລະສະຖານທີ່ = ວາລະສານ - ສະຖານທີ່ (ກຳ ນົດສະຖານທີ່ຂອງວາລະສານ).

ໃຫ້ສັງເກດວ່າມີພຽງແຕ່ ໜຶ່ງ ຂະ ໜາດ ຫລືຕົວເລືອກອຸປະກອນທີ່ສາມາດຕັ້ງຄ່າ ສຳ ລັບລະບົບແຟ້ມເອກະສານ:

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

ສຸດທ້າຍ, ປ້າຍຊື່ບໍລິມາດຂອງລະບົບແຟ້ມຂໍ້ມູນສາມາດຖືກຕັ້ງຄ່າໂດຍໃຊ້ຕົວເລືອກ <ລະຫັດຜ່ານ -L ດັ່ງລຸ່ມນີ້.

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

ລະບົບລະບົບແຟ້ມ EXT2/EXT3/EXT4

debugfs ແມ່ນເສັ້ນ ຄຳ ສັ່ງທີ່ມີການໂຕ້ຕອບແບບງ່າຍດາຍ, ແບບໂຕ້ຕອບໂດຍອີງໃສ່ລະບົບ deb2/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
....

ເພື່ອສະແດງການແບ່ງແຍກພື້ນທີ່ຫວ່າງໃຫ້ໃຊ້ ຄຳ ຮ້ອງຂໍ freefrag, ເຊັ່ນດຽວກັນ.

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:  

ທ່ານສາມາດຄົ້ນຫາ ຄຳ ຮ້ອງຂໍອື່ນໆ ຈຳ ນວນຫຼາຍເຊັ່ນການສ້າງຫລື ກຳ ຈັດໄຟລ໌ຫລືໄດເລກະທໍລີ, ການປ່ຽນແປງໄດເລກະທໍລີເຮັດວຽກໃນປະຈຸບັນແລະອື່ນໆອີກຫຼາຍຢ່າງ, ໂດຍພຽງແຕ່ອ່ານ ຄຳ ອະທິບາຍສັ້ນໆທີ່ຂຽນໄວ້. ເພື່ອອອກຈາກ debugfs, ໃຊ້ ຄຳ ຮ້ອງຂໍ q .

ດຽວນີ້ ໝົດ ແລ້ວ! ພວກເຮົາມີການລວບລວມບົດຄວາມທີ່ກ່ຽວຂ້ອງພາຍໃຕ້ປະເພດຕ່າງໆຢູ່ດ້ານລຸ່ມ, ເຊິ່ງທ່ານຈະເຫັນວ່າມີປະໂຫຍດ.

<

  • 12 ຄຳ ສັ່ງ“ df” ທີ່ມີປະໂຫຍດໃນການກວດສອບ Disk Space ໃນ Linux
  • Pydf ຄຳ ສັ່ງ“ df” ທີ່ເປັນທາງເລືອກເພື່ອກວດສອບການ ນຳ ໃຊ້ແຜ່ນໃນສີຕ່າງໆ
  • 10 ຄຳ ສັ່ງທີ່ມີປະໂຫຍດ du (Disk Usage) ເພື່ອຊອກຫາການ ນຳ ໃຊ້ແຟ້ມແລະໄດເລກະທໍລີ Disk
  • <

  • 3 GUI ທີ່ມີປະໂຫຍດແລະເຄື່ອງມືການສະແກນ Disk Linux ທີ່ຕັ້ງຢູ່ປາຍຍອດ
  • ວິທີການກວດສອບຂະ ແໜງ ການທີ່ບໍ່ດີຫຼືທ່ອນໄມ້ທີ່ບໍ່ດີໃນ Hard Disk ໃນ Linux
  • ວິທີການສ້ອມແປງແລະການ ທຳ ລາຍລະບົບແລະລະບົບ Linux ແບບ Defragment
  • ການຮັກສາລະບົບແຟ້ມເອກະສານທີ່ມີສຸຂະພາບດີສະເຫມີປັບປຸງການເຮັດວຽກທັງ ໝົດ ຂອງລະບົບ Linux ຂອງທ່ານ. ຖ້າທ່ານມີ ຄຳ ຖາມຫຼືຄວາມຄິດເພີ່ມເຕີມທີ່ຈະແບ່ງປັນໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.