Windows Server'da Doğrudan Saklama Alanlarını dağıtma

Bu makalede, Windows Server'da Depolama Alanları Doğrudan dağıtmak için adım adım yönergeler sağlanır. Depolama Alanları Doğrudan'ı Azure Yerel'in bir parçası olarak dağıtmak için bkz. Azure Yerel Hakkında.

Tip

Hiper yakınsayan altyapıyı satın almak mı istiyorsunuz? Microsoft, iş ortaklarımızdan doğrulanmış bir donanım/yazılım Azure Yerel çözümü satın almanızı önerir. Bu çözümler, uyumluluk ve güvenilirlik sağlamak için başvuru mimarimize göre tasarlanır, derlenir ve doğrulanır, böylece hızla çalışmaya başlarsınız. Azure Yerel ile çalışan donanım/yazılım çözümleri kataloğunu incelemek için bkz. Azure Yerel Kataloğu.

Tip

Depolama Alanları Doğrudan’ı donanım olmadan değerlendirmek için, Microsoft Azure dahil, Hyper-V sanal makinelerini kullanabilirsiniz. Ayrıca, eğitim amacıyla kullandığımız kullanışlı Windows Server hızlı laboratuvar dağıtım betiklerini de gözden geçirmek isteyebilirsiniz.

Başlamadan önce

Genel yaklaşımı ve bazı adımlarla ilişkili önemli notları öğrenmek için Depolama Alanları Doğrudan donanım gereksinimlerini gözden geçirin.

Aşağıdaki bilgileri toplayın:

  • Dağıtım seçeneği: Depolama Alanları Doğrudan iki dağıtım seçeneğini destekler: hiper yakınsama ve yakınsanmış, ayrıştırılmış olarak da bilinir. Hangi seçeneğin size uygun olduğuna karar vermek için her birinin avantajlarını tanıyın. Bu makaledeki 1-3 arası adımlar her iki dağıtım seçeneği için de geçerlidir. 4. adım yalnızca yakınsanmış dağıtım için gereklidir.

  • Sunucu adları: Kuruluşunuzun bilgisayarlar, dosyalar, yollar ve diğer kaynaklar için adlandırma ilkeleri hakkında bilgi edinin. Her birinde benzersiz adlar bulunan birkaç sunucu sağlamanız gerekir.

  • Etki alanı adı: Kuruluşunuzun etki alanı adlandırma ve etki alanına katılma ilkeleri hakkında bilgi edinin. Sunucuları etki alanınıza eklersiniz ve etki alanı adını belirtmeniz gerekir.

  • RDMA ağı: İki tür RDMA protokolü vardır: iWarp ve RoCE. Ağ bağdaştırıcılarınızın hangisini kullandığını ve RoCE ise sürümü de (v1 veya v2) not edin. RoCE için raf üstü anahtarınızın modelini de not edin.

  • VLAN Kimliği: Varsa sunuculardaki yönetim işletim sistemi ağ bağdaştırıcıları için kullanılacak VLAN kimliğini not edin. Bu bilgileri ağ yöneticinizden alabilmeniz gerekir.

1. Adım: Windows Server'ı dağıtma

1.1. Adım: İşletim sistemini yükleme

İlk olarak, kümedeki her sunucuya Windows Server'ı yükleyin. Windows Server Datacenter Edition, Storage Spaces Direct'e gereksinim duyar. Sunucu Çekirdeği yükleme seçeneğini veya Masaüstü Deneyimi ile Sunucu kullanabilirsiniz.

Kurulum sihirbazını kullanarak Windows Server'ı yüklediğinizde, Windows Server (Sunucu Çekirdeği'ne başvuruda bulunur) ile Windows Server (Masaüstü Deneyimi ile Sunucu) arasında seçim yapabilirsiniz. Bu, Windows Server 2012 R2'de kullanılabilen Tam yükleme seçeneğinin eşdeğeridir. Seçmezseniz Sunucu Çekirdeği yükleme seçeneğini alırsınız. Daha fazla bilgi için bkz. Sunucu Çekirdeği yükleme.

1.2. Adım: Sunuculara bağlanma

