Storage Migration Service in Windows Server 2022

Storage Migration servisi temel olarak eski sistemlerin yeni nesil Windows sunuculara veya Azure alt yapısına geçişini kolaylaştırmak için tasarlanmıştır. Windows, Linux veya NetApp CIFS kaynaklarındaki verilerin kesintisiz bir şekilde taşınması ve istenmesi halinde kaynak sunucu kimliğinin hedef sunucu kimliği ile değiştirilmesi sayesinde kullanıcıların herhangi bir değişiklik yapmadan yeni sistemlere geçişini sağlar. Geleneksel yöntemlere göre çok daha kolay ve grafik ara yüzü sayesinde pek çok sistem uzmanına hitap eden bir servistir.

Peki bu servisi hangi durumlarda kullanıyoruz?

Genel olarak aslında değişen ve gelişen teknoloji ile aktif olarak kullandığımız sistemler zaman içerisinde eskimektedir. Bu sistemleri daha yeni donanım veya daha yeni nesil sanal sunucular, altyapılar ile değiştirmek istediğimiz zaman bu servise ihtiyaç duyarız.

Sektörde en çok gördüğümüz senaryolar aşağıdaki gibidir;

Birden çok sunucu üzerindeki verilerin taşınması.

Hızlı, sürekli ve yapılandırma ayarları ile dosya paylaşımlarının taşınması.

Kaynak üzerindeki tüm verilerin cutting over olarak isimlendirdiğimiz yöntem ile alınması. Bu sayede eski sistem üzerinde hiç veri kalmıyor.

Eş zamanlı birden çok ve farklı hedef-kaynak ilişkisi içerisinde taşıma yapılması ihtiyacı halinde.

Tabi ki bunlar en çok gördüğümüz senaryolar ancak biz danışman olarak pek çok kez sadece tek bir file server için bu işlemleri yaptık. Yani bu servis için yapınızın çok büyük olmasına gerek yok. Temel olarak eski bir dosya sunucusundaki dosyalarınızı yeni bir sunucuya kesintisiz olarak taşımak istiyorsanız Storage Migration Servis kesinlikle inanılmaz bir çözümdür.

Peki bu servisi nasıl kullanıyoruz?

Temel olarak bir kaynak server bir hedef server ve birde orkestratör (taşıma yönetim işini) yapan server olmak üzere temel 3 role vardır.

Kaynak sunucu 2003 dahil tek veya cluster bir sistem olabilir.

Hedef sunucu 2012 R2, 2016,2019 veya 2022 olabilir. Eğer hedef sunucu Server 2019 veya 2022 ise diğer işletim sistemlerine göre %50 daha hızlı dosya taşıması yapacağı için en güncel işletim sistemlerini seçmenizi tavsiye ederim.

Yalnızca birkaç sunucuyu taşıyorsanız ve sunuculardan biri Windows Server 2019 veya Windows Server 2022 çalıştırıyorsa, bunu orkestratör olarak kullanabilirsiniz. Daha fazla sunucu taşıyorsanız, ayrı bir orkestratör sunucu kullanmanızı öneririm.

Özetle bir kaynak, bir hedef ve bir de bu işi yönetecek 3 sunucu ile bu işi sorunsuz bir şekilde yapabilirsiniz. Yönetimi Windows Admin Center üzerinden yapıyoruz. İsterseniz bunu orkestratör sunucu üzerinden yapabilirsiniz isterseniz dördüncü bir makine olarak Windows Admin Center çalıştıran bir başka bilgisayar ayarlayabilirsiniz. Windows Admin Center için en düşük sürüm 2103 olmalıdır.

Sunucuların özellikle yönetim ve hedef sunucu için sürecin yavaş dahi olsa çalışması için en az iki core vcpu ve 2GB RAM’ e ihtiyaç duyduğunu belirtmek isterim. Ancak günümüzde bundan çok daha fazla kaynak sağlandığı için bunun sorun olacağını sanmıyorum.

