Yedekleme yazılımımızı BrightStore'dan Symantec BackupExec 12.5'a geçirdiğimizden bu yana enteresan sorunlarla karşılaşıyoruz. Geniş bir platform ve farklı sistemlerin olduğu bir ortamda böyle bir değişikliğin sancısız olmayacağının farkındaydık ama bu kadar da enteresan şeyler göreceğimizi açıkçası pek sanmıyordum.
Anlatmaya çalıştığım sorunumuz şu : Solaris 10 U7 sunucularda BackupExec agent'ını yükleyerek çalıştırdıktan sonra BE'nin yönetim konsolunda normal olarak sunucuyu görmemiz gerekir. Ancak farklı yöntemler denememize rağmen bir türlü sunucuyu BE'ye tanıtmayı başaramadık.
Agent'ın debug modunu açtığımızda da hep aynı mesajı alıyorduk ;
NrdsAdvertiserThread: EnumSelfDLE for file system 22 returned -1(0xFFFFFFFF) and 0 DLEs
Symantec'le yaptığımız yazışmalar ve açılan "case" sonucunda bize, ipe sapa gelmeyen aşağıdaki açıklamayı gönderdiler.
http://seer.entsupport.symantec.com/docs/316840.htm
Özetle, Solaris'teki NIC cihaz adının ortasında (başı ve sonu değil) rakam bulunuyorsa BE 12.5 sunucusu bu agentı tanımıyor, agent kendisini BE'ye tanıtamıyor gibi garip bir durum vardı. (Ör : e1000g0 çalışmıyor, fge0 çalışıyor).
Tabi bu durumu önceleri biraz gülerek ama zaman ilerledikçe ve işler aksadıkça kızarak ve sonrasında da ciddi öfke patlamaları şeklinde karşılamaya başladık. İşin kötü yanı , NIC device name'ler henüz Solaris 10'da değiştirilemiyor. Ortamımızda tüm Solaris sunucuları Vmware ESX 3.5 üzerinde çalışıyor ve ESX hostlarda yalnızca e1000g sürücüsünü kullanan Ethernet kartları tanımlı. Dolayısıyla kartları değiştirerek de "device name"leri değiştirme imkanımız yok.
Cihaz ismini değiştirme seçeneği yalnızca Open Solaris 'de dladm rename-link komutu ile desteklenmekte.
http://www.sun.com/bigadmin/sundocs/articles/vnamingsol.jsp
http://www.opensolaris.org/os/project/clearview/docs/vnameoverview.pdf
Ama en sonunda biraz (itiraf ediyorum birazdan daha fazla :) ) kastırınca ve Sun Microsystems Türkiye'den de küçük bir destek alarak sorunumuzu çözdük.
Yaptığımız işlem basitçe Solaris ve BE'yi kandırmak. Mevcut ismi değiştiremeyince biz de içinde tek NIC'in bulunduğu bir Link aggregation yaratarak BE'nin muhatap olduğu NIC'in seveceği türden (!) bir isminin olmasını sağladık. Aşağıda bu işlemi nasıl yaptığımızı gösteren komutlar bulunuyor.
# ifconfig e1000g0 down unplumb (bu komutu kullanmadan dladm çalıştırılırsa 'cihaz kullanılıyor' hatası veriyor)
# dladm create-aggr -d e1000g0 1
# ifconfig aggr1 plumb up
# mv /etc/hostname.e1000g0 /etc/hostname.aggr1
Not : Sun Microsystems Türkiye'den Serkan Berk'e yardımları için bu vesileyle teşekkür ediyoruz.