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
Yorum Gönder