Azure CLı 'dan okuma çoğaltmaları oluşturun ve yönetin REST API

Bu makalede, Azure CLı ve REST API kullanarak PostgreSQL için Azure veritabanı 'nda okuma çoğaltmaları oluşturmayı ve yönetmeyi öğreneceksiniz. Okuma çoğaltmaları hakkında daha fazla bilgi edinmek için bkz. genel bakış.

Azure çoğaltma desteği

Okuma çoğaltmaları ve mantıksal kod çözme , bilgi Için doğrudan Postgres yazma günlüğüne (Wal) bağlıdır. Bu iki özellik, Postgres 'den farklı günlük düzeylerine sahip olmalıdır. Mantıksal kod çözme, okuma Çoğaltmalarından daha yüksek bir günlüğe kaydetme düzeyine sahip olmalıdır.

Doğru günlük kaydını 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ı -en az bilgiyi Wal 'e yerleştirir. Bu ayar, çoğu PostgreSQL için Azure veritabanı sunucuları üzerinde kullanılamaz.
  • Çoğaltma -daha ayrıntılı bir şekilde. Bu, okuma çoğaltmalarının çalışması için gereken en düşük günlüğe kaydetme düzeyidir. Bu ayar, çoğu sunucuda varsayılandır.
  • Çoğaltmadan daha ayrıntılı mantıksal . Bu, mantıksal kod çözmenin çalışması için en düşük günlük kayıt düzeyidir. Okuma çoğaltmaları bu ayarda de çalışır.

Not

Kalıcı ağır yazma yoğunluklu birincil iş yükleri için okuma çoğaltmaları dağıtıldığında, çoğaltma gecikmesi büyümeye devam edebilir ve hiçbir zaman birincil ile yakalayamayabilir. Bu durum, çoğaltma sırasında alınana kadar WAL dosyaları silinmediği için birincil sırada depolama kullanımını da artırabilir.

Azure CLI

Azure CLı kullanarak okuma çoğaltmaları oluşturabilir ve yönetebilirsiniz.

Önkoşullar

Birincil sunucuyu hazırlama

  1. Birincil sunucunun azure.replication_support değerini denetleyin. Okuma çoğaltmalarını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_supportEn 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 Replication Create komutu aşağıdaki parametreleri gerektirir:

Ayar Örnek değer Description
resource-group myresourcegroup Çoğaltma sunucusunun oluşturulacağı kaynak grubu.
name mydemoserver-çoğaltma Oluşturulan yeni çoğaltma sunucusunun adı.
source-server mydemoserver Çoğaltılacak mevcut birincil sunucunun adı veya kaynak KIMLIĞI. Çoğaltmanın ve ana sunucunun kaynak gruplarının farklı olmasını istiyorsanız kaynak KIMLIĞI ' ni kullanın.

Aşağıdaki CLı örneğinde, çoğaltma, ana öğe ile aynı bölgede oluşturulur.

az postgres server replica create --name mydemoserver-replica --source-server mydemoserver --resource-group myresourcegroup

Bir çapraz bölge okuma çoğaltması oluşturmak için --location parametresini kullanın. Aşağıdaki CLı örneği Batı ABD içinde çoğaltmayı oluşturur.

az postgres server replica create --name mydemoserver-replica --source-server mydemoserver --resource-group myresourcegroup --location westus

Not

İçinde bir çoğaltma oluşturabileceğiniz bölgeler hakkında daha fazla bilgi edinmek için çoğaltma kavramlarını oku makalesiniziyaret edin.

azure.replication_supportParametreyi genel amaçlı veya bellek Için iyileştirilmiş birincil sunucuda çoğaltma olarak ayarlamadıysanız ve sunucuyu yeniden başlattıktan sonra bir hata alırsınız. Bir çoğaltma oluşturmadan önce bu iki adımı uygulayın.

Önemli