Bu kılavuz, Sunucu Çekirdeği yükleme seçeneğine ve ayrı bir yönetim sisteminden uzaktan dağıtmaya ve yönetmeye odaklanır. Yönetim sisteminde şunlar olmalıdır:

  • Yönettiği sunucuların en azından kendisi kadar yeni bir Windows Server veya Windows 10 sürümü ve en son güncelleştirmeler.
  • Yönettiği sunuculara olan ağ bağlantısı.
  • Aynı etki alanına veya tam olarak güvenilen bir etki alanına katıldı.
  • Hyper-V ve Failover Kümeleme için Uzak Sunucu Yönetim Araçları (RSAT) ve PowerShell modülleri. RSAT araçları ve PowerShell modülleri Windows Server'da kullanılabilir ve diğer özellikler yüklenmeden yüklenebilir. Uzak Sunucu Yönetim Araçları bir Windows 10 yönetim bilgisayarına da yükleyebilirsiniz.

Yönetim sistemi üzerinde, Yük Devretme Kümesi ve Hyper-V yönetim araçlarını yükleyin. Bunu , Rol ve Özellik Ekleme sihirbazını kullanarak Sunucu Yöneticisi aracılığıyla yapabilirsiniz. Özellikler sayfasında Uzak Sunucu Yönetim Araçları'nı ve ardından yüklenecek araçları seçin.

PowerShell oturumunu girin ve bağlanmak istediğiniz düğümün sunucu adını veya IP adresini kullanın. Bu komutu yürütürken parola girmeniz istenir. Windows'un kurulumu sırasında belirttiğiniz yönetici parolasını girin.

Enter-PSSession -ComputerName <myComputerName> -Credential LocalHost\Administrator

İşte betiklerde daha yararlı olacak şekilde aynı şeyi nasıl yapabileceğinize dair bir örnek verilmektedir:

$myServer1 = "myServer-1"
$user = "$myServer1\Administrator"

Enter-PSSession -ComputerName $myServer1 -Credential $user

Tip

Bir yönetim sisteminden uzaktan dağıtıyorsanız WinRM isteği işleyemiyor gibi bir hata alabilirsiniz. Bu hatayı düzeltmek için, her sunucuyu yönetim bilgisayarınızdaki Güvenilen Konaklar listesine eklemek için Windows PowerShell'i kullanın:

Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server01 -Force

Güvenilen sunucu listesi, Server*gibi joker karakterleri destekler.

  • Güvenilen Konaklar listenizi görüntülemek için Get-Item WSMAN:\Localhost\Client\TrustedHostsyazın.
  • Listeyi boşaltmak için Clear-Item WSMAN:\Localhost\Client\TrustedHostyazın.

1.3. Adım: Etki alanına katılma ve etki alanı hesapları ekleme

Depolama Alanları Doğrudan'ı yönetmek için sunucuları bir etki alanına eklemeniz ve her sunucudaki Administrators grubunda yer alan bir Active Directory Etki Alanı Hizmetleri etki alanı hesabı kullanmanız gerekir.

Yönetim sisteminden Yönetici ayrıcalıklarına sahip bir PowerShell konsolu açın. Her sunucuya bağlanmak için Enter-PSSession kullanın ve kendi bilgisayar adınızı, etki alanı adınızı ve etki alanı kimlik bilgilerinizi değiştirerek aşağıdaki cmdlet'i çalıştırın:

Add-Computer -NewName "Server01" -DomainName "contoso.com" -Credential "CONTOSO\User" -Restart -Force

Depolama yöneticisi hesabınız Domain Admins grubunun üyesi değilse, depolama yöneticisi hesabınızı her düğümdeki yerel Yöneticiler grubuna ekleyin veya depolama yöneticileri için kullandığınız grubu ekleyin. Bu adımı gerçekleştirmek için aşağıdaki komutu kullanabilir veya bir PowerShell betiği oluşturabilirsiniz. Daha fazla bilgi için bkz. Yerel Gruba Etki Alanı Kullanıcıları Eklemek için PowerShell Kullanma.

Net localgroup Administrators <Domain\Account> /add

1.4. Adım: Rolleri ve özellikleri yükleme

Sonraki adım , Windows Yönetim Merkezi, Sunucu Yöneticisi veya PowerShell aracılığıyla her sunucuya sunucu rolleri yüklemektir. Yüklenecek roller şunlardır:

  • Hata Yönlendirme Kümelemesi
  • Hyper-V
  • Dosya Sunucusu (yakınsanmış dağıtım gibi herhangi bir dosya paylaşımını barındırmak istiyorsanız)
  • Data-Center-Bridging (iWARP ağ bağdaştırıcıları yerine RoCEv2 kullanıyorsanız)
  • RSAT-Clustering-PowerShell
  • Hyper-V-PowerShell