Diğer gereksinimler;

Migration işlemi için hem kaynak hem de hedef sunucu için yönetici hesaplarına ihtiyacınız bulunmaktadır. Genellikle local admin yeterlidir. Yani makine domainde ise illaki domain admin değil local admin olan ve yine domain içerisindeki bir user olabilir. Kaynak eğer workgroup ortamında ise bu durumda zaten tek şansınız local yönetici hesaplarını kullanmak olacaktır.

Orkestratör sunucusu için eğer Windows Firewall açık durumda ise mutlaka aşağıdaki kural aktif olmalıdır.

  • File and Printer Sharing (SMB-In) – inbound – Enable

Kaynak ve hedef sunucu üzerinde Windows Firewall açık durumda ise aşağıdaki kurallar inbound olacak şekilde açık olmalıdır.

  • File and Printer Sharing (SMB-In)
  • Netlogon Service (NP-In)
  • Windows Management Instrumentation (DCOM-In)
  • Windows Management Instrumentation (WMI-In)

Not: Windows Server 2019 ve 2022 için Storage Migration Servisini yüklediğiniz anda gerekli olan firewall kurallarını otomatik ayarlar.

Eğer cutover senaryosunu kullanacaksanız, yani kaynaktaki tüm verileri sunucu ismi dahil hedefe aktaracaksanız aynı etki alanı içerisinde olmalıdır. Sistem farklı domainlerde taşıma destekler ancak cutover senaryosunun son adımındaki hedef makine ismini kaynak makine ismi ile değiştirince hedef için domain adı farklı olacaktır. Bu bölümü elle düzeltmeniz gerekecektir.

Desteklenen kaynak sunucuların tam listesi aşağıdaki gibidir;

  • Windows Server, Semi-Annual Channel
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows Server 2008 R2
  • Windows Server 2008
  • Windows Server 2003 R2
  • Windows Server 2003
  • Windows Small Business Server 2003 R2
  • Windows Small Business Server 2008
  • Windows Small Business Server 2011
  • Windows Server 2012 Essentials
  • Windows Server 2012 R2 Essentials
  • Windows Server 2016 Essentials
  • Windows Server 2019 Essentials
  • Windows Storage Server 2008
  • Windows Storage Server 2008 R2
  • Windows Storage Server 2012
  • Windows Storage Server 2012 R2
  • Windows Storage Server 2016

Not: Windows Small Business Server ve Windows Server Essential sunucuları domain controller olarak tasarlandığı için cutover senaryosunu desteklemez.

Samba kullanan aşağıdaki Linux işletim sistemleri yine desteklenen işletim sistemleri arasındadır.

  • CentOS 7
  • Debian GNU/Linux 8
  • RedHat Enterprise Linux 7.6
  • SUSE Linux Enterprise Server (SLES) 11 SP4
  • Ubuntu 16.04 LTS and 12.04.5 LTS
  • Samba 4.8, 4.7, 4.3, 4.2, and 3.6

NetApp için ise sürüm bilgisi aşağıdaki gibidir;

  • NetApp ONTAP 9 sürümü üzerinde çalışan NetApp CIFS server

Desteklenen hedef sunucuların tam listesi;

  • Windows Server, Semi-Annual Channel
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

Şu anda hedef sunucu olarak Azure Stack HCI veya Azure Files desteklenmemektedir. Ancak Azure File Sync ile cloud tiering yaparak verileri cloud ortamına taşıyabilirsiniz. Veya hedef sunucuya taşıdıktan sonra bu servisleri kullanabilirsiniz.

Ancak doğrudan mevcut kaynakları Azure üzerinde bir sanal makine olarak taşıyabilirsiniz. Windows Admin Center, Azure IaaS alt yapısının storage migration servis ile bütünleştirerek otomatik olarak makine kurulumu, disk yapılandırması, domain join işlemleri gibi temel adımları gerçekleştirerek mevcut dosya sunucunuzu cloud ortamına taşıyabilir.

Peki Windows Server 2022 ile Storage Migration Servisine hangi yenilikler geldi?

  • Yerel kullanıcıları ve grupları yeni sunucuya taşıyabiliriz.
  • Failover cluster sunucularından failover cluster sunucularına ve stand alone sunucular ile cluster sunucuları arasında veri taşıyabiliriz.
  • Samba kullanan bir Linux sunucusundan veri taşıyabiliriz.
  • Azure Dosya Eşitleme’yi kullanarak taşınan paylaşımları Azure’a daha kolay eşitleyebiliriz.
  • Azure gibi yeni network alt yapılarına geçiş yapabiliriz.
  • NetApp CIFS sunucularını NetApp FAS dizilerinden Windows sunucularına ve kümelerine taşıyabiliriz.

Eğer bu özellikleri Windows Server 2019 içinde kullanmak istiyorsak KB5001384 nolu yamayı yüklemeniz yeterlidir.

Gelelim şimdi örnek bir taşıma senaryosuna. Ortamımda 4 adet sanal makine bulunmaktadır.

Windows Server 2008 R2 – Kaynak File Server

Windows Server 2022 – Hedef File Server

Windows Server 2022 – Domain Controller

Windows Server 2022 – Windows Admin Center

Öncelikle Windows Admin Center sunucusu üzerinden veya ilgili sunucuya browser üzerinden bağlanıyoruz.

Daha sonra öncelikle hedef sunucuyu ekliyoruz, bunu için açılan yukarıdaki ekrandan sol üst köşeden “Add” butonuna basıyoruz.

Karşımıza yukarıdaki gibi seçenekler çıkacaktır. İsterseniz tüm sunucuları şu anda ekleyebilirsiniz. Ya da sırası geldikçe ekleyebilirsiniz. Öncelikle hedef sunucuyu ekliyoruz.

Active Directory arama özelliğini kullanıp ilgili sunucuyu buluyoruz ve ekliyoruz.

Ben tüm lab ortamımdaki sunucuları ekledim.

Şimdi ilk olarak hedef sunucuya ulaşıyoruz ve “Storage Migration Service Proxy” rolünü yüklüyoruz. Sunucuya erişmek için sunucu üzerine tıklamanı ve sonrasında Roles and features bölümünden Storage Migration Service Proxy bölümünü seçmeniz yeterli.

Ardından yönetim sunucu olarak kullanacağım Admin Center yüklü sunucu üzerinden “Storage Migration Service” bölümüne geliyoruz.

Install butonuna basarak eklentiyi yüklüyoruz.

Yükleme sonrasında ekrana yukarıdaki gibi bir pencere açılır, bunu kapatabiliriz.

Ardından karşımızdaki ekranın ortasında bulunan “+New Job” butonuna basıyoruz;

Açılan penceredeki taşıma işine bir isim veriyoruz ve ilerliyoruz.

Karşımıza taşıma projemiz için bir sihirbaz çıkıyor, ilk bölümde taşıma işlemleri için gerekli olan şartları sıralıyor, eğer bunlar ile ilgili bilginiz yok ise inceleyebilir veya next diyerek ilerleyebilirsiniz.

Bu bölümde ise kaynak sunucuya bağlanacak yetkili hesap bilgilerini ve yine yönetimsel paylaşımların alınıp alınmayacağını veya failover cluster desteği istenip istenmediğini seçebiliyoruz.

Örneğin ben cluster kutucuğunu işaretli bıraktığım için RSAT için cluster modülünü yükledi.

Bu bölümde ise eski 2008 R2 veya sizin ortamınızdaki sunucu ya da sunucular hangileri ise onları seçiyoruz.

Arama menüsü üzerinden 2008R2 sunucumuzu seçiyorum.

Ardından Start scan düğmesine basıyorum ve tarama işlemi başlıyor.

