Ana içeriğe atla

ext4 dosya sistemini nasil kurtarabilirim

ext4 dosya sistemi aktif olarak  kullanılırken, sistem aniden çuvalladığında(elektrik kesilmesi,  kernel modülü  aksaklığı vs. gibi nedenlerden) başımız ağrıyacağı kesindir. Özellikle binlerce dosyalar aktif olarak kullanılıloyrsa,  database sistemi aktif kullanılırken gittiyse başımız biraz dertte, 'Bad magic number in super-block' mesajını alıyoruz olabilir.

Böyle durumda hemen yapılmaması yapılmaması gereken tek şey, dosya sistemini fsck ile tamir etmeye kalkmaktır.


Mümkünse her hangi bir işlem yapmadan sorun yaşanan disk/lun'un  snapshot alarak, snopshot tan clone türetmek çok doğru bir hareket olur.

Bir şekilde snapshot/clone aldıysak  sistemdeki yedek superblockları belirleyerek, yedek superblocklardan sistemi check etmeye başlarız. 

Şayet dosya sistemini formatlarken  aşağıdaki, mkfs de bize superblockların yerini söylediği mesajı sakladıysak, aşağıdaki ile mevcut durumuda tekrar kontrol etmek faydalı olur.

Filesystem UUID: 08257eda-3f3f-4380-96e1-13e092f9cfa0
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000


Dosyasisteminin bulunduğu disk bölümü sdc1 ise;

dumpe2fs /dev/sdc1 | grep 'Backup superblock'

[root@adminlinux ~]#  dumpe2fs /dev/sdc1 |grep 'Backup superblock'
dumpe2fs 1.45.6 (20-Mar-2020)
  Backup superblock at 32768, Group descriptors at 32769-32771
  Backup superblock at 98304, Group descriptors at 98305-98307
  Backup superblock at 163840, Group descriptors at 163841-163843
  Backup superblock at 229376, Group descriptors at 229377-229379
  Backup superblock at 294912, Group descriptors at 294913-294915
  Backup superblock at 819200, Group descriptors at 819201-819203
  Backup superblock at 884736, Group descriptors at 884737-884739
  Backup superblock at 1605632, Group descriptors at 1605633-1605635
  Backup superblock at 2654208, Group descriptors at 2654209-2654211
  Backup superblock at 4096000, Group descriptors at 4096001-4096003
[root@adminlinux ~]#


Bu aşamadan sonra e2fsck   ve yedek superblockla dosya sistemini kontrol ettiririz.


# e2fsck -n /dev/sdc1 -b 32768

# echo $?


Sayet kontrolumuz hatasiz tamamlaniyorsa, 

# e2fsck  /dev/sdc1 -b 32768

komutuyla dosya sistemini tamir ettiririz.,

 

 Yukarıdaki gibi kurtarma işlemleri yapılsada, dosya sistemi ve  uygulama yedeği alınmasını ihmal etmemeliyiz.


Database uygulamalarının yedeğini, database çalışırken dosyalarını kopyalayarak yapamayız. Database çalışırken aldığımız yedekler yedek değildir. Büyük ihtimal ihtiyaç olduğunda geridönülmesi çok zor veya imkansız dosyalar  olarak arşivde dururlar.



Yorumlar

Bu blogdaki popüler yayınlar

ttnet tilgin hg1332 modem(router) kablosuz özelliğini güçlendirmek

Bu gün ttnetin hediyesi olan tilgin yönlendiriciyle biraz oynayayım dedim Matkap, ve rg316-rp-sma kablo alıp cihazın kapağını tekrar açtım. Matkapla usb çıkışın yanına bir delik açarak kaployu taktım. Sonra elimdeki antenlerden ikiti tanesini takıp test ettim. . Bu iki antenin, gözle farkedilir derecede sinyalleri kuvvetlendirdiğini fark ettim.. Normalde bu cihaz ile evin iki en uc noktaları arasında haberleşme olmaz iken şimdi en kör iki uç arasında sorun olmadan kablosuz kullanılabildiğini gördüm. Arada 4 tane kuvvetli beton duvar mevcut. Deneme bitti, tilgin rafa kalktı yine. Her nekadar ben bu cihazı kaldırsamda, kullanmak zorunda olan arkadaşlar, bir kablo ve ikitane anten takarak her herde kullanabilirler. İyi eğlenceler.

yerel ssl ca sertifikasını güvenli sertifika olarak kabul etmek. (özet tekrar)

  openssl s_client  -connect akyuz.tech:443 -showcerts > /tmp/akyuz.tech.cacrt keytool -import -alias akyuz.tech  -keystore  /etc/pki/ca-trust/extracted/java/cacerts -file /tmp/akyuz.tech.cacrt /etc/pki/ca-trust/extracted/java/cacerts dosyası varsayılan java için varsayılan ca cert dosyasıdır.   cp -iv /tmp/akyuz.tech.cacrt /etc/pki/ca-trust/source/anchors/ update-ca-trust     DOMAIN=akyuz.tech openssl s_client -showcerts -connect ${DOMAIN}:443 </dev/null | sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p' > ${DOMAIN}.cert