Rolleri PowerShell aracılığıyla yüklemek için Install-WindowsFeature cmdlet'ini kullanın. Bunu aşağıdaki gibi tek bir sunucuda kullanabilirsiniz:

Install-WindowsFeature -Name "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"

Komutunu kümedeki tüm sunucularda aynı anda çalıştırmak için, betiğin başındaki değişkenlerin listesini ortamınıza uyacak şekilde değiştiren bu betiği çalıştırın.

# Fill in these variables with your values
$ServerList = "Server01", "Server02", "Server03", "Server04"
$FeatureList = "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"

# This part runs the Install-WindowsFeature cmdlet on all servers in $ServerList, passing the list of features into the script block with the "Using" scope modifier so you don't have to hard-code them here.
Invoke-Command ($ServerList) {
    Install-WindowsFeature -Name $Using:Featurelist
}

2. Adım: Ağı yapılandırma

Depolama Alanları Doğrudan'ı sanal makinelerin içinde dağıtıyorsanız bu bölümü atlayın.

Depolama Alanları Doğrudan, kümedeki sunucular arasında yüksek bant genişliğine sahip, düşük gecikme süreli ağ gerektirir. En az 10 GbE ağa ihtiyacınız vardır ve uzaktan doğrudan bellek erişimi (RDMA) önerilir. İşletim sistemi sürümünüzle eşleşen Windows Server logosuna sahip olduğu sürece iWARP veya RoCE kullanabilirsiniz, ancak iWARP'ı ayarlamak daha kolaydır.

Important

Ağ donanımınıza ve özellikle RoCE v2 ile bağlı olarak raf üstü anahtarını yapılandırmanız gerekebilir. Depolama Alanları Doğrudan'ın güvenilirliğini ve performansını sağlamak için doğru anahtar yapılandırması önemlidir.

Windows Server 2016, Hyper-V sanal anahtarı içinde anahtara gömülü ekip oluşturma (SET) özelliğini tanıttı. Bu özellik, RDMA kullanırken tüm ağ trafiği için aynı fiziksel ağ arabirimi kartı (NIC) bağlantı noktalarını kullanmanıza olanak sağlayarak gereken fiziksel NIC bağlantı noktası sayısını azaltır. Depolama Alanları Doğrudan için switch gömülü ekip oluşturmayı kullanın.

  • Ağ Anahtarları: Bant genişliğini ve ağ türünü işlemek için ağ anahtarlarını uygun şekilde yapılandırmanız gerekir. RoCE protokolunu uygulayan RDMA kullanıyorsanız ağ cihazı ve anahtar yapılandırması daha da önemlidir.
  • Anahtarsız: Doğrudan bağlantıları kullanarak, anahtar kullanımından kaçınarak düğümleri birbirine bağlayabilirsiniz. Her düğümün kümenin diğer tüm düğümleriyle doğrudan bağlantısı olmalıdır.

Depolama Alanları Doğrudan için ağ oluşturma yönergeleri hakkında bilgi almak için Windows Server 2016 ve 2019 RDMA Dağıtım Kılavuzu bakın.

3. Adım: Depolama Alanları Doğrudan'ı yapılandırma

Yapılandırdığınız sunucularla aynı sürümü çalıştıran bir yönetim sisteminde aşağıdaki adımları gerçekleştirin. PowerShell oturumu kullanarak bu adımları uzaktan çalıştırmayın. Bunun yerine, bunları yönetim sistemindeki yerel bir PowerShell oturumunda, yönetim izinleriyle çalıştırın.

Adım 3.1: Sürücüleri temizleme

Depolama Alanları Doğrudan'ı etkinleştirmeden önce sürücülerinizin eski bölümler veya başka veriler olmadan boş olduğundan emin olun. Eski bölümleri veya diğer verileri kaldırmak için bilgisayarınızın adlarını değiştirerek aşağıdaki betiği çalıştırın.

Important

Bu betik, işletim sistemi önyükleme sürücüsü dışındaki sürücülerdeki tüm verileri kalıcı olarak kaldırır!

# Fill in these variables with your values
$ServerList = "Server01", "Server02", "Server03", "Server04"

