Salı, Haziran 08, 2010

Windows 2008 R2 server üzerine Exchange 2007 yönetim konsolu yüklenmesi

Windows 2008 R2 sunucu işletim sistemi üzerine Exchange Server 2007 yönetim konsolunu yüklemeyi deneyen olduysa sinir bozucu 


"Failed to initialize the log file: Access to the path :ExchangeSetupLogs\ExchangeSetup.log' is denied.
Setup will not continue."

hatasıyla karşılaşmıştır mutlaka. Bu hatadan kurtulmak için sunucuda UAC denetimini kapatmanız yeterli oluyor.

BackupExec 2010 : An internal error (1627652097) occurred in object -1

Windows 2008 R2 işletim sistemi üzerine Backup Exec 2010 kurma maceram devam ediyor. Bu sefer de başka bir sorunla karşılaştım. Biraz mide ağrısına neden olduktan sonra bir çözüm bulabildim. Aşağıda paylaşıyorum.


Durum
- Yeni kurulmuş Windows 2008 R2 Std sunucu üzerine, Backup Exec 2010 kurulumu yaptım. Veritabanı olarak SQL 2005 SP3 kullandım. Sistem tüm servisleri normal olarak açtı.


- How to move Backup Exec from one system to another with the same or different computer names (http://seer.entsupport.symantec.com/docs/319367.htm) makalesini uygulayarak daha önceden yedeğini aldığim BE veritabanını SQL servislerini kapattıktan sonra sunucuya kopyaladım.


- BE servisleri aşağıdaki hatayı vererek açılmayı reddetti. "The Backup Exec Server Service did not start.  An internal error (1627652097) occurred in object -1. "


Çözüm
- Sunucuda işlem yapmadan önce temiz kurulan BE'nin SQL veritabanı klasörünün kopyasını almıştım. Bu klasörü tekrar orijinal yerine kopyalayarak servisleri yeniden başlattım.


- BEutility'i kullanarak "Copy Database" seçeneği ile istediğim veritabanını orijinalin üzerine kopyaladım.


- Bu sefer servisler normal olarak açıldı.


- Ardından da katalog dosyalarını kopyalayarak işlemi tamamladım.

Backup Exec 2010 ve Windows 2008 R2 (An internal error (137) occurred in object -1. (Event ID 57802))

Backup Exec 2010'ün bir Windows 2008 R2 işletim sistemi olan sunucuya yüklenmesinin ardından aşağıdaki gibi hatalar almaya başladım.


Event ID : 57802
The Backup Exec Server Service did not start.   An internal error (137) occurred in object -1. (Event ID 57802)


Servis bağımlılıklarına dair herhangi bir sorun yaşamıyordum, sunucunun kurulumu sırasında her şey normal ilerlemişti ancak hala bu hata mesajını alıyordum.


%100 bir çözüm olmamakla birlikte bu durumu aşmanın yolu şöyle. Sunucuda BE2010 ve SQL 2008'e dair tüm kurulum dosyalarını kaldırıp, Registry'de de gerekli temizliği yaptıktan sonra SQL 2005 kurulursa BE normal olarak çalışmaya başlıyor.

Windows 2008 R2 Server üzerine SQL 2005 yüklemek

Windows 2008 R2 işletim sistemi üzerine SQL Server 2005 yükleyebilmek ve ön gereksinimlerin kontrolü sırasındaki bazı uyarılardan kaçınabilmek için aşağıdaki makaleyi takip etmek ve IIS'i buna göre yapılandırmak gerekiyor. Ekranda görünmeyen IIS6 ile ilgili tüm seçenekleri de seçmek gerekli.

http://support.microsoft.com/?scid=kb;en-us;920201&x=5&y=16

Çarşamba, Şubat 17, 2010

pid file /opt/csw/apache2/var/run/httpd.pid overwritten -- Unclean shutdown of previous Apache run



Gecenin bir vakti insan Apache sürümleri, MPM worker , CSW ve SunFreeware repositoryleri gibi derin konularla uğraşınca ve de yorulmuşsa bazen okuyanı güldürecek derecede basit sorunların peşinde helak oluyor. 


"Ockham'ın usturası" önermesi de birazdan anlatacağım bu duruma çok uygun düşüyor sanırım.


Ockham'ın usturası : 


Latincesi "Entia non sunt multiplicanda praeter necessitatem" olarak geçen ; "bir meselenin birden çok açıklaması varsa, ve hepsi de aynı derecede kuvvetli ise, yani bir açıklamayı diğerlerinden üstün tutmak için elle tutulur bir neden yok ise, basit açıklamanın daha faydalı olacağı görüşü"dür.


Neyse, daha fazla saptırmadan konumuza dönelim.


Daha önce Sunfreeware'den alınma Apache 2.2.x paketlerini kullanırken, MPM worker sorunu nedeniyle artık mpm olarak derlenmiş olan ve CSW tabanlı Apache paketini kullanmaya başladık. Ancak daha öncesinde de "Limiting Service Privileges in the Solaris™ 10 Operating System" belgesine dayanarak Apache SMF servisini de 'webservd' hesabı altında kısıtlamış ve çalışır hale getirmiştik.


Ne olduysa zaten bu noktada oldu. Komik ve de gerçek.


Apache servisi normalde 'webservd' hesabı altında açılmalı ve 2-3 prosesten fazlası olmamalıydı. Ancak root, nobody ve webservd olarak 3 farklı hesap altında farklı prosesler görüyorduk. root ile açılan proses 1 no'lu idi ve öldüremiyorduk. Diğer yandan da aşağıdaki hata mesajını almaktaydık.


"pid file /opt/csw/apache2/var/run/httpd.pid overwritten Unclean shutdown of previous Apache run"


Neler düşünmedik ki ? PID dosyasının sahipliğini normal kipte değiştirmeyi, single user mode'da değiştirmeyi , /etc/init altında içinde httpd geçen dosyaları aratmayı vs.vs. o an uykulu kafayla akla gelebilecek envai çeşit (cahil) yöntem denendi ama hiç biri işe yaramadı.


Sonuçta ne mi çıktı ? En basit önerme tabi. CSW paketi hiç de tahmin etmediğimiz şekilde kendi SMF servisini yazmış ve çalıştırmıştı. Ayrıca biz de Apache servisi için SMF yazmış ve çalıştırmıştık. Bizimkini öldürüken aynı zamanda başka bir servisle yarışmaya çalışıyorduk. :) Servislerden birini silince sorun kendiliğinden düzeldi. Artık httpd proseslerini istediğimiz gibi kapatabiliyorduk.

