Aracılığıyla paylaş


Öğretici: Azure CLI kullanarak Azure VM'deki SAP HANA veritabanlarını yönetme

Azure CLI, Komut Satırı'ndan veya betikler aracılığıyla Azure kaynakları oluşturmak ve yönetmek için kullanılır. Bu belgede, Azure CLI kullanarak Azure VM'de yedeklenmiş sap HANA veritabanının nasıl yönetileceğinin ayrıntıları açıklanır. Bu adımları Azure portal kullanarak da gerçekleştirebilirsiniz.

CLI komutlarını çalıştırmak için Azure Cloud Shell kullanın.

Bu öğreticinin sonunda şunları yapabileceksiniz:

  • Yedekleme ve geri yükleme işlerini izleme
  • SAP HANA örneğine eklenen yeni veritabanlarını koruma
  • İlkeyi değiştirme
  • Korumayı durdurma
  • Korumayı sürdürme

SAP HANA veritabanınızı yedeklemek için CLI kullanarak Azure'da SAP HANA veritabanını yedekleme seçeneğini kullandıysanız aşağıdaki kaynakları kullanıyorsunuz demektir:

  • saphanaResourceGroup adlı bir kaynak grubu
  • saphanaVault adlı bir kasa
  • VMAppContainer adlı korumalı kapsayıcı; İşlem;saphanaResourceGroup;saphanaVM
  • yedeklenen veritabanı/saphanadatabase;hxe;hxe adlı öğe
  • westus2 bölgesindeki kaynaklar

Azure CLI, Azure Backup kullanılarak yedeklenen bir Azure VM üzerinde çalışan SAP HANA veritabanını yönetmeyi kolaylaştırır. Bu öğretici, yönetim işlemlerinin her birini ayrıntılı olarak açıklar.

Not

Desteklenen yapılandırmalar ve senaryolar hakkında daha fazla bilgi edinmek için SAP HANA yedekleme destek matrisine bakın.

Yedekleme ve geri yükleme işlerini izleme

Tamamlanan veya çalışmakta olan işleri (yedekleme veya geri yükleme) izlemek için az backup job list cmdlet'ini kullanın. CLI, çalışmakta olan bir işi askıya almanızı veya bir iş tamamlanana kadar beklemenizi de sağlar.

az backup job list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --output table

Çıkış şuna benzer olacaktır:

Name                                  Operation              Status      Item Name       Start Time UTC
------------------------------------  ---------------        ---------   ----------      -------------------  
e0f15dae-7cac-4475-a833-f52c50e5b6c3  ConfigureBackup        Completed   hxe             2019-12-03T03:09:210831+00:00  
ccdb4dce-8b15-47c5-8c46-b0985352238f  Backup (Full)          Completed   hxe [hxehost]   2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282  Backup (Differential)  Completed   hxe [hxehost]   2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813  Restore (Log)          Completed   hxe [hxehost]   2019-12-03T05:44:51.081607+00:00

İlkeyi değiştirme

SAP HANA yedekleme yapılandırmasını temel alan ilkeyi değiştirmek için az backup policy set cmdlet'ini kullanın. Bu cmdlet'teki ad parametresi, ilkesini değiştirmek istediğimiz yedekleme öğesine başvurur. Bu öğreticide SAP HANA veritabanı saphanadatabase;hxe;hxe ilkemizi yeni bir newsaphanaPolicy ilkesiyle değiştireceğiz. Yeni ilkeler az backup policy create cmdlet'i kullanılarak oluşturulabilir.

az backup item set policy --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --policy-name newsaphanaPolicy \
    --name saphanadatabase;hxe;hxe \

Çıkış şu şekilde görünmelidir:

Name                                  Resource Group
------------------------------------- --------------
cb110094-9b15-4c55-ad45-6899200eb8dd  SAPHANA

Artımlı yedekleme ilkesi oluşturma

Artımlı yedekleme ilkesi oluşturmak için az backup policy create komutunu aşağıdaki parametrelerle yürütür:

  • --backup-management-type – Azure İş Yükü
  • --workload-type - SAPHana
  • --name – İlkenin adı
  • --policy - Zamanlama ve saklama için uygun ayrıntıları içeren JSON dosyası
  • --resource-group - Kasanın kaynak grubu
  • --vault-name – Kasanın adı

Örnek:

az backup policy create --resource-group saphanaResourceGroup --vault-name saphanaVault --name sappolicy --backup-management-type AzureWorkload --policy sappolicy.json --workload-type SAPHana