foreach ($server in $serverlist) {
    Invoke-Command ($server) {
        # Check for the Azure Temporary Storage volume
        $azTempVolume = Get-Volume -FriendlyName "Temporary Storage" -ErrorAction SilentlyContinue
        If ($azTempVolume) {
            $azTempDrive = (Get-Partition -DriveLetter $azTempVolume.DriveLetter).DiskNumber
        }

        # Clear and reset the disks
        $disks = Get-Disk | Where-Object {
            ($_.Number -ne $null -and $_.Number -ne $azTempDrive -and !$_.IsBoot -and !$_.IsSystem -and $_.PartitionStyle -ne "RAW")
        }
        $disks | ft Number,FriendlyName,OperationalStatus
        If ($disks) {
            Write-Host "This action will permanently remove any data on any drives other than the operating system boot drive!`nReset disks? (Y/N)"
            $response = read-host
            if ( $response.ToLower() -ne "y" ) { exit }

            $disks | % {
            $_ | Set-Disk -isoffline:$false
            $_ | Set-Disk -isreadonly:$false
            $_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false -verbose
            $_ | Set-Disk -isreadonly:$true
            $_ | Set-Disk -isoffline:$true
        }

        #Get-PhysicalDisk | Reset-PhysicalDisk


        }
        Get-Disk | Where-Object {
            ($_.Number -ne $null -and $_.Number -ne $azTempDrive -and !$_.IsBoot -and !$_.IsSystem -and $_.PartitionStyle -eq "RAW")
        } | Group -NoElement -Property FriendlyName
    }
}

Çıkış aşağıdaki örneğe benzer; burada Count , her bir sunucudaki her modelin sürücü sayısıdır:

Count Name                          PSComputerName
----- ----                          --------------
4     ATA SSDSC2BA800G4n            Server01
10    ATA ST4000NM0033              Server01
4     ATA SSDSC2BA800G4n            Server02
10    ATA ST4000NM0033              Server02
4     ATA SSDSC2BA800G4n            Server03
10    ATA ST4000NM0033              Server03
4     ATA SSDSC2BA800G4n            Server04
10    ATA ST4000NM0033              Server04

3.2. Adım: Kümeyi doğrulama

Bu adımda, sunucu düğümlerinin Depolama Alanları Doğrudan kullanarak bir küme oluşturmak üzere doğru yapılandırıldığından emin olmak için küme doğrulama aracını çalıştırırsınız. Kümeyi oluşturmadan önce küme doğrulamasını (Test-Cluster) çalıştırdığınızda, yapılandırmanın yük devretme kümesi olarak çalışmaya uygun olduğunu doğrulayan testler çalıştırır. Aşağıdaki örnek doğrudan parametresini -Include kullanır ve ardından belirli test kategorilerini belirtir. Bu yaklaşım, Depolama Alanları Doğrudan'a özgü testlerin doğrulamaya dahil edilmesini sağlar.

Depolama Alanları Doğrudan kümesi olarak kullanılacak bir sunucu kümesini doğrulamak için aşağıdaki PowerShell komutunu kullanın.

Test-Cluster -Node <MachineName1, MachineName2, MachineName3, MachineName4> -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

3.3. Adım: Kümeyi oluşturma

Bu adımda, aşağıdaki PowerShell cmdlet'ini kullanarak önceki adımda küme oluşturma için doğruladığınız düğümlerle bir küme oluşturursunuz.

Kümeyi oluştururken şu uyarıyı alırsınız: "Kümelenmiş rol oluşturulurken başlatılmasını engelleyebilecek sorunlar oluştu. Daha fazla bilgi için aşağıdaki rapor dosyasını görüntüleyin." Bu uyarıyı güvenle yoksayabilirsiniz. Bunun nedeni küme çekirdeği için kullanılabilir disk olmamasıdır. Kümeyi oluşturduktan sonra dosya paylaşımı tanığını veya bulut tanığını yapılandırın.

Note

Sunucular statik IP adresleri kullanıyorsa, aşağıdaki parametreyi ekleyerek ve IP adresini belirterek aşağıdaki komutu statik IP adresini yansıtacak şekilde değiştirin: -StaticAddress <X.X.X.X>. Aşağıdaki komutta, ClusterName yer tutucusunu benzersiz ve 15 karakter veya daha kısa bir NetBIOS adıyla değiştirin.

New-Cluster -Name <ClusterName> -Node <MachineName1,MachineName2,MachineName3,MachineName4> -NoStorage

Kümeyi oluşturduktan sonra, küme adı için Etki Alanı Adı Sistemi (DNS) kaydının yayılması zaman alabilir. Süre, ortama ve DNS çoğaltma yapılandırmasına bağlıdır. Kümeyi çözümleme işlemi başarılı olmazsa, küme adı yerine kümenin etkin üyesi olan bir düğümün makine adını kullanabilirsiniz.

3.4. Adım: Küme tanığı yapılandırma

Üç veya daha fazla sunucuya sahip kümelerin iki sunucunun başarısız olmasına veya çevrimdışı olmasına dayanabilmesi için küme için bir tanık yapılandırın. İki sunuculu dağıtım için küme tanığı gerekir; aksi takdirde, sunuculardan biri çevrimdışı olursa, diğer sunucu kullanılamaz duruma gelir. Bu sistemlerle bir dosya paylaşımını tanık olarak veya bulut tanığı olarak kullanabilirsiniz. Daha fazla bilgi için bkz. Bir çoğunluk tanığı dağıtın.

3.5. Adım: Depolama Alanları Doğrudan'ı etkinleştirme

Kümeyi oluşturduktan sonra PowerShell cmdlet'ini Enable-ClusterStorageSpacesDirect kullanın. Bu cmdlet, depolama sistemini Depolama Alanları Doğrudan moduna geçirir ve aşağıdaki görevleri otomatik olarak yapar:

  • Havuz oluşturur: "S2D Küme1 üzerinde" gibi bir adla tek bir büyük havuz oluşturur.

  • Depolama Alanları Doğrudan önbelleklerini yapılandırır: Eğer Depolama Alanları Doğrudan kullanımı için birden fazla medya (sürücü) türü mevcutsa, en hızlı olanları önbellek cihazları olarak etkinleştirir (çoğu durumda okuma ve yazma için).

  • Varsayılan katman olarak iki katman oluşturur: Bir katman "Kapasite" ve diğer katman "Performans" olarak adlandırılır. Cmdlet, cihazları analiz eder ve her katmanı cihaz türlerinin ve dayanıklılığın karışımıyla yapılandırır.

Yönetim sisteminden yükseltilmiş bir PowerShell penceresi açın ve aşağıdaki komutu çalıştırın. Küme adı, önceki adımlarda oluşturduğunuz kümenin adıdır. Bu komutu düğümlerden birinde yerel olarak çalıştırırsanız parametresine -CimSession ihtiyacınız yoktur.

Enable-ClusterStorageSpacesDirect -CimSession <ClusterName>

Bu komut Depolama Alanları Doğrudan'a olanak tanır. Küme adı yerine düğüm adını kullanmayı seçebilirsiniz. Dns çoğaltma gecikmeleri yeni oluşturulan küme adıyla gerçekleşebileceğinden düğüm adını kullanmak daha güvenilir olabilir.

Bu komut tamamlandığında, bu işlem birkaç dakika sürebilir, sistem birimlerin oluşturulması için hazırdır.

3.6. Adım: Birimler oluşturma

New-Volume En hızlı ve en basit deneyim için cmdlet'ini kullanın. Bu tek cmdlet, sanal diski otomatik olarak oluşturur, bölümler ve biçimlendirer. Birimi eşleşen bir adla oluşturur ve tek bir kolay adımda küme paylaşılan birimlerine ekler.

Daha fazla bilgi için bkz. Depolama Alanları Doğrudan'da birimler oluşturma.

3.7. Adım: İsteğe bağlı olarak CSV önbelleğini etkinleştirme

Windows önbellek yöneticisinin önbelleğe almadığı okuma işlemleri için yazma bloğu düzeyinde önbellek olarak sistem belleğini (RAM) kullanarak küme paylaşılan birimi (CSV) önbelleğini etkinleştirebilirsiniz. Bu özellik Hyper-V gibi uygulamaların performansını artırabilir. CSV önbelleği, okuma isteklerinin performansını artırır ve Scale-Out Dosya Sunucusu senaryoları için de yararlıdır.

CSV önbelleğinin etkinleştirilmesi, hiper yakınsama kümesindeki VM'leri çalıştırmak için kullanılabilir bellek miktarını azaltır, bu nedenle depolama performansını VHD'ler için kullanılabilir bellekle dengelemeniz gerekir.

CSV önbelleğinin boyutunu ayarlamak için, depolama kümesinde yönetici izinlerine sahip bir hesapla yönetim sisteminde bir PowerShell oturumu açın. Aşağıdaki betiği kullanarak, $ClusterName ve $CSVCacheSize değişkenlerini uygun şekilde değiştirin (bu örnek sunucu başına 2 GB CSV önbelleği ayarlar):

$ClusterName = "StorageSpacesDirect1"
$CSVCacheSize = 2048 #Size in MB

Write-Output "Setting the CSV cache..."
(Get-Cluster $ClusterName).BlockCacheSize = $CSVCacheSize

$CSVCurrentCacheSize = (Get-Cluster $ClusterName).BlockCacheSize
Write-Output "$ClusterName CSV cache size: $CSVCurrentCacheSize MB"

Daha fazla bilgi için bkz. CSV bellek içi okuma önbelleğini kullanma.

3.8. Adım: Hiper yakınsanmış dağıtımlar için sanal makineleri dağıtma

Hiper yakınsanmış bir küme dağıtıyorsanız, son adım Depolama Alanları Doğrudan kümesinde sanal makineler sağlamaktır.

Sanal makinenin dosyalarını, yük devretme kümelerindeki kümelenmiş VM'ler gibi sistemin CSV ad alanında (örnek: c:\ClusterStorage\Volume1) depolayın.

System Center Virtual Machine Manager gibi depolama ve sanal makineleri yönetmek için yerleşik araçları veya diğer araçları kullanabilirsiniz.

4. Adım: Yakınsanmış çözümler için Scale-Out Dosya Sunucusu dağıtma

Yakınsanmış bir çözüm dağıtıyorsanız, sonraki adım bir Scale-Out Dosya Sunucusu örneği oluşturmak ve dosya paylaşımlarını ayarlamaktır.

Tip

Hiper yakınsama kümesi dağıtıyorsanız işiniz bitti demektir ve bu bölüme ihtiyacınız yoktur.

Yük Devretme Kümesi Yöneticisi veya PowerShell kullanarak Scale-Out File Server rolünü oluşturma talimatları için aşağıdaki sekmelerden birini seçin.

Failover Cluster Manager'ı kullanarak Scale-Out Dosya Sunucusu rolü oluşturmak için:

  1. Yük Devretme Kümesi Yöneticisi'nde kümeyi seçin, Roller'e gidin ve ardından Rolü Yapılandır... öğesini seçin.
    Yüksek Kullanılabilirlik Sihirbazı görüntülenir.

  2. Rol Seç sayfasında Dosya Sunucusu'nu seçin.

  3. Dosya Sunucusu Türü sayfasında, uygulama verileri için dosya sunucusuScale-Out seçin.

  4. İstemci Erişim Noktası sayfasında, Scale-Out Dosya Sunucusu için bir ad yazın.

  5. Rol'e gidip Durum sütununda, Şekil 1'de gösterildiği gibi oluşturduğunuz kümelenmiş dosya sunucusu rolünün yanında Çalışıyor ifadesinin gösterildiğini onaylayarak rolün başarıyla ayarlandığını doğrulayın.

    Yük Devretme Kümesi Yöneticisi'ni gösteren ekran görüntüsü, Scale-Out Dosya Sunucusu

    Şekil 1 Çalışan durumuyla Scale-Out Dosya Sunucusu'nu gösteren Yük Devretme Kümesi Yöneticisi

Note

Kümelenmiş rolü oluşturduktan sonra, ağ yayma gecikmeleri birkaç dakika veya daha uzun süre dosya paylaşımları oluşturmanızı engelleyebilir.

Dosya paylaşımları oluşturma

Sanal disklerinizi oluşturup CSV'lere ekledikten sonra, bu disklerde dosya paylaşımları oluşturun. Sanal disk başına CSV başına bir dosya paylaşımı oluşturun. System Center Virtual Machine Manager (VMM), sizin için izinleri işlediğinden bu görevi gerçekleştirmenin en kolay yoludur. Ortamınızda yoksa, dağıtımı kısmen otomatikleştirmek için Windows PowerShell'i kullanabilirsiniz.

Grup ve paylaşım oluşturma işlemini kısmen otomatikleştirmek için bu bölümde yer alan betikleri kullanın. Komut dosyaları, Hyper-V iş yükleri için yazılmaktadır. Diğer iş yüklerini dağıtıyorsanız, paylaşımları oluşturduktan sonra ayarları değiştirmeniz veya ek adımlar uygulamanız gerekebilir. Örneğin, Microsoft SQL Server kullanıyorsanız, paylaşım ve dosya sistemi üzerinde SQL Server hizmet hesabına tam denetim vermelisiniz.

Note

Paylaşımlarınızı oluşturmak için System Center Virtual Machine Manager kullanmadığınız sürece küme düğümleri eklerken grup üyeliğini güncelleştirmeniz gerekir.