Perşembe, Şubat 11, 2010

NTP zaman ayarı ve Solaris 10

Solaris sunucularınızın harici bir NTP zaman sunucusundan bilgi alması ve saat yönetimi yapmasını istiyorsanız aşağıdaki adımları uygulayabilirsiniz.

1- SUNWntpr ve SUNWntpu paketleri sunucuya yüklenmelidir.
2- /etc/inet/ntp.client dosyası /etc/inet/ntp.conf olarak kopyalanır.
3- ntp.conf dosyası içine aşağıdaki satırlar eklenir.

server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.orgserver 2.europe.pool.ntp.org


4- svcadm enable ntp komutu ile NTP servisi aktif hale getirilir.
5- ntpq -p komutu ile sunucunun saatinin durumu ve eşleme farkları izlenebilir.

Salı, Şubat 09, 2010

SecureCRT ve şifresiz SSH login (1)

Çok sayıda UNIX sunucusuyla ilgilenmeye başlayınca ortaya farklı sunuculara anlık yapılması gereken bağlantıların ne kadar sıkıcı olabileceği , her seferinde şifre girmenin prensipli duruşun gereği olsa bile tahammül sınırlarını zorlayabileceği gerçeği çıktı. Bu durumda, yine güvenlikten ödün vermeden login işlemlerini kolaylaştırmanın yolunu bulmak için SSH sertifikası yöntemini kullanmaya karar verdim. Aşağıda bu işlemin adımları yer alıyor.

1- Public Key oluşturulması

SecureCRT yazılımında public key oluşturmak için aşağıdaki adımları takip ettim.


















Passphrase alanına bir anahtar kelime girilmesi gerekiyor. Ne kadar uzun ve karmaşık, o kadar iyi :)













1024 bit'lik anahtar oluşturuyorum.



















Anahtar oluşturulduğunda kayıt etmesi için bir klasör soracaktır. Ben Linux ve Solaris anahtarlarını ayırmak için ayrı klasörler kullanıyorum. Identitiy ve Identitiy.pub dosyaları otomatik olarak seçtiğiniz klasöre yerleştirilecektir.

