Aracılığıyla paylaş


Azure Uygulaması Tutarlı Anlık Görüntü aracını kullanmaya yönelik İpuçları ve püf noktaları

Bu makalede AzAcSnap kullanırken yararlı olabilecek ipuçları ve püf noktaları sağlanır.

Azacsnap davranışını denetlemek için genel geçersiz kılma ayarları

AzAcSnap 8, azacsnap yürütülürken aynı (geçerli çalışma) dizininde bulunması gereken yeni bir genel ayarlar dosyası (.azacsnaprc) kullanıma sunulmuştur. Dosya adı, .azacsnaprc dosya adının başlangıcının standart dizin listelerine gizlenmesini sağladığından ve noktalı '.' karakteri kullanılarak kullanılır. Dosya, AzAcSnap davranışını denetleen genel ayarların ayarlanmasına izin verir. Biçim, desteklenen bir özelleştirme değişkeni ve yeni bir geçersiz kılma değeri olan satır başına bir girdidir.

Ayarlar, genel geçersiz kılma ayarları dosyası eklenerek/düzenlenerek veya ortam değişkenleri olarak ayarlanarak denetlenebilir:

  • MAINLOG_LOCATION" adlı ve AzAcSnap 8'de tanıtılan "main-log" çıkış dosyasının azacsnap.log konumunu özelleştirir. Değerler mutlak yollar ve varsayılan değer = '.' olmalıdır. (geçerli çalışma dizinidir). Örneğin, "main-log" çıkış dosyasının /home/azacsnap/bin/logs dosyasına aşağıdakini eklediğinizden .azacsnaprc emin olmak için:
    • MAINLOG_LOCATION=/home/azacsnap/bin/logs
  • AzAcSnap'ın Azure REST API çağrıları yapacağı Azure Yönetim Uç Noktasının konumunu özelleştirmek AZURE_MANAGEMENT_ENDPOINT AzAcSnap 9a'da kullanıma sunulmuştur. Değerler URL yolları ve varsayılan değer = 'https://management.azure.com' olmalıdır. Örneğin, tüm yönetim çağrılarının ABD Govt Bulutu için Azure Yönetim Uç Noktası'na (başvuru: geliştiriciler için Azure Kamu Kılavuzu) gitmesini sağlamak üzere AzAcSnap'ı yapılandırmak için dosyaya .azacsnaprc aşağıdakileri ekleyin:
    • AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net

Not

AzAcSnap 9a itibarıyla tüm bu değerler, dosya yerine .azacsnaprc komut satırı ortam değişkenleri olarak da ayarlanabilir. Örneğin, Linux'ta AZURE_MANAGEMENT_ENDPOINT AzAcSnap çalıştırılmadan önce ile export AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net ayarlanabilir.

Ana günlük ayrıştırma

AzAcSnap 8, AzAcSnap çalıştırmalarının daha basit ayrıştırılması için yeni bir "ana günlük" tanıttı. Bu dosyanın ilham kaynağı, AzAcSnap'ın ne zaman başlatıldığını, ne kadar sürdüğünü ve anlık görüntü adının ne olduğunu gösteren SAP HANA yedekleme kataloğudur. AzAcSnap ile bu fikir, azAcSnap komutlarının her birine, özellikle -c seçeneklere ilişkin bilgileri eklemek üzere daha fazla ele alınmıştır ve dosya aşağıdaki üst bilgilere sahiptir:

DATE_TIME,OPERATION_NAME,STATUS,SID,DATABASE_TYPE,DURATION,SNAPSHOT_NAME,AZACSNAP_VERSION,AZACSNAP_CONFIG_FILE,VOLUME

AzAcSnap çalıştırıldığında, kullanılan komuta bağlı -c olarak günlüğe uygun bilgileri ekler, çıktı örnekleri aşağıdaki gibidir:

2023-03-29T16:10:57.8643546+13:00,about,started,,,,,8,azacsnap.json,
2023-03-29T16:10:57.8782148+13:00,about,SUCCESS,,,0:00:00.0258013,,8,azacsnap.json,
2023-03-29T16:11:55.7276719+13:00,backup,started,PR1,Hana,,pr1_hourly__F47B181A117,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;
2023-03-29T16:13:03.3774633+13:00,backup,SUCCESS,PR1,Hana,0:01:07.7558663,pr1_hourly__F47B181A117,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;
2023-03-29T16:13:30.1312963+13:00,details,started,PR1,Hana,,,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;(other)HANALOGBACKUP_P;
2023-03-29T16:13:33.1806098+13:00,details,SUCCESS,PR1,Hana,0:00:03.1380686,,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;(other)HANALOGBACKUP_P;

