Share via


자습서: Azure CLI를 사용하여 Azure VM의 SAP HANA 데이터베이스 관리

Azure CLI는 명령줄 또는 스크립트를 통해 Azure 리소스를 만들고 관리하는 데 사용됩니다. 이 설명서에서는 Azure VM에서 Azure CLI를 사용하여 백업된 SAP HANA 데이터베이스를 관리하는 방법을 자세히 설명합니다. Azure Portal에서 이 단계를 수행해도 됩니다.

Azure Cloud Shell을 사용하여 CLI 명령을 실행합니다.

이 자습서를 마치면 다음을 수행할 수 있습니다.

  • 백업 및 복원 작업 모니터링
  • SAP HANA 인스턴스에 추가된 새 데이터베이스 보호
  • 정책 변경
  • 데이터 삭제로
  • 보호 다시 시작

CLI를 사용하여 Azure에서 SAP HANA 데이터베이스 백업을 사용하여 SAP HANA 데이터베이스를 백업한 분들은 다음 리소스를 사용 중입니다.

  • saphanaResourceGroup이라는 이름의 리소스 그룹
  • saphanaVault라는 이름의 자격 증명 모음
  • VMAppContainer;Compute;saphanaResourceGroup;saphanaVM이라는 이름의 보호된 컨테이너
  • saphanadatabase;hxe;hxe이라는 이름의 백업된 데이터베이스/항목
  • westus2 Azure 지역의 리소스

Azure CLI를 사용하면 Azure Backup을 통해 백업되어 Azure VM에서 실행되고 있는 SAP HANA 데이터베이스를 간편하게 관리할 수 있습니다. 이 자습서에서는 각 관리 작업을 자세히 설명합니다.

참고 항목

지원되는 구성 및 시나리오에 대한 자세한 내용은 SAP HANA 백업 지원 매트릭스를 참조하세요.

백업 및 복원 작업 모니터링

완료된 작업 또는 현재 실행 중인 작업(백업 또는 복원)을 모니터링하려면 az backup job list cmdlet을 사용합니다. 또한 CLI를 사용하면 현재 실행 중인 작업을 일시 중단하거나 작업이 완료될 때까지 대기할 수 있습니다.

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

출력은 다음과 비슷할 것입니다.

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

정책 변경

SAP HANA 백업 구성을 기반으로 하는 정책을 변경하려면 az backup policy set cmdlet을 사용합니다. 이 cmdlet의 name 매개 변수는 우리가 정책을 변경하려는 백업 항목을 참조합니다. 이 자습서에서는 SAP HANA 데이터베이스 saphanadatabase;hxe;hxe의 정책을 새 정책 newsaphanaPolicy로 바꿀 것입니다. 새 정책은 az backup policy create cmdlet을 사용하여 만들 수 있습니다.

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

출력은 다음과 같습니다.

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

증분 백업 정책 만들기

증분 백업 정책을 만들려면 다음 매개 변수를 사용하여 az backup policy create 명령을 실행합니다.

  • --backup-management-type – Azure 워크로드
  • --workload-type - SAPHana
  • --name – 정책 이름
  • --policy - 일정 및 보존에 대한 적절한 세부 정보가 포함된 JSON 파일
  • --resource-group - 자격 증명 모음의 리소스 그룹
  • --vault-name – 자격 증명 모음의 이름

예시:

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

샘플 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"
} 

정책이 성공적으로 생성되면 명령을 실행하는 동안 매개 변수로 전달한 정책 JSON이 명령 출력에 표시됩니다.

정책의 다음 섹션을 수정하여 증분 백업에 대해 원하는 백업 빈도 및 보존 기간을 지정할 수 있습니다.

예시:

{
  "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
  }
}

예시:

토요일에만 증분 백업을 사용하도록 설정하고 60일 동안 보존하려면 정책을 다음과 같이 변경합니다.

  • retentionDuration 카운트를 60일로 업데이트
  • 토요일만 ScheduleRunDays로 지정
 {
  "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 인스턴스에 추가된 새 데이터베이스 보호

SAP HANA 인스턴스를 Recovery Services 자격 증명 모음에 등록하면 이 인스턴스의 모든 데이터베이스가 자동으로 검색됩니다.

그러나 나중에 SAP HANA 인스턴스에 새 데이터베이스를 추가할 때는 az backup protectable-item initialize cmdlet을 사용합니다. 이 cmdlet은 추가된 새 데이터베이스를 검색합니다.

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

그 후 az backup protectable-item list cmdlet을 사용하여 SAP HANA 인스턴스에서 검색된 모든 데이터베이스를 나열합니다. 하지만 백업이 이미 구성된 데이터베이스는 이 목록에서 제외됩니다. 백업할 데이터베이스가 검색된 후에는 SAP HANA 데이터베이스에 백업 사용을 참조하세요.

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

백업하려는 새 데이터베이스는 다음과 비슷한 이 목록에 표시됩니다.

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 데이터베이스 보호 중지

다음과 같은 몇 가지 방법으로 SAP HANA 데이터베이스 보호를 중지할 수 있습니다.

  • 미래의 모든 백업 작업을 중지하고 모든 복구 지점을 {b>삭제.
  • 미래의 모든 백업 작업을 중지하고 복구 지점을 원래 상태로 유지

복구 지점을 그대로 두기로 선택하는 경우 다음 세부 정보를 염두에 두어야 합니다.

  • 모든 복구 지점은 영구적으로 유지되고, 모든 정리는 데이터 보관을 통해 보호 중지에서 중지됩니다.
  • 보호된 인스턴스와 사용한 스토리지 요금이 청구됩니다.
  • 백업을 중지하지 않고 데이터 원본을 삭제하면 새 백업이 실패합니다.

보호를 중지하는 각 방법을 좀 더 자세히 살펴보겠습니다.

데이터 보관을 통해 보호 중지

데이터 보관을 통해 보호를 중지하려면 az backup protection disable cmdlet을 사용합니다.

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

출력은 다음과 같습니다.

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

이 작업의 상태를 확인하려면 az backup job show cmdlet을 사용합니다.

데이터 보관 없이 보호 중지

데이터 보관 없이 보호를 중지하려면 az backup protection disable cmdlet을 사용합니다.

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

출력은 다음과 같습니다.

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

이 작업의 상태를 확인하려면 az backup job show cmdlet을 사용합니다.

보호 다시 시작

데이터 보관을 통해 SAP HANA 데이터베이스에 대한 보호를 중지하는 경우 나중에 보호를 다시 시작할 수 있습니다. 백업된 데이터를 보관하지 않으면 보호를 다시 시작할 수 없습니다.

보호를 다시 시작하려면 az backup protection resume cmdlet을 사용합니다.

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

출력은 다음과 같습니다.

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

이 작업의 상태를 확인하려면 az backup job show cmdlet을 사용합니다.

다음 단계