Okuma çoğaltmasına genel bakış konusunun Konular bölümünügözden geçirin.

Birincil sunucu ayarı yeni bir değere güncellenmesinden önce, çoğaltma ayarını eşit veya daha büyük bir değere güncelleştirin. Bu eylem, çoğaltmanın ana üzerinde yapılan değişikliklerle devam etmesine yardımcı olur.

Çoğaltmaları Listele

Az Postgres Server Replication List komutunu kullanarak bir birincil sunucunun çoğaltmalarının listesini görüntüleyebilirsiniz.

az postgres server replica list --server-name mydemoserver --resource-group myresourcegroup 

Çoğaltma sunucusuna çoğaltmayı durdur

Az Postgres Server Replication stop komutunu kullanarak birincil sunucu ile okuma çoğaltması arasında çoğaltmayı durdurabilirsiniz.

Birincil sunucuya çoğaltmayı ve bir okuma çoğaltmasını durdurduktan sonra geri alınamaz. Okuma çoğaltması, hem okuma hem de yazma işlemlerini destekleyen tek başına bir sunucu haline gelir. Tek başına sunucu tekrar bir çoğaltmaya yapılamaz.

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ın.

Birincil sunucuyu sildiğinizde, tüm okuma çoğaltmalarına çoğaltma durdurulur. Okuma çoğaltmaları artık hem okuma hem de yazma işlemlerini destekleyen tek başına sunucular haline gelir.

az postgres server delete --name myserver --resource-group myresourcegroup

REST API

Azure REST APIkullanarak okuma çoğaltmaları oluşturabilir ve yönetebilirsiniz.

Birincil sunucuyu hazırlama

  1. Birincil sunucunun azure.replication_support değerini denetleyin. Okuma çoğaltmalarını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_supportEn 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 bir okuma çoğaltması 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

İçinde bir çoğaltma oluşturabileceğiniz bölgeler hakkında daha fazla bilgi edinmek için çoğaltma kavramlarını oku makalesiniziyaret edin.

azure.replication_supportParametreyi genel amaçlı veya bellek Için iyileştirilmiş birincil sunucuda çoğaltma olarak ayarlamadıysanız ve sunucuyu yeniden başlattıktan sonra bir hata alırsınız. Bir çoğaltma oluşturmadan önce bu iki adımı uygulayın.

Bir çoğaltma, ana öğe ile aynı işlem ve depolama ayarları kullanılarak oluşturulur. Bir çoğaltma oluşturulduktan sonra, bazı ayarlar birincil sunucudan bağımsız olarak değiştirilebilir: işlem oluşturma, sanal çekirdek, depolama ve yedekleme saklama süresi. Fiyatlandırma Katmanı, temel katmandan veya dışında bağımsız olarak da değiştirilebilir.

Önemli

Birincil sunucu ayarı yeni bir değere güncellenmesinden önce, çoğaltma ayarını eşit veya daha büyük bir değere güncelleştirin. Bu eylem, çoğaltmanın ana üzerinde yapılan değişikliklerle devam etmesine yardımcı olur.

Çoğaltmaları Listele

Çoğaltma LISTESI API'sini kullanarak bir birincil sunucunun çoğaltmalarının 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ı durdur

GÜNCELLEŞTIRME API'sini kullanarak birincil sunucu ile okuma çoğaltması arasında çoğaltmayı durdurabilirsiniz.

Birincil sunucuya çoğaltmayı ve bir okuma çoğaltmasını durdurduktan sonra geri alınamaz. Okuma çoğaltması, hem okuma hem de yazma işlemlerini destekleyen tek başına bir sunucu haline gelir. Tek başına sunucu tekrar bir çoğaltmaya yapılamaz.

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, SILME API'sini kullanın:

Birincil sunucuyu sildiğinizde, tüm okuma çoğaltmalarına çoğaltma durdurulur. Okuma çoğaltmaları artık hem okuma hem de yazma işlemlerini 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