PowerShell betiklerini kullanarak dosya paylaşımları oluşturmak için aşağıdaki adımları uygulayın:

  1. Aşağıdaki bölümlerin her birini genişletin ve her birinin içeriğini, dosya sunucusu kümesinin düğümlerinden birinde, gibi aynı klasörde ilgili ada sahip ayrı .ps1 bir dosya olarak C:\Scripts\SetupSMBSharesWithHyperVkaydedin:

    ADGroupSetup.ps1için bu bölümü genişletin.
    Param(
        [Parameter(Mandatory=$true)]
        [string]
        $HyperVClusterName,
        [Parameter(Mandatory=$true)]
        [string]
        $HyperVObjectADGroupSamName
    )
    
    # Add and import needed features
    if ((Get-WindowsFeature | ? Name -Like "RSAT-AD-PowerShell") | ? InstallState -NotLike Installed)
    {
        Install-WindowsFeature "RSAT-AD-PowerShell"
    }
    if ((Get-WindowsFeature | ? Name -Like "RSAT-Clustering-PowerShell") | ? InstallState -NotLike Installed)
    {
        Install-WindowsFeature "RSAT-Clustering-PowerShell"
    }
    Import-Module -Name ActiveDirectory
    Import-Module -Name FailoverClusters
    
    # Check for group and create if necessary
    $adGroup = @()
    $adGroup = Get-ADGroup -Filter {samAccountName -eq $HyperVObjectADGroupSamName}
    if ($adGroup.Count -ne 1)
    {
        $adGroup = New-ADGroup -DisplayName $HyperVObjectADGroupSamName -Name $HyperVObjectADGroupSamName -SamAccountName $HyperVObjectADGroupSamName -GroupScope Global -GroupCategory Security -PassThru
    }
    
    # Build array of Hyper-V servers
    $HyperVNodes = (Get-ClusterNode -Cluster $HyperVClusterName).Name | Get-ADComputer
    
    # Add nodes to group if not already members
    for ($i = 0; $i -lt $HyperVNodes.Count; $i++)
    {
        if (!(Get-ADGroupMember $adGroup | ? Name -ieq $HyperVNodes[$i].Name))
        {
            Add-ADGroupMember $adGroup -Members $HyperVNodes[$i]
        }
    }
    
    # Add Hyper-V cluster object to group if not already present
    if (!(Get-ADGroupMember $adGroup | ? Name -ieq $HyperVClusterName))
    {
        Add-ADGroupMember $adGroup -Members (Get-ADComputer $HyperVClusterName)
    }
    
    FileShareSetup.ps1için bu bölümü genişletin.
    Param(
        [Parameter(Mandatory=$true)]
        [string]
        $HyperVClusterName,
        [Parameter(Mandatory=$true)]
        [string]
        $ScaleOutFSName,
        [Parameter(Mandatory=$true)]
        [string]
        $ShareName,
        [Parameter(Mandatory=$true)]
        [string]
        $HyperVObjectADGroupSamName,
        [int]
        $CSVVolumeNumber = 1,
        [string]
        $VHDFolderName = "VHDs",
        [string]
        $VMFolderName = "VMs"
    )
    
    # Create the share folder
    New-Item -ItemType Directory -Path C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName
    
    # Create folders in share
    New-Item -ItemType Directory -Path "C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName\$VHDFolderName"
    New-Item -ItemType Directory -Path "C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName\$VMFolderName"
    
    # Get the domain name
    $DomainName = Get-Content env:userdnsdomain
    
    # Grant the Hyper-V group permission
    $cmdString = "ICACLS.EXE C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName  --% /Grant $DomainName\$HyperVObjectADGroupSamName"
    $cmdString += ':(CI)(OI)F'
    Invoke-Expression -Command $cmdString
    
    # Grant domain admins permission
    $DomainAdmins = "Domain Admins"
    $cmdString = "ICACLS.EXE C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName"
    $cmdString += '  --% /Grant "'
    $cmdString += "$DomainName\$DomainAdmins"
    $cmdString += ':(CI)(OI)F"'
    Invoke-Expression -Command $cmdString
    
    # Remove inheritance (optional)
    ICACLS.EXE C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName  /Inheritance:R
    
    # Create new share and set matching Share permissions
    $FullAccess = ("$DomainName\$HyperVObjectADGroupSamName","$DomainName\Domain Admins")
    New-SmbShare -Name $ShareName -Path C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName  -FullAccess $FullAccess
    
    KCDSetup.ps1için bu bölümü genişletin.
    Param(
        [Parameter(Mandatory=$true)]
        [string]
        $HyperVClusterName,
        [Parameter(Mandatory=$true)]
        [string]
        $ScaleOutFSName,
        [switch]
        $EnableLM = $true
    )
    
    # Add and import needed features
    if ((Get-WindowsFeature | ? Name -Like "RSAT-AD-PowerShell") | ? InstallState -NotLike Installed)
    {
        Install-WindowsFeature "RSAT-AD-PowerShell"
    }
    if ((Get-WindowsFeature | ? Name -Like "RSAT-Clustering-PowerShell") | ? InstallState -NotLike Installed)
    {
        Install-WindowsFeature "RSAT-Clustering-PowerShell"
    }
    Import-Module -Name ActiveDirectory
    
    # Build array of Hyper-V servers
    $HyperVNodes = (Get-ClusterNode -Cluster $HyperVClusterName).Name
    
    # Enable LM and CD 
    $SMBServerAD = Get-ADComputer -Filter {Name -eq $ScaleOutFSName}
    $AllowedToDelegateToSMB = @( 
        ("cifs/"+$SMBServerAD.Name), 
        ("cifs/"+$SMBServerAD.DNSHostName))
    
    for ($serverCounter = 0; $serverCounter -lt $HyperVNodes.Count; $serverCounter++) 
    { 
        $AllowedToDelegateTo = $AllowedToDelegateToSMB 
        if ($EnableLM) 
        { 
            for ($delegateCounter = 0; $delegateCounter -lt $HyperVNodes.Count; $delegateCounter++) 
            { 
                if ($delegateCounter -ne $serverCounter) 
                { 
                    $delegationServer = $HyperVNodes[$delegateCounter] | Get-ADComputer 
                    $AllowedToDelegateTo += @( 
                        ("Microsoft Virtual System Migration Service/"+$delegationServer.Name), 
                        ("Microsoft Virtual System Migration Service/"+$delegationServer.DNSHostName))       
                } 
            } 
        } 
        ($HyperVNodes[$serverCounter] | Get-ADComputer) | Set-ADObject -Add @{"msDS-AllowedToDelegateTo"=$AllowedToDelegateTo} 
    }
    
  2. Yönetim sisteminde Etki Alanı Yöneticisi kimlik bilgileriyle bir Windows PowerShell oturumu açın. Hyper-V bilgisayar nesneleri için bir Active Directory grubu oluşturmak için betiği ADGroupSetup.ps1 kullanın. Değişkenlerin değerlerini ortamınıza uygun şekilde değiştirin:

    # Replace the values of these variables
    $HyperVClusterName = "Compute01"
    $HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#No spaces#>
    $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV"
    
    # Start of script itself
    CD $ScriptFolder
    .\ADGroupSetup.ps1 -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName -HyperVClusterName $HyperVClusterName
    
  3. Betiği FileShareSetup.ps1 kullanarak her CSV için paylaşımlar oluşturun ve paylaşımlar için Domain Admins grubuna ve işlem kümesine yönetim izinleri verin.

    # Replace the values of these variables
    $StorageClusterName = "StorageSpacesDirect1"
    $HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#No spaces#>
    $SOFSName = "SOFS"
    $SharePrefix = "Share"
    $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV"
    
    # Start of the script itself
    CD $ScriptFolder
    Get-ClusterSharedVolume -Cluster $StorageClusterName | ForEach-Object {
        $ShareName = $SharePrefix + $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume")
        Write-host "Creating share $ShareName on "$_.name "on Volume: " $_.SharedVolumeInfo.friendlyvolumename
        .\FileShareSetup.ps1 -HyperVClusterName $StorageClusterName -CSVVolumeNumber $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume") -ScaleOutFSName $SOFSName -ShareName $ShareName -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName
    }
    
  4. Uzak senaryo yönetimi ve artırılmış Canlı Taşıma güvenliği için Kerberos kısıtlanmış temsilini etkinleştirin. Depolama kümesi düğümlerinden birinde, KCDSetup.ps1 komut dosyasını kullanın. Betik için bir ara katman:

    $HyperVClusterName = "Compute01"
    $ScaleOutFSName = "SOFS"
    $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV"
    
    CD $ScriptFolder
    .\KCDSetup.ps1 -HyperVClusterName $HyperVClusterName -ScaleOutFSName $ScaleOutFSName -EnableLM
    
  5. Yeni Kerberos kısıtlanmış temsil ayarlarının etkin olduğundan emin olmak için Hyper-V kümesindeki tüm düğümleri yeniden başlatın. Düğümler yeniden çevrimiçi olduğunda, sanal makineleri oluşturduğunuz dosya paylaşımlarına dağıtmaya başlayabilirsiniz.

Ek referanslar