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
.
ດຽວນີ້ ໝົດ ແລ້ວ! ພວກເຮົາມີການລວບລວມບົດຄວາມທີ່ກ່ຽວຂ້ອງພາຍໃຕ້ປະເພດຕ່າງໆຢູ່ດ້ານລຸ່ມ, ເຊິ່ງທ່ານຈະເຫັນວ່າມີປະໂຫຍດ.
<
<
ການຮັກສາລະບົບແຟ້ມເອກະສານທີ່ມີສຸຂະພາບດີສະເຫມີປັບປຸງການເຮັດວຽກທັງ ໝົດ ຂອງລະບົບ Linux ຂອງທ່ານ. ຖ້າທ່ານມີ ຄຳ ຖາມຫຼືຄວາມຄິດເພີ່ມເຕີມທີ່ຈະແບ່ງປັນໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.