Bu biçim, AzAcSnap yedeklemelerinin sürekli güncelleştirmelerini almak için dosyanın Linux komutları watch, grep, head, tailve column ile ayrıştırılmasını sağlar. AzAcSnap'ı izlemek için tek kabuklu betikteki bu komutların örnek bir bileşimi aşağıda verilmiştir:

#!/bin/bash
#
# mainlog-watcher.sh
# Monitor execution of AzAcSnap backup commands
#
# These values can be modified as appropriate.
# Mainlog header fields:
#       1. DATE_TIME,
#       2. OPERATION_NAME,
#       3. STATUS,
#       4. SID,
#       5. DATABASE_TYPE,
#       6. DURATION,
#       7. SNAPSHOT_NAME,
#       8. AZACSNAP_VERSION,
#       9. AZACSNAP_CONFIG_FILE,
#       10. VOLUME
FIELDS_TO_INCLUDE="1,2,3,5,4,6,7"
SCREEN_REFRESH_SECS=2
#
# Use AzAcSnap global settings file (.azacsnaprc) if available,
# otherwise use the default location of the current working directory.
AZACSNAP_RC=".azacsnaprc"
if [ -f ${AZACSNAP_RC} ]; then
    source ${AZACSNAP_RC} 2> /dev/null
else
    MAINLOG_LOCATION="."
fi
cd ${MAINLOG_LOCATION}
echo "Changing current working directory to ${MAINLOG_LOCATION}"
#
# Default MAINLOG filename.
HOSTNAME=$(hostname)
MAINLOG_FILENAME="azacsnap.log"
#
# High-level explanation of how commands used.
# `watch` - continuously monitoring the command output.
# `grep` - filter only backup runs.
# `head` and `tail` - add/remove column headers.
# `sed` to remove millisecs from date.
# `awk` format output for `column`.
# `column` - provide pretty output.
FIELDS_FOR_AWK=$(echo "${FIELDS_TO_INCLUDE}" | sed 's/^/\\\$/g' | sed 's/,/,\\\$/g')
PRINTOUT="{OFS=\\\",\\\";print ${FIELDS_FOR_AWK}}"
#
echo -n "Parsing '${MAINLOG_FILENAME}' for field #s ${FIELDS_TO_INCLUDE} = "
bash -c "cat ${MAINLOG_FILENAME} | grep -e \"DATE\" | head -n1 -  | awk -F\",\" \"${PRINTOUT}\" "
#
watch -t -n ${SCREEN_REFRESH_SECS} \
  "\
  echo -n \"Monitoring AzAcSnap on '${HOSTNAME}' @ \" ; \
  date ; \
  echo ; \
  cat ${MAINLOG_FILENAME} \
    | grep -e \"DATE\" -e \",backup,\" \
    | ( sleep 1; head -n1 - ; sleep 1; tail -n+2 - | tail -n20 \
      | sed 's/\(:[0-9][0-9]\)\.[0-9]\{7\}/\1/' ; sleep 1 ) \
    | awk -F\",\" \"${PRINTOUT}\" \
    | column -s\",\" -t \
  "
exit 0

her iki saniyede bir yenilenen aşağıdaki çıkışı üretir.

Monitoring AzAcSnap on 'azacsnap' @ Thu Sep 21 11:27:40 NZST 2023

DATE_TIME                  OPERATION_NAME  STATUS   DATABASE_TYPE  SID       DURATION         SNAPSHOT_NAME
2023-09-21T07:00:02+12:00  backup          started  Oracle         ORATEST1                   all-volumes__F6B07A2D77A
2023-09-21T07:02:10+12:00  backup          SUCCESS  Oracle         ORATEST1  0:02:08.0338537  all-volumes__F6B07A2D77A
2023-09-21T08:00:03+12:00  backup          started  Oracle         ORATEST1                   all-volumes__F6B09C83210
2023-09-21T08:02:12+12:00  backup          SUCCESS  Oracle         ORATEST1  0:02:09.9954439  all-volumes__F6B09C83210
2023-09-21T09:00:03+12:00  backup          started  Oracle         ORATEST1                   all-volumes__F6B0BED814B
2023-09-21T09:00:03+12:00  backup          started  Hana           PR1                        pr1_hourly__F6B0BED817F
2023-09-21T09:01:10+12:00  backup          SUCCESS  Hana           PR1       0:01:07.8575664  pr1_hourly__F6B0BED817F
2023-09-21T09:02:12+12:00  backup          SUCCESS  Oracle         ORATEST1  0:02:09.4572157  all-volumes__F6B0BED814B

