Esegui la migrazione di un disco permanente su Hyperdisk per SAP HANA

Questo documento descrive come eseguire la migrazione dei volumi di Persistent Disk utilizzati dai database SAP HANA ai volumi Hyperdisk di Google Cloud.

Hyperdisk, in particolare Hyperdisk Extreme, offre prestazioni migliori per SAP HANA rispetto ai tipi di Persistent Disk basati su SSD.

Per eseguire la migrazione dei volumi di Persistent Disk utilizzati dal database SAP HANA ai volumi Hyperdisk, utilizza gli snapshot dei dischi di Google Cloud e l'opzione di riavvio rapido SAP HANA.

Esamina le considerazioni sulla migrazione

  • Dati di migrazione: l'opzione Riavvio rapido SAP HANA viene utilizzata come istruzione ausiliaria. Riduce il tempo di riposo durante la suddivisione dei dischi eliminando la necessità di attendere il caricamento delle tabelle di database. Tuttavia, assicurati di tenere conto del tempo necessario per ricaricare i tipi di dati BLOB (Binary Large Object) e del magazzino delle righe.
  • Tempi di inattività: anche se il processo di migrazione richiede un tempo di inattività minimo, la durata effettiva del tempo di inattività dipende dal tempo necessario per completare le seguenti attività:

    • Creazione di snapshot dei dischi.

      Per ridurre il tempo di riposo durante l'acquisizione delle istantanee dei dischi, puoi acquisire istantanee dei dischi prima dell'attività di migrazione pianificata e poi alcune istantanee aggiuntive più vicine all'attività, in modo da avere una differenza minore tra le istantanee.

    • Creazione di volumi Hyperdisk utilizzando gli snapshot dei volumi del Persistent Disk.

    • Ricaricare le tabelle SAP HANA nella memoria SAP HANA.

  • Ripristino dei dischi esistenti: in caso di problemi durante la migrazione, puoi ripristinare i dischi esistenti perché non sono interessati da questa procedura e sono disponibili finché non li elimini manualmente. Per maggiori informazioni, consulta la pagina Eseguire il fallback ai dischi esistenti.

Prima di iniziare

Prima di eseguire la migrazione dei volumi del Persistent Disk utilizzati dal database SAP HANA ai volumi Hyperdisk, assicurati che siano soddisfatte le seguenti condizioni:

Esegui la migrazione dei volumi di dischi permanenti ai volumi Hyperdisk

Questa sezione descrive come eseguire la migrazione dei volumi /hana/data e /hana/log dai volumi di Persistent Disk ai volumi Hyperdisk.

Per illustrare il processo di migrazione, viene utilizzata la seguente configurazione di esempio:

  • Tipo di macchina: m2-ultramem-416 (12 TB di memoria, 416 vCPU)
  • Sistema SAP HANA di scalabilità implementato utilizzando il documento Google Cloud Terraform: guida al deployment di SAP HANA di scalabilità.
    • SO: SLES for SAP 15 SP1
    • SAP HANA: HANA 2 SPS06, patch 63
    • Tipo di disco predefinito: disco permanente SSD (pd-ssd)
    • I volumi /hana/data e /hana/log sono montati su dischi separati e vengono creati utilizzando LVM e XFS
    • L'opzione di riavvio rapido SAP HANA è attivata e nel database vengono caricati 6 TB di dati. Per informazioni su come eseguire questa operazione, consulta Abilitazione del riavvio rapido di SAP HANA.