2- Private Key'in kullanılması

SecureCRT içinde private key'in kullanılabilmesi için iki yöntem bulunuyor. İlk olarak tüm sunucularda kullanılmak üzere Global Options içinde bu anahtarı gösterebilirsiniz. Linux ve Solaris anahtarlarım farklı olduğu için bu yöntem bende işe yaramadı. Diğer yöntem olarak her sunucu için sunucu seçenekleri içinde anahtar belirtebilirsiniz.













Yukarıdaki resimde görülen kimlik doğrulama sıralamasını değiştirmeniz gerekiyor. Public Key ile çalışabilmek için ben "password" ve "public key"in öncelik sıralamasını değiştirdim.













3- UNIX sunucusunda yapılması gereken işlemler.

  • Öncelikle (~) home folder altında .ssh klasörünü açmalısınız.
  • SecureCRT'nin oluşturduğu identitiy.pub dosyasını UNIX sunucunuza kopyalayınız.
  • touch ~/.ssh/authorized_keys dosyasını oluşturunuz.
  • cat identitiy.pub>>~username/.ssh/authorized_keys ile oluşturduğunuz anahtarı genel anahtar dosyanıza kayıt ediniz. Burada yönlendirmenin sonuna yaz (append) '>>' şeklinde yapılmasının sebebi, farklı sunuculardan gelecek farklı public key'lerin aynı dosyada toplanabilmesini sağlamaktır. Birazdan okuyacağınız gibi iki UNIX host arasında da anahtar değiş tokuşu ile SSH login sağlamak mümkün olacaktır.
Bu noktada kişisel bilgisayarınızdaki SecureCRT üzerinden tekil olarak veya toptan "global options" kullanarak ayarladığınız UNIX sunucularına şifresiz SSH login yapabilecek durumdasınız.

Pazartesi, Şubat 01, 2010

Link : TMG (ISA Server) donanım tavsiyeleri

TMG sürümünde kullanılması tavsiye edilen donanımlara dair uzun ve oldukça açıklayıcı bilgiler içeren bir makale dizisi.

Link : TMG (ISA Server) Best Practices Analyzer

TMG için BPA yayınlandı. ISA Team blog sayfasındaki duyuru aşağıda yer alıyor.



Windows NTFS disk checking işlemini iptal etmek

Bir Sun X4250 sunucuya Windows 2003 yükleyip bir takım işlemler yaptıktan sonra disklerden birinde "disk checking" başlatmak zorunda kaldım. Daha sonra bu işlemden vazgeçmek istedim çünkü uzun sürecekti ama sunucunun yalnızca USB klavye ve fare girişi olduğu için, disk kontrolü başladığında iptal edemiyordum.


Benzer durumlarda Registry'den disk kontrolünü iptal etmek için aşağıdaki anahtarı değiştirmeniz yeterli olacaktır.


My Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SessionManager\BootExecute


kaydındaki " autocheck autochk * " dışındaki tüm bilgileri silerek disk kontrolünün başlamasını engelleyebilirsiniz.

Pazar, Ocak 31, 2010

Link : Top 20 Most Valued Backup Exec Articles


Symantec tarafından çeşitli değerlendirmeler sonucunda en fazla rağbet gören ve yararlı olduğu kullanıcılar tarafından en çok onaylanan 20 Backup Exec makalesi.

https://www-secure.symantec.com/connect/node/1123091

Cuma, Ocak 29, 2010

Link : My 10 UNIX Command Line Mistakes

Bir UNIX yöneticisinin gerçek hayat deneyimleri. Eğlenceli bir yazı. Dikkate alınacak çok fazla kısmı da var kesinlikle.


http://www.cyberciti.biz/tips/my-10-unix-command-line-mistakes.html



Jboss SMF hizmet delegasyonu (delegation) ve RBAC (1.kısım)

Solaris 10 üzerinde çalışan Jboss hizmetinin yönetimini (kapatmak, açmak ve askıya almak) root dışında başka bir kullanıcıya verme ihtiyacı bir süredir üzerinde konuştuğumuz bir konuydu. İlk etapta hizmeti SMF biçimine dönüştürmüştük. Şimdi de bu SMF metodunun yönetimini başkalarına delege etmek gerekiyordu.