Hizmet sorumlusu izinlerini sınırlama

AzAcSnap hizmet sorumlusunun kapsamını sınırlamak gerekebilir. Azure kaynaklarının ayrıntılı erişim yönetimi hakkında daha ayrıntılı bilgi için Azure RBAC belgelerini gözden geçirin.

Aşağıda AzAcSnap'ın çalışması için gereken en düşük eylemleri içeren örnek bir rol tanımı verilmiştir.

az role definition create --role-definition '{ \
  "Name": "Azure Application Consistent Snapshot tool", \
  "IsCustom": "true", \
  "Description": "Perform snapshots on ANF volumes.", \
  "Actions": [ \
    "Microsoft.NetApp/*/read", \
    "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write", \
    "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete" \
  ], \
  "NotActions": [], \
  "DataActions": [], \
  "NotDataActions": [], \
  "AssignableScopes": ["/subscriptions/<insert your subscription id>"] \
}'

Geri yükleme seçeneklerinin başarıyla çalışması için AzAcSnap hizmet sorumlusunun da birimler oluşturabilmesi gerekir. Bu durumda rol tanımının ek bir "Actions" yan tümcesi eklenmesi gerekir, bu nedenle tam hizmet sorumlusu aşağıdaki örnekteki gibi görünmelidir.

az role definition create --role-definition '{ \
  "Name": "Azure Application Consistent Snapshot tool", \
  "IsCustom": "true", \
  "Description": "Perform snapshots and restores on ANF volumes.", \
  "Actions": [ \
    "Microsoft.NetApp/*/read", \
    "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write", \
    "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete", \
    "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/write" \
  ], \
  "NotActions": [], \
  "DataActions": [], \
  "NotDataActions": [], \
  "AssignableScopes": ["/subscriptions/<insert your subscription id>"] \
}'

Anlık görüntüleri el ile alma

Yedekleme komutlarını (azacsnap -c backup ) yürütmeden önce, test komutlarını çalıştırarak yapılandırmayı denetleyin ve başarıyla yürütüldüklerini doğrulayın. Bu testlerin doğru yürütülmesi, yüklü SAP HANA veritabanıyla ve Azure Büyük Örnek veya Azure NetApp Files sistemindeki SAP HANA'nın temel depolama sistemiyle iletişim kurabildiğini kanıtladı azacsnap.

  • azacsnap -c test --test hana
  • azacsnap -c test --test storage

Ardından el ile veritabanı anlık görüntüsü yedeklemesi almak için aşağıdaki komutu çalıştırın:

azacsnap -c backup --volume data --prefix hana_TEST --retention=1

Otomatik anlık görüntü yedeklemeyi ayarlama

Unix/Linux sistemlerinde sistem üzerinde çalışan komutları otomatikleştirmek için kullanılması cron yaygın bir uygulamadır. Anlık görüntü araçları için standart uygulama, kullanıcının 'ini crontabayarlamaktır.

Kullanıcının azacsnap anlık görüntüleri otomatikleştirmesine yönelik bir crontab örnek aşağıda verilmiştir.

MAILTO=""
# =============== TEST snapshot schedule ===============
# Data Volume Snapshots - taken every hour.
@hourly (. /home/azacsnap/.profile ; cd /home/azacsnap/bin ; azacsnap -c backup --volume data --prefix hana_TEST --retention=9)
# Other Volume Snapshots - taken every 5 minutes, excluding the top of the hour when hana snapshots taken
5,10,15,20,25,30,35,40,45,50,55 * * * * (. /home/azacsnap/.profile ; cd /home/azacsnap/bin ; azacsnap -c backup --volume other --prefix logs_TEST --retention=9)
# Other Volume Snapshots - using an alternate config file to snapshot the boot volume daily.
@daily (. /home/azacsnap/.profile ; cd /home/azacsnap/bin ; azacsnap -c backup --volume other --prefix DailyBootVol --retention=7 --configfile boot-vol.json)

Yukarıdaki crontab'ın açıklaması.

  • MAILTO="": boş bir değere sahip olması, crontab girdisini yürütürken cronn'un otomatik olarak yerel Linux kullanıcısına e-posta göndermeye çalışmasını engeller.
  • Crontab girdileri için zamanlamanın kısaltma sürümleri açıklayıcıdır:
    • @monthly = Ayda bir kez çalıştır, yani "0 0 1 * *".
    • @weekly = Haftada bir kez çalıştır, yani "0 0 * * 0".
    • @daily = Günde bir kez çalıştır, yani "0 0 * * *".
    • @hourly = Saatte bir çalıştır, yani "0 * * * *".
  • İlk beş sütun zamanları tanımlamak için kullanılır, aşağıdaki sütun örneklerine bakın:
    • 0,15,30,45: 15 dakikada bir
    • 0-23: Saatte bir
    • * :Her gün
    • * : Her ay
    • * : Haftanın her günü
  • "()" köşeli ayraçlarına dahil edilen yürütülecek komut satırı
    • . /home/azacsnap/.profile = $PATH gibi ortamlarını ayarlamak için kullanıcının .profile dosyasını çekin.
    • cd /home/azacsnap/bin = yürütme dizinini yapılandırma dosyalarının bulunduğu "/home/azacsnap/bin" konumuna değiştirin.
    • azacsnap -c ..... = tüm seçenekler dahil olmak üzere çalıştırılacak tam azacsnap komutu.

Cron ve crontab dosyasının biçimi hakkında daha fazla bilgi için bkz . cron.

Not

Kullanıcılar, anlık görüntülerin başarıyla oluşturulduğundan emin olmak için cron işlerini izlemekle sorumludur.

AzAcSnap günlük dosyalarını yönetme

AzAcSnap, hata ayıklamaya yardımcı olmak ve doğru işlemi doğrulamak için işlemlerinin çıkışını günlük dosyalarına yazar. Bu günlük dosyaları etkin olarak yönetilmediği sürece büyümeye devam ediyor. Neyse ki UNIX tabanlı sistemlerin logrotate adlı günlük dosyalarını yönetmek ve arşivlemek için bir aracı vardır.

Aşağıdaki çıkış logrotate için örnek bir yapılandırma sağlar. Bu yapılandırma en fazla 31 günlük tutar (yaklaşık bir ay) ve günlük dosyaları 10 binden büyük olduğunda, dosya adına eklenen bir sayı ile yeniden adlandırarak bunları döndürür ve sıkıştırır.

# azacsnap logrotate configuration file
compress

~/bin/azacsnap*.log {
    rotate 31
    size 10k
}

logrotate.conf Dosya oluşturulduktan sonra, logrotate azAcSnap günlük dosyalarını uygun şekilde arşivlemesi için komutu düzenli olarak çalıştırılmalıdır. Komutu otomatikleştirme logrotate işlemi cron kullanılarak yapılabilir. Aşağıdaki çıktı azacsnap kullanıcısının crontab'ının bir satırıdır; bu örnek yapılandırma dosyasını ~/logrotate.confkullanarak günlük logrotate çalıştırır.

@daily /usr/sbin/logrotate -s ~/logrotate.state ~/logrotate.conf >> ~/logrotate.log

Not

Yukarıdaki örnekte logrotate.conf dosyası kullanıcının giriş (~) dizinindedir.

Birkaç gün sonra azacsnap günlük dosyaları aşağıdaki dizin listesine benzer görünmelidir.

ls -ltra ~/bin/logs
-rw-r--r-- 1 azacsnap users 127431 Mar 14 23:56 azacsnap-backup-azacsnap.log.6.gz
-rw-r--r-- 1 azacsnap users 128379 Mar 15 23:56 azacsnap-backup-azacsnap.log.5.gz
-rw-r--r-- 1 azacsnap users 129272 Mar 16 23:56 azacsnap-backup-azacsnap.log.4.gz
-rw-r--r-- 1 azacsnap users 128010 Mar 17 23:56 azacsnap-backup-azacsnap.log.3.gz
-rw-r--r-- 1 azacsnap users 128947 Mar 18 23:56 azacsnap-backup-azacsnap.log.2.gz
-rw-r--r-- 1 azacsnap users 128971 Mar 19 23:56 azacsnap-backup-azacsnap.log.1.gz
-rw-r--r-- 1 azacsnap users 167921 Mar 20 01:21 azacsnap-backup-azacsnap.log

