Fitur pratinjau alat Azure Application Consistent Snapshot
Catatan
PRATINJAU DISEDIAKAN "APA ADANYA," "DENGAN SEMUA KESALAHAN," DAN "SEBAGAIMANA TERSEDIA," DAN DIKECUALIKAN DARI PERJANJIAN TINGKAT LAYANAN DAN REF GARANSI TERBATAS: https://azure.microsoft.com/support/legal/preview-supplemental-terms/
Artikel ini menyediakan panduan tentang penyiapan dan penggunaan fitur baru dalam pratinjau untuk AzAcSnap v5.1. Fitur baru ini dapat digunakan dengan Azure NetApp Files, Azure BareMetal, dan sekarang Disk Terkelola Azure. Panduan ini harus dibaca bersama dengan dokumentasi untuk versi AzAcSnap yang tersedia secara umum di aka.ms/azacsnap.
Lima fitur pratinjau baru yang disediakan dengan AzAcSnap v5.1 adalah:
- Dukungan Oracle Database.
- Koeksistensi backint.
- Disk Terkelola Azure.
- Kemampuan RunBefore dan RunAfter.
- Dukungan Azure Key Vault untuk menyimpan Perwakilan Layanan.
Penambahan kecil untuk --volume opsi:
- Semua rekam jepret volume.
Memberikan tanggapan
Umpan balik tentang AzAcSnap, termasuk pratinjau ini, dapat disediakan secara online.
Mendapatkan alat rekam jepret Pratinjau AzAcSnap
Dapatkan versi terbaru Alat Penginstal Pratinjau AzAcSnap dari Microsoft.
File penginstalan mandiri memiliki file checksum MD5 terkait untuk memeriksa integritas unduhan.
Pertama-tama unduh alat penginstal. Ikuti langkah-langkah dalam dokumentasi memulai utama untuk menyelesaikan penginstalan AzAcSnap. Kembali ke dokumen ini untuk detail tentang menggunakan fitur pratinjau.
Oracle Database
Platform dan sistem operasi yang didukung
Catatan
Dukungan untuk Oracle adalah fitur Pratinjau.
Konten bagian ini melengkapi apa itu halaman situs web alat Azure Application Consistent Snapshot .
Platform database baru dan sistem operasi yang didukung dengan rilis pratinjau ini.
Database
- Rilis Oracle Database 12 atau yang lebih baru (lihat gambar VM Oracle dan penyebarannya di Microsoft Azure untuk detailnya)
Sistem Operasi
- Oracle Linux 7+
Aktifkan komunikasi dengan database
Catatan
Dukungan untuk Oracle adalah fitur Pratinjau.
Konten bagian ini melengkapi halaman situs web Instal alat Azure Application Consistent Snapshot .
Bagian ini menjelaskan cara mengaktifkan komunikasi dengan penyimpanan. Pastikan back-end penyimpanan yang Anda gunakan dipilih dengan benar.
Alat rekam jepret berkomunikasi dengan database Oracle dan memerlukan pengguna dengan izin yang sesuai untuk mengaktifkan/menonaktifkan mode pencadangan. Setelah menempatkan database dalam mode pencadangan, azacsnap akan meminta database Oracle untuk mendapatkan daftar file, yang memiliki mode pencadangan sebagai aktif. Daftar file ini keluaran ke dalam file eksternal, yang berada di lokasi dan nama dasar yang sama dengan file log, tetapi dengan ekstensi ".protected-tables" (nama file output yang dirinci dalam file log AzAcSnap).
Contoh berikut menunjukkan penyiapan pengguna database Oracle, penggunaan mkstore untuk membuat Dompet Oracle, dan file konfigurasi yang sqlplus diperlukan untuk komunikasi ke database Oracle.
Contoh perintah berikut menyiapkan pengguna (AZACSNAP) di database Oracle, mengubah alamat IP, nama pengguna, dan kata sandi yang sesuai:
Dari penginstalan database Oracle
su – oracle sqlplus / AS SYSDBASQL*Plus: Release 12.1.0.2.0 Production on Mon Feb 1 01:34:05 2021 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production SQL>Buat pengguna
Contoh ini membuat pengguna AZACSNAP.
SQL> CREATE USER azacsnap IDENTIFIED BY password;User created.Berikan izin pengguna - Contoh ini menetapkan izin untuk pengguna AZACSNAP untuk memungkinkan menempatkan database dalam mode cadangan.
SQL> GRANT CREATE SESSION TO azacsnap;Grant succeeded.SQL> GRANT SYSBACKUP TO azacsnap;Grant succeeded.SQL> connect azacsnap/passwordConnected.SQL> quitOPSIONAL - Mencegah kata sandi pengguna kedaluwarsa
Mungkin perlu untuk menonaktifkan kedaluwarsa kata sandi bagi pengguna, tanpa perubahan ini kata sandi pengguna dapat kedaluwarsa sehingga mencegah rekam jepret diambil dengan benar.
Catatan
Periksa kebijakan perusahaan sebelum melakukan perubahan ini.
Contoh ini mendapatkan kedaluwarsa kata sandi untuk pengguna AZACSNAP:
SQL> SELECT username, account_status,expiry_date,profile FROM dba_users WHERE username='AZACSNAP';USERNAME ACCOUNT_STATUS EXPIRY_DA PROFILE --------------------- ------------------------------ --------- ------------------------------ AZACSNAP OPEN DD-MMM-YY DEFAULTAda beberapa metode untuk menonaktifkan kedaluwarsa kata sandi di database Oracle, lihat administrator database Anda untuk mendapatkan panduan. Salah satu contohnya adalah dengan memodifikasi profil pengguna DEFAULT sehingga waktu hidup kata sandi tidak terbatas sebagai berikut:
SQL> ALTER PROFILE default LIMIT PASSWORD_LIFE_TIME unlimited;Setelah melakukan perubahan ini, seharusnya tidak ada tanggal kedaluwarsa kata sandi untuk pengguna dengan profil DEFAULT.
SQL> SELECT username, account_status,expiry_date,profile FROM dba_users WHERE username='AZACSNAP';USERNAME ACCOUNT_STATUS EXPIRY_DA PROFILE --------------------- ------------------------------ --------- ------------------------------ AZACSNAP OPEN DEFAULTOracle Dompet menyediakan metode untuk mengelola kredensial database di beberapa domain. Kemampuan ini dicapai dengan menggunakan string koneksi database dalam definisi sumber data, yang diselesaikan dengan entri di dompet. Ketika digunakan dengan benar, Oracle Dompet membuat memiliki kata sandi dalam konfigurasi sumber data yang tidak perlu.
Ini memungkinkan untuk menggunakan file administratif Oracle Transparent Network Substrate (TNS) dengan alias string koneksi, sehingga menyembunyikan detail string koneksi database. Jika informasi koneksi berubah, ini adalah masalah mengubah
tnsnames.orafile alih-alih definisi sumber data yang berpotensi banyak.Siapkan Oracle Dompet (ubah kata sandi) Contoh ini menggunakan perintah mkstore dari shell Linux untuk menyiapkan dompet Oracle. Perintah ini dijalankan di server database Oracle menggunakan kredensial pengguna unik untuk menghindari dampak apa pun pada database yang sedang berjalan. Dalam contoh ini, pengguna baru (azacsnap) dibuat, dan variabel lingkungan mereka dikonfigurasi dengan tepat.
Penting
Pastikan untuk membuat pengguna unik untuk menghasilkan Dompet Oracle untuk menghindari dampak apa pun pada database yang sedang berjalan.
Jalankan perintah berikut ini di Oracle Database Server.
Dapatkan variabel lingkungan Oracle yang akan digunakan dalam penyiapan. Jalankan perintah berikut sebagai
rootpengguna di Oracle Database Server.su - oracle -c 'echo $ORACLE_SID'oratest1su - oracle -c 'echo $ORACLE_HOME'/u01/app/oracle/product/19.0.0/dbhome_1Buat pengguna Linux untuk menghasilkan Dompet Oracle dan file terkait
*.oramenggunakan output dari langkah sebelumnya.Catatan
Dalam contoh ini kita menggunakan
bashshell. Jika Anda menggunakan shell yang berbeda (misalnya, csh), pastikan variabel lingkungan telah diatur dengan benar.useradd -m azacsnap echo "export ORACLE_SID=oratest1" >> /home/azacsnap/.bash_profile echo "export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1" >> /home/azacsnap/.bash_profile echo "export TNS_ADMIN=/home/azacsnap" >> /home/azacsnap/.bash_profile echo "export PATH=\$PATH:\$ORACLE_HOME/bin" >> /home/azacsnap/.bash_profileSebagai pengguna Linux baru (
azacsnap), buat dompet dan*.orafile.suuntuk pengguna yang dibuat di langkah sebelumnya.sudo su - azacsnapBuat Dompet Oracle.
mkstore -wrl $TNS_ADMIN/.oracle_wallet/ -createOracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.3.0.0.0 Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved. Enter password: <wallet_password> Enter password again: <wallet_password>Tambahkan info masuk string sambungkan ke Dompet Oracle. Dalam contoh perintah berikut: AZACSNAP adalah ConnectString yang akan digunakan oleh AzAcSnap; azacsnap adalah Pengguna Oracle Database; AzPasswd1 adalah kata sandi database Pengguna Oracle.
mkstore -wrl $TNS_ADMIN/.oracle_wallet/ -createCredential AZACSNAP azacsnap AzPasswd1Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.3.0.0.0 Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved. Enter wallet password: <wallet_password>Membuat file
tnsnames-ora. Dalam contoh perintah berikut: HOST harus diatur ke alamat IP Oracle Database Server; SID harus diatur ke Oracle Database SID.echo "# Connection string AZACSNAP=\"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521))(CONNECT_DATA=(SID=oratest1)))\" " > $TNS_ADMIN/tnsnames.oraMembuat file
sqlnet.ora.echo "SQLNET.WALLET_OVERRIDE = TRUE WALLET_LOCATION=( SOURCE=(METHOD=FILE) (METHOD_DATA=(DIRECTORY=\$TNS_ADMIN/.oracle_wallet)) ) " > $TNS_ADMIN/sqlnet.oraUji Dompet Oracle.
sqlplus /@AZACSNAP as SYSBACKUPSQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 12 00:25:32 2022 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0SELECT MACHINE FROM V$SESSION WHERE SID=1;MACHINE ---------------------------------------------------------------- oradb-19cquitDisconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0Buat arsip file ZIP dari Dompet dan
*.orafile Oracle.cd $TNS_ADMIN zip -r wallet.zip sqlnet.ora tnsnames.ora .oracle_walletadding: sqlnet.ora (deflated 9%) adding: tnsnames.ora (deflated 7%) adding: .oracle_wallet/ (stored 0%) adding: .oracle_wallet/ewallet.p12.lck (stored 0%) adding: .oracle_wallet/ewallet.p12 (deflated 1%) adding: .oracle_wallet/cwallet.sso.lck (stored 0%) adding: .oracle_wallet/cwallet.sso (deflated 1%)Salin file ZIP ke sistem target (misalnya, komputer virtual terpusat yang menjalankan AzAcSnap).
Penting
Jika menyebarkan ke komputer virtual terpusat, maka klien instan Oracle harus diinstal dan disiapkan sehingga pengguna AzAcSnap dapat menjalankan
sqlplusperintah. Oracle Instant Client dapat diunduh dari https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html. Agar SQL*Plus berjalan dengan benar, unduh paket yang diperlukan (misalnya, Paket Ringan Dasar) dan paket alat SQL*Plus opsional.Selesaikan langkah-langkah berikut pada sistem yang menjalankan AzAcSnap.
Sebarkan file ZIP yang disalin dari langkah sebelumnya.
Penting
Langkah ini mengasumsikan pengguna yang menjalankan AzAcSnap, secara default
azacsnap, sudah dibuat menggunakan alat penginstal AzAcSnap.Catatan
Dimungkinkan untuk memanfaatkan
TNS_ADMINvariabel shell untuk memungkinkan beberapa target Oracle dengan mengatur nilai variabel shell unik untuk setiap sistem Oracle sesuai kebutuhan.export TNS_ADMIN=$HOME/ORACLE19c mkdir $TNS_ADMIN cd $TNS_ADMIN unzip ~/wallet.zipArchive: wallet.zip inflating: sqlnet.ora inflating: tnsnames.ora creating: .oracle_wallet/ extracting: .oracle_wallet/ewallet.p12.lck inflating: .oracle_wallet/ewallet.p12 extracting: .oracle_wallet/cwallet.sso.lck inflating: .oracle_wallet/cwallet.ssoPeriksa apakah berkas telah diekstrak dengan benar.
lssqlnet.ora tnsnames.ora wallet.zipDengan asumsi semua langkah sebelumnya telah diselesaikan dengan benar, maka seharusnya dimungkinkan untuk menyambungkan ke database menggunakan string sambungkan
/@AZACSNAP.sqlplus /@AZACSNAP as SYSBACKUPSQL*Plus: Release 21.0.0.0.0 - Production on Wed Jan 12 13:39:36 2022 Version 21.1.0.0.0 Copyright (c) 1982, 2020, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 ```sql SQL> quitDisconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0Penting
Variabel
$TNS_ADMINshell menentukan tempat menemukan Dompet dan*.orafile Oracle, sehingga harus diatur sebelum dijalankanazacsnapuntuk memastikan operasi yang benar.Uji penyiapan dengan AzAcSnap
Setelah mengonfigurasi AzAcSnap (misalnya,
azacsnap -c configure --configuration new) dengan string koneksi Oracle (misalnya,/@AZACSNAP), seharusnya dimungkinkan untuk terhubung ke database Oracle.$TNS_ADMINPeriksa variabel yang diatur untuk sistem target Oracle yang benarls -al $TNS_ADMINtotal 16 drwxrwxr-x. 3 orasnap orasnap 84 Jan 12 13:39 . drwx------. 18 orasnap sapsys 4096 Jan 12 13:39 .. drwx------. 2 orasnap orasnap 90 Jan 12 13:23 .oracle_wallet -rw-rw-r--. 1 orasnap orasnap 125 Jan 12 13:39 sqlnet.ora -rw-rw-r--. 1 orasnap orasnap 128 Jan 12 13:24 tnsnames.ora -rw-r--r--. 1 root root 2569 Jan 12 13:28 wallet.zipJalankan
azacsnapperintah ujicd ~/bin azacsnap -c test --test oracle --configfile ORACLE.jsonBEGIN : Test process started for 'oracle' BEGIN : Oracle DB tests PASSED: Successful connectivity to Oracle DB version 1903000000 END : Test process complete for 'oracle'Penting
Variabel
$TNS_ADMINharus disiapkan dengan benar agarazacsnapberjalan dengan benar, baik dengan menambahkan ke file pengguna.bash_profile, atau dengan mengekspornya sebelum setiap eksekusi (misalnya,export TNS_ADMIN="/home/orasnap/ORACLE19c" ; cd /home/orasnap/bin ; ./azacsnap --configfile ORACLE19c.json -c backup --volume data --prefix hourly-ora19c --retention 12)
Mengonfigurasi database
Bagian ini menjelaskan cara mengonfigurasi database.
Perubahan berikut harus diterapkan ke Oracle Database untuk memungkinkan pemantauan oleh administrator database.
Menyiapkan pengelogan pemberitahuan Oracle
Gunakan perintah Oracle SQL berikut saat tersambung ke database sebagai SYSDBA untuk membuat prosedur tersimpan di bawah akun database Oracle SYSBACKUP default. Perintah SQL ini memungkinkan AzAcSnap untuk menghasilkan pesan ke output standar menggunakan prosedur PUT_LINE dalam paket DBMS_OUTPUT, dan juga ke file database
alert.logOracle (menggunakan prosedur KSDWRT dalam paket DBMS_SYSTEM).sqlplus / As SYSDBAGRANT EXECUTE ON DBMS_SYSTEM TO SYSBACKUP; CREATE PROCEDURE sysbackup.azmessage(in_msg IN VARCHAR2) AS v_timestamp VARCHAR2(32); BEGIN SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') INTO v_timestamp FROM DUAL; SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.ALERT_FILE, in_msg); END azmessage; / SHOW ERRORS QUIT
Mengonfigurasi AzAcSnap
Bagian ini menjelaskan cara mengonfigurasi AzAcSnap untuk database yang ditentukan.
Catatan
Dukungan untuk Oracle adalah fitur Pratinjau.
Konten bagian ini melengkapi halaman situs web Mengonfigurasi alat Rekam Jepret Konsisten Aplikasi Azure .
Detail nilai yang diperlukan
Bagian berikut menyediakan panduan detail tentang berbagai nilai yang diperlukan untuk file konfigurasi.
Nilai Oracle Database untuk konfigurasi
Saat menambahkan database Oracle ke konfigurasi, nilai berikut diperlukan:
- Alamat Server Oracle DB = Nama host server database atau alamat IP.
- SID = ID Sistem database.
- Oracle Koneksi String = String Koneksi yang digunakan oleh untuk menyambungkan
sqlpluske Oracle dan mengaktifkan/menonaktifkan mode pencadangan.
Koeksistensi backint
Catatan
Dukungan untuk koeksistensi dengan antarmuka Backint SAP Hana adalah fitur Pratinjau.
Konten bagian ini melengkapi halaman situs web Mengonfigurasi alat Rekam Jepret Konsisten Aplikasi Azure .
layanan Azure Backup menyediakan alat pencadangan alternatif untuk SAP Hana, di mana database dan cadangan log dialirkan ke Azure Backup Service. Beberapa pelanggan ingin menggabungkan cadangan berbasis backint streaming dengan cadangan berbasis reguler rekam jepret. Namun, cadangan berbasis backint memblokir metode pencadangan lainnya, seperti menggunakan cadangan berbasis file atau cadangan berbasis rekam jepret penyimpanan (misalnya, AzAcSnap). Panduan disediakan di situs Azure Backup tentang cara Menjalankan SAP Hana cadangan klien asli ke disk lokal pada database dengan Azure Backup diaktifkan.
Proses yang dijelaskan dalam dokumentasi Azure Backup telah diimplementasikan dengan AzAcSnap untuk melakukan langkah-langkah berikut secara otomatis:
- paksa flush cadangan log ke backint.
- tunggu hingga pencadangan berjalan selesai.
- nonaktifkan cadangan berbasis backint.
- menempatkan SAP Hana ke dalam status konsisten untuk pencadangan.
- mengambil cadangan berbasis rekam jepret penyimpanan.
- SAP Hana rilis.
- aktifkan kembali cadangan berbasis backint.
Secara default opsi ini dinonaktifkan, tetapi dapat diaktifkan dengan menjalankan azacsnap -c configure –configuration edit dan menjawab 'y' (ya) ke pertanyaan "Apakah Anda memerlukan AzAcSnap untuk secara otomatis menonaktifkan/mengaktifkan backint selama rekam jepret? (y/n) [n]". Mengedit konfigurasi seperti yang dijelaskan akan mengatur nilai autoDisableEnableBackint ke true dalam file konfigurasi JSON (misalnya, azacsnap.json). Anda juga dapat mengubah nilai ini dengan mengedit file konfigurasi secara langsung.
Lihat cuplikan parsial file konfigurasi ini untuk melihat di mana nilai ini ditempatkan dan format yang benar:
"database": [
{
"hana": {
"serverAddress": "127.0.0.1",
"sid": "P40",
"instanceNumber": "00",
"hdbUserStoreName": "AZACSNAP",
"savePointAbortWaitSeconds": 600,
"autoDisableEnableBackint": true,
Disk Terkelola Azure
Catatan
Dukungan untuk Azure Managed Disk sebagai back-end penyimpanan adalah fitur Pratinjau.
Konten bagian ini melengkapi halaman situs web Mengonfigurasi alat Rekam Jepret Konsisten Aplikasi Azure .
Microsoft menyediakan banyak opsi penyimpanan untuk menyebarkan database seperti SAP Hana. Banyak dari opsi ini dirinci pada jenis Azure Storage untuk halaman web beban kerja SAP. Selain itu, ada solusi sadar biaya dengan penyimpanan premium Azure.
AzAcSnap dapat mengambil rekam jepret database yang konsisten dengan aplikasi ketika disebarkan pada jenis arsitektur ini (yaitu, VM dengan Disk Terkelola). Namun, pengaturan untuk platform ini sedikit lebih rumit seperti dalam skenario ini kita perlu memblokir I/O ke titik pemasangan (menggunakan xfs_freeze) sebelum mengambil rekam jepret Disk Terkelola dalam Volume Logis yang dipasang.
Penting
Sistem Linux harus tersedia xfs_freeze untuk memblokir I/O disk.
Perhatian
Berhati-hatilah untuk mengonfigurasi AzAcSnap dengan titik pemasangan (sistem file) yang benar karena xfs_freeze memblokir I/O ke perangkat yang ditentukan oleh titik pemasangan Disk Terkelola Azure. Ini secara tidak sengaja dapat memblokir aplikasi yang sedang berjalan hingga azacsnap selesai berjalan.
Arsitektur pada tingkat tinggi:
- Disk Terkelola Azure yang dilampirkan ke VM menggunakan portal Azure.
- Volume Logis dibuat dari Disk Terkelola ini.
- Volume Logis dipasang ke direktori Linux.
- Perwakilan Layanan harus dibuat dengan cara yang sama seperti untuk Azure NetApp Files dalam penginstalan AzAcSnap.
- Menginstal dan Mengonfigurasi AzAcSnap.
Catatan
Konfigurator memiliki opsi baru untuk menentukan titik pemasangan untuk Volume Logis. Parameter ini diteruskan ke
xfs_freezeuntuk memblokir I/O (ini terjadi setelah database dimasukkan ke mode cadangan). Setelah cache I/O dihapus (tergantung pada parameterfs.xfs.xfssyncd_centisecskernel Linux ). - Instal dan Konfigurasikan
xfs_freezeuntuk dijalankan sebagai pengguna yang tidak memiliki hak istimewa:Buat file yang dapat dieksekusi yang disebut $HOME/bin/xfs_freeze dengan konten berikut.
#!/bin/sh /usr/bin/sudo /usr/sbin/xfs_freeze $1 $2Buat file sudoers yang disebut
/etc/sudoers.d/azacsnapuntuk memungkinkan pengguna azacsnap berjalanxfs_freezedengan konten berikut:# # What: azacsnap # Why: Allow the azacsnap user to run "specific" commands with elevated privileges. # # User_Alias = SAP HANA Backup administrator user. User_Alias AZACSNAP = azacsnap # AZACSNAP ALL=(ALL) NOPASSWD: /usr/sbin/xfs_freezeUji pengguna azacsnap dapat membekukan dan mencairkan I/O ke titik pemasangan target dengan menjalankan yang berikut sebagai pengguna azacsnap.
Catatan
Dalam contoh ini kita menjalankan setiap perintah dua kali untuk menunjukkannya berfungsi pertama kali karena tidak ada perintah untuk mengonfirmasi apakah
xfs_freezetelah membekukan I/O.Bekukan I/O.
su - azacsnap xfs_freeze -f /hana/data xfs_freeze -f /hana/dataxfs_freeze: cannot freeze filesystem at /hana/data: Device or resource busyCairkan I/O.
su - azacsnap xfs_freeze -u /hana/data xfs_freeze -u /hana/dataxfs_freeze: cannot unfreeze filesystem mounted at /hana/data: Invalid argument
Contoh file konfigurasi
Berikut adalah contoh file konfigurasi, perhatikan hierarki untuk dataVolume, mountpoint, azureManagedDisks:
{
"version": "5.1 Preview",
"logPath": "./logs",
"securityPath": "./security",
"comments": [],
"database": [
{
"hana": {
"serverAddress": "127.0.0.1",
"sid": "P40",
"instanceNumber": "00",
"hdbUserStoreName": "AZACSNAP",
"savePointAbortWaitSeconds": 600,
"autoDisableEnableBackint": false,
"hliStorage": [],
"anfStorage": [],
"amdStorage": [
{
"dataVolume": [
{
"mountPoint": "/hana/data",
"azureManagedDisks": [
{
"resourceId": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.Compute/disks/<disk01>",
"authFile": "azureauth.json"
},
{
"resourceId": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.Compute/disks/<disk02>",
"authFile": "azureauth.json"
}
]
}
],
"otherVolume": []
}
]
},
"oracle": null
}
]
}
Tata letak penyimpanan komputer virtual
Hierarki penyimpanan terlihat seperti contoh berikut untuk SAP Hana:
SAP Hana File data database:
/hana/data/mnt00001Titik pemasangan:
/dev/mapper/hanadata-hanadata on /hana/data type xfsVolume Logika
lvdisplay--- Logical volume --- LV Path /dev/hanadata/hanadata LV Name hanadata VG Name hanadataGrup Volume
vgdisplay--- Volume group --- VG Name hanadata System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 1023.99 GiBVolume Fisik (Disk Terkelola Azure terlampir)
pvdisplay--- Physical volume --- PV Name /dev/sdd VG Name hanadata PV Size 512.00 GiB / not usable 4.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 131071 Free PE 0 Allocated PE 131071 PV UUID K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX --- Physical volume --- PV Name /dev/sdc VG Name hanadata PV Size 512.00 GiB / not usable 4.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 131071 Free PE 0 Allocated PE 131071 PV UUID RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV
Menginstal dan menyiapkan Azure VM dan Azure Managed Disks dengan cara ini mengikuti panduan Microsoft untuk membuat garis-garis LVM dari Disk Terkelola pada VM.
Dengan Azure VM yang disiapkan sebagaimana ditentukan, AzAcSnap dapat mengambil rekam jepret dari Disk Terkelola Azure. Operasi rekam jepret mirip dengan yang untuk back-end penyimpanan lain yang didukung oleh AzAcSnap (misalnya, Azure NetApp Files, Instans Besar Azure (Bare Metal)). Karena AzAcSnap berkomunikasi dengan azure Resource Manager untuk mengambil rekam jepret, AzAcSnap juga memerlukan Perwakilan Layanan dengan izin yang benar untuk mengambil rekam jepret disk terkelola.
Kemampuan ini memungkinkan pelanggan untuk menguji/menguji coba AzAcSnap pada sistem yang lebih kecil dan meningkatkan skala ke Azure NetApp Files dan/atau Instans Besar Azure (Bare Metal).
Fungsionalitas perintah yang didukung azacsnap dengan Azure Managed Disks adalah 'configure', 'test', 'backup', 'delete', 'details', tapi belum 'restore'.
Memulihkan dari rekam jepret Disk Terkelola Azure
Meskipun azacsnap saat ini tidak -c restore memiliki opsi untuk Disk Terkelola Azure, dimungkinkan untuk memulihkan secara manual sebagai berikut:
Membuat disk dari rekam jepret melalui portal Azure.
Catatan
Pastikan untuk membuat disk di Zona Ketersediaan yang sama dengan VM target.
Koneksi disk ke VM melalui portal Azure.
Masuk ke VM sebagai
rootpengguna dan pindai disk yang baru terpasang menggunakan dmesg atau pvscan:Menggunakan
dmesg:dmesg | tail -n30[2510054.252801] scsi 5:0:0:2: Direct-Access Msft Virtual Disk 1.0 PQ:0 ANSI: 5 [2510054.262358] scsi 5:0:0:2: Attached scsi generic sg4 type 0 [2510054.268514] sd 5:0:0:2: [sde] 1073741824 512-byte logical blocks: (550 GB/512 GiB) [2510054.272583] sd 5:0:0:2: [sde] 4096-byte physical blocks [2510054.275465] sd 5:0:0:2: [sde] Write Protect is off [2510054.277915] sd 5:0:0:2: [sde] Mode Sense: 0f 00 10 00 [2510054.278566] sd 5:0:0:2: [sde] Write cache: disabled, read cache: enabled, supports DPO and FUA [2510054.314269] sd 5:0:0:2: [sde] Attached SCSI disk [2510054.573135] scsi 5:0:0:3: Direct-Access Msft Virtual Disk 1.0 PQ: 0 ANSI: 5 [2510054.579931] scsi 5:0:0:3: Attached scsi generic sg5 type 0 [2510054.584505] sd 5:0:0:3: [sdf] 1073741824 512-byte logical blocks: (550 GB/512 GiB) [2510054.589293] sd 5:0:0:3: [sdf] 4096-byte physical blocks [2510054.592237] sd 5:0:0:3: [sdf] Write Protect is off [2510054.594735] sd 5:0:0:3: [sdf] Mode Sense: 0f 00 10 00 [2510054.594839] sd 5:0:0:3: [sdf] Write cache: disabled, read cache: enabled, supports DPO and FUA [2510054.627310] sd 5:0:0:3: [sdf] Attached SCSI diskMenggunakan
pvscan:saphana:~ # pvscanWARNING: scan found duplicate PVID RNCylWF3OGG93c1XL3W6pwM0XB2mYFGV on /dev/sde WARNING: scan found duplicate PVID K3yhxN2713lk4kc3PcxOJQsCkD8ZE6YX on /dev/sdf WARNING: Not using device /dev/sde for PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV. WARNING: Not using device /dev/sdf for PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX. WARNING: PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV prefers device /dev/sdc because device is used by LV. WARNING: PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX prefers device /dev/sdd because device is used by LV. PV /dev/sdd VG hanadata lvm2 [512.00 GiB / 0 free] PV /dev/sdc VG hanadata lvm2 [512.00 GiB / 0 free] Total: 2 [1023.99 GiB] / in use: 2 [1023.99 GiB] / in no VG: 0 [0 ]
Impor Klon Grup Volume dari disk menggunakan
vgimportclonesebagairootpengguna:vgimportclone --basevgname hanadata_adhoc /dev/sde /dev/sdfWARNING: scan found duplicate PVID RNCylWF3OGG93c1XL3W6pwM0XB2mYFGV on /dev/sde WARNING: scan found duplicate PVID K3yhxN2713lk4kc3PcxOJQsCkD8ZE6YX on /dev/sdf WARNING: Not using device /dev/sde for PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV. WARNING: Not using device /dev/sdf for PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX. WARNING: PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV prefers device /dev/sdc because device is used by LV. WARNING: PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX prefers device /dev/sdd because device is used by LV.Aktifkan Volume Logis menggunakan
pvscandanvgchangesebagairootpengguna:pvscan --cachepvscan[23761] PV /dev/sdc online. pvscan[23761] PV /dev/sdd online. pvscan[23761] PV /dev/sde online. pvscan[23761] PV /dev/sdf online.vgchange -ay hanadata_adhoc1 logical volume(s) in volume group "hanadata_adhoc" now activePasang volume logis sebagai
rootpengguna:Penting
mount -o rw,nouuidGunakan opsi, jika tidak, pemasangan volume akan gagal karena UUID duplikat pada VM.mount -o rw,nouuid /dev/hanadata_adhoc/hanadata /mnt/hanadata_adhocKemudian akses data:
ls /mnt/hanadata_adhoc/software write-test.txt
Kemampuan RunBefore dan RunAfter
Catatan
Dukungan untuk azacsnap menjalankan perintah shell sebelum dan sesudah azacsnap dijalankan adalah fitur Pratinjau.
Konten bagian ini melengkapi apa itu halaman situs web alat Azure Application Consistent Snapshot .
Kemampuan baru bagi AzAcSnap untuk menjalankan perintah eksternal sebelum atau sesudah eksekusi utamanya.
--runbefore akan menjalankan perintah shell sebelum eksekusi utama azacsnap dan menyediakan beberapa parameter baris perintah azacsnap ke lingkungan shell.
Secara default, azacsnap akan menunggu hingga 30 detik hingga perintah shell eksternal selesai sebelum membunuh proses dan kembali ke eksekusi normal azacsnap.
Penundaan ini dapat ditimpa dengan menambahkan angka untuk menunggu dalam detik % setelah karakter (misalnya, --runbefore "mycommand.sh%60" akan menunggu hingga 60 detik mycommand.sh hingga selesai).
--runafter akan menjalankan perintah shell setelah eksekusi utama azacsnap dan menyediakan beberapa parameter baris perintah azacsnap ke lingkungan shell.
Secara default, azacsnap akan menunggu hingga 30 detik hingga perintah shell eksternal selesai sebelum membunuh proses dan kembali ke eksekusi normal azacsnap.
Ini dapat ditimpa dengan menambahkan angka untuk menunggu dalam detik setelah % karakter (misalnya, --runafter "mycommand.sh%60" akan menunggu hingga 60 detik mycommand.sh hingga selesai).
Daftar variabel lingkungan berikut dihasilkan oleh azacsnap dan diteruskan ke shell yang di-fork untuk menjalankan perintah yang disediakan sebagai parameter ke --runbefore dan --runafter:
$azCommand= opsi perintah diteruskan ke -c (misalnya, pencadangan, pengujian, dll.).$azConfigFileName= nama file konfigurasi.$azPrefix= nilai --prefix.$azRetention= nilai --retensi.$azSid= nilai --dbsid.$azSnapshotName= nama rekam jepret yang dihasilkan oleh azacsnap.
Catatan
Hanya ada nilai untuk $azSnapshotName dalam --runafter opsi .
Contoh penggunaan
Contoh penggunaan untuk fitur baru ini adalah mengunggah rekam jepret ke Azure Blob untuk tujuan pengarsipan menggunakan alat azcopy (Menyalin atau memindahkan data ke Azure Storage dengan menggunakan AzCopy).
Entri crontab berikut adalah satu baris dan berjalan azacsnap pada lima tengah malam lalu. Perhatikan panggilan untuk snapshot-to-blob.sh meneruskan nama rekam jepret dan awalan rekam jepret:
5 0 * * * ( . ~/.bash_profile ; cd /home/azacsnap/bin ; ./azacsnap -c backup --volume data --prefix daily --retention 1 --configfile HANA.json --trim --ssl openssl --runafter 'env ; ./snapshot-to-blob.sh $azSnapshotName $azPrefix')
Contoh skrip shell ini memiliki stanza khusus di akhir untuk mencegah AzAcSnap membunuh perintah eksternal karena batas waktu yang dijelaskan sebelumnya. Ini memungkinkan perintah jangka panjang, seperti mengunggah file besar dengan azcopy, dijalankan tanpa dihentikan sebelum waktunya.
Rekam jepret perlu dipasang pada sistem yang melakukan penyalinan, dengan hak istimewa baca-saja minimum. Lokasi dasar titik pemasangan untuk rekam jepret harus disediakan untuk sourceDir variabel dalam skrip.
cat snapshot-to-blob.sh
#!/bin/bash
# Utility to upload-to/list Azure Blob store.
# If run as snapshot-to-blob.sh will upload a gzipped tarball of the snapshot.
# If run as list-blobs.sh will list uploaded blobs.
# e.g. `ln -s snapshot-to-blob.sh list-blobs.sh`
# _START_ Change these
SAS_KEY_FILE="${HOME}/bin/blob-credentials.saskey"
# the snapshots need to be mounted locally for copying, put source directory here
SOURCE_DIR="/mnt/saphana1/hana_data_PR1/.snapshot"
# _END_ Change these
# _START_ AzCopy Settings
#Overrides where the job plan files (used for progress tracking and resuming) are stored, to avoid filling up a disk.
export AZCOPY_JOB_PLAN_LOCATION="${HOME}/.azcopy/plans/"
#Overrides where the log files are stored, to avoid filling up a disk.
export AZCOPY_LOG_LOCATION="${HOME}/.azcopy/logs/"
#If set, to anything, on-screen output will include counts of chunks by state
export AZCOPY_SHOW_PERF_STATES=true
# _END_ AzCopy Settings
# do not change any of the following
# Make sure we got some command line args
if [ "$(basename "$0")" = "snapshot-to-blob.sh" ] && ([ "$1" = "" ] || [ "$2" = "" ]); then
echo "Usage: $0 <SNAPSHOT_NAME> <PREFIX>"
exit 1
fi
# Make sure we can read the SAS key credential file.
if [ -r "${SAS_KEY_FILE}" ]; then
source "${SAS_KEY_FILE}"
else
echo "Credential file '${SAS_KEY_FILE}' not found, exiting!"
fi
# Assign the rest of the Global variables.
SNAPSHOT_NAME=$1
PREFIX=$2
BLOB_STORE="$(echo "${PORTAL_GENERATED_SAS}" | cut -f1 -d'?')"
BLOB_SAS_KEY="$(echo "${PORTAL_GENERATED_SAS}" | cut -f2 -d'?')"
ARCHIVE_LOG="logs/$(basename "$0").log"
# Archive naming (daily.1, daily.2, etc...)
DAY_OF_WEEK=$(date "+%u")
MONTH_OF_YEAR=$(date "+%m")
ARCHIVE_BLOB_TGZ="${PREFIX}.${DAY_OF_WEEK}.tgz"
#######################################
# Write to the log.
# Globals:
# None
# Arguments:
# LOG_MSG
#######################################
write_log(){
LOG_MSG=$1
date=$(date "+[%d/%h/%Y:%H:%M:%S %z]")
echo "$date ${LOG_MSG}" >> "${ARCHIVE_LOG}"
}
#######################################
# Run and Log the command.
# Globals:
# None
# Arguments:
# CMD_TO_RUN
#######################################
run_cmd(){
CMD_TO_RUN="${1}"
write_log "[RUNCMD] ${CMD_TO_RUN}"
bash -c "${CMD_TO_RUN}"
}
#######################################
# Check snapshot exists and then background the upload to Blob store.
# Globals:
# SOURCE_DIR
# SNAPSHOT_NAME
# ARCHIVE_LOG
# Arguments:
# None
#######################################
snapshot_to_blob(){
# Check SOURCE_DIR and SNAPSHOT_NAME exist
if [ ! -d "${SOURCE_DIR}/${SNAPSHOT_NAME}" ]; then
echo "${SOURCE_DIR}/${SNAPSHOT_NAME} not found, exiting!" | tee -a "${ARCHIVE_LOG}"
exit 1
fi
# background ourselves so AzAcSnap exits cleanly
echo "Backgrounding '$0 $@' to prevent blocking azacsnap"
echo "write_logging to ${ARCHIVE_LOG}"
{
trap '' HUP
# the script
upload_to_blob
list_blob >> "${ARCHIVE_LOG}"
} < /dev/null > /dev/null 2>&1 &
}
#######################################
# Upload to Blob store.
# Globals:
# SOURCE_DIR
# SNAPSHOT_NAME
# ARCHIVE_BLOB_TGZ
# BLOB_STORE
# BLOB_SAS_KEY
# ARCHIVE_LOG
# Arguments:
# None
#######################################
upload_to_blob(){
# Copy snapshot to blob store
echo "Starting upload of ${SNAPSHOT_NAME} to ${BLOB_STORE}/${ARCHIVE_BLOB_TGZ}" >> "${ARCHIVE_LOG}"
run_cmd "azcopy env ; cd ${SOURCE_DIR}/${SNAPSHOT_NAME} && tar zcvf - * | azcopy cp \"${BLOB_STORE}/${ARCHIVE_BLOB_TGZ}?${BLOB_SAS_KEY}\" --from-to PipeBlob && cd -"
echo "Completed upload of ${SNAPSHOT_NAME} ${BLOB_STORE}/${ARCHIVE_BLOB_TGZ}" >> "${ARCHIVE_LOG}"
# Complete
echo "Finished ($0 ${SNAPSHOT_NAME} ${PREFIX}) @ $(date "+%d-%h-%Y %H:%M")" >> "${ARCHIVE_LOG}"
echo "--------------------------------------------------------------------------------" >> "${ARCHIVE_LOG}"
# col 12345678901234567890123456789012345678901234567890123456789012345678901234567890
}
#######################################
# List contents of Blob store.
# Globals:
# BLOB_STORE
# BLOB_SAS_KEY
# Arguments:
# None
#######################################
list_blob(){
LOG_MSG="Current list of files stored in ${BLOB_STORE}"
write_log "${LOG_MSG}"
echo "${LOG_MSG}"
run_cmd "azcopy list \"${BLOB_STORE}?${BLOB_SAS_KEY}\" --properties LastModifiedTime "
}
# Log when script started.
write_log "Started ($0 ${SNAPSHOT_NAME} ${PREFIX}) @ $(date "+%d-%h-%Y %H:%M")"
# Check what this was called as ($0) and run accordingly.
case "$(basename "$0")" in
"snapshot-to-blob.sh" )
snapshot_to_blob
;;
"list-blobs.sh" )
list_blob
;;
*)
echo "Command '$0' not recognised!"
;;
esac
saskeyFile berisi contoh SaS Key berikut (konten diubah untuk keamanan):
cat blob-credentials.saskey
# we need a generated SAS key, get this from the portal with read,add,create,write,list permissions
PORTAL_GENERATED_SAS="https://<targetstorageaccount>.blob.core.windows.net/<blob-store>?sp=racwl&st=2021-06-10T21:10:38Z&se=2021-06-11T05:10:38Z&spr=https&sv=2020-02-10&sr=c&sig=<key-material>"
Azure Key Vault
Dari AzAcSnap v5.1, Anda dapat menyimpan Perwakilan Layanan dengan aman sebagai Rahasia di Azure Key Vault. Menggunakan fitur ini memungkinkan pemusatan kredensial Perwakilan Layanan di mana administrator alternatif dapat menyiapkan Rahasia untuk digunakan AzAcSnap.
Langkah-langkah yang harus diikuti untuk menyiapkan Azure Key Vault dan menyimpan Perwakilan Layanan dalam Rahasia adalah sebagai berikut:
Dalam sesi Azure Cloud Shell, pastikan Anda masuk di langganan tempat Anda ingin membuat azure Key Vault:
az account showJika langganan tidak benar, gunakan perintah berikut untuk mengatur Cloud Shell ke langganan yang benar:
az account set -s <subscription name or id>Buat Azure Key Vault
az keyvault create --name "<AzureKeyVaultName>" -g <ResourceGroupName>Buat hubungan kepercayaan dan tetapkan kebijakan untuk komputer virtual untuk mendapatkan Rahasia
Tampilkan Identitas komputer virtual AzAcSnap
Jika komputer virtual sudah memiliki identitas yang dibuat, ambil sebagai berikut:
az vm identity show --name "<VMName>" --resource-group "<ResourceGroup>""principalId"dalam output digunakan sebagai--object-idnilai saat mengatur Kebijakan denganaz keyvault set-policy.{ "principalId": "99z999zz-99z9-99zz-99zz-9z9zz999zz99", "tenantId": "99z999zz-99z9-99zz-99zz-9z9zz999zz99", "type": "SystemAssigned, UserAssigned", "userAssignedIdentities": { "/subscriptions/99z999zz-99z9-99zz-99zz-9z9zz999zz99/resourceGroups/AzSecPackAutoConfigRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/AzSecPackAutoConfigUA-eastus2": { "clientId": "99z999zz-99z9-99zz-99zz-9z9zz999zz99", "principalId": "99z999zz-99z9-99zz-99zz-9z9zz999zz99" } } }Mengatur Identitas komputer virtual AzAcSnap (jika perlu)
Jika VM tidak memiliki identitas, buat sebagai berikut:
az vm identity assign --name "<VMName>" --resource-group "<ResourceGroup>""systemAssignedIdentity"dalam output digunakan sebagai--object-idnilai saat mengatur Kebijakan denganaz keyvault set-policy.{ "systemAssignedIdentity": "99z999zz-99z9-99zz-99zz-9z9zz999zz99", "userAssignedIdentities": { "/subscriptions/99z999zz-99z9-99zz-99zz- 9z9zz999zz99/resourceGroups/AzSecPackAutoConfigRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/AzSecPackAutoConfigUA-eastus2": { "clientId": "99z999zz-99z9-99zz-99zz-9z9zz999zz99", "principalId": "99z999zz-99z9-99zz-99zz-9z9zz999zz99" } } }Tetapkan kebijakan yang sesuai untuk komputer virtual agar dapat mengambil Rahasia dari Key Vault.
az keyvault set-policy --name "<AzureKeyVaultName>" --object-id "<VMIdentity>" --secret-permissions get
Membuat Rahasia azure Key Vault
Buat rahasia, yang akan menyimpan informasi kredensial Perwakilan Layanan.
Dimungkinkan untuk menempelkan konten Perwakilan Layanan. Dalam Cloud Shell Bash di bawah satu karakter apostrof dimasukkan setelah nilai lalu tekan
[Enter]tombol, lalu tempelkan konten Perwakilan Layanan, tutup konten dengan menambahkan satu apostrof lain dan tekan tombol[Enter].
Perintah ini harus membuat Rahasia dan menyimpannya di Azure Key Vault.Tip
Jika Anda memiliki Perwakilan Layanan terpisah per penginstalan
"<NameOfSecret>", mungkin SID, atau beberapa pengidentifikasi unik lain yang sesuai.Contoh berikut adalah untuk menggunakan Cloud Shell Bash:
az keyvault secret set --name "<NameOfSecret>" --vault-name "<AzureKeyVaultName>" --value ' { "clientId": "99z999zz-99z9-99zz-99zz-9z9zz999zz99", "clientSecret": "<ClientSecret>", "subscriptionId": "99z999zz-99z9-99zz-99zz-9z9zz999zz99", "tenantId": "99z999zz-99z9-99zz-99zz-9z9zz999zz99", "activeDirectoryEndpointUrl": "https://login.microsoftonline.com", "resourceManagerEndpointUrl": "https://management.azure.com/", "activeDirectoryGraphResourceId": "https://graph.windows.net/", "sqlManagementEndpointUrl": "https://management.core.windows.net:8443/", "galleryEndpointUrl": "https://gallery.azure.com/", "managementEndpointUrl": "https://management.core.windows.net/" }'Contoh berikut adalah untuk menggunakan Cloud Shell PowerShell:
Peringatan
Di PowerShell tanda kutip ganda harus diloloskan dengan tanda kutip ganda tambahan, sehingga satu kutipan ganda (") menjadi dua tanda kutip ganda ("").
az keyvault secret set --name "<NameOfSecret>" --vault-name "<AzureKeyVaultName>" --value ' { ""clientId"": ""99z999zz-99z9-99zz-99zz-9z9zz999zz99"", ""clientSecret"": ""<ClientSecret>"", ""subscriptionId"": ""99z999zz-99z9-99zz-99zz-9z9zz999zz99"", ""tenantId"": ""99z999zz-99z9-99zz-99zz-9z9zz999zz99"", ""activeDirectoryEndpointUrl"": ""https://login.microsoftonline.com"", ""resourceManagerEndpointUrl"": ""https://management.azure.com/"", ""activeDirectoryGraphResourceId"": ""https://graph.windows.net/"", ""sqlManagementEndpointUrl"": ""https://management.core.windows.net:8443/"", ""galleryEndpointUrl"": ""https://gallery.azure.com/"", ""managementEndpointUrl"": ""https://management.core.windows.net/"" }'Output perintah
az keyvault secret setakan memiliki nilai URI untuk digunakan sebagai"authFile"entri dalam file konfigurasi JSON AzAcSnap. URI adalah nilai di"id"bawah ini (misalnya,"https://<AzureKeyVaultName>.vault.azure.net/secrets/<NameOfSecret>/z9999999z9999999z9999999").{ "attributes": { "created": "2022-02-23T20:21:01+00:00", "enabled": true, "expires": null, "notBefore": null, "recoveryLevel": "Recoverable+Purgeable", "updated": "2022-02-23T20:21:01+00:00" }, "contentType": null, "id": "https://<AzureKeyVaultName>.vault.azure.net/secrets/<NameOfSecret>/z9999999z9999999z9999999", "kid": null, "managed": null, "name": "AzureAuth", "tags": { "file-encoding": "utf-8" }, "value": "\n{\n \"clientId\": \"99z999zz-99z9-99zz-99zz-9z9zz999zz99\",\n \"clientSecret\": \"<ClientSecret>\",\n \"subscriptionId\": \"99z999zz-99z9-99zz-99zz-9z9zz999zz99\",\n \"tenantId\": \"99z999zz-99z9-99zz-99zz-9z9zz999zz99\",\n \"activeDirectoryEndpointUrl\": \"https://login.microsoftonline.com\",\n \"resourceManagerEndpointUrl\": \"https://management.azure.com/\",\n \"activeDirectoryGraphResourceId\": \"https://graph.windows.net/\",\n \"sqlManagementEndpointUrl\": \"https://management.core.windows.net:8443/\",\n \"galleryEndpointUrl\": \"https://gallery.azure.com/\",\n \"managementEndpointUrl\": \"https://management.core.windows.net/\"\n}" }Memperbarui file konfigurasi JSON AzAcSnap
Ganti nilai untuk entri authFile dengan nilai ID Rahasia. Melakukan perubahan ini dapat dilakukan dengan mengedit file menggunakan alat seperti
vi, atau dengan menggunakanazacsnap -c configure --configuration editopsi .- Nilai Lama
"authFile": "azureauth.json"- Nilai Baru
"authFile": "https://<AzureKeyVaultName>.vault.azure.net/secrets/<NameOfSecret>/z9999999z9999999z9999999"
Semua Rekam Jepret Volume
Nilai opsional baru untuk --volume memungkinkan semua volume menjadi rekam jepret sebagai grup. Opsi ini memungkinkan semua rekam jepret memiliki nama rekam jepret yang sama, yang berguna jika melakukan -c restore kloning atau memulihkan sistem ke tanggal/waktu tertentu.
Menjalankan perintah azacsnap -c backup --volume all --retention 5 --prefix all-volumes AzAcSnap akan mengambil cadangan rekam jepret, dengan semua rekam jepret memiliki nama yang sama dengan awalan all-volumes dan maksimum lima rekam jepret dengan awalan per volume tersebut.
Pemrosesan ditangani dalam urutan yang diuraikan sebagai berikut:
- Data Rekam Jepret Volume (sama dengan opsi normal
--volume data)- masukkan database ke dalam mode pencadangan.
- ambil rekam jepret Volume yang tercantum dalam stanza file
"dataVolume"konfigurasi. - keluarkan database dari mode pencadangan.
- melakukan manajemen rekam jepret.
- Lain Rekam Jepret Volume (sama dengan opsi normal
--volume other)- ambil rekam jepret Volume yang tercantum dalam stanza file
"otherVolume"konfigurasi. - melakukan manajemen rekam jepret.
- ambil rekam jepret Volume yang tercantum dalam stanza file