Bu konuda ne yazık ki çok fazla kaynak yok. Sun'ın bir kaç belgesi ve bir kaç blog yazısı dışında bir şeye rastlayamadım. Ancak olanları derleyerek aşağıdaki yönteme ulaştım. Bu yöntemin çalışabilmesi için hizmetin SMF'e dönüştürülmüş olması, network/jboss olarak kayıt edilmiş olması ve hizmeti devredecek 'jboss ' adında bir hesap açmış olmanız gerekiyor.



# vi /etc/security/auth_attr
                  dosya içinde en son satıra eklenir > solaris.smf.manage.network/jboss:::Jboss servisi


# usermod -A solaris.smf.manage.network/jboss jboss
# svcprop -p general network/jboss
# svccfg -s network/jboss setprop general/action_authorization=astring: solaris.smf.manage.network/jboss
# svcadm refresh network/jboss
# svcprop -p general network/jboss


Buraya kadar olan kısımı uyguladığınızda servisi yeniden başlatma yetkisini kullanıcıyı devretmiş oldunuz. Bundan sonrasını uyguladığınızda ise servisi enable / disable etme yetkisini de devrediyorsunuz.


# svccfg -s network/jboss setprop general/value_authorization=astring: solaris.smf.manage.network/jboss

Bu yöntemi uyguladığınızda RBAC metoduna girmeden yalnızca tek bir kişi ve hizmet için delegasyonu sağlayabiliyorsunuz. Aynı işin RBAC ile nasıl yapılacağını bir sonraki yazımda anlatacağım. Bitirmeden önce bu konuda fayda sağlayacak bir iki kaynak adresi de ekte vermek istiyorum.

Restricting Service Administration in the Solaris™ 10 Operating System

Salı, Ocak 26, 2010

64bit Windows 2003, SQL 2005 ve MSXML6.0 problemi

64bit Windows 2003 server üzerine SQL 2005 yüklemek isterken MSXML 6.0 ile ilgili probleme rastlamış olabilirsiniz. Ben de karşılaştım ve deneyimledim :) 


Çözüm aşağıdaki makalede.


error 3 : bad or corrupt data while decompressing file

Solaris 10 U7 bir sunucumuzda yüksek oranda hesaplamaya dayanan tomcat ve mysql tabanlı bir uygulamamız vardı. Bu uygulama için kurulan yeni sunucuda JVM ayarlarıyla ilgili yapılan bir hata nedeniyle core dump oluşmaya başladı ve süratle sunucunun diskini doldurdu.


Kapatıp açtıktan sonra , açılış sırasında aşağıdaki nahoş hatayı almaya başladık ve işletim sistemini yükleyemez hale geldik.


error 3 : bad or corrupt data while decompressing file


Yaptığım kısa bir araştırmadan sonra bunu çözmenin basit bir yolu olduğunu öğrendim. Aşağıda paylaşıyorum.


Sunucu failsafe modda açıldıktan sonra aşağıdaki komutlar çalıştırılır.


sh> rm -f /a/platform/i86pc/boot_archive
sh> bootadm update-archive -R /a
sh> reboot


Salı, Ocak 19, 2010

Tomcat 6 SMF servisi oluşturma (Solaris 10)


Tomcat 6.0'ı Solaris 10 üzerinde SMF servisi olarak çalıştırmak için hazırda bir kaynak bulamadım. Yaptığım araştırmalarda da net olarak bir XML dosyası elde edemedim. Dolayısıyla iş başa düştü. Sırayla tüm adımları aşağıda gönderiyorum.

1- Java 1.6 yüklenir ( /opt/jdk1.6)
2- Tomcat 6.0 yüklenir (/opt/apache-tomcat6)
3- Tomcat XML oluşturulur ve /var/svc/manifest/network altına tomcat.xml olarak kopyalanır.
4- /opt/apache-tomcat6/bin altındaki tüm çalıştırılabilir dosyalara +x (execute) hakkı verilir.
5- tomcat için bir kullanıcı hesabı ve grup oluşturulur.
6- /opt/apache-tomcat6/log klasörünün sahipliği tomcat:tomcat grubuna verilir.
7- svccfg import /var/svc/manifest/network/tomcat.xml ile servis hazırlanır.
8- Java, /usr/bin'den farklı bir yere yüklenmiş olduğu için sembolik link oluşturulur.

