Linux'ta EXT2, EXT3 ve EXT4 Sağlığını Yönetmek için 4 Araç


Dosya sistemi, verilerin bir bilgisayar sisteminde nasıl depolandığını ve alındığını kontrol etmeye yardımcı olan bir veri yapısıdır. Bir dosya sistemi aynı zamanda diskteki fiziksel (veya genişletilmiş) bir bölüm olarak da düşünülebilir. Bakımı iyi yapılmaz ve düzenli olarak izlenmezse, uzun vadede pek çok farklı şekilde hasar görebilir veya bozulabilir.

Bir dosya sisteminin sağlıksız hale gelmesine neden olabilecek çeşitli faktörler vardır: sistem çökmeleri, donanım veya yazılım arızaları, hatalı sürücüler ve programlar, yanlış ayarlama, aşırı veriyle aşırı yükleme ve diğer küçük aksaklıklar.

Bu sorunlardan herhangi biri, Linux'un bir dosya sistemini düzgün bir şekilde bağlamamasına (veya bağlantısını kesmemesine) ve dolayısıyla sistem arızasına neden olabilir.

Ayrıca Okuyun: Linux'ta Dosya Sistemi Türünü Belirlemenin 7 Yolu (Ext2, Ext3 veya Ext4)

Ayrıca, sisteminizin bozuk bir dosya sistemiyle çalıştırılması, işletim sistemi bileşenlerinde veya kullanıcı uygulamalarında ciddi veri kaybına neden olabilecek diğer çalışma zamanı hatalarına neden olabilir. Dosya sisteminin bozulmasına veya hasar görmesine engel olmak için, sağlığına dikkat etmeniz gerekir.

Bu makalede ext2, ext3 ve ext4 dosya sistemlerinin sağlığını izlemeye ve korumaya yönelik araçları ele alacağız. Burada açıklanan tüm araçlar root kullanıcı ayrıcalıkları gerektirir, bu nedenle bunları çalıştırmak için sudo komutunu kullanın.

EXT2/EXT3/EXT4 Dosya Sistemi Bilgilerini Görüntüleme

dumpe2fs, ext2/ext3/ext4 dosya sistemi bilgilerini boşaltmak için kullanılan bir komut satırı aracıdır, yani cihazdaki dosya sistemi için süper blok ve blok grubu bilgilerini görüntüler.

dumpe2fs'yi çalıştırmadan önce, dosya sistemi aygıt adlarını öğrenmek için df -hT komutunu çalıştırdığınızdan emin olun.

sudo dumpe2fs /dev/sda10
Örnek Çıktı
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

Dosya sisteminde hatalı olarak ayrılmış tüm blokları görüntülemek için -b bayrağını iletebilirsiniz (çıktı, hatalı blokları ima etmez):

dumpe2fs -b

EXT2/EXT3/EXT4 Dosya Sistemlerini Hatalar İçin Kontrol Etme

e2fsck, ext2/ext3/ext4 dosya sistemlerini hatalara karşı incelemek ve fsck kontrolleri yapmak için kullanılır ve isteğe bağlı olarak bir Linux dosya sistemini onarabilir; temel olarak sunulan bir dizi dosya sistemi denetleyicisi için bir ön uçtur (fsck.fstype örneğin fsck.ext3, fsck.sfx vb.) Linux altında.

Linux'un, /etc/fstab yapılandırma dosyasını kontrol etmek için etiketlenmiş bölümlerde sistem önyüklemesinde e2fack/fsck'i otomatik olarak çalıştırdığını unutmayın. Bu normalde bir dosya sisteminin bağlantısı temiz bir şekilde kaldırılmadıktan sonra yapılır.

Dikkat: Takılı dosya sistemlerinde e2fsck veya fsck'i çalıştırmayın; çalıştırmadan önce her zaman bir bölümün bağlantısını kesin. Bu araçlar aşağıda gösterildiği gibi üzerindedir.

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

Alternatif olarak, ayrıntılı çıktıyı -V anahtarıyla etkinleştirin ve şunun gibi bir dosya sistemi türü belirtmek için -t'yi kullanın:

sudo fsck -Vt ext4 /dev/sda10

EXT2/EXT3/EXT4 Dosya Sistemlerini Ayarlama