Tarama bittikten sonra ilgili sunucu üzerine tıklayarak bu sunucudaki paylaşılan kaynakları görebiliyoruz. Alt bölümdeki sekmeden Configuration, Network adapters ve Volumes gibi sekmeler ile kaynak sunucu hakkında daha fazla bilgi alabiliyoruz. Next diyerek ilerliyorum.

Hedef sunucu için yine bir kimlik bilgisi giriyorum.

Daha sonraki ekranda öncelikle hedef sunucuyu seçiyoruz. Hedef sunucu onprem bir sanal makine olabilir, bir Azure sanal makine olabilir veya yeni bir Azure sanal makine yaratabilirsiniz. Ben onprem üzerindeki Server2022 isimli sunucunun ismini yazdım ve ardından Scan düğmesine bastım. Eğer burada hata alırsanız muhtemel sorun firewall ile ilgilidir.

Evet karşımızda hedef sunucu için uygun bir disk ve kaynak üzerinden taşınmasını istediğiniz paylaşımları görebiliyorsunuz. Burada birden çok disk var ise hedef sunucu üzerindeki diski seçebilir ve yine taşınmasını istemediğiniz paylaşımları alt bölümden kaldırabilirsiniz.

Bir sonraki bölümde öncelikle hedef sunucu üzerinde bir dosya var ise onları yedekleyebilir, taşınmaların kontrollü yapılması için CRC64 ile doğrulama yaptırabilir, aynı kullanıcı ve grup isimleri için çakışma durumunda yapılacak aksiyonu belirleyebilir ve yine kopyalanamayan dosyalar için tekrar deneme sürelerini ayarlayabilirsiniz.

Hedef sunucuda gerekli bileşenler yüklenir veya kontrol edilir.

Kaynak ve hedef sunucuları doğrulayıp kopyalamaya başlayabiliriz.

Buradaki kontrolleri yukarıda görebilirsiniz. Bir sorun olması durumunda bunu kontrol edebilirsiniz.

Next diyerek son aşamaya geliyoruz. Burada Start transfer butonunu göremiyorsanız eklentileri güncellemenizi öneririm. Start transfer butonuna tıkladığınız zaman kopyalamalar başlar. Bunlar çok büyük kopyalamalarda düzenli olarak eşitleme sağlar. Bu sayede TBlarca veriyi rahatlıkla taşıyabilirsiniz.

Bu ekran sayesinde tüm detaylara ulaşabilirsiniz. Kopyalama hızı, biten klasörler veya kopyalanamayan dosyalar gibi. İlk sync işlemi bittikten sonra rapor almanız mümkün.

Eğer buradaki gibi bir sorun olur ise Transfer loglarını inceleyebilirsiniz.

Taşıma işlemi başarıyla sonuçlandıktan sonra isterseniz yeni sunucu için isim ve ip değiştirerek devam edebilirsiniz veya Windows Storage Migration Service bunu sizin için yapabilir. Yukarıdaki bölümde kaynak ve hedef sunucular için kimlik bilgilerini girdikten sonra ilerliyoruz.

Bu bölümde eski sunucun ismi ve ip adresi yeni sunucuya aktarılır ve eski sunucu kapatılır. Sol bölüm kaynak sunucu için sağ bölüm ise hedef sunucu için ayarları içerir. Ben eski sunucu için random bir isim ve DHCP den ip almasını seçip ilerliyorum.

Bu bölümde bu işlem için kimlik bilgisi ve zaman aşımı süresini ayarlayabiliyorsunuz.

Bu bölümde ise yine işlemin gerçekleşmeden önce kontrol adımları var. Kontrol adımları aşağıdaki gibidir;

Next diyerek ilerliyoruz.

Son bölümde Start cutover butonuna basıyoruz. Bu işlemden sonra finish diyerek süreci tamamlıyoruz.

Umarım faydalı bir makale olmuştur. Bir sonraki makalemizde görüşmek üzere.