Belge

Linux’ta EXT4 Dosya Sistemi Nasıl Kontrol Edilir ve Onarılır

fsck (Dosya Sistemi Tutarlılık Kontrolü anlamına gelir), bir veya daha fazla Linux dosya sistemini kontrol etmek ve onarmak için kullanılır.

Bu denetim, bir dosya sistemi tutarsızlığı algılandığında önyükleme sırasında otomatik olarak çalışır. Ayrıca, gerektiğinde manuel olarak da çalıştırılabilir.

Sistem önyüklenemediğinde veya bir bölüm bağlanamadığında ya da salt okunur hale geldiğinde bozuk dosya sistemlerini onarmak için fsck komutunu kullanabilirsiniz.

Bu yazıda bozuk bir dosya sistemini onarmak için Linux’ta ‘fsck’ veya ‘e2fsck’ komutunun nasıl kullanılacağını göreceğiz.

Aklınızda olsun:

  • Dosya sisteminde herhangi bir veri bozulmasını önlemek için fsck’yi bağlantısız bir dosya sisteminde yürütün.
  • Daha büyük dosya sistemlerinde, sistem hızına ve disk boyutlarına bağlı olarak fsck’nin çalışması uzun sürebilir.

Dosya sistemi kontrolü tamamlandığında, fsck aşağıdaki çıkış kodlarından birini döndürür:

Çıkış KoduTanım
0No errors
1Filesystem errors corrected
2System should be rebooted
4Filesystem errors left uncorrected
8Operational error
16Usage or syntax error
32Checking canceled by user request
128Shared-library error

Ortak Sözdizimi:

fsck [option] [device or partition or mount point]

EXT4 Dosya Sistemini Bozmak

Aşağıdaki komutu yürüterek EXT4 dosya sistemini kasıtlı olarak bozacağız. Rastgele seçilmiş dosya sistemi meta veri bloklarını çöpe atar.

Not Edin: Lütfen bunu Üretim sunucusunda test etmeyin, çünkü bu, verilerinize büyük ölçüde zarar verebilir.

sudo umount /data

ext4 dosya sisteminin bozulması örneği

sudo dd if=/dev/zero of=/dev/sdb1 bs=10000 skip=0 count=1

1+0 records in
1+0 records out
10000 bytes (10 kB, 9.8 KiB) copied, 0.00394663 s, 2.5 MB/s

Dosya sistemini yüklemeye çalıştığınızda bozuk olduğu için aşağıdaki hata mesajını göreceksiniz.

sudo mount /data

mount: /data: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.
Repairing EXT4 Filesystem in Linux

Bozuk EXT4 ve EXT3 Dosya Sistemini Onarın

Çalışan bir Linux sisteminde kök olmayan bozuk bir ext3 veya ext4 dosya sistemini onarabilirsiniz. fsck, fsck.ext3 ve fsck.ext4 komutları için bir şemsiye olarak çalışır.

Not edin: Kök olmayan birimin bir kısmını bir sorun nedeniyle ayıramıyorsanız, sistemi onarmak için tek kullanıcı modunda veya kurtarma modunda önyükleyin.

Aşama 1: fsck’i çalıştırmak istediğiniz aygıtın bağlantısını kesin.

sudo umount /dev/sdb1

Aşama 2: Dosya sistemini onarmak için fsck’i çalıştırın:

sudo fsck.ext4 -p /dev/sdb1
  • -p : Kullanıcı müdahalesi olmadan güvenli bir şekilde düzeltilebilecek sorunları otomatik olarak onarın.

Yukarıdaki seçenek sorunu çözmezse fsck komutunu aşağıdaki biçimde çalıştırın.

sudo fsck.ext4 -fvy /dev/sdb1

e2fsck 1.45.6 (20-Mar-2020)
ext2fs_open2: Bad magic number in super-block
fsck.ext4: Superblock invalid, trying backup blocks...
Resize inode not valid.  Recreate? yes

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  -65536 -65538 -(65541--65542) -(65546--65547) -(65549--65550) -(65555--65557)
.
.
Fix? yes

Free inodes count wrong for group #0 (8181, counted=8165).
Fix? yes

Free inodes count wrong (327669, counted=327653).
Fix? yes

Padding at end of inode bitmap is not set. Fix? yes


/dev/sdb1: ***** FILE SYSTEM WAS MODIFIED *****

          27 inodes used (0.01%, out of 327680)
           0 non-contiguous files (0.0%)
           0 non-contiguous directories (0.0%)
             # of inodes with ind/dind/tind blocks: 0/0/0
             Extent depth histogram: 19
       43294 blocks used (3.30%, out of 1310464)
           0 bad blocks
           0 large files

          16 regular files
           2 directories
           0 character device files
           0 block device files
           0 fifos
           0 links
           0 symbolic links (0 fast symbolic links)
           0 sockets
------------
          18 files

Aşama 3: Dosya sistemi onarıldıktan sonra bölümü bağlayın.

sudo mount /dev/sdb1

2) fsck ile LVM Hacmini Onarma

fsck, standart bölümlerdeki dosya sistemleri gibi LVM mantıksal birimlerinde çalıştırılabilir. Bir LVM bölümünü onarmak için aşağıdaki prosedürü izleyin:

Aşama 1: fsck’yi çalıştırmak için belirli LVM biriminin etkin durumda olduğundan emin olun. LVM’nin durumunu kontrol etmek için şunu çalıştırın:

sudo lvscan

  inactive          '/dev/myvg/vol01' [1.00 GiB] inherit
  ACTIVE            '/dev/rhel/swap' [2.07 GiB] inherit
  ACTIVE            '/dev/rhel/root' [<26.93 GiB] inherit

‘inactive’ ise, aşağıdaki komutu çalıştırarak etkinleştirin.

sudo lvchange -ay /dev/myvg/vol01 -v

  Activating logical volume myvg/vol01.
  activation/volume_list configuration setting not defined: Checking only host tags for myvg/vol01.
  Creating myvg-vol01
  Loading table for myvg-vol01 (253:2).
  Resuming myvg-vol01 (253:2).

Aşama 2: fsck’i çalıştırmak istediğiniz aygıtın veya dosya sisteminin bağlantısını kesin.

sudo umount /dev/myvg/vol01

Aşama 3: Dosya sistemini onarmak için fsck’yi çalıştırın. Gerçek bir fiziksel bölümü değil, fsck’yi çalıştırmak için LVM biriminin yolunu girmelisiniz.

sudo fsck.ext4 -fvy /dev/myvg/vol01

e2fsck 1.45.6 (20-Mar-2020)
/dev/myvg/vol01: clean, 24/65536 files, 14094/262144 blocks
  • -f : Dosya sistemi temiz görünse bile zorla kontrol edin.
  • -y : Tüm sorulara ‘evet’ yanıtı verin; e2fsck’in etkileşimsiz olarak kullanılmasına izin verir.
  • -v : Verbose mode

Step-4: Dosya sistemi onarıldıktan sonra bölümü bağlayın.

sudo mount /apps

Yazının orijinalini buradan okuyabilirsiniz.