Sistem/DevOps•7 dk okuma

Sunucu Değişimlerinde Terabaytlarca Dosyayı NTFS İzinleri (ACL) ve Zaman Damgalarını Korumak İçin İdeal Robocopy Parametreleri

Dosya sunucusu göçlerinde Windows Gezgini ile kopyalama yapmanın getirdiği izin kayıpları ve kilitlenmelere son: Milyonlarca dosyayı çok kanallı (Multi-Threaded) taşıyan profesyonel Robocopy rehberi.

AE

Ahmet Ertekin

29 July 2022

Sunucu Değişimlerinde Terabaytlarca Dosyayı NTFS İzinleri (ACL) ve Zaman Damgalarını Korumak İçin İdeal Robocopy Parametreleri

Sunucu Değişimlerinde Terabaytlarca Dosyayı NTFS İzinleri (ACL) ve Zaman Damgalarını Korumak İçin İdeal Robocopy Parametreleri

Eski bir dosya sunucusundan yeni bir depolama ünitesine 5 TB'lık veriyi (yaklaşık 3 milyon adet dosya ve klasör) taşırken Windows Gezgini'ni (Explorer) açıp "Kopyala / Yapıştır" derseniz:

  • İzinler (NTFS ACL) bozulur, herkes her yere erişmeye başlar;
  • Dosyaların oluşturulma ve değiştirilme zaman damgaları (Timestamps) bugünün tarihi olur;
  • Uzun dosya yollarında (260 karakter sınırı) kopyalama kilitlenir;
  • Ağ anlık koptuğunda işlem en başa döner!

Kurumsal veri göçlerinde tek güvenilir standart Microsoft Robocopy (Robust File Copy) komut satırı aracıdır.

1. Altın Standart Robocopy Komut Satırı

robocopy "\\FS01-ESKI\Data" "D:\Data" /E /ZB /COPYALL /DCOPY:DAT /MT:16 /R:1 /W:1 /V /TS /FP /LOG:"C:\Migration\Robocopy_Log.txt"

2. Parametrelerin Mühendislik Anlamları

Bu komuttaki her harf hayati bir görevi icra eder:

  • /E (Subdirectories): Boş olanlar dahil tüm alt klasörleri kopyala.
  • /ZB (Backup Mode): Dosya kilitli olsa veya personelin özel izni olmasa dahi "Windows Backup Operator" ayrıcalığını kullanarak dosyayı zorla oku!
  • /COPYALL (Full File Info): Dosya verisi (Data), öznitelikler (Attributes), zaman damgaları (Timestamps), güvenlik izinleri (NTFS ACLs), sahiplik (Owner) ve denetim (Auditing) bilgilerini birebir kopyala!
  • /DCOPY:DAT (Directory Copy): Klasörlerin de oluşturulma ve değiştirilme tarihlerini koru (Klasör tarihleri bugünün tarihi olmasın!).
  • /MT:16 (Multi-Threaded): Aynı anda 16 dosya birden kopyala! (Varsayılan 1 dosya yerine 16 iş parçacığı kullanmak kopyalama hızını 5 kat artırır).
  • /R:1 ve /W:1 (Retry and Wait): Bir dosya kullanımda ise 1 saniye bekle ve yalnızca 1 kez dene; dosya kilitliyse sonsuza kadar bekleyip kopyalamayı tıkama!
  • /LOG: (Log Dosyası): Konsola yazıp I/O kaybetmek yerine tüm dökümü dosyaya yaz.

3. İki Aşamalı Kesintisiz Göç Stratejisi (The Seed and Sync)

Kullanıcılar çalışırken gündüz vakti 5 TB'lık veri taşınamaz. Strateji şudur:

  1. Aşama 1 (Ön Taşıma - Hafta İçi): Yukarıdaki komut çalıştırılır. 5 TB veri 3 gün boyunca arka planda yeni sunucuya kopyalanır (Kullanıcılar eski sunucuda çalışmaya devam eder).
  2. Aşama 2 (Nihai Senkronizasyon - Cuma Akşamı 20:00): Eski sunucunun paylaşımı salt-okunur (read-only) yapılır. Komuta /MIR (Mirror) parametresi eklenerek çalıştırılır:
robocopy "\\FS01-ESKI\Data" "D:\Data" /MIR /ZB /COPYALL /DCOPY:DAT /MT:16 /R:1 /W:1

Bu ikinci komut sadece son 3 günde değişen veya yeni eklenen küçük dosyaları senkronize eder; işlem 15 dakikada biter! Eski sunucunun IP'si yeni sunucuya atanır ve pazartesi sabahı kullanıcılar hiçbir şey fark etmeden yeni diskten çalışmaya başlar.

Karşılaşılan Kritik Hatalar ve Çözüm İpuçları

  • /MIR Parametresi Dikkat!: /MIR (Mirror) parametresi kaynakta silinmiş bir dosya hedefte varsa hedeftekini de siler. Hedef sunucuya kazara yeni veri yazıldıysa /MIR o veriyi yok eder. Bu parametre yalnızca nihai senkronizasyon anında dikkatle kullanılmalıdır.

Mühendis Notu

Robocopy çalışırken CPU kullanımını kontrol edin. Eğer sunucu diskleri yavaş mekanik disklerse /MT:64 vermek diskleri boğar; /MT:8 veya /MT:16 kurumsal depolamalar için en ideal denge noktasıdır.