Dosya sistemindeki hasarların sebeplerinden birinin yanlış ayar olduğunu daha baştan belirtmiştik. Aşağıda açıklandığı gibi ext2/ext3/ext4 dosya sistemlerinin ayarlanabilir parametrelerini değiştirmek için tune2fs yardımcı programını kullanabilirsiniz.

Parametrelerin geçerli değerleri de dahil olmak üzere dosya sistemi süper bloğunun içeriğini görmek için gösterildiği gibi -l seçeneğini kullanın.

sudo tune2fs -l /dev/sda10
Örnek Çıktı
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

Daha sonra -c işaretini kullanarak dosya sisteminin e2fsck tarafından kontrol edileceği bağlama sayısını ayarlayabilirsiniz. Bu komut, sisteme her 4 bağlamadan sonra e2fsck'i /dev/sda10'a karşı çalıştırma talimatını verir.

sudo tune2fs -c 4 /dev/sda10

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

-i seçeneğiyle iki dosya sistemi kontrolü arasındaki süreyi de tanımlayabilirsiniz. Aşağıdaki komut, dosya sistemi kontrolleri arasında 2 günlük bir aralık belirler.

sudo tune2fs  -i  2d  /dev/sda10

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

Şimdi bu komutu aşağıda çalıştırırsanız, /dev/sda10 için dosya sistemi kontrol aralığı artık ayarlanmıştır.

sudo tune2fs -l /dev/sda10
Örnek Çıktı
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

Varsayılan günlük kaydı parametrelerini değiştirmek için -J seçeneğini kullanın. Bu seçeneğin ayrıca alt seçenekleri de vardır: size=journal-size (günlüğün boyutunu ayarlar), device=external-journal (depolandığı cihazı belirtir) ve < Strong>location=journal-location (günlüğün konumunu tanımlar).

Bir dosya sistemi için boyut veya aygıt seçeneklerinden yalnızca birinin ayarlanabileceğini unutmayın:

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

Son olarak, bir dosya sisteminin birim etiketi aşağıdaki gibi -L seçeneği kullanılarak ayarlanabilir.

sudo tune2fs -L "ROOT" /dev/sda10

EXT2/EXT3/EXT4 Dosya Sistemlerinde Hata Ayıklama

debugfs basit, etkileşimli bir komut satırı tabanlı ext2/ext3/ext4 dosya sistemi hata ayıklayıcısıdır. Dosya sistemi parametrelerini etkileşimli olarak değiştirmenize olanak tanır. Alt komutları veya istekleri görüntülemek için "?" yazın.

sudo debugfs /dev/sda10

Varsayılan olarak dosya sistemi okuma-yazma modunda açılmalıdır; okuma-yazma modunda açmak için -w bayrağını kullanın. Felaket modunda açmak için -c seçeneğini kullanın.

Örnek Çıktı
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
....

Boş alan parçalanmasını göstermek için freefrag isteğini bu şekilde kullanın.

debugfs: freefrag
Örnek Çıktı
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:  

Verilen kısa açıklamayı okuyarak dosya veya dizin oluşturma veya kaldırma, mevcut çalışma dizinini değiştirme ve çok daha fazlası gibi diğer birçok isteği keşfedebilirsiniz. Hata ayıklamalardan çıkmak için q isteğini kullanın.

Şimdilik bu kadar! Aşağıda farklı kategoriler altında faydalı bulacağınız ilgili makalelerden oluşan bir koleksiyonumuz var.

Dosya Sistemi Kullanım Bilgileri:

  1. Linux'ta Disk Alanını Kontrol Etmek İçin 12 Faydalı “df” Komutu
  2. Farklı Renklerde Disk Kullanımını Kontrol Etmek İçin Alternatif Bir “df” Komutu Pydf
  3. Dosya ve Dizinlerin Disk Kullanımını Bulmak İçin 10 Faydalı du (Disk Kullanımı) Komutu

Disk veya Bölüm Sağlığını Kontrol Edin:

  1. 3 Faydalı GUI ve Terminal Tabanlı Linux Disk Tarama Aracı
  2. Linux'ta Sabit Diskteki Bozuk Sektörler veya Bozuk Bloklar Nasıl Kontrol Edilir
  3. Linux Sistem Bölümleri ve Dizinleri Nasıl Onarılır ve Birleştirilir

Sağlıklı bir dosya sistemini korumak her zaman Linux sisteminizin genel performansını artırır. Paylaşmak istediğiniz sorularınız veya ek düşünceleriniz varsa aşağıdaki yorum formunu kullanın.