Docs Support Console

Migrate Persistent Disk to Hyperdisk for SAP HANA

This document describes how you can migrate the Persistent Disk volumes used by your SAP HANA databases to Google Cloud Hyperdisk volumes.

Hyperdisk, especially, Hyperdisk Extreme, provides better performance for SAP HANA than the SSD-based Persistent Disk types.

To migrate the Persistent Disk volumes used by your SAP HANA database to Hyperdisk volumes, you use Google Cloud's disk snapshots and the SAP HANA Fast Restart Option .

Review migration considerations

  • Migration data: The SAP HANA Fast Restart option is used as a helper. It reduces downtime while grating the disks by eliminating the need to wait for your database tables to load. However, make sure to take into account the time needed to reload row store and Binary Large Object (BLOB) data types.
  • Downtime: Although the migration process requires minimal downtime, the actual duration of the downtime depends on the time taken to complete the following tasks:

    • Creating disk snapshots.

      To reduce downtime while taking disk snapshots, you can take snapshots of the disks before the planned migration activity, and then take some additional snapshots closer to the activity, which results in a smaller difference between the snapshots.

    • Creating Hyperdisk volumes by using the snapshots of your Persistent Disk volumes.

    • Reloading the SAP HANA tables into SAP HANA memory.

  • Reverting to existing disks: In the event of any problem during the migration, you can revert to the existing disks because they are unaffected by this procedure, and are available till you delete them yourself. For more information, see Fall back to existing disks .

Before you begin

Before you migrate the Persistent Disk volumes used by your SAP HANA database to Hyperdisk volumes, make sure the following conditions are met:

  • SAP HANA is running on SAP-certified Compute Engine instances that support Hyperdisk .
  • The /hana/data and /hana/log volumes are hosted on separate disks.
  • Linux logical volume management is used for SAP HANA storage persistence. While direct storage can be used, it would require explicit device remapping through the /etc/fstab table.
  • The SAP HANA Fast Restart Option is enabled for your SAP HANA system.

    For information about how to enable this, see Enabling SAP HANA Fast Restart .

  • A valid backup of the SAP HANA database is available. This backup can be used to restore the database, if required.

  • If the target Compute Engine instance is part of a high-availability (HA) cluster, then make sure that the cluster is in maintenance mode.

  • If your SAP HANA database uses a scale-out deployment, then repeat the procedure in this guide for each SAP HANA instance.

  • The SAP HANA database is up and running.

  • The tmpfs file system is fully loaded with the content of the MAIN data fragments. To view the file system utilization, run the following command:

    df -Th

    The output is similar to the following example:

      #  df -Th 
    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_data-data  
    xfs  
    14T  
     5 
    .7T  
     8 
    .2T  
     41 
    %  
    /hana/data
    /dev/mapper/vg_hana_log-log  
    xfs  
    512G  
     7 
    .2G  
    505G  
     2 
    %  
    /hana/log
    /dev/mapper/vg_hana_usrsap-usrsap  
    xfs  
    32G  
    276M  
    32G  
     1 
    %  
    /usr/sap
    tmpfsDB10  
    tmpfs  
     5 
    .7T  
    800G  
     4 
    .9T  
     14 
    %  
    /hana/tmpfs0/DB1
    tmpfsDB11  
    tmpfs  
     5 
    .7T  
    796G  
     4 
    .9T  
     14 
    %  
    /hana/tmpfs1/DB1
    tmpfsDB12  
    tmpfs  
     5 
    .7T  
    783G  
     4 
    .9T  
     14 
    %  
    /hana/tmpfs2/DB1
    tmpfsDB13  
    tmpfs  
     5 
    .7T  
    780G  
     4 
    .9T  
     14 
    %  
    /hana/tmpfs3/DB1
    tmpfsDB14  
    tmpfs  
     5 
    .7T  
    816G  
     4 
    .9T  
     15 
    %  
    /hana/tmpfs4/DB1
    tmpfsDB15  
    tmpfs  
     5 
    .7T  
    780G  
     4 
    .9T  
     14 
    %  
    /hana/tmpfs5/DB1
    tmpfsDB16  
    tmpfs  
     5 
    .7T  
    816G  
     4 
    .9T  
     15 
    %  
    /hana/tmpfs6/DB1
    tmpfsDB17  
    tmpfs  
     5 
    .7T  
    780G  
     4 
    .9T  
     14 
    %  
    /hana/tmpfs7/DB1 
    

