File Server Migration

Günümüzde gelişen teknoloji ile birlikte her geçen gün sunucuların kapasiteleri gittikçe artmaktadır. Eski sunucular üzerinde kullanılabilir alanların azalması ve yeni sunucular üzerinde bulunan kullanılabilir alanların fazla olması gibi durumlar bizleri taşınma senaryolarına yöneltmektedir. Bu gibi durumlar biz sistem yöneticileri için ayrı bir efor ve ek çalışma gerektirmektedir. File Sunucular üzerinde bir ya da birden fazla paylaşılmış klasörler bulunmaktadırlar.  Sunucu üzerinde bulunan klasörlerin izinlerin tanımlanması ise ayrı bir işlemdir. Yeni sunucu üzerine taşınacak olan dosyaların izinlerinin tanımlanması ise son derecede zahmetli ve zaman alan bir işlemdir. Migration söz konusu olduğunda konu sadece verilerin aktarılması değil veriler üzerinde bulunan dosyaların erişim kontrol listelerininde aynı şekilde taşınması gerekmektedir. Bu tür işlemleri “robocopy” komutunu kullanarak kolaylıkla gerçekleştirebilirsiniz. Bu program sayesinde kopyalama işlemlerini detaylı ve otomatik olarak yapabilirsiniz. (Dosya taşınması işlemlerini izinleri ile birlikte yapabilirsiniz.) Robocopy komutunu kullanarak kaynak storage ya da disk (network üzerinden paylaşımlı dosyalarda olabilir)üzerindeki klasör ve dosyaları hedef storage ya da disk (network üzerinden paylaşımlı dosyalarda olabilir) üzerine tasınmasını sağlar. Robocopy Windows Server 2008 ve sonrası içerisinde yerleşik olarak gelmektedir.

Robocopy [Source][Destination]

[file1][file2][Options]

Robocopy için genel olarak kullanılan parametrelerden kısaca bahsedelim.

/S: (Copy subdirectories but not empty one) Alt dizinleri ile beraber alır. Fakat boş dosyalar hariç.

/E: (Copy subdirectories including empty one) Alt dizinleri ile beraber alır bos dosyaları da dahil.

/PURGE: (delete destination files/dirs that no longer exist in source) Kaynak sunucu üzerinde data silinmişse hedef sunucu üzerinde de silinmesini sağlar. (Kullanırken çok dikkatli olunmalı).

/MIR: (Mirror directory tree) Kaynak sunucu üzerinde data silinmişse hedef sunucu üzerinde bulunan datalarında silinmesini sağlar.

/COPYALL: (Copy all files information) Dosyaların tüm bilgileri ile beraber kopyalanmasını sağlar.

/R: (Number of retries on failed copies: default 1 million) Yapılan işlem hata verdiği zaman işlemin kaç kere deneneceğini belirler.

/W:n (Want time between retries default in 30 second) İşlem içerisinde deneme süreleri arasındaki bekleme zamanını gösterir.

/LOG: file (Output status to log file; overwrite existing log) Yapılan işlemleri loglamak için kullanılır.

/ZB: Yeniden başlatılabilir mod. Erişim reddedilirse yedekleme modunun kullanılmasını sağlar.

/TBD: Paylaşım adlarının tanımlanmalarının beklenmesini sağlar. (Yeniden deneme hatası 67)

/TS: Output içerisinde kaynak dosyanın zaman damgalarını gösterir.

/NP: Kopyalanan yüzdenin görüntülenmesini sağlar.

/FP: Output içerisinde dosyaların tam yol adlarının gösterilmesini sağlar.

/XC: (Exclude Changed Files) Değişen dosyaların kopyalanmamasını sağlar.

/XN: (Exclude Newer Files) Yeni dosyaların kopyalanmamasını sağlar.

/XO: (Exclude Older Files) Eski dosyaların kopyalanmamasını sağlar.

MIR komutu kullanırken hedef sunucu üzerinde kopyalamanın yapılacağı klasör içerisinde dosya bulunmamasına dikkat edilmelidir. Eğer dosya varsa bu dosyaların tamamını silip üzerine yazacaktır. Yedeğiniz olmadığı taktirde bu gibi durumlar veri kaybına yol açabilir.

1

Robocopy hakkında daha fazla bilgi almak için Command Prompt ekranında “robocopy /?” parametresini kullanarak komut ile ilgili daha detaylı bilgi alabilirsiniz.

Robocopy hakkında bu kadar bilgi verdikten sonra sıra geldi robocopy komutunu kullanmaya. Mevcut test ortamım üzerinden işlemleri gerçekleştireceğimden dolayı ortam hakkında kısa bir bilgi vereceğim.

Domain ortamında bulunan iki sunucu arasında robocopy komutunu kullanarak dosyalarımızı taşıyacağız. RootDC (192.168.10.1) sunucusu içerisinde C:\Source adı altında bulunan paylaşımlı klasörün içerisindeki dosyaları ADDC (192.168.10.2) sunucusunda C:\Destination klasörünün içerisine dosyaları tasıyacağız. Dosyaların taşınması sırasında kaynak dizin içerisinde bulunan dosyayı aynı izinlere hedef sunucu lüzerindeki belirlenen alana tasıyabilirsiniz. Robocopy oldukça geniş parametre yelpazesine sahip bir araçtır.

İsterseniz dosyaların tümünü, isterseniz sadece değişen dosyaları ya da sadece boş klasörleri  taşıyabilirsiniz. Bizim senaryomuzda dosyaları mevcut ACL’leri ile beraber hedef sunucu üzerine tasıyacağız.

Kaynak sunucu üzerinde bulunan paylaşımlı klasörü aşağıdaki ekranda görebilirsiniz.

2

Hedef sunucu üzerinde dosyaların kopyalanacağı klasörü aşağıdaki ekranda görebilirsiniz.

3

Hedef Sunucu üzerinde .txt dosyası içerisine aşağıdaki komut setini girip Robocopy.bat olarak dosyayı çalıştırılabilir olarak (batch) oluşturalım.

“C:\Windows\System32\Robocopy.exe \\192.168.10.1\Source C:\Destination /ZB /E /COPY:DATSOU /MIR /R:2 /W:2 /TBD /LOG:C:\Kur\Source_to_Dest_Log.txt /NP /TS /FP”

Oluşturulan batch dosyasını çalıştırdığımızda aşağıdaki ekranda görüldüğü gibi işlemin başladığını ve log dosyasının içerisinde işlem ile ilgili gerçekleşen hareketleri görebilirsiniz.

4

5

Robocopy komutunu kullanarak dosyalarınızın taşıma işlemlerini tamamladıktan sonra ilgili dosya içerisinde gerçekleşen tüm işlemlerin özet bilgisini görebilirsiniz.

6

Faydalı Olması Dileğiyle…

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s