Anlık görüntüleri izleme

İyi durumda bir sistem sağlamak için aşağıdaki koşullar izlenmelidir:

  1. Kullanılabilir disk alanı. Eski disk bloklarının anlık görüntüde tutulmasından, anlık görüntüler blok düzeyindeki değişiklik hızına göre disk alanını yavaş yavaş tüketir.
    1. Disk alanı yönetimini otomatikleştirmeye yardımcı olmak için ve --trim seçeneklerini kullanarak --retention eski anlık görüntüleri ve veritabanı günlük dosyalarını otomatik olarak temizleyin.
  2. Anlık görüntü araçlarının başarıyla yürütülmesi
    1. dosyasının *.result en son çalıştırmasının başarılı veya başarısız olup azacsnapolmadığını denetleyin.
    2. komutundan çıktı olup azacsnap olmadığını denetleyin/var/log/messages.
  3. Anlık görüntüleri düzenli aralıklarla başka bir sisteme geri yükleyerek tutarlılık.

Not

Anlık görüntü ayrıntılarını listelemek için komutunu azacsnap -c detailsyürütür.

Anlık görüntüyü silme

Anlık görüntüyü silmek için komutunu azacsnap -c deletekullanın. Anlık görüntüleri işletim sistemi düzeyinden silmek mümkün değildir. Depolama anlık görüntülerini silmek için doğru komutu (azacsnap -c delete) kullanmanız gerekir.

Önemli

Anlık görüntüyü silerken dikkatli olun. Silindikten sonra silinen anlık görüntülerin kurtarılması MÜMKÜN OLMAZ .

Anlık görüntüyü geri yükleme

Depolama birimi anlık görüntüsü yeni bir birime (-c restore --restore snaptovol ) geri yüklenebilir. Azure Büyük Örnek için birim bir anlık görüntüye (-c restore --restore revertvolume ) geri döndürülebilir.

Not

Veritabanı kurtarma komutu sağlanmadı.