Örnek JSON (sappolicy.json):

  "eTag": null,
  "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/saphanaResourceGroup/providers/Microsoft.RecoveryServices/vaults/saphanaVault/backupPolicies/sappolicy",
  "location": null,
  "name": "sappolicy",
  "properties": {
    "backupManagementType": "AzureWorkload",
    "makePolicyConsistent": null,
    "protectedItemsCount": 0,
    "settings": {
      "isCompression": false,
      "issqlcompression": false,
      "timeZone": "UTC"
    },
    "subProtectionPolicy": [
      {
        "policyType": "Full",
        "retentionPolicy": {
          "dailySchedule": null,
          "monthlySchedule": {
            "retentionDuration": {
              "count": 60,
              "durationType": "Months"
            },
            "retentionScheduleDaily": null,
            "retentionScheduleFormatType": "Weekly",
            "retentionScheduleWeekly": {
              "daysOfTheWeek": [
                "Sunday"
              ],
              "weeksOfTheMonth": [
                "First"
              ]
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          },
          "retentionPolicyType": "LongTermRetentionPolicy",
          "weeklySchedule": {
            "daysOfTheWeek": [
              "Sunday"
            ],
            "retentionDuration": {
              "count": 104,
              "durationType": "Weeks"
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          },
          "yearlySchedule": {
            "monthsOfYear": [
              "January"
            ],
            "retentionDuration": {
              "count": 10,
              "durationType": "Years"
            },
            "retentionScheduleDaily": null,
            "retentionScheduleFormatType": "Weekly",
            "retentionScheduleWeekly": {
              "daysOfTheWeek": [
                "Sunday"
              ],
              "weeksOfTheMonth": [
                "First"
              ]
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          }
        },
        "schedulePolicy": {
          "schedulePolicyType": "SimpleSchedulePolicy",
          "scheduleRunDays": [
            "Sunday"
          ],
          "scheduleRunFrequency": "Weekly",
          "scheduleRunTimes": [
            "2021-01-19T00:30:00+00:00"
          ],
          "scheduleWeeklyFrequency": 0
        }
      },
      {
        "policyType": "Incremental",
        "retentionPolicy": {
          "retentionDuration": {
            "count": 30,
            "durationType": "Days"
          },
          "retentionPolicyType": "SimpleRetentionPolicy"
        },
        "schedulePolicy": {
          "schedulePolicyType": "SimpleSchedulePolicy",
          "scheduleRunDays": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "scheduleRunFrequency": "Weekly",
          "scheduleRunTimes": [
            "2017-03-07T02:00:00+00:00"
          ],
          "scheduleWeeklyFrequency": 0
        }
      },
      {
        "policyType": "Log",
        "retentionPolicy": {
          "retentionDuration": {
            "count": 15,
            "durationType": "Days"
          },
          "retentionPolicyType": "SimpleRetentionPolicy"
        },
        "schedulePolicy": {
          "scheduleFrequencyInMins": 120,
          "schedulePolicyType": "LogSchedulePolicy"
        }
      }
    ],
    "workLoadType": "SAPHanaDatabase"
  },
  "resourceGroup": "saphanaResourceGroup",
  "tags": null,
  "type": "Microsoft.RecoveryServices/vaults/backupPolicies"
} 

İlke başarıyla oluşturulduktan sonra komutun çıktısı, komutu yürütürken parametre olarak iletmiş olduğunuz ilke JSON'unu görüntüler.

Artımlı yedeklemeler için istenen yedekleme sıklığını ve saklamayı belirtmek üzere ilkenin aşağıdaki bölümünü değiştirebilirsiniz.

Örnek:

{
  "policyType": "Incremental",
  "retentionPolicy": {
    "retentionDuration": {
      "count": 30,
      "durationType": "Days"
    },
    "retentionPolicyType": "SimpleRetentionPolicy"
  },
  "schedulePolicy": {
    "schedulePolicyType": "SimpleSchedulePolicy",
    "scheduleRunDays": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday",
      "Saturday"
    ],
    "scheduleRunFrequency": "Weekly",
    "scheduleRunTimes": [
      "2017-03-07T02:00:00+00:00"
    ],
    "scheduleWeeklyFrequency": 0
  }
}

Örnek:

Artımlı yedeklemelerin yalnızca Cumartesi günü olmasını ve 60 gün boyunca saklanmasını istiyorsanız, ilkede aşağıdaki değişiklikleri yapın:

  • Saklamayı güncelleştirmeDuration count to 60 days
  • ScheduleRunDays olarak yalnızca Cumartesi değerini belirtin
 {
  "policyType": "Incremental",
  "retentionPolicy": {
    "retentionDuration": {
      "count": 60,
      "durationType": "Days"
    },
    "retentionPolicyType": "SimpleRetentionPolicy"
  },
  "schedulePolicy": {
    "schedulePolicyType": "SimpleSchedulePolicy",
    "scheduleRunDays": [
      "Saturday"
    ],
    "scheduleRunFrequency": "Weekly",
    "scheduleRunTimes": [
      "2017-03-07T02:00:00+00:00"
    ],
    "scheduleWeeklyFrequency": 0
  }
}

SAP HANA örneğine eklenen yeni veritabanlarını koruma

Bir SAP HANA örneğinin Kurtarma Hizmetleri kasasına kaydedilmesi , bu örnekteki tüm veritabanlarını otomatik olarak bulur.

Ancak, SAP HANA örneğine daha sonra yeni veritabanları eklendiğinde az backup protectable-item initialize cmdlet'ini kullanın. Bu cmdlet eklenen yeni veritabanlarını bulur.

az backup protectable-item initialize --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --workload-type SAPHANA

Ardından az backup protectable-item list cmdlet'ini kullanarak SAP HANA örneğinizde bulunan tüm veritabanlarını listeleyin. Ancak bu liste, yedeklemenin zaten yapılandırılmış olduğu veritabanlarını dışlar. Yedeklenecek veritabanı bulunduktan sonra SAP HANA veritabanında yedeklemeyi etkinleştirme konusuna bakın.

az backup protectable-item list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --workload-type SAPHANA \
    --output table

Yedeklemek istediğiniz yeni veritabanı aşağıdaki gibi görünecektir:

Name                            Protectable Item Type    ParentName    ServerName    IsProtected
---------------------------     ----------------------   ------------  -----------   ------------
saphanasystem;hxe               SAPHanaSystem            HXE           hxehost       NotProtected  
saphanadatabase;hxe;systemdb    SAPHanaDatabase          HXE           hxehost       NotProtected
saphanadatabase;hxe;newhxe      SAPHanaDatabase          HXE           hxehost       NotProtected

SAP HANA veritabanı için korumayı durdurma

SAP HANA veritabanını korumayı birkaç yolla durdurabilirsiniz:

  • Gelecekteki tüm yedekleme işlerini durdurun ve tüm kurtarma noktalarını silin.
  • Gelecekteki tüm yedekleme işlerini durdurun ve kurtarma noktalarını olduğu gibi bırakın.

Kurtarma noktalarından ayrılmayı seçerseniz şu ayrıntıları göz önünde bulundurun:

  • Tüm kurtarma noktaları sonsuza kadar olduğu gibi kalır ve verileri koruyarak tüm ayıklamalar korumayı durdurur.
  • Korumalı örnek ve kullanılan depolama alanı için ücretlendirilirsiniz.
  • Yedeklemeleri durdurmadan bir veri kaynağını silerseniz yeni yedeklemeler başarısız olur.

Şimdi korumayı durdurmanın her bir yolunu daha ayrıntılı olarak inceleyelim.

Verileri bekleterek korumayı durdurun

Verileri tutarak korumayı durdurmak için az backup protection disable cmdlet'ini kullanın.

az backup protection disable --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --workload-type SAPHANA \
    --output table

Çıkış şu şekilde görünmelidir:

Name                                  ResourceGroup
------------------------------------  ---------------  
g0f15dae-7cac-4475-d833-f52c50e5b6c3  saphanaResourceGroup

Bu işlemin durumunu denetlemek için az backup job show cmdlet'ini kullanın.

Verileri saklamadan korumayı durdurma

Verileri saklamadan korumayı durdurmak için az backup protection disable cmdlet'ini kullanın.

az backup protection disable --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --workload-type SAPHANA \
    --delete-backup-data true \
    --output table

Çıkış şu şekilde görünmelidir:

Name                                  ResourceGroup
------------------------------------  ---------------  
g0f15dae-7cac-4475-d833-f52c50e5b6c3  saphanaResourceGroup

Bu işlemin durumunu denetlemek için az backup job show cmdlet'ini kullanın.

Korumayı sürdürme

Verileri tutarak SAP HANA veritabanı için korumayı durdurduğunuzda, daha sonra korumayı sürdürebilirsiniz. Yedeklenen verileri saklamazsanız korumayı sürdüremezsiniz.

Korumayı sürdürmek için az backup protection resume cmdlet'ini kullanın.

az backup protection resume --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --policy-name saphanaPolicy \
    --output table

Çıkış şu şekilde görünmelidir:

Name                                  ResourceGroup
------------------------------------  ---------------  
b2a7f108-1020-4529-870f-6c4c43e2bb9e  saphanaResourceGroup

Bu işlemin durumunu denetlemek için az backup job show cmdlet'ini kullanın.

Sonraki adımlar