Migrate Persistent Disk volumes to Hyperdisk volumes

This section describes how you migrate the /hana/data and /hana/log volumes from Persistent Disk volumes to Hyperdisk volumes.

To illustrate the migration process, the following example configuration is used:

  • Machine type: m2-ultramem-416 (12 TB memory, 416 vCPUs)
  • SAP HANA scale-up system deployed by using the Google Cloud document Terraform: SAP HANA scale-up deployment guide .
    • OS: SLES for SAP 15 SP1
    • SAP HANA: HANA 2 SPS06, Patch 63
    • Default disk type: SSD Persistent Disk ( pd-ssd )
    • /hana/data and /hana/log volumes are mounted on separate disks and are built using LVM and XFS
    • The SAP HANA Fast Restart Option is enabled and 6 TB of data is loaded into the database. For information about how to do this, see Enabling SAP HANA Fast Restart .

To migrate Persistent Disk volumes to Hyperdisk volumes, perform the following steps:

  1. Stop the SAP HANA database by running the HDB stop command:

     HDB  
    stop 
    

    Alternatively, you can run the sapcontrol command:

     sapcontrol  
    -nr  
     INSTANCE_NUMBER 
      
    -function  
    StopSystem  
    HDB 
    

    Replace INSTANCE_NUMBER with the instance number for your SAP HANA system.

    For more information, see the SAP document Starting and Stopping SAP HANA Systems .

  2. Unmount the /hana/data and /hana/log volumes from the file system:

     umount  
    /hana/data
    umount  
    /hana/log 
    
  3. Determine the names disks hosting the /hana/data and /hana/log volumes by using any of the following methods:

    • Run the ls command:

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

      The output shows the mapping of disk names to devices, similar to the following example:

       ...
      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
      ... 
      
    • Run the gcloud compute instances describe command:

       gcloud  
      compute  
      instances  
      describe  
       INSTANCE_NAME 
        
      --zone = 
       ZONE 
       
      

      Replace the following:

      • INSTANCE_NAME : the name of the compute instance.
      • ZONE : the zone of the compute instance.

      The output shows details about the compute instance, including the disks attached to it. For example:

       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' 
       
      
    • In the Google Cloud console, go to the Compute Engine VM instances page, and click the compute instance name. The Storagesection displays the associated disk information.

  4. Create snapshots of the disks hosting the /hana/data and /hana/log volumes:

     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 
     
    

    Replace the following:

    • DATA_DISK : the name of the disk that hosts the /hana/data volume, which is set as a prefix for the data disk's snapshot
    • LOG_DISK : the name of the disk that hosts the /hana/log volume, which is set as a prefix for the log disk's snapshot
    • PROJECT_ID : the ID of the Google Cloud project where the disk is deployed
    • SOURCE_DISK_ZONE : the Compute Engine zone where the disk is deployed

    For more information about creating snapshots, see Create and manage disk snapshots .

  5. By using the disk snapshots that you created, create Hyperdisk volumes for the /hana/data and /hana/log volumes:

     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 
    

    Replace the following:

    • DATA_DISK : the name of the Persistent Disk volume that hosts the /hana/data volume, which is set as a prefix to the name of the Hyperdisk volume that you create
    • LOG_DISK : the name of the Persistent Disk volume that hosts the /hana/log volume, which is is set as a prefix to the name of the Hyperdisk volume that you create
    • PROJECT_ID : the ID of the Google Cloud project
    • HYPERDISK_TYPE : the type of Hyperdisk that you want to create, such as hyperdisk-extreme .
    • ZONE : the Compute Engine zone where you need to deploy the Hyperdisk volumes
    • IOPS_DATA_DISK : the IOPS that you want to set for the Hyperdisk you're creating to host /hana/data . You set the IOPS according to your performance requirements.
    • IOPS_LOG_DISK : the IOPS that you want to set for the Hyperdisk you're creating to host /hana/log . You set the IOPS according to your performance requirements.

    If you're creating Hyperdisk Balanced ( hyperdisk-balanced ) volumes, then you can also set its throughput.

    For information about the minimum size, IOPS, and throughput that you need to set for using Hyperdisk volumes with SAP HANA, see the row corresponding to your Compute Engine machine type in Minimum sizes for SSD-based Persistent Disk and Hyperdisk volumes .

    For more information about restoring a disk from a snapshot, see Restore from a snapshot .

  6. From the Compute Engine instance hosting your SAP HANA database, detach the Persistent Disk volumes that are hosting your /hana/data and /hana/log volumes:

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

    Replace the following:

    • INSTANCE_NAME : the name of your Compute Engine instance
    • DATA_DISK : the name of the Persistent Disk volume hosting your /hana/data volume, which you want to detach
    • LOG_DISK : the name of the Persistent Disk volume hosting your /hana/log volume, which you want to detach
    • ZONE : the Compute Engine zone where the disk is deployed
  7. Attach the Hyperdisk volumes that you created to the Compute Engine instance hosting your SAP HANA database:

     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 
     
    

    Replace the following:

    • INSTANCE_NAME : the name of the Compute Engine instance
    • DATA_DISK : the name of the Hyperdisk volume that you want to use to host the /hana/data volume
    • LOG_DISK : the name of the Hyperdisk volume that you want to use to host the /hana/log volume
    • ZONE : the Compute Engine zone where the Hyperdisk is deployed
  8. To mount the Hyperdisk volumes, perform the following steps as root or a user having sudo access:

    1. Remove all device mapping definitions to avoid LVM device mapping conflicts:

       dmsetup  
      remove_all 
      
    2. Scan all disks for volume groups, rebuild caches, and create missing volumes, including LVM:

       vgscan  
      -v  
      --mknodes 
      

      The output is similar to the following:

       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. Activate the volume groups:

       vgchange  
      -ay 
      

      The output is similar to the following:

        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. Scan for logical volumes:

       lvscan 
      

      The output is similar to the following:

       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. Mount the disks:

       mount  
      -av 
      

      The output is similar to the following:

       /  
      :  
      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. Verify the new volumes:

    • Verify the file system utilization:

       df  
      -Th 
      

      The output is similar to the following:

       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 
      
    • Verify that the devices are linked to the new volumes:

       lsblk 
      

      The output is similar to the following:

       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. Start your SAP HANA database by using one of the following commands:

    • Run the HDB start command:

       HDB  
      start 
      
    • Run the sapcontrol command:

       sapcontrol  
      -nr  
       INSTANCE_NUMBER 
        
      -function  
      StartSystem  
      HDB 
      

      Replace INSTANCE_NUMBER with the instance number for your SAP HANA database.

      For more information, see Starting and Stopping SAP HANA Systems .

Fall back to existing disks

If the disk migration fails, then you can fall back to using the existing Persistent Disk volumes because they contain the data as it existed before the migration procedure began.

To restore your SAP HANA database to its original state, perform the following steps:

  1. Stop the Compute Engine instance that hosts your SAP HANA database.
  2. Detach the Hyperdisk volumes that you created.
  3. Reattach the existing Persistent Disk volumes to the compute instance.
  4. Start the compute instance.
Design a Mobile Site
View Site in Mobile | Classic
Share by: