Azure CLI, REST API ile okuma amaçlı çoğaltmalar oluşturma ve yönetme
ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Tek Sunucu
Önemli
PostgreSQL için Azure Veritabanı - Tek Sunucu kullanımdan kaldırma yolundadır. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya yükseltmenizi kesinlikle öneririz. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya geçiş hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı Tek Sunucuya ne oluyor?.
Bu makalede, Azure CLI ve REST API kullanarak PostgreSQL için Azure Veritabanı'de okuma amaçlı çoğaltmaları oluşturmayı ve yönetmeyi öğreneceksiniz. Okuma amaçlı çoğaltmalar hakkında daha fazla bilgi edinmek için genel bakışa bakın.
Azure çoğaltma desteği
Okuma çoğaltmaları ve mantıksal kod çözme , bilgi için Postgres önceden yazma günlüğüne (WAL) bağlıdır. Bu iki özelliğin Postgres'ten farklı günlüğe kaydetme düzeyleri gerekir. Mantıksal kod çözme, okuma amaçlı çoğaltmalardan daha yüksek bir günlük düzeyine ihtiyaç duyar.
Doğru günlük düzeyini yapılandırmak için Azure çoğaltma desteği parametresini kullanın. Azure çoğaltma desteğinin üç ayar seçeneği vardır:
- Kapalı - WAL'da en az bilgiyi yerleştirir. Bu ayar çoğu PostgreSQL için Azure Veritabanı sunucusunda kullanılamaz.
- Çoğaltma - Kapalı'dan daha ayrıntılı. Bu, okuma amaçlı çoğaltmaların çalışması için gereken en düşük günlük düzeyidir. Bu ayar çoğu sunucuda varsayılan ayardır.
- Mantıksal - Çoğaltmadan daha ayrıntılı. Bu, mantıksal kod çözmenin çalışması için en düşük günlük düzeyidir. Okuma amaçlı çoğaltmalar da bu ayarda çalışır.
Not
Kalıcı yoğun yazma yoğunluklu birincil iş yükleri için okuma amaçlı çoğaltmalar dağıtılırken çoğaltma gecikmesi büyümeye devam edebilir ve birincil iş yüklerini asla yakalayamayabilir. Bu, WAL dosyaları çoğaltmaya alınana kadar silinmediğinden birincil sunucudaki depolama kullanımını da artırabilir.
Azure CLI
Azure CLI'yi kullanarak okuma amaçlı çoğaltmalar oluşturabilir ve yönetebilirsiniz.
Önkoşullar
- Azure CLI 2.0’ı yükleme
- Birincil sunucu olacak bir PostgreSQL için Azure Veritabanı sunucusu.
Birincil sunucuyu hazırlama
Birincil sunucunun
azure.replication_support
değerini denetleyin. Okuma amaçlı çoğaltmaların çalışması için en az ÇOĞALTMA olmalıdır.az postgres server configuration show --resource-group myresourcegroup --server-name mydemoserver --name azure.replication_support
azure.replication_support
En az ÇOĞALTMA değilse ayarlayın.az postgres server configuration set --resource-group myresourcegroup --server-name mydemoserver --name azure.replication_support --value REPLICA
Değişikliği uygulamak için sunucuyu yeniden başlatın.
az postgres server restart --name mydemoserver --resource-group myresourcegroup
Okuma amaçlı çoğaltma oluşturma
az postgres server replica create komutu aşağıdaki parametreleri gerektirir:
Ayar | Örnek değer | Açıklama |
---|---|---|
resource-group | myresourcegroup | Çoğaltma sunucusunun oluşturulacağı kaynak grubu. |
Adı | mydemoserver-replica | Oluşturulan yeni çoğaltma sunucusunun adı. |
source-server | mydemoserver | Çoğaltılması gereken mevcut birincil sunucunun adı veya kaynak kimliği. Çoğaltma ve birincil kaynak gruplarının farklı olmasını istiyorsanız kaynak kimliğini kullanın. |
Aşağıdaki CLI örneğinde, çoğaltma birincil bölgeyle aynı bölgede oluşturulur.
az postgres server replica create --name mydemoserver-replica --source-server mydemoserver --resource-group myresourcegroup
Bölgeler arası okuma amaçlı çoğaltma oluşturmak için parametresini --location
kullanın. Aşağıdaki CLI örneği, çoğaltmayı Batı ABD'de oluşturur.
az postgres server replica create --name mydemoserver-replica --source-server mydemoserver --resource-group myresourcegroup --location westus
Not
Hangi bölgelerde çoğaltma oluşturabileceğiniz hakkında daha fazla bilgi edinmek için çoğaltma kavramları makalesini okuyun.
Parametreyi azure.replication_support
Genel Amaçlı veya Bellek için İyileştirilmiş birincil sunucuda ÇOĞALTMA olarak ayarlamadıysanız ve sunucuyu yeniden başlattıysanız bir hata alırsınız. Çoğaltma oluşturmadan önce bu iki adımı tamamlayın.
Önemli
Okuma Amaçlı Çoğaltmaya genel bakış bölümünün dikkat edilmesi gerekenler bölümünü gözden geçirin.
Birincil sunucu ayarı yeni bir değere güncelleştirilmeden önce çoğaltma ayarını eşit veya daha büyük bir değere güncelleştirin. Bu eylem, çoğaltmanın birincilde yapılan değişiklikleri takip etmesine yardımcı olur.
Çoğaltmaları listeleme
az postgres server replica list komutunu kullanarak birincil sunucunun çoğaltma listesini görüntüleyebilirsiniz.
az postgres server replica list --server-name mydemoserver --resource-group myresourcegroup
Çoğaltma sunucusuna çoğaltmayı durdurma
az postgres server replica stop komutunu kullanarak birincil sunucu ile okuma çoğaltması arasında çoğaltmayı durdurabilirsiniz .
Birincil sunucuya ve okuma amaçlı çoğaltmaya çoğaltmayı durdurduktan sonra geri alınamaz. Okuma amaçlı çoğaltma, hem okuma hem de yazmaları destekleyen tek başına bir sunucuya dönüşür. Tek başına sunucu yeniden bir çoğaltmaya dönüştürülemez.
az postgres server replica stop --name mydemoserver-replica --resource-group myresourcegroup
Birincil veya çoğaltma sunucusunu silme
Birincil veya çoğaltma sunucusunu silmek için az postgres server delete komutunu kullanırsınız.
Birincil sunucuyu sildiğinizde, tüm okuma amaçlı çoğaltmalara çoğaltma durdurulur. Okuma çoğaltmaları artık hem okuma hem de yazmaları destekleyen tek başına sunucular haline gelir.
az postgres server delete --name myserver --resource-group myresourcegroup
REST API
Azure REST API'sini kullanarak okuma amaçlı çoğaltmalar oluşturabilir ve yönetebilirsiniz.
Birincil sunucuyu hazırlama
Birincil sunucunun
azure.replication_support
değerini denetleyin. Okuma amaçlı çoğaltmaların çalışması için en az ÇOĞALTMA olmalıdır.GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/configurations/azure.replication_support?api-version=2017-12-01
azure.replication_support
En az ÇOĞALTMA değilse ayarlayın.PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/configurations/azure.replication_support?api-version=2017-12-01
{ "properties": { "value": "replica" } }
Değişikliği uygulamak için sunucuyu yeniden başlatın.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/restart?api-version=2017-12-01
Okuma amaçlı çoğaltma oluşturma
Oluşturma API'sini kullanarak okuma amaçlı çoğaltma oluşturabilirsiniz:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{replicaName}?api-version=2017-12-01
{
"location": "southeastasia",
"properties": {
"createMode": "Replica",
"sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}"
}
}
Not
Hangi bölgelerde çoğaltma oluşturabileceğiniz hakkında daha fazla bilgi edinmek için çoğaltma kavramları makalesini okuyun.
Parametreyi azure.replication_support
Genel Amaçlı veya Bellek için İyileştirilmiş birincil sunucuda ÇOĞALTMA olarak ayarlamadıysanız ve sunucuyu yeniden başlattıysanız bir hata alırsınız. Çoğaltma oluşturmadan önce bu iki adımı tamamlayın.
Çoğaltma, birincil ile aynı işlem ve depolama ayarları kullanılarak oluşturulur. Çoğaltma oluşturulduktan sonra, birincil sunucudan bağımsız olarak çeşitli ayarlar değiştirilebilir: işlem oluşturma, sanal çekirdekler, depolama ve yedekleme saklama süresi. Fiyatlandırma katmanı, Temel katmana veya Temel katmandan bağımsız olarak da değiştirilebilir.
Önemli
Birincil sunucu ayarı yeni bir değere güncelleştirilmeden önce çoğaltma ayarını eşit veya daha büyük bir değere güncelleştirin. Bu eylem, çoğaltmanın birincilde yapılan değişiklikleri takip etmesine yardımcı olur.
Çoğaltmaları listeleme
Çoğaltma listesi API'sini kullanarak birincil sunucunun çoğaltma listesini görüntüleyebilirsiniz:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/Replicas?api-version=2017-12-01
Çoğaltma sunucusuna çoğaltmayı durdurma
Güncelleştirme API'sini kullanarak birincil sunucu ile okuma amaçlı çoğaltma arasında çoğaltmayı durdurabilirsiniz.
Birincil sunucuya ve okuma amaçlı çoğaltmaya çoğaltmayı durdurduktan sonra geri alınamaz. Okuma amaçlı çoğaltma, hem okuma hem de yazmaları destekleyen tek başına bir sunucuya dönüşür. Tek başına sunucu yeniden bir çoğaltmaya dönüştürülemez.
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{replicaServerName}?api-version=2017-12-01
{
"properties": {
"replicationRole":"None"
}
}
Birincil veya çoğaltma sunucusunu silme
Birincil veya çoğaltma sunucusunu silmek için delete API'sini kullanırsınız:
Birincil sunucuyu sildiğinizde, tüm okuma amaçlı çoğaltmalara çoğaltma durdurulur. Okuma çoğaltmaları artık hem okuma hem de yazmaları destekleyen tek başına sunucular haline gelir.
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}?api-version=2017-12-01
Sonraki adımlar
- PostgreSQL için Azure Veritabanı okuma çoğaltmaları hakkında daha fazla bilgi edinin.
- Azure portalında okuma amaçlı çoğaltmaları oluşturmayı ve yönetmeyi öğrenin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin