Azure VM'de SQL Server için kullanılabilirlik grubu yapılandırmak için Azure hızlı başlangıç şablonlarını kullanma
Şunlar için geçerlidir: Azure VM'de SQL Server
İpucu
Kullanılabilirlik grubu dağıtmak için birçok yöntem vardır. Dağıtımınızı basitleştirin ve aynı Azure sanal ağı içindeki birden çok alt ağda SQL Server sanal makinelerinizi (VM' ler) oluşturarak Always On kullanılabilirlik grubunuz için Azure Load Balancer veya dağıtılmış ağ adı (DNN) gereksinimini ortadan kaldırın. Kullanılabilirlik grubunuzu zaten tek bir alt ağda oluşturduysanız, bunu çok alt ağlı bir ortama geçirebilirsiniz.
Bu makalede, Azure'da tek bir alt ağ içinde SQL Server sanal makineleri (VM' ler) için Always On kullanılabilirlik grubu yapılandırmasının dağıtımını kısmen otomatikleştirmek için Azure hızlı başlangıç şablonlarının nasıl kullanılacağı açıklanmaktadır. Bu işlemde iki Azure hızlı başlangıç şablonu kullanılır:
Şablon | Açıklama |
---|---|
sql-vm-ag-setup | Windows yük devretme kümesini oluşturur ve SQL Server VM'lerini buna ekler. |
sql-vm-aglistener-setup | Kullanılabilirlik grubu dinleyicisini oluşturur ve iç yük dengeleyiciyi yapılandırılır. Bu şablon yalnızca Windows yük devretme kümesi 101-sql-vm-ag-setup şablonuyla oluşturulduysa kullanılabilir. |
Kullanılabilirlik grubu yapılandırmasının kullanılabilirlik grubu oluşturma ve iç yük dengeleyici oluşturma gibi diğer bölümleri el ile yapılmalıdır. Bu makalede otomatik ve el ile gerçekleştirilen adımların sırası sağlanır.
Bu makalede kullanılabilirlik grubu ortamını yapılandırmak için Azure Hızlı Başlangıç şablonları kullanılır ancak bunu Azure portalı, PowerShell veya Azure CLI ya da El ile de yapabilirsiniz.
Not
Artık Azure Geçişi'nin kullanıldığı Azure VM'lerde kullanılabilirlik grubu çözümünüzü kaldırıp SQL Server'a kaydırmanız mümkündür. Daha fazla bilgi için bkz . Kullanılabilirlik grubunu geçirme.
Önkoşullar
Hızlı başlangıç şablonlarını kullanarak Always On kullanılabilirlik grubunun kurulumunu otomatikleştirmek için aşağıdaki önkoşullara sahip olmanız gerekir:
- Bir Azure aboneliği.
- Etki alanı denetleyicisi olan bir kaynak grubu.
- Azure'da aynı kullanılabilirlik kümesinde veya kullanılabilirlik alanında bulunan ve SQL IaaS Aracısı uzantısıyla kaydedilmiş SQL Server 2016 (veya üzeri) Enterprise sürümünü çalıştıran bir veya daha fazla etki alanına katılmış VM.
- SQL Server VM ile aynı alt ağ içindeki kullanılabilirlik grubu dinleyicisi için bir iç Azure Load Balancer ve kullanılabilir (herhangi bir varlık tarafından kullanılmaz) IP adresi.
İzinler
Azure hızlı başlangıç şablonlarını kullanarak Always On kullanılabilirlik grubunu yapılandırmak için aşağıdaki izinler gereklidir:
- Etki alanında Bilgisayar Nesnesi Oluşturma izni olan mevcut bir etki alanı kullanıcı hesabı. Örneğin, bir etki alanı yönetici hesabı genellikle yeterli izne sahiptir (örneğin: account@domain.com). Bu hesap, kümeyi oluşturmak için her vm'de yerel yönetici grubunun da bir parçası olmalıdır.
- SQL Server'ın denetimindeki etki alanı kullanıcı hesabı.
Küme oluşturma
SQL Server VM'leriniz SQL IaaS Aracısı uzantısına kaydedildikten sonra SQL Server VM'lerinizi SqlVirtualMachineGroups'a birleştirebilirsiniz. Bu kaynak, Windows yük devretme kümesinin meta verilerini tanımlar. Meta veriler sürüm, sürüm, tam etki alanı adı, hem kümeyi hem de SQL Server'ı yönetmek için Active Directory hesaplarını ve depolama hesabını bulut tanığı olarak içerir.
SQLVirtualMachineGroups kaynak grubuna SQL Server VM'leri eklemek, Windows Yük Devretme Kümesi Hizmeti'ni önyükleyerek kümeyi oluşturur ve bu SQL Server VM'lerini bu kümeye ekler. Bu adım, 101-sql-vm-ag-setup hızlı başlangıç şablonuyla otomatikleştirilmiştir. Aşağıdaki adımları kullanarak uygulayabilirsiniz:
sql-vm-ag-setup hızlı başlangıç şablonuna gidin. Ardından Azure portalında hızlı başlangıç şablonunu açmak için Azure'a Dağıt'ı seçin.
Windows yük devretme kümesi için meta verileri yapılandırmak için gerekli alanları doldurun. İsteğe bağlı alanları boş bırakabilirsiniz.
Aşağıdaki tabloda şablon için gerekli değerler gösterilmektedir:
Alan Değer Abonelik SQL Server VM'lerinizin bulunduğu abonelik. Kaynak grubu SQL Server VM'lerinizin bulunduğu kaynak grubu. Yük Devretme Kümesi Adı Yeni Windows yük devretme kümeniz için istediğiniz ad. Mevcut Vm Listesi Kullanılabilirlik grubuna katılmak ve bu yeni kümenin parçası olmak istediğiniz SQL Server VM'leri. Bu değerleri virgül ve boşlukla ayırın (örneğin: SQLVM1, SQLVM2). SQL Server Sürümü SQL Server VM'lerinizin SQL Server sürümü. Açılan listeden seçin. Şu anda yalnızca SQL Server 2016 ve SQL Server 2017 görüntüleri desteklenmektedir. Varolan Tam Etki Alanı Adı SQL Server VM'lerinizin bulunduğu etki alanı için mevcut FQDN. Mevcut Etki Alanı Hesabı Şablon dağıtımı sırasında CNO oluşturulurken etki alanında Bilgisayar Nesnesi Oluşturma izni olan mevcut bir etki alanı kullanıcı hesabı. Örneğin, bir etki alanı yönetici hesabı genellikle yeterli izne sahiptir (örneğin: account@domain.com). Bu hesap, kümeyi oluşturmak için her vm'de yerel yönetici grubunun da bir parçası olmalıdır. Etki Alanı Hesabı Parolası Daha önce bahsedilen etki alanı kullanıcı hesabının parolası. Mevcut Sql Hizmet Hesabı Kullanılabilirlik grubu dağıtımı sırasında SQL Server hizmetini denetleen etki alanı kullanıcı hesabı (örneğin: account@domain.com). Sql Hizmeti Parolası SQL Server'ın denetimindeki etki alanı kullanıcı hesabı tarafından kullanılan parola. Bulut Tanığı Adı Bulut tanığı için oluşturulacak ve kullanılacak yeni bir Azure depolama hesabı. Bu adı değiştirebilirsiniz. _artifacts Konumu Bu alan varsayılan olarak ayarlanır ve değiştirilmemelidir. _artifacts Konum SaS Belirteci Bu alan kasıtlı olarak boş bırakılır. Hüküm ve koşulları kabul ediyorsanız, Yukarıda belirtilen hüküm ve koşulları kabul ediyorum onay kutusunu seçin. Ardından hızlı başlangıç şablonunun dağıtımını tamamlamak için Satın Al'ı seçin.
Dağıtımınızı izlemek için üst gezinti başlığındaki Bildirimler zil simgesinden dağıtımı seçin veya Azure portalında Kaynak Grubu'na gidin. Ayarlar'ın altında Dağıtımlar'ı ve ardından Microsoft.Template dağıtımı'nı seçin.
Not
Şablon dağıtımı sırasında sağlanan kimlik bilgileri yalnızca dağıtımın uzunluğu için depolanır. Dağıtım tamamlandıktan sonra bu parolalar kaldırılır. Kümeye daha fazla SQL Server VM eklerseniz bunları yeniden sağlamanız istenir.
Çekirdeği yapılandırma
Disk tanığı en dayanıklı çekirdek seçeneği olsa da, kullanılabilirlik grubuna bazı sınırlamalar getiren bir Azure paylaşılan diski gerektirir. Bu nedenle bulut tanığı, Azure VM'lerinde SQL Server için kullanılabilirlik gruplarını barındıran kümeler için önerilen çekirdek çözümüdür.
Kümede eşit sayıda oy varsa, çekirdek çözümünü iş gereksinimlerinize en uygun şekilde yapılandırın. Daha fazla bilgi için bkz . SQL Server VM'leri ile çekirdek.
Kümeyi doğrulama
Bir yük devretme kümesinin Microsoft tarafından desteklenmesi için küme doğrulamasını geçmesi gerekir. Uzak Masaüstü Protokolü (RDP) gibi tercih ettiğiniz yöntemi kullanarak VM'ye bağlanın ve devam etmeden önce kümenizin doğrulamayı geçtiğini doğrulayın. Bunun başarısız olması kümenizi desteklenmeyen bir durumda bırakır.
Yük Devretme Kümesi Yöneticisi'ni (FCM) veya aşağıdaki PowerShell komutunu kullanarak kümeyi doğrulayabilirsiniz:
Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"
Kullanılabilirlik grubu oluşturma
SQL Server Management Studio, PowerShell veya Transact-SQL kullanarak kullanılabilirlik grubunu normalde yaptığınız gibi el ile oluşturun.
Önemli
101-sql-vm-aglistener-setup hızlı başlangıç şablonu bunu 4. adımda otomatik olarak gerçekleştirdiğinden, şu anda bir dinleyici oluşturmayın.
Yük dengeleyici oluşturma
Not
Birden çok alt ağa yapılan kullanılabilirlik grubu dağıtımları yük dengeleyici gerektirmez. Tek alt ağ ortamında, Windows 2016 ve sonraki sürümlerde SQL Server 2019 CU8 ve üzerini kullanan müşteriler, geleneksel sanal ağ adı (VNN) dinleyicisini ve Azure Load Balancer'ı dağıtılmış ağ adı (DNN) dinleyicisiyle değiştirebilir. DNN kullanmak istiyorsanız, kullanılabilirlik grubunuz için Azure Load Balancer'ı yapılandıran öğretici adımlarını atlayın.
Always On kullanılabilirlik grubu dinleyicisi, Azure Load Balancer'ın iç örneğini gerektirir. İç yük dengeleyici, kullanılabilirlik grubu dinleyicisi için daha hızlı yük devretme ve yeniden bağlantı sağlayan "kayan" bir IP adresi sağlar. Kullanılabilirlik grubundaki SQL Server VM'leri aynı kullanılabilirlik kümesinin parçasıysa, Temel yük dengeleyici kullanabilirsiniz. Aksi takdirde Standart yük dengeleyici kullanmanız gerekir.
Önemli
İç yük dengeleyici, SQL Server VM örnekleriyle aynı sanal ağda olmalıdır.
Yalnızca iç yük dengeleyiciyi oluşturmanız gerekir. 4. adımda, 101-sql-vm-aglistener-setup hızlı başlangıç şablonu yapılandırmanın geri kalanını (arka uç havuzu, sistem durumu yoklaması ve yük dengeleme kuralları gibi) işler.
Azure portalında SQL Server sanal makinelerini içeren kaynak grubunu açın.
Kaynak grubunda Ekle'yi seçin.
Yük dengeleyiciyi arayın. Arama sonuçlarında, Microsoft tarafından yayımlanan Load Balancer'ı seçin.
Load Balancer bölmesinde Oluştur'u seçin.
Yük dengeleyici oluştur iletişim kutusunda yük dengeleyiciyi aşağıdaki gibi yapılandırın:
Ayar Değer Ad Yük dengeleyiciyi temsil eden bir metin adı girin. Örneğin, sqlLB girin. Tür İç: Çoğu uygulama, aynı sanal ağ içindeki uygulamaların kullanılabilirlik grubuna bağlanmasına olanak tanıyan bir iç yük dengeleyici kullanır.
Dış: Uygulamaların genel bir İnternet bağlantısı üzerinden kullanılabilirlik grubuna bağlanmasına izin verir.Sanal ağ SQL Server örneklerinin içinde olduğu sanal ağı seçin. Alt ağ SQL Server örneklerinin içinde olduğu alt ağı seçin. IP adresi ataması Static Özel IP adresi Alt ağdan kullanılabilir bir IP adresi belirtin. Abonelik Birden çok aboneliğiniz varsa bu alan görüntülenebilir. Bu kaynakla ilişkilendirmek istediğiniz aboneliği seçin. Normalde kullanılabilirlik grubunun tüm kaynaklarıyla aynı aboneliktir. Kaynak grubu SQL Server örneklerinin içinde olduğu kaynak grubunu seçin. Konum SQL Server örneklerinin bulunduğu Azure konumunu seçin. Oluştur'u belirleyin.
Önemli
Her SQL Server VM'sinin genel IP kaynağının Standart yük dengeleyici ile uyumlu olması için bir Standart SKU'su olmalıdır. VM'nizin genel IP kaynağının SKU'sunu belirlemek için Kaynak Grubu'na gidin, SQL Server VM için Genel IP Adresi kaynağınızı seçin ve Genel Bakış bölmesinde SKU'nun altındaki değeri bulun.
Dinleyici oluşturma
Kullanılabilirlik grubu dinleyicisini oluşturun ve 101-sql-vm-aglistener-setup hızlı başlangıç şablonunu kullanarak iç yük dengeleyiciyi otomatik olarak yapılandırın. Şablon Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/AvailabilityGroupListener kaynağını sağlar. SQL IaaS Aracısı uzantısı aracılığıyla 101-sql-vm-aglistener-setup hızlı başlangıç şablonu aşağıdaki eylemleri gerçekleştirir:
- Dinleyici için yeni bir ön uç IP kaynağı (dağıtım sırasında sağlanan IP adresi değerine göre) oluşturur.
- Küme ve iç yük dengeleyici için ağ ayarlarını yapılandırılır.
- İç yük dengeleyici, sistem durumu yoklaması ve yük dengeleme kuralları için arka uç havuzunu yapılandırılır.
- Belirtilen IP adresi ve adıyla kullanılabilirlik grubu dinleyicisini oluşturur.
Not
101-sql-vm-aglistener-setup'ı yalnızca Windows yük devretme kümesi 101-sql-vm-ag-setup şablonuyla oluşturulduysa kullanabilirsiniz.
İç yük dengeleyiciyi yapılandırmak ve kullanılabilirlik grubu dinleyicisini oluşturmak için aşağıdakileri yapın:
sql-vm-aglistener-setup hızlı başlangıç şablonuna gidin ve Azure portalında hızlı başlangıç şablonunu başlatmak için Azure'a Dağıt'ı seçin.
İç yük dengeleyiciyi yapılandırmak için gerekli alanları doldurun ve kullanılabilirlik grubu dinleyicisini oluşturun. İsteğe bağlı alanları boş bırakabilirsiniz.
Aşağıdaki tabloda şablon için gerekli değerler gösterilmektedir:
Alan Değer Kaynak grubu SQL Server VM'lerinizin ve kullanılabilirlik grubunuzun bulunduğu kaynak grubu. Mevcut Yük Devretme Kümesi Adı SQL Server VM'lerinizin katıldığı kümenin adı. Mevcut Sql Kullanılabilirlik Grubu SQL Server VM'lerinizin parçası olduğu kullanılabilirlik grubunun adı. Mevcut Vm Listesi Daha önce bahsedilen kullanılabilirlik grubunun parçası olan SQL Server VM'lerinin adları. Adları virgül ve boşlukla ayırın (örneğin: SQLVM1, SQLVM2). Dinleyici Dinleyiciye atamak istediğiniz DNS adı. Varsayılan olarak, bu şablon "aglistener" adını belirtir, ancak değiştirebilirsiniz. Ad 15 karakteri aşmamalıdır. Dinleyici Bağlantı Noktası Dinleyicinin kullanmasını istediğiniz bağlantı noktası. Genellikle bu bağlantı noktası varsayılan 1433 olmalıdır. Bu, şablonun belirttiği bağlantı noktası numarasıdır. Ancak varsayılan bağlantı noktanız değiştirildiyse dinleyici bağlantı noktası bunun yerine bu değeri kullanmalıdır. Dinleyici IP'si Dinleyicinin kullanmasını istediğiniz IP adresi. Bu adres şablon dağıtımı sırasında oluşturulur, bu nedenle henüz kullanımda olmayan bir adres belirtin. Mevcut Alt Ağ SQL Server VM'lerinizin iç alt ağ adı (örneğin: varsayılan). Kaynak Grubu'na gidip sanal ağınızı seçerek, Ayarlar bölmesinde Alt Ağlar'ı seçerek ve Ad'ın altındaki değeri kopyalayarak bu değeri belirleyebilirsiniz. Mevcut İç Yük Dengeleyici 3. adımda oluşturduğunuz iç yük dengeleyicinin adı. Yoklama Bağlantı Noktası İç yük dengeleyicinin kullanmasını istediğiniz yoklama bağlantı noktası. Şablon varsayılan olarak 59999 kullanır, ancak bu değeri değiştirebilirsiniz. Hüküm ve koşulları kabul ediyorsanız, Yukarıda belirtilen hüküm ve koşulları kabul ediyorum onay kutusunu seçin. Hızlı başlangıç şablonunun dağıtımını tamamlamak için Satın Al'ı seçin.
Dağıtımınızı izlemek için üst gezinti başlığındaki Bildirimler zil simgesinden dağıtımı seçin veya Azure portalında Kaynak Grubu'na gidin. Ayarlar'ın altında Dağıtımlar'ı ve ardından Microsoft.Template dağıtımı'nı seçin.
Not
Dağıtımınız yarı yarıya başarısız olursa, 101-sql-vm-aglistener-setup hızlı başlangıç şablonunu yeniden dağıtmadan önce PowerShell kullanarak yeni oluşturulan dinleyiciyi el ile kaldırmanız gerekir.
Dinleyiciyi kaldırma
Daha sonra şablonun yapılandırıldığı kullanılabilirlik grubu dinleyicisini kaldırmanız gerekiyorsa SQL IaaS Aracısı uzantısını kullanmanız gerekir. Dinleyici SQL IaaS Aracısı uzantısı aracılığıyla kaydedildiğinden SQL Server Management Studio aracılığıyla silinmesi yeterli değildir.
En iyi yöntem, PowerShell'de aşağıdaki kod parçacığını kullanarak SQL IaaS Aracısı uzantısı aracılığıyla silmektir. Bunu yaptığınızda SQL IaaS Aracısı uzantısından kullanılabilirlik grubu dinleyicisi meta verileri kaldırılır. Ayrıca dinleyiciyi kullanılabilirlik grubundan fiziksel olarak siler.
# Remove the availability group listener
# example: Remove-AzResource -ResourceId '/subscriptions/a1a11a11-1a1a-aa11-aa11-1aa1a11aa11a/resourceGroups/SQLAG-RG/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/Cluster/availabilitygrouplisteners/aglistener' -Force
Remove-AzResource -ResourceId '/subscriptions/<SubscriptionID>/resourceGroups/<resource-group-name>/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/<cluster-name>/availabilitygrouplisteners/<listener-name>' -Force
Sık karşılaşılan hatalar
Bu bölümde bilinen bazı sorunlar ve olası çözümleri ele alınmaktadır.
'<AG-Name>' kullanılabilirlik grubu için kullanılabilirlik grubu dinleyicisi zaten var Kullanılabilirlik grubu dinleyicisi için Azure hızlı başlangıç şablonunda kullanılan seçili kullanılabilirlik grubu zaten bir dinleyici içeriyor. Fiziksel olarak kullanılabilirlik grubunun içindedir veya meta verileri SQL IaaS Aracısı uzantısında kalır. 101-sql-vm-aglistener-setup hızlı başlangıç şablonunu yeniden dağıtmadan önce PowerShell kullanarak dinleyiciyi kaldırın.
Bağlantı yalnızca birincil çoğaltmadan çalışır Bu davranış büyük olasılıkla iç yük dengeleyicinin yapılandırmasını tutarsız bir durumda bırakan başarısız bir 101-sql-vm-aglistener-setup şablonu dağıtımından kaynaklanır. Arka uç havuzunun kullanılabilirlik kümesini listelediğini ve sistem durumu yoklaması ve yük dengeleme kuralları için kuralların mevcut olduğunu doğrulayın. Eksik bir şey varsa, iç yük dengeleyicinin yapılandırması tutarsız bir durumdur.
Bu davranışı çözmek için PowerShell kullanarak dinleyiciyi kaldırın, Azure portalı aracılığıyla iç yük dengeleyiciyi silin ve 3. adımda yeniden başlayın.
BadRequest - Yalnızca SQL sanal makine listesi güncelleştirilebilir Bu hata, dinleyici SQL Server Management Studio (SSMS) aracılığıyla silinmiş ancak SQL IaaS Aracısı uzantısından silinmemişse 101-sql-vm-aglistener-setup şablonunu dağıtırken oluşabilir. Dinleyicinin SSMS aracılığıyla silinmesi, dinleyicinin meta verilerini SQL IaaS Aracısı uzantısından kaldırmaz. Dinleyicinin PowerShell aracılığıyla kaynak sağlayıcısından silinmesi gerekir.
Etki alanı hesabı yok Bu hatanın iki nedeni olabilir. Belirtilen etki alanı hesabı yok veya Kullanıcı Asıl Adı (UPN) verileri eksik. 101-sql-vm-ag-setup şablonu UPN biçiminde bir etki alanı hesabı bekler (yani), user@domain.comancak bazı etki alanı hesaplarında eksik olabilir. Bu durum genellikle bir yerel kullanıcı, sunucu bir etki alanı denetleyicisine yükseltildiğinde veya PowerShell aracılığıyla bir kullanıcı oluşturulduğunda ilk etki alanı yöneticisi hesabı olarak geçirildiğinde gerçekleşir.
Hesabın var olduğunu doğrulayın. Bu durumda ikinci durumla karşılaşmış olabilirsiniz. Sorunu çözmek için aşağıdakileri yapın:
Etki alanı denetleyicisinde, Sunucu Yöneticisi araçlar seçeneğinden Active Directory Kullanıcıları ve Bilgisayarları penceresini açın.
Sol bölmede Kullanıcılar'ı seçerek hesaba gidin.
Hesaba sağ tıklayın ve Özellikler'i seçin.
Hesap sekmesini seçin. Kullanıcı oturum açma adı kutusu boşsa, hatanızın nedeni budur.
Kullanıcı oturum açma adı kutusunu kullanıcının adıyla eşleşecek şekilde doldurun ve açılan listeden uygun etki alanını seçin.
Değişikliklerinizi kaydetmek için Uygula'yı seçin ve Tamam'ı seçerek iletişim kutusunu kapatın.
Bu değişiklikleri yaptıktan sonra Azure hızlı başlangıç şablonunu bir kez daha dağıtmayı deneyin.
Sonraki adımlar
Daha fazla bilgi edinmek için şu makalelere bakın: