XFS Filesystem has duplicate UUID – can’t mount

Gerek müşterilerimiz gerekse kendimizin AWS üzerinde barındırdığımız sanal sunucularımızda klasik olarak RHEL 7 kullanıyoruz. Red Hat ve türevlerinin 7 sürümü ile birlikte default olarak gelmeye başlayan XFS dosya sistemi ile formatlanmış diskleri farklı sunuculara mount etmek istediğiniz zaman – ki böyle bir durum özellikle AWS için problematic sistemlerin ebs disklerini recovery amacı ile bir başka ec2 instance’ına bağlamak sureti ile cereyan eden bir durumdur – aşağıdaki mount hatası ile işlem başarısız olabilir:

mount: wrong fs type, bad option, bad superblock on /dev/xvdf2,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

Bu durumda detay almak için aşağıdaki komut ile

 journalctl -k

komutu ile kernel tarafından üretilen loglara baktığınızda sistem üzerindeki iki disk bölümünün aynı uuid’ye sahip olduğu gerekçesi ile mount işleminin yapılamadığını belirtir aşağıdaki hata mesajını görürsünüz:

[  789.411840] XFS (xvdf2): Filesystem has duplicate UUID 6785eb86-c596-4229-85fb-4d30c848c6e8 - can't mount

Bu durumda önünüzde iki seçenek bulunuyor.

Birincisi diski aşağıdaki örnekte olduğu gibi nouuid parametresi ile mount etmektir:

# mount -t xfs -o nouuid /dev/xvdf2 /disk2

Bu yöntem disk üzerinde herhangi bir değişiklik yapmadığı için özellikle ilgili diski ilgili sisteme geçici olarak mount edecekseniz ilk tercih edilebilecek yoldur.

İkinci opsiyon ise, ilgili disk için aşağıdaki komut ile yeni bir uuid üretip diski bu şekilde mount etmektir:

# xfs_admin -U generate /dev/xvdf2
# sudo mount /dev/xvdf2 /disk2/ -t xfs

Bu şekilde disk sorunsuz olarak mount edilecek ve erişilir duruma gelecektir.