Deployment SAP HANA di Google Cloud menggunakan tata letak disk terpadu atau tata letak disk terpisah. Dalam tata letak disk terpadu, satu disk digunakan untuk menghosting semua sistem file SAP HANA. Dalam tata letak disk terpisah, setiap sistem file SAP HANA dihosting di disk terpisah. Untuk mengetahui informasi tentang tata letak disk ini, lihat Tata letak disk yang didukung.
Google Cloud menyarankan agar Anda menggunakan tata letak disk terpisah karena alasan berikut:
- Fitur ini memungkinkan penyesuaian performa disk independen untuk sistem file, terutama
untuk
/hana/data
dan/hana/log
, dan terutama saat Anda menggunakan Hyperdisk. - Hal ini menyederhanakan pemeliharaan.
Untuk mengilustrasikan prosedur migrasi, panduan ini mengasumsikan contoh sistem dan memigrasikan sistem file SAP HANA dari satu volume Persistent Disk ke satu volume Hyperdisk untuk setiap sistem file. Anda juga dapat menggunakan prosedur ini untuk memigrasikan sistem file SAP HANA ke setiap volume Persistent Disk.
Meninjau pertimbangan migrasi
- Durasi migrasi data: Untuk sistem SAP HANA HA, Anda dapat mengurangi durasi migrasi data dengan membatalkan pendaftaran node sekunder, menghapus database tenant-nya, lalu mengklaim ulang log. Prosedur yang dijelaskan dalam panduan ini menggunakan pendekatan ini.
- Periode nonaktif: Untuk sistem SAP HANA HA, Anda harus memigrasikan database sekunder terlebih dahulu, menjadikannya database utama baru, lalu memigrasikan database utama sebelumnya. Hal ini membantu mencapai periode nonaktif minimal.
- Mengembalikan ke disk yang ada: Jika terjadi masalah selama migrasi, Anda dapat mengembalikan ke disk yang ada karena disk tersebut tidak terpengaruh oleh prosedur ini, dan tersedia hingga Anda menghapusnya sendiri. Untuk informasi selengkapnya, lihat Kembali ke disk yang ada.
Sebelum memulai
Sebelum memigrasikan sistem file SAP HANA yang dihosting di satu disk ke satu disk untuk setiap sistem file, pastikan kondisi berikut terpenuhi:
- SAP HANA berjalan di instance Compute Engine bersertifikasi SAP yang mendukung Hyperdisk.
- Tersedia cadangan database SAP HANA yang valid. Cadangan ini dapat digunakan untuk memulihkan database, jika diperlukan.
- Jika instance Compute Engine target adalah bagian dari cluster ketersediaan tinggi (HA), pastikan cluster berada dalam mode pemeliharaan.
- Jika database SAP HANA Anda menggunakan deployment skala, ulangi prosedur dalam panduan ini untuk setiap instance SAP HANA.
- Database SAP HANA sudah aktif dan berjalan. Untuk sistem HA, pastikan replikasi aktif antara instance utama dan sekunder database Anda.
- Untuk mempersingkat waktu penyalinan data, hapus cadangan atau media yang tidak diperlukan dari volume SAP HANA yang Anda migrasikan.
Validasi bahwa sistem file SAP HANA yang Anda migrasikan dihosting di satu disk dengan menjalankan perintah berikut:
lsblk
Outputnya mirip dengan contoh berikut. Output Anda mungkin berbeda dari contoh ini, bergantung pada konvensi penamaan untuk sistem file SAP HANA, atau jika instance komputasi Anda mendukung antarmuka disk non-volatile memory express (NVMe).
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 30G 0 disk ├─sda1 8:1 0 2M 0 part ├─sda2 8:2 0 20M 0 part /boot/efi └─sda3 8:3 0 30G 0 part / sdb 8:16 0 2.3T 0 disk ├─vg_hana-shared 254:0 0 850G 0 lvm /hana/shared ├─vg_hana-sap 254:1 0 32G 0 lvm /usr/sap ├─vg_hana-log 254:2 0 425G 0 lvm /hana/log └─vg_hana-data 254:3 0 1T 0 lvm /hana/data sdc 8:32 0 1.7T 0 disk └─vg_hanabackup-backup 254:4 0 1.7T 0 lvm /hanabackup
Contoh sistem SAP
Untuk mengilustrasikan prosedur migrasi, panduan ini melakukan hal berikut:
- Mengasumsikan contoh deployment ketersediaan tinggi (HA) peningkatan skala SAP HANA dengan satu volume Persistent Disk yang menghosting sistem file
/hana/data
,/hana/log
,/hana/shared
, dan/usr/sap
. - Memigrasikan sistem file ke setiap volume Hyperdisk, yang konfigurasinya mirip dengan sistem HA peningkatan skala SAP HANA yang di-deploy oleh Terraform: Panduan konfigurasi cluster ketersediaan tinggi peningkatan skala SAP HANA.
Diagram berikut menunjukkan arsitektur contoh sistem sebelum dan setelah migrasi sistem file-nya:
Detail konfigurasi contoh sistem SAP adalah sebagai berikut:
- Jenis mesin:
n2-highmem-128
- OS: SLES untuk SAP 15 SP5
- SAP HANA: HANA 2 SPS07, Rev 78
- Jenis disk yang digunakan oleh sistem: Persistent Disk SSD (
pd-ssd
) Volume
/hana/data
,/hana/log
,/hana/shared
, dan/usr/sap
dipasang di disk yang sama dan dikonfigurasi di setelan persistensi untuk SAP HANA. Berikut adalah contoh setelan persistensi untuk volume/hana/data
dan/hana/log
sistem SAP HANA dengan SIDABC
:[persistence] basepath_datavolumes = /hana/data/ABC basepath_logvolumes = /hana/log/ABC
Memigrasikan sistem file ke setiap volume Hyperdisk
Untuk memigrasikan sistem file deployment HA peningkatan skala SAP HANA dari satu volume Persistent Disk ke satu volume Hyperdisk untuk setiap sistem file, lakukan langkah-langkah berikut:
- Siapkan instance sekunder untuk migrasi.
- Migrasikan instance sekunder.
- Promosikan instance sekunder.
- Memigrasikan instance utama sebelumnya.
Menyiapkan instance sekunder untuk migrasi
Tetapkan cluster HA dalam mode pemeliharaan:
crm maintenance on
Validasi apakah Replikasi Sistem HANA (HSR) aktif:
/usr/sap/ABC/HDB00/exe/python_support> python systemReplicationStatus.py
Outputnya mirip dengan contoh berikut:
/usr/sap/ABC/HDB00/exe/python_support> python systemReplicationStatus.py |Database |Host |Port |Service Name |Volume ID |Site ID |Site Name |Secondary |Secondary |Secondary |Secondary |Secondary |Replication |Replication |Replication |Secondary | | | | | | | | |Host |Port |Site ID |Site Name |Active Status |Mode |Status |Status Details |Fully Synced | |-------- |----------- |----- |------------ |--------- |------- |--------- |--------- |--------- |--------- |----------- |------------- |----------- |----------- |-------------- |------------ | |SYSTEMDB |example-vm1 |30001 |nameserver | 1 | 1 |example-vm1 |example-vm2 | 30001 | 2 |example-vm2 |YES |SYNCMEM |ACTIVE | | True | |ABC |example-vm1 |30007 |xsengine | 2 | 1 |example-vm1 |example-vm2 | 30007 | 2 |example-vm2 |YES |SYNCMEM |ACTIVE | | True | |ABC |example-vm1 |30003 |indexserver | 3 | 1 |example-vm1 |example-vm2 | 30003 | 2 |example-vm2 |YES |SYNCMEM |ACTIVE | | True | status system replication site "2": ACTIVE overall system replication status: ACTIVE Local System Replication State ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mode: PRIMARY site id: 1 site name: example-vm1
Batalkan pendaftaran instance sekunder database SAP HANA Anda:
hdbnsutil -sr_unregister
Output menunjukkan bahwa instance sekunder database berhasil dihapus pendaftarannya:
abcadm@example-vm2:/usr/sap/ABC/HDB00> hdbnsutil -sr_unregister unregistering site ... done. Performing Final Memory Release with 10 threads. Finished Final Memory Release successfully.
Di instance sekunder sistem SAP HANA, hapus semua database tenant dan ambil kembali log:
Hentikan database tenant:
hdbsql -n localhost:3INSTANCE_NUMBER13 -u SYSTEM -p "SYSTEM_DB_PASSWORD" -j "ALTER SYSTEM STOP DATABASE TENANT_DB_SID"
Ganti kode berikut:
INSTANCE_NUMBER
: nomor instance database tenantSYSTEM_DB_PASSWORD
: sandi database sistemTENANT_DB_SID
: SID database tenant, dengan huruf dalam huruf besar
Hapus database tenant yang Anda hentikan:
hdbsql -n localhost:3INSTANCE_NUMBER13 -u SYSTEM -p "SYSTEM_DB_PASSWORD" -j "DROP DATABASE TENANT_DB_SID"
Mengambil kembali log:
hdbsql -n localhost:3INSTANCE_NUMBER13 -u SYSTEM -p "SYSTEM_DB_PASSWORD" -j "ALTER SYSTEM RECLAIM LOG"
Ulangi langkah-langkah sebelumnya untuk semua database tenant di instance sekunder sistem SAP HANA Anda.
Contoh berikut menunjukkan respons yang berhasil:
0 rows affected (overall time 9032.460 msec; server time 9032.273 msec)
Hentikan instance sekunder sistem SAP HANA Anda:
sapcontrol -nr INSTANCE_NUMBER -function Stop
Memigrasikan instance sekunder
Buat disk untuk setiap sistem file SAP HANA. Untuk contoh sistem yang diasumsikan oleh prosedur ini, buat 4 disk, masing-masing untuk
/hana/data
,/hana/log
,/hana/shared
, dan/usr/sap
.Untuk menetapkan ukuran disk untuk setiap sistem file, Anda dapat menggunakan informasi ukuran yang Anda lihat dalam output perintah
lsblk
untuk sistem Anda.Untuk mengetahui informasi tentang ukuran disk, IOPS, dan throughput minimum yang direkomendasikan yang membantu memenuhi persyaratan performa SAP HANA, lihat Ukuran minimum untuk volume Hyperdisk dan Persistent Disk berbasis SSD.
gcloud compute disks create USR_SAP_DISK_NAME \ --project=PROJECT_ID \ --type=USR_SAP_DISK_TYPE \ --size=USR_SAP_DISK_SIZE \ --zone=ZONE \ --provisioned-iops=USR_SAP_DISK_IOPS gcloud compute disks create SHARED_DISK_NAME \ --project=PROJECT_ID \ --type=SHARED_DISK_TYPE \ --size=SHARED_DISK_SIZE \ --zone=ZONE \ --provisioned-iops=SHARED_DISK_IOPS gcloud compute disks create DATA_DISK_NAME \ --project=PROJECT_ID \ --type=DATA_DISK_TYPE \ --size=DATA_DISK_SIZE \ --zone=ZONE \ --provisioned-iops=DATA_DISK_IOPS gcloud compute disks create LOG_DISK_NAME \ --project=PROJECT_ID \ --type=LOG_DISK_TYPE \ --size=LOG_DISK_SIZE \ --zone=ZONE \ --provisioned-iops=LOG_DISK_IOPS
Ganti kode berikut:
USR_SAP_DISK_NAME
: nama yang ingin Anda tetapkan untuk disk yang menghosting volume/usr/sap
PROJECT_ID
: project ID Google Cloud project AndaUSR_SAP_DISK_TYPE
: jenis Hyperdisk yang ingin Anda deploy untuk menghosting volume/usr/sap
, sepertihyperdisk-extreme
.USR_SAP_DISK_SIZE
: ukuran yang ingin Anda tetapkan untuk disk yang menghosting volume/usr/sap
ZONE
: zona Compute Engine tempat Anda ingin men-deploy disk baruUSR_SAP_DISK_IOPS
: IOPS yang ingin Anda tetapkan untuk Hyperdisk yang Anda buat untuk menghosting/hana/data
. Anda menetapkan IOPS sesuai dengan persyaratan performa Anda.SHARED_DISK_NAME
: nama yang ingin Anda tetapkan untuk disk yang menghosting volume/hana/shared
SHARED_DISK_TYPE
: jenis Hyperdisk yang ingin Anda deploy untuk menghosting volume/hana/shared
, sepertihyperdisk-extreme
.SHARED_DISK_SIZE
: ukuran yang ingin Anda tetapkan untuk disk yang menghosting volume/hana/shared
SHARED_DISK_IOPS
: IOPS yang ingin Anda tetapkan untuk disk yang menghosting volume/hana/shared
DATA_DISK_NAME
: nama yang ingin Anda tetapkan untuk disk yang menghosting volume/hana/data
DATA_DISK_TYPE
: jenis Hyperdisk yang ingin Anda deploy untuk menghosting volume/hana/data
, sepertihyperdisk-extreme
DATA_DISK_SIZE
: ukuran yang ingin Anda tetapkan untuk disk yang menghosting volume/hana/data
DATA_DISK_IOPS
: IOPS yang ingin Anda tetapkan untuk disk yang menghosting volume/hana/data
LOG_DISK_NAME
: nama yang ingin Anda tetapkan untuk disk yang menghosting volume/hana/log
LOG_DISK_TYPE
: jenis Hyperdisk yang ingin Anda deploy untuk menghosting volume/hana/log
, sepertihyperdisk-extreme
LOG_DISK_SIZE
: ukuran yang ingin Anda tetapkan untuk disk yang menghosting volume/hana/log
LOG_DISK_IOPS
: IOPS yang ingin Anda tetapkan untuk disk yang menghosting volume/hana/log
Lampirkan disk yang Anda buat ke instance Compute Engine yang menghosting instance sekunder database SAP HANA Anda:
gcloud compute instances attach-disk SECONDARY_INSTANCE_NAME \ --disk=USR_SAP_DISK_NAME \ --zone=ZONE gcloud compute instances attach-disk SECONDARY_INSTANCE_NAME \ --disk=SHARED_DISK_NAME \ --zone=ZONE gcloud compute instances attach-disk SECONDARY_INSTANCE_NAME \ --disk=DATA_DISK_NAME \ --zone=ZONE gcloud compute instances attach-disk SECONDARY_INSTANCE_NAME \ --disk=LOG_DISK_NAME \ --zone=ZONE
Ganti
SECONDARY_INSTANCE_NAME
dengan nama Compute Engine yang menghosting instance sekunder database SAP HANA Anda.Untuk menggunakan Logical Volume Management (LVM), selesaikan langkah-langkah berikut:
Buat volume fisik untuk disk baru yang Anda buat dan pasang:
pvcreate USR_SAP_PV_NAME pvcreate SHARED_PV_NAME pvcreate DATA_PV_NAME pvcreate LOG_PV_NAME
Ganti kode berikut:
USR_SAP_PV_NAME
: jalur perangkat sebenarnya dari disk yang Anda buat untuk menghosting volume/usr/sap
SHARED_PV_NAME
: jalur perangkat sebenarnya dari disk yang Anda buat untuk menghosting volume/hana/shared
DATA_PV_NAME
: jalur perangkat sebenarnya dari disk yang Anda buat untuk menghosting volume/hana/data
LOG_PV_NAME
: jalur perangkat sebenarnya dari disk yang Anda buat untuk menghosting volume/hana/log
Buat grup volume:
vgcreate vg_hana_usrsap USR_SAP_PV_NAME vgcreate vg_hana_shared SHARED_PV_NAME vgcreate vg_hana_data DATA_PV_NAME vgcreate vg_hana_log LOG_PV_NAME
Buat volume logis:
lvcreate -l 100%FREE -n usrsap vg_hana_usrsap lvcreate -l 100%FREE -n shared vg_hana_shared lvcreate -l 100%FREE -n data vg_hana_data lvcreate -l 100%FREE -n log vg_hana_log
Buat sistem file:
mkfs -t xfs /dev/vg_hana_usrsap/usrsap mkfs -t xfs /dev/vg_hana_shared/shared mkfs -t xfs /dev/vg_hana_data/data mkfs -t xfs /dev/vg_hana_log/log
Buat direktori sementara untuk sistem file SAP HANA:
mkdir -p /tmp/usr/sap mkdir -p /tmp/hana/shared mkdir -p /tmp/hana/data mkdir -p /tmp/hana/log
Pasang volume yang baru dibuat menggunakan direktori sementara:
mount -o logbsize=256k /dev/vg_hana_usrsap/usrsap /tmp/usr/sap mount -o logbsize=256k /dev/vg_hana_shared/shared /tmp/hana/shared mount -o logbsize=256k /dev/vg_hana_data/data /tmp/hana/data mount -o logbsize=256k /dev/vg_hana_log/log /tmp/hana/log
Transfer data dari volume Persistent Disk sumber ke disk yang Anda buat. Anda dapat menggunakan
rsync
, snapshot LVM, atau metode lainnya untuk ini. Contoh berikut menggunakan utilitasrsync
untuk transfer data:rsync -avz --progress /usr/sap/ /tmp/usr/sap/ rsync -avz --progress /hana/shared/ /tmp/hana/shared/ rsync -avz --progress /hana/data/ /tmp/hana/data/ rsync -avz --progress /hana/log/ /tmp/hana/log/
Lepaskan pemasangan volume logis lama untuk sistem file SAP HANA:
umount /usr/sap umount /hana/shared umount /hana/data umount /hana/log
Lepaskan pemasangan volume sementara yang Anda buat untuk sistem file SAP HANA:
umount /tmp/usr/sap umount /tmp/hana/shared umount /tmp/hana/data umount /tmp/hana/log
Dari instance Compute Engine yang menghosting instance sekunder database SAP HANA Anda, lepaskan volume Persistent Disk yang menghosting sistem file SAP HANA Anda:
gcloud compute instances detach-disk SECONDARY_INSTANCE_NAME --disk=SOURCE_DISK_NAME \ --zone=ZONE
Ganti
SOURCE_DISK_NAME
dengan nama volume Persistent Disk yang menghosting sistem file SAP HANA, yang ingin Anda lepaskan dari instance komputasi.Sebagai pengguna root, atau pengguna yang memiliki akses
sudo
, perbarui entri/etc/fstab
. Berikut adalah contoh cara memperbarui entri:/dev/vg_hana_shared/shared /hana/shared xfs defaults,nofail,logbsize=256k 0 2 /dev/vg_hana_usrsap/sap /usr/sap xfs defaults,nofail,logbsize=256k 0 2 /dev/vg_hana_data/data /hana/data xfs defaults,nofail,logbsize=256k 0 2 /dev/vg_hana_log/log /hana/log xfs defaults,nofail,logbsize=256k 0 2
Pasang volume logis yang baru dibuat:
mount -a
Verifikasi informasi tentang ruang yang digunakan oleh sistem file:
df -h
Outputnya mirip dengan hal berikut ini:
# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 8.0K 4.0M 1% /dev tmpfs 638G 35M 638G 1% /dev/shm tmpfs 171G 458M 170G 1% /run tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup /dev/sdb3 30G 6.4G 24G 22% / /dev/sdb2 20M 3.0M 17M 15% /boot/efi /dev/mapper/vg_hanabackup-backup 1.7T 13G 1.7T 1% /hanabackup tmpfs 86G 0 86G 0% /run/user/0 /dev/mapper/vg_hana_usrsap-usrsap 32G 277M 32G 1% /usr/sap /dev/mapper/vg_hana_shared-shared 850G 54G 797G 7% /hana/shared /dev/mapper/vg_hana_data-data 1.1T 5.4G 1.1T 1% /hana/data /dev/mapper/vg_hana_log-log 475G 710M 475G 1% /hana/log
Mempromosikan instance sekunder
Sebagai pengguna
SID_LCadm
, daftarkan instance sekunder database SAP HANA Anda dengan Replikasi Sistem SAP HANA:hdbnsutil -sr_register --remoteHost=PRIMARY_INSTANCE_NAME \ --remoteInstance=PRIMARY_INSTANCE_NUMBER \ --replicationMode=syncmem --operationMode=logreplay \ --name=SECONDARY_INSTANCE_NAME
Ganti kode berikut:
PRIMARY_INSTANCE_NAME
: nama instance Compute Engine yang menghosting instance utama sistem SAP HANA AndaPRIMARY_INSTANCE_NUMBER
: nomor instance instance utama sistem SAP HANA AndaSECONDARY_INSTANCE_NAME
: nama instance Compute Engine yang menghosting instance sekunder sistem SAP HANA Anda
Mulai instance sekunder database SAP HANA Anda:
HDB start
Atau, Anda dapat menggunakan perintah
sapcontrol
untuk memulai instance sekunder:sapcontrol -nr INSTANCE_NUMBER -function StartSystem
Pada instance utama database SAP HANA, sebagai pengguna
SID_LCadm
, konfirmasi bahwa Replikasi Sistem SAP HANA aktif:python $DIR_INSTANCE/exe/python_support/systemReplicationStatus.py
Setelah mengonfirmasi bahwa replikasi sistem aktif, buat instance sekunder database SAP HANA Anda sebagai instance utama baru:
crm resource move msl_SAPHana_SID_HDBINSTANCE_NUMBER SECONDARY_INSTANCE_NAME
Outputnya mirip dengan contoh berikut:
INFO: Move constraint created for msl_SAPHana_ABC_HDB00 to example-vm2 INFO: Use `crm resource clear msl_SAPHana_ABC_HDB00` to remove this constraint
Periksa status cluster HA Anda:
crm status
Outputnya mirip dengan contoh berikut:
example-vm1:~ # crm status Status of pacemakerd: 'Pacemaker is running' (last updated 2025-02-04 10:08:16Z) Cluster Summary: * Stack: corosync * Current DC: example-vm1 (version 2.1.5+20221208.a3f44794f-150500.6.20.1-2.1.5+20221208.a3f44794f) - partition with quorum * Last updated: Tue Feb 4 10:08:16 2025 * Last change: Tue Feb 4 10:07:47 2025 by root via crm_attribute on example-vm2 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ example-vm1 example-vm2 ] Full List of Resources: * STONITH-example-vm1 (stonith:fence_gce): Started example-vm2 * STONITH-example-vm2 (stonith:fence_gce): Started example-vm1 * Resource Group: g-primary: * rsc_vip_int-primary (ocf::heartbeat:IPaddr2): Started example-vm2 * rsc_vip_hc-primary (ocf::heartbeat:anything): Started example-vm2 * Clone Set: cln_SAPHanaTopology_ABC_HDB00 [rsc_SAPHanaTopology_ABC_HDB00]: * Started: [ example-vm1 example-vm2 ] * Clone Set: msl_SAPHana_ABC_HDB00 [rsc_SAPHana_ABC_HDB00] (promotable): * Masters: [ example-vm2 ] * Slaves: [ example-vm1 ]
Sebagai pengguna root, atau pengguna dengan akses
sudo
, hapus batasan yang memastikan resource Anda tidak disetel untuk memilih instance Compute Engine tertentu:crm resource clear msl_SAPHana_SID_HDBINSTANCE_NUMBER
Outputnya mirip dengan hal berikut ini:
INFO: Removed migration constraints for msl_SAPHana_ABC_HDB00
Memigrasikan instance utama sebelumnya
Untuk memigrasikan instance utama sebelumnya dari sistem SAP HANA Anda, ulangi prosedur yang diberikan di bagian sebelumnya.
Hapus cluster HA dari mode pemeliharaan:
crm maintenance off
Kembali ke disk yang ada
Jika migrasi disk gagal, Anda dapat kembali menggunakan volume Persistent Disk yang ada karena berisi data seperti aslinya sebelum prosedur migrasi dimulai.
Untuk memulihkan database SAP HANA ke status awalnya, lakukan langkah-langkah berikut:
- Hentikan instance Compute Engine yang menghosting database SAP HANA Anda.
- Lepaskan volume Hyperdisk yang Anda buat.
- Pasang kembali volume Persistent Disk yang ada ke instance komputasi.
- Mulai instance komputasi.
Pembersihan
Setelah berhasil memigrasikan sistem file SAP HANA ke setiap disk, bersihkan resource yang terkait dengan volume Persistent Disk yang Anda gunakan. Ini mencakup snapshot disk dan disk itu sendiri.
Untuk informasi tentang cara menghapus snapshot disk, lihat Mengelola snapshot disk.
Untuk menghapus volume Persistent Disk yang digunakan sistem SAP HANA, Anda dapat menjalankan perintah
gcloud compute disks delete
:gcloud compute disks delete SOURCE_DISK_NAME --ZONE=ZONE