Per eseguire la migrazione dei volumi Persistent Disk ai volumi Hyperdisk, segui questi passaggi:

  1. Interrompi il database SAP HANA eseguendo il comando HDB stop:

    HDB stop
    

    In alternativa, puoi eseguire il comando sapcontrol:

    sapcontrol -nr INSTANCE_NUMBER -function StopSystem HDB
    

    Sostituisci INSTANCE_NUMBER con il numero di istanza per il tuo sistema SAP HANA.

    Per ulteriori informazioni, consulta il documento SAP Avvio e arresto dei sistemi SAP HANA.

  2. Smonta i volumi /hana/data e /hana/log dal file system:

    umount /hana/data
    umount /hana/log
    
  3. Determina i nomi dei dischi che ospitano i volumi /hana/data e /hana/log utilizzando uno dei seguenti metodi:

    • Esegui il comando ls:

      ls -l /dev/disk/by-id/
      

      L'output mostra la mappatura dei nomi dei dischi ai dispositivi, in modo simile al seguente esempio:

      ...
      lrwxrwxrwx 1 root root  9 May 18 20:14 google-hana-vm-data00001 -> ../../sdb
      lrwxrwxrwx 1 root root  9 May 18 20:14 google-hana-vm-log00001 -> ../../sdc
      ...
      
    • Esegui il comando gcloud compute instances describe:

      gcloud compute instances describe INSTANCE_NAME
          --zone=ZONE
      

      Sostituisci quanto segue:

      • INSTANCE_NAME: il nome dell'istanza di calcolo.
      • ZONE: la zona dell'istanza di calcolo.

      L'output mostra i dettagli dell'istanza di calcolo, inclusi i dischi collegati. Ad esempio:

      gcloud compute instances describe hana-vm --zone europe-west4-a
      ...
      disks:
      - autoDelete: false
      deviceName: hana-vm-shared00001
      diskSizeGb: '1024'
      - autoDelete: false
      deviceName: hana-vm-usrsap00001
      diskSizeGb: '32'
      - autoDelete: false
      deviceName: hana-vm-data00001
      diskSizeGb: '14093'
      - autoDelete: false
      deviceName: hana-vm-log00001
      diskSizeGb: '512'
      
    • Nella console Google Cloud, vai alla pagina Istanze VM di Compute Engine e fai clic sul nome dell'istanza di calcolo. La sezione Archiviazione visualizza le informazioni associate al disco.

  4. Crea snapshot dei dischi che ospitano i volumi /hana/data e /hana/log:

    gcloud compute snapshots create DATA_DISK-snapshot \
      --project=PROJECT_ID \
      --source-disk-zone=SOURCE_DISK_ZONE  \
      --source-disk=DATA_DISK \
    gcloud compute snapshots create LOG_DISK-snapshot \
      --project=PROJECT_ID \
      --source-disk-zone=SOURCE_DISK_ZONE \
      --source-disk=LOG_DISK
    

    Sostituisci quanto segue:

    • DATA_DISK: il nome del disco che ospita il volume /hana/data, impostato come prefisso per lo snapshot del disco di dati
    • LOG_DISK: il nome del disco che ospita il volume /hana/log, impostato come prefisso per lo snapshot del disco di log
    • PROJECT_ID: l'ID del progetto Google Cloud in cui è dipiegato il disco
    • SOURCE_DISK_ZONE: la zona Compute Engine in cui è dipiegato il disco

    Per saperne di più sulla creazione di snapshot, consulta Creare e gestire gli snapshot dei dischi.

  5. Utilizzando gli snapshot dei dischi che hai creato, crea volumi Hyperdisk per i volumi /hana/data e /hana/log:

    gcloud compute disks create DATA_DISK-hd \
         --project=PROJECT_ID \
         --zone=ZONE \
         --type=HYPERDISK_TYPE \
         --provisioned-iops=IOPS_DATA_DISK \
         --source-snapshot=DATA_DISK-snapshot \
     gcloud compute disks create LOG_DISK-hd \
         --project=PROJECT_ID \
         --zone=ZONE \
         --type=HYPERDISK_TYPE \
         --provisioned-iops=IOPS_LOG_DISK \
         --source-snapshot=LOG_DISK-snapshot
    

    Sostituisci quanto segue:

    • DATA_DISK: il nome del volume del Persistent Disk che ospita il volume /hana/data, impostato come prefisso al nome del volume Hyperdisk creato
    • LOG_DISK: il nome del volume del Persistent Disk che ospita il volume /hana/log, impostato come prefisso del nome del volume Hyperdisk creato
    • PROJECT_ID: l'ID del progetto Google Cloud
    • HYPERDISK_TYPE: il tipo di Hyperdisk che vuoi creare, ad esempio hyperdisk-extreme
    • ZONE: la zona Compute Engine in cui devi eseguire il deployment dei volumi Hyperdisk
    • IOPS_DATA_DISK: le IOPS che vuoi impostare per l'hyperdisk che stai creando per ospitare /hana/data. Imposti le IOPS in base ai tuoi requisiti di prestazioni.
    • IOPS_LOG_DISK: le IOPS che vuoi impostare per l'hyperdisk che stai creando per ospitare /hana/log. Imposti le IOPS in base ai tuoi requisiti di prestazioni.

    Se crei volumi Hyperdisk bilanciati (hyperdisk-balanced), puoi anche impostarne il throughput.

    Per informazioni sulle dimensioni minime, sulle IOPS e sul throughput da impostare per l'utilizzo dei volumi Hyperdisk con SAP HANA, consulta la riga corrispondente al tipo di macchina Compute Engine in Dimensioni minime per i volumi Hyperdisk e Persistent Disk basati su SSD.

    Per ulteriori informazioni sul ripristino di un disco da uno snapshot, consulta Ripristinare da uno snapshot.

  6. Dall'istanza Compute Engine che ospita il database SAP HANA, scollega i volumi di Persistent Disk che ospitano i volumi /hana/data e /hana/log:

    gcloud compute instances detach-disk INSTANCE_NAME \
      --disk=DATA_DISK \
      --zone=ZONE
    gcloud compute instances detach-disk INSTANCE_NAME \
      --disk=LOG_DISK \
      --zone=ZONE
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome della tua istanza Compute Engine
    • DATA_DISK: il nome del volume del Persistent Disk che ospita il volume /hana/data da scollegare
    • LOG_DISK: il nome del volume del Persistent Disk che ospita il volume /hana/log da scollegare
    • ZONE: la zona Compute Engine in cui è disegnato il disco
  7. Collega i volumi Hyperdisk che hai creato all'istanza Compute Engine che ospita il database SAP HANA:

    gcloud compute instances attach-disk INSTANCE_NAME \
        --disk=DATA_DISK-hd \
        --zone=ZONE
    gcloud compute instances attach-disk INSTANCE_NAME \
       --disk=LOG_DISK-hd \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza Compute Engine
    • DATA_DISK: il nome del volume Hyperdisk che vuoi utilizzare per ospitare il volume /hana/data
    • LOG_DISK: il nome del volume Hyperdisk che vuoi utilizzare per ospitare il volume /hana/log
    • ZONE: la zona Compute Engine in cui viene eseguito il deployment di Hyperdisk
  8. Per montare i volumi Hyperdisk, svolgi i seguenti passaggi come root o come utente con accesso sudo:

    1. Rimuovi tutte le definizioni di mappatura dei dispositivi per evitare conflitti di mappatura dei dispositivi LVM:

      dmsetup remove_all
      
    2. Esegui la scansione di tutti i dischi per rilevare i gruppi di volumi, ricostruisci le cache e crea i volumi mancanti, inclusi i volumi LVM:

      vgscan -v --mknodes
      

      L'output è simile al seguente:

      Scanning all devices to initialize lvmetad.
      Reading volume groups from cache.
      Found volume group "vg_hana_data" using metadata type lvm2
      Found volume group "vg_hana_shared" using metadata type lvm2
      Found volume group "vg_hana_log" using metadata type lvm2
      Found volume group "vg_hana_usrsap" using metadata type lvm2
      
    3. Attiva i gruppi di volumi:

      vgchange -ay
      

      L'output è simile al seguente:

      1 logical volume(s) in volume group "vg_hana_data" now active
      1 logical volume(s) in volume group "vg_hana_shared" now active
      1 logical volume(s) in volume group "vg_hana_log" now active
      1 logical volume(s) in volume group "vg_hana_usrsap" now active
      
    4. Esegui la scansione dei volumi logici:

      lvscan
      

      L'output è simile al seguente:

      ACTIVE            '/dev/vg_hana_data/data' [13.76 TiB] inherit
      ACTIVE            '/dev/vg_hana_shared/shared' [1024.00 GiB] inherit
      ACTIVE            '/dev/vg_hana_log/log' [512.00 GiB] inherit
      ACTIVE            '/dev/vg_hana_usrsap/usrsap' [32.00 GiB] inherit
      
    5. Monta i dischi:

      mount -av
      

      L'output è simile al seguente:

      /                        : ignored
      /boot/efi                : already mounted
      /hana/shared             : already mounted
      /hana/data               : already mounted
      /hana/log                : already mounted
      /usr/sap                 : already mounted
      swap                     : ignored
      /hana/tmpfs0/DB1         : already mounted
      /hana/tmpfs1/DB1         : already mounted
      /hana/tmpfs2/DB1         : already mounted
      /hana/tmpfs3/DB1         : already mounted
      /hana/tmpfs4/DB1         : already mounted
      /hana/tmpfs5/DB1         : already mounted
      /hana/tmpfs6/DB1         : already mounted
      /hana/tmpfs7/DB1         : already mounted
      
  9. Verifica i nuovi volumi:

    • Verifica l'utilizzo del file system:

      df -Th
      

      L'output è simile al seguente:

      Filesystem                        Type      Size  Used Avail Use% Mounted on
      ...
      /dev/mapper/vg_hana_shared-shared xfs       1.0T   56G  968G   6% /hana/shared
      /dev/mapper/vg_hana_usrsap-usrsap xfs        32G  277M   32G   1% /usr/sap
      tmpfsDB10                         tmpfs     5.7T  784G  4.9T  14% /hana/tmpfs0/DB1
      tmpfsDB11                         tmpfs     5.7T  783G  4.9T  14% /hana/tmpfs1/DB1
      tmpfsDB12                         tmpfs     5.7T  783G  4.9T  14% /hana/tmpfs2/DB1
      tmpfsDB13                         tmpfs     5.7T  782G  4.9T  14% /hana/tmpfs3/DB1
      tmpfsDB14                         tmpfs     5.7T  783G  4.9T  14% /hana/tmpfs4/DB1
      tmpfsDB15                         tmpfs     5.7T  783G  4.9T  14% /hana/tmpfs5/DB1
      tmpfsDB16                         tmpfs     5.7T  783G  4.9T  14% /hana/tmpfs6/DB1
      tmpfsDB17                         tmpfs     5.7T  782G  4.9T  14% /hana/tmpfs7/DB1
      /dev/mapper/vg_hana_log-log       xfs       512G  7.2G  505G   2% /hana/log
      /dev/mapper/vg_hana_data-data     xfs        14T  5.7T  8.2T  41% /hana/data
      
    • Verifica che i dispositivi siano collegati ai nuovi volumi:

      lsblk
      

      L'output è simile al seguente:

      NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      ...
      sdd                       8:48   0    1T  0 disk
      └─vg_hana_shared-shared 254:0    0 1024G  0 lvm  /hana/shared
      sde                       8:64   0   32G  0 disk
      └─vg_hana_usrsap-usrsap 254:3    0   32G  0 lvm  /usr/sap
      sdf                       8:80   0 13.8T  0 disk
      └─vg_hana_data-data     254:1    0 13.8T  0 lvm  /hana/data
      sdg                       8:96   0  512G  0 disk
      └─vg_hana_log-log       254:2    0  512G  0 lvm  /hana/log
      
  10. Avvia il database SAP HANA utilizzando uno dei seguenti comandi:

    • Esegui il comando HDB start:

      HDB start
      
    • Esegui il comando sapcontrol:

      sapcontrol -nr INSTANCE_NUMBER -function StartSystem HDB
      

      Sostituisci INSTANCE_NUMBER con il numero di istanza per il tuo database SAP HANA.

      Per saperne di più, consulta Avvio e arresto dei sistemi SAP HANA.

Ripristino dei dischi esistenti

Se la migrazione del disco non va a buon fine, puoi utilizzare i volumi di Persistent Disk esistenti perché contengono i dati esistenti prima dell'inizio della procedura di migrazione.

Per ripristinare il database SAP HANA allo stato originale, svolgi i seguenti passaggi:

  1. Arresta l'istanza Compute Engine che ospita il database SAP HANA.
  2. Scollega i volumi Hyperdisk che hai creato.
  3. Ricollega i volumi dei Persistent Disk esistenti all'istanza di calcolo.
  4. Avvia l'istanza di calcolo.