ln -s /opt/jdk1.6/java /usr/bin/java

9- /opt/apache-tomcat6/bin/startup.sh içine JAVA_HOME=/opt/jdk1.6 eklenir.

Aşağıda bir Jboss XML'den devşirerek oluşturduğum XML dosyasını bulabilirsiniz (Neden metin olarak yüklemediğimi sorarsanız, Blogger koda kızdığı ve ben de bunu nasıl aşacağımı bilmediğim için böyle yaptım. Tekrar yazmak zorunda kalacaklar kızabilirler ama malesef böyle.. :) )





Çarşamba, Ocak 13, 2010

BackupExec 12.5, Windows 2008 ve file system caching


BackupExec 12.5 kullandığımızdan bu yana en büyük sorunlarımızdan biri, BE sunucusunda 64 bit Windows 2008 kullanmamıza rağmen yüksek File Caching Service bellek tüketimiydi. Bu tüketim çoğunlukla öyle noktalara çıkıyordu ki, uygulamanın performansını etkilemesi bir yana, 0 byte serbest bellek nedeniyle korkunç miktarda sayfalama hatalarıyla (paging) sunucunun performansını bile düşürmekteydi.

Bir süre agentlarla ilgili testler vs. yaptık ancak sonuçta farkettik ki, konunun agentlarla ilgisi yoktu. Windows 2008 64bit işletim sisteminde file caching'i kontrol altına alabilmek için başka bir yöntem bulmak zorundaydık.

Bir süre araştırdıktan sonra aşağıdaki MSDN blogunu ve uygulamayı bulduk.


Bu uygulamayı Windows 2008'e servis olarak kayıt ettirdikten sonra caching hizmetinin tükettiği belleğin kontrol altına girdiğini gördük. Parametrelerle oynayarak caching'in azami ne kadar bellek tüketeceğini sınırlamak mümkün. Ancak bellek talep eden uygulama olmadığı takdirde dinamik bellek yönetimi belleği caching'e bırakıyor. Şimdilik gözlemlerim bu yönde.

Uygulamayı kullandığımızdan bu yana yedekleme sisteminin performansında azımsanmayacak iyileşmeler gördük. Gerçi daha çok iyileşmeye ihtiyacı var ancak bir sorunu daha halletmiş olmaktan memnunuz.

Pazartesi, Aralık 14, 2009

Solaris 10'da disk kotasını etkin hale getirmek

Kota uygulamasını UFS dosya sistemlerinde etkin hale getirmek oldukça kolay. Bİr kaç komutla çalıştırılabiliyor. Aşağıda örnek bir uygulama göstermek istiyorum.

- kota uygulanacak her dosya sistemininin kökünde 'quotas' dosyası yaratılır.

# touch /app/quotas /quotas

- dosyanın yetkileri root hesabıyla düzenlenir.

# chmod 600 /app/quotas /quotas

- kota uygulanacak tüm dosya sistemleri için /etc/vfstab dosyasında 'options' alanına 'rq' kaydı eklenir. Bu işlem sonrasında sunucunun yeniden başlatılması gerekmemektedir.

# vi /etc/vfstab

- Kota etkin hale getirilir.

# quotaon -va

- Hangi kullanıcı için kota belirlenecekse , bu kullanıcı için ilgili komut çalıştırılır.

# edquota test01

- Eğer birden fazla kullanıcı için kota uygulanacaksa, bir kullanıcı hesabı şablon olarak seçilebilir. Aşağıdaki komuttaki ilk kullanıcı şablona esas alınacak kullanıcıdır.

# edquota -p test01 test02 test03


Cuma, Kasım 20, 2009

NFS automount problemi Solaris 10

Sol10 makinelerinde kullandığımız nfs disk bölümlerini /etc/vfstab içine yazmama rağmen bir türlü automount olmadığını görünce biraz araştırma yaptım ve aşağıdaki yazışmayı buldum.

İlginç bir bilgi olduğunu düşünerek yayınlıyorum.


Özetle, nfs disk bölmesinin otomatik yüklenmesi için nfs SMF servisinin online durumda olması gerekiyor. Bendeki durumu kontrol ettiğimde gerçekten de disable durumda olduğunu gördüm. :)

Link : Solaris 10 yama yönetiimi

Solaris'de yama yönetimi konusunda en iyi uygulamaları gösteren bir web hizmeti .