Bir anlık görüntü SAP HANA veri alanına geri kopyalanabilir, ancak bir kopya () oluşturulurkencp /hana/data/H80/mnt00001/.snapshot/hana_hourly.2020-06-17T113043.1586971Z/* SAP HANA çalışmamalıdır.

Azure Büyük Örneği için, mevcut kullanılabilir anlık görüntülerden istenen anlık görüntüyü geri yüklemek için bir hizmet isteği açarak Microsoft operasyon ekibine başvurabilirsiniz. Azure portalı aracılığıyla bir hizmet isteği açabilirsiniz.

Olağanüstü durum kurtarma yük devretmesini gerçekleştirmeye karar verirseniz, azacsnap -c restore --restore revertvolume DR sitesindeki komut otomatik olarak en son (/hana/data ve /hana/logbackups) birim anlık görüntülerini kullanarak SAP HANA kurtarmasına olanak sağlar. Üretim ve DR siteleri arasındaki çoğaltmayı keserken bu komutu dikkatli kullanın.

Yalnızca 'önyükleme' birimleri için anlık görüntüleri ayarlama

Önemli

Bu işlem yalnızca Azure Büyük Örneği için geçerlidir.

Bazı durumlarda müşterilerin SAP HANA'yı korumak için zaten araçları vardır ve yalnızca 'önyükleme' birim anlık görüntülerini yapılandırmak istemektedir. Bu durumda, yalnızca aşağıdaki adımların tamamlanması gerekir.

  1. Yükleme önkoşullarının 1-4 arası adımlarını tamamlayın.

  2. Depolama ile iletişimi etkinleştirin.

  3. Anlık görüntü araçlarını yüklemek için yükleyiciyi indirip çalıştırın.

  4. Anlık görüntü araçlarının kurulumunu tamamlayın.

  5. Azacsnap yapılandırma dosyasına eklenecek birimlerin listesini alın, bu örnekte Depolama Kullanıcı Adı ve cl25h50backup Depolama IP Adresi10.1.1.10

    ssh cl25h50backup@10.1.1.10 "volume show -volume *boot*"
    
    Last login time: 7/20/2021 23:54:03
    Vserver   Volume       Aggregate    State      Type       Size  Available Used%
    --------- ------------ ------------ ---------- ---- ---------- ---------- -----
    ams07-a700s-saphan-1-01v250-client25-nprod t250_sles_boot_sollabams07v51_vol aggr_n01_ssd online RW 150GB 57.24GB  61%
    ams07-a700s-saphan-1-01v250-client25-nprod t250_sles_boot_sollabams07v52_vol aggr_n01_ssd online RW 150GB 81.06GB  45%
    ams07-a700s-saphan-1-01v250-client25-nprod t250_sles_boot_sollabams07v53_vol aggr_n01_ssd online RW 150GB 79.56GB  46%
    3 entries were displayed.
    

    Not

    Bu örnekte, bu konak 3 düğümlü bir Genişleme sisteminin parçasıdır ve 3 önyükleme biriminin tümü bu konaktan görülebilir. Bu, 3 önyükleme biriminin tümünün bu konaktan anlık görüntü olabileceği ve 3'lerinin de sonraki adımda yapılandırma dosyasına eklendiği anlamına gelir.

  6. Aşağıdaki gibi yeni bir yapılandırma dosyası oluşturun. Önyükleme birimi ayrıntıları OtherVolume stanza içinde olmalıdır:

    azacsnap -c configure --configuration new --configfile BootVolume.json
    
    Building new config file
    Add comment to config file (blank entry to exit adding comments): Boot only config file.
    Add comment to config file (blank entry to exit adding comments):
    Add database to config? (y/n) [n]: y
    HANA SID (for example, H80): X
    HANA Instance Number (for example, 00): X
    HANA HDB User Store Key (for example, `hdbuserstore List`): X
    HANA Server's Address (hostname or IP address): X
    Add ANF Storage to database section? (y/n) [n]:
    Add HLI Storage to database section? (y/n) [n]: y
    Add DATA Volume to HLI Storage section of Database section? (y/n) [n]:
    Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]: y
    Storage User Name (for example, clbackup25): cl25h50backup
    Storage IP Address (for example, 192.168.1.30): 10.1.1.10
    Storage Volume Name (for example, hana_data_soldub41_t250_vol): t250_sles_boot_sollabams07v51_vol
    Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]: y
    Storage User Name (for example, clbackup25): cl25h50backup
    Storage IP Address (for example, 192.168.1.30): 10.1.1.10
    Storage Volume Name (for example, hana_data_soldub41_t250_vol): t250_sles_boot_sollabams07v52_vol
    Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]: y
    Storage User Name (for example, clbackup25): cl25h50backup
    Storage IP Address (for example, 192.168.1.30): 10.1.1.10
    Storage Volume Name (for example, hana_data_soldub41_t250_vol): t250_sles_boot_sollabams07v53_vol
    Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]:
    Add HLI Storage to database section? (y/n) [n]:
    Add database to config? (y/n) [n]:
    
    Editing configuration complete, writing output to 'BootVolume.json'.
    
  7. Yapılandırma dosyasını denetleyin, aşağıdaki örne bakın:

    Yapılandırma dosyasının içeriğini görüntülemek için komutunu kullanın cat :

    cat BootVolume.json
    
    {
      "version": "5.0",
      "logPath": "./logs",
      "securityPath": "./security",
      "comments": [
        "Boot only config file."
      ],
      "database": [
        {
          "hana": {
            "serverAddress": "X",
            "sid": "X",
            "instanceNumber": "X",
            "hdbUserStoreName": "X",
            "savePointAbortWaitSeconds": 600,
            "hliStorage": [
              {
                "dataVolume": [],
                "otherVolume": [
                  {
                    "backupName": "cl25h50backup",
                    "ipAddress": "10.1.1.10",
                    "volume": "t250_sles_boot_sollabams07v51_vol"
                  },
                  {
                    "backupName": "cl25h50backup",
                    "ipAddress": "10.1.1.10",
                    "volume": "t250_sles_boot_sollabams07v52_vol"
                  },
                  {
                    "backupName": "cl25h50backup",
                    "ipAddress": "10.1.1.10",
                    "volume": "t250_sles_boot_sollabams07v53_vol"
                  }
                ]
              }
            ],
            "anfStorage": []
          }
        }
      ]
    }
    
  8. Önyükleme birimi yedeklemeyi test edin

    azacsnap -c backup --volume other --prefix TestBootVolume --retention 1 --configfile BootVolume.json
    
  9. Listede olup olmadığını denetleyin, döndürülen anlık görüntü listesini sınırlama seçeneğinin eklendiğine --snapshotfilter dikkat edin.

    azacsnap -c details --snapshotfilter TestBootVolume --configfile BootVolume.json
    

    Komut çıktısı:

    List snapshot details called with snapshotFilter 'TestBootVolume'
    #, Volume, Snapshot, Create Time, HANA Backup ID, Snapshot Size
    #1, t250_sles_boot_sollabams07v51_vol, TestBootVolume.2020-07-03T034651.7059085Z, "Fri Jul 03 03:48:24 2020", "otherVolume Backup|azacsnap version: 5.0 (Build: 20210421.6349)", 200KB
    , t250_sles_boot_sollabams07v51_vol, , , Size used by Snapshots, 1.31GB
    #1, t250_sles_boot_sollabams07v52_vol, TestBootVolume.2020-07-03T034651.7059085Z, "Fri Jul 03 03:48:24 2020", "otherVolume Backup|azacsnap version: 5.0 (Build: 20210421.6349)", 200KB
    , t250_sles_boot_sollabams07v52_vol, , , Size used by Snapshots, 1.31GB
    #1, t250_sles_boot_sollabams07v53_vol, TestBootVolume.2020-07-03T034651.7059085Z, "Fri Jul 03 03:48:24 2020", "otherVolume Backup|azacsnap version: 5.0 (Build: 20210421.6349)", 200KB
    , t250_sles_boot_sollabams07v53_vol, , , Size used by Snapshots, 1.31GB
    
  10. İsteğe bağlı ile crontabotomatik anlık görüntü yedeklemesini ayarlama veya yedekleme komutlarını çalıştırabilen azacsnap uygun bir zamanlayıcı.

Not

SAP HANA ile iletişim kurmak gerekli değildir.

'Önyükleme' anlık görüntüsünü geri yükleme

Önemli

Bu işlem, Azure Büyük Örnek ony içindir. Sunucu, Anlık Görüntü alındığı noktaya geri yüklenir.

'Önyükleme' anlık görüntüsü aşağıdaki gibi kurtarılabilir:

  1. Müşterinin sunucuyu kapatması gerekiyor.
  2. Sunucu kapatıldıktan sonra müşterinin geri yüklemek için Makine Kimliği ve Anlık Görüntü içeren bir hizmet isteği açması gerekir.

    Müşteriler Azure portalı aracılığıyla bir hizmet isteği açabilir.

  3. Microsoft, belirtilen Makine Kimliği ve Anlık Görüntü'leri kullanarak İşletim Sistemi LUN'sini geri yükler ve ardından Sunucuyu ön yükler.
  4. Ardından müşterinin Sunucunun önyüklendiğini ve iyi durumda olduğunu onaylaması gerekir.

Geri yüklemeden sonra gerçekleştirilecek başka adım yok.

Anlık görüntüler hakkında bilinmesi gereken önemli bilgiler

Depolama birimi anlık görüntülerinin temel öznitelikleri:

  • Anlık görüntülerin konumu: Anlık görüntüler birim içindeki bir sanal dizinde (.snapshot) bulunabilir. Azure Büyük Örneği için aşağıdaki örneklere bakın:

    • Veritabanı: /hana/data/<SID>/mnt00001/.snapshot
    • Paylaşılan: /hana/shared/<SID>/.snapshot
    • Günlük: /hana/logbackups/<SID>/.snapshot
    • Önyükleme: HLI için önyükleme anlık görüntüleri işletim sistemi düzeyinde görünmez , ancak kullanılarak azacsnap -c detailslistelenebilir.

    Not

    .snapshot , anlık görüntülere salt okunur erişim sağlayan salt okunur bir gizli sanal klasördür.

  • En yüksek anlık görüntü: Donanım birim başına en fazla 250 anlık görüntü alabilir. Snapshot komutu, komut satırında ayarlanan bekletmeyi temel alarak ön ek için en fazla anlık görüntü sayısını tutar. Aynı ön eke sahip bekletme numarasının ötesindeki tüm anlık görüntüler silinir.

  • Anlık görüntü adı: Anlık görüntü adı, müşteri tarafından sağlanan ön ek etiketini içerir.

  • Anlık görüntünün boyutu: Veritabanı düzeyindeki boyuta/değişikliklere bağlıdır.

  • Günlük dosyası konumu: Komutlar tarafından oluşturulan günlük dosyaları, varsayılan olarak komutun çalıştırıldığı alt klasör olan JSON yapılandırma dosyasında tanımlandığı şekilde klasörlere çıkarılır (örneğin, ./logs).

Sonraki adımlar