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

Birincil sunucuyu hazırlama

  1. 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
    
  2. 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
    
  3. 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

  1. 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
    
  2. 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"
     }
    }
    
  3. 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.