8 Managing Storage

You can add storage to fully populate the base storage shelf and add a storage expansion shelf to your Oracle Database Appliance.

Topics:

About Managing Storage

You can add storage at any time without shutting down your databases or applications.

Oracle Database Appliance uses raw storage to protect data in the following ways:

  • Flash or Fast Recovery Area (FRA) backup. Flash or fast recovery area is a storage area (directory on disk or Oracle ASM diskgroup) that contains redo logs, control file, archived logs, backup pieces and copies, and flashback logs.

  • Mirroring. Double or triple mirroring provides protection against mechanical issues.

The amount of available storage is determined by the location of the FRA backup (external or internal) and if double or triple mirroring is used.

Oracle Database Appliance uses storage shelves, a base shelf and an optional storage expansion shelf. You can expand the base storage by adding a pack of solid-state drives (SSDs) to fully populate the base storage. You can further expand the storage by adding a second storage shelf. External NFS storage is supported for online backups, data staging, or additional database files.

Note:

You must fully populate the base storage shelf before adding the expansion shelf.

When you add storage, Oracle Automatic Storage Management (Oracle ASM) automatically rebalances the data across all of the storage including the new drives. Rebalancing a disk group moves data between disks to ensure that every file is evenly spread across all of the disks in a disk group and all of the disks are evenly filled to the same percentage. Oracle ASM automatically initiates a rebalance after storage configuration changes, such as when you add disks.

About Expanding Storage

You can add the 10-pack of SSDs to fully populate the base storage shelf. If you need additional storage after fully populating the base shelf, you can add a storage expansion shelf.

The expansion shelf is hot-pluggable, enabling you to expand storage without database downtime. After cabling and powering up the expansion shelf, the system automatically configures Oracle ASM storage and data is automatically distributed to the new shelf.

Note:

The process of rebalancing the data might impact performance until the new storage is correctly balanced across all drives. If possible, add a storage expansion shelf during a non-peak or non-production time period to minimize the performance impact of the automatic storage balancing.

The addition of the storage expansion shelf includes checks across both nodes. It is important to confirm that SSH does work across the nodes and all users can connect as expected using their shared password.

The following are the high level steps to expand storage:

  1. Review the Oracle Database Appliance storage options.

  2. Prepare for a storage upgrade by running checks to verify that the configuration is ready before adding storage to the base shelf or adding the expansion shelf.

  3. Add the 10-pack of SSDs if the base configuration is not full.

  4. Add the storage expansion shelf, then log in to each server node and validate the cabling. After you confirm that the cabling is correct, power on the shelf and validate the storage.

    Caution:

    Review cabling instructions carefully to ensure that you have carried out cabling correctly. Incorrect connections can cause data loss when adding a storage expansion shelf to Oracle Database Appliance with existing databases.

Preparing for a Storage Upgrade

Review and perform these best practices before adding storage to the base shelf or adding the expansion shelf.

  1. Update Oracle Database Appliance to the latest Patch Bundle before expanding storage.
  2. Confirm both nodes are at the same version and patch bundle level for software and firmware.
    # oakcli show version -detail 
    
    #oakcli inventory -q 
    

    Note:

    If oakd is not running on either node, fix the problem before adding storage.
  3. Check the disk health of the existing storage disks.

    Run the check on both nodes and use the default checks option to check the NetworkComponents, OSDiskStorage, SharedStorage, and SystemComponents.

    # oakcli validate -d
    
  4. Run the oakcli show diskgroup command on each node to display and review Oracle Automatic Storage Management (Oracle ASM) disk group information.
    # oakcli show diskgroup data
    
    # oakcli show diskgroup reco
    
     # oakcli show diskgroup redo 
    
  5. Confirm Oracle ASM and CRS health on both nodes.
    Run the oakcli orachk command on each node. If there is a problem connecting to either node, then check the /etc/bashrc  file and remove (or remark out) any values in the profile for root ; oracle ; grid users 

    Run oakcli orachk on Node 0:

    # oakcli orachk
    ...
    
    Checking Status of Oracle Software Stack - Clusterware, ASM, RDBMS
    
    . . . . . . . . .
    -------------------------------------------------------------------------------------------------------
    Oracle Stack Status
    -------------------------------------------------------------------------------------------------------
    Host Name CRS Installed  ASM HOME   RDBMS Installed    CRS UP    ASM UP    RDBMS UP DB Instance Name
    -------------------------------------------------------------------------------------------------------
    odax3rm1       Yes           No          Yes              No        No        No          ........
    -------------------------------------------------------------------------------------------------------
    
     ...
    

    Run oakcli orachk on Node 1:

    # oakcli orachk
    ...
    
    Checking Status of Oracle Software Stack - Clusterware, ASM, RDBMS
    
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    -------------------------------------------------------------------------------------------------------
    Oracle Stack Status
    -------------------------------------------------------------------------------------------------------
    Host Name CRS Installed  ASM HOME   RDBMS Installed    CRS UP    ASM UP    RDBMS UP DB Instance Name
    -------------------------------------------------------------------------------------------------------
    odax3rm2      Yes           Yes           Yes            Yes       Yes        Yes      b22S2 b23S2 b24S2
    -------------------------------------------------------------------------------------------------------
    
    ...
    
  6. Confirm communications between the nodes and that SSH is working using the same password for oracle, root and grid.
    From each node:
    1. ssh to both nodes.
    2. Ping both nodes.
  7. Confirm there is at least 10 GB of space available on each node.
    [root@oda]# df -h
    
    [root@odb]# df -h 
    

Adding the 10-Pack of SSDs

Add the 10-pack solid-state drives (SSDs) for data storage into the existing base configuration to fully populate the base storage shelf.

Before adding the disks to the system, ensure that Oracle Database Appliance is on the latest update version.
  1. Insert disks one at a time in slots 10 through 19.

    Note:

    Allow at least one minute between inserting each disk to avoid flooding of disk events into oakd.
    After all 10 disks are added, go to Step 2.
  2. Run the oakcli show ismaster command to determine which node is the master.
    # oakcli show ismaster
    
  3. Run the oakcli expand storage command on the master node.
    #oakcli expand storage 
    Precheck passed. 
    Successfully formatted 1.6TB SSD disks... 
    Check the progress of expansion of storage by executing 'oakcli show disk' 
    Waiting for expansion to finish ...
    
    Wait 30 seconds before proceeding to the next step.
  4. Execute the oakcli expand storage command on the slave node.
    #oakcli expand storage 
    Precheck passed. 
    Successfully formatted 1.6TB SSD disks... 
    Check the progress of expansion of storage by executing 'oakcli show disk' 
    Waiting for expansion to finish ...
    
    It takes 10 to 12 minutes to add all of the disks to the configuration.
  5. Run the oakcli showdisk command to ensure that all disks are listed, are online, and are in a good state.
    # oakcli show disk
    
  6. Verify that the disks in slots 10 to 20 are added to Oracle Automatic Storage Management (Oracle ASM).
    1. Run the asm_script to verify that the disks in slots 10 to 20 are added to Oracle Automatic Storage Management (Oracle ASM). If the 10 disks are successfully added (CACHED and MEMBER), then go to Step 7.
      su grid user /opt/oracle/oak/bin/stordiag/asm_script.sh 1 6
      
    2. If the disks are not added to Oracle ASM, then add them manually. As a grid user, execute the sqlplus '/as sysasm' command on the master node to add the disks to Oracle ASM.
      #sqlplus '/as sysasm'
      ....
      SQL> alter diskgroup /*+ _OAK_AsmCookie */ data add disk 
      '/dev/mapper/SSD_E0_S11_1399764284p1' name SSD_E0_S11_1399764284p1, 
      '/dev/mapper/SSD_E0_S12_1399765076p1' name SSD_E0_S12_1399765076p1, 
      '/dev/mapper/SSD_E0_S13_1399765116p1' name SSD_E0_S13_1399765116p1, 
      '/dev/mapper/SSD_E0_S14_1399765484p1' name SSD_E0_S14_1399765484p1, 
      '/dev/mapper/SSD_E0_S15_1399765404p1' name SSD_E0_S15_1399765404p1, 
      '/dev/mapper/SSD_E0_S16_1399766160p1' name SSD_E0_S16_1399766160p1, 
      '/dev/mapper/SSD_E0_S17_1399765264p1' name SSD_E0_S17_1399765264p1, 
      '/dev/mapper/SSD_E0_S18_1399763588p1' name SSD_E0_S18_1399763588p1, 
      '/dev/mapper/SSD_E0_S19_1399765504p1' name SSD_E0_S19_1399765504p1;  
      
      SQL> alter diskgroup /*+ _OAK_AsmCookie */ reco add disk 
      '/dev/mapper/SSD_E0_S11_1399764284p2' name SSD_E0_S11_1399764284p2, 
      '/dev/mapper/SSD_E0_S12_1399765076p2' name SSD_E0_S12_1399765076p2, 
      '/dev/mapper/SSD_E0_S13_1399765116p2' name SSD_E0_S13_1399765116p2, 
      '/dev/mapper/SSD_E0_S14_1399765484p2' name SSD_E0_S14_1399765484p2, 
      '/dev/mapper/SSD_E0_S15_1399765404p2' name SSD_E0_S15_1399765404p2, 
      '/dev/mapper/SSD_E0_S16_1399766160p2' name SSD_E0_S16_1399766160p2, 
      '/dev/mapper/SSD_E0_S17_1399765264p2' name SSD_E0_S17_1399765264p2, 
      '/dev/mapper/SSD_E0_S18_1399763588p2' name SSD_E0_S18_1399763588p2, 
      '/dev/mapper/SSD_E0_S19_1399765504p2' name SSD_E0_S19_1399765504p2;
      
  7. Use the oakcli show validation storage errors command to show hard storage errors.
    Hard errors include having the wrong type of disk inserted into a particular slot, an invalid disk model, or an incorrect disk size.
    # oakcli show validation storage errors
  8. Use the oakcli show validation storage failures command to show soft validation errors.
    A typical soft disk error would be an invalid version of the disk firmware.
    # oakcli show validation storage failures
  9. Confirm that the oak_storage_conf.xml file shows 24 on both nodes.
    #cat /opt/oracle/oak/conf/oak_storage_conf.xml
    

Adding the Storage Expansion Shelf

After the base storage shelf is fully populated, you can add the storage expansion shelf to expand your data storage.

The addition of the storage expansion shelf includes checks across both nodes. It is important to confirm that SSH does work across the nodes and all users can connect as expected using their shared password.

Note:

Oracle recommends that you add a storage expansion shelf when you have relatively little activity on your databases. When the system discovers the new storage, Oracle ASM automatically rebalances the disk groups. The rebalance operation may degrade database performance until the operation completes.
  1. Install and cable the storage expansion shelf, but do not power on the expansion shelf.

    Caution:

    Review cabling instructions carefully to ensure that you have carried out cabling correctly. Incorrect connections can cause data loss when adding a storage expansion shelf to Oracle Database Appliance with existing databases.

  2. If this is a new deployment or re-image of Oracle Database Appliance, perform the following steps in order:
    1. Power on the base storage
    2. Power on Node 0
    3. Power on Node 1

    Caution:

    Do not power on the expansion shelf yet.
  3. Verify that both nodes plus the base storage shelf are up and running. Log into each server node and run the oakcli validate command to confirm that the base configuration cabling is correct.
     oakcli validate -c storagetopology
     ...
          INFO  : Check if JBOD powered on
     SUCCESS    : JBOD : Powered-on                                          
          INFO  : Check for correct number of EBODS(2 or 4)
     SUCCESS    : EBOD found : 2                                                                                                                                                                     INFO       : Check for overall status of cable validation on Node0
      SUCCESS   : Overall Cable Validation on Node0            
     SUCCESS    : JBOD Nickname set correctly : Oracle Database Appliance - E0
    
    The correct results will confirm if the two server nodes are properly cabled to the base storage shelf and all disks are online, with a good status, and added to the existing diskgroups on both nodes. If there any failures, then fix the cabling before proceeding to the next step.

    Note:

    IF the output shows that EBOD found is 2, then you only have the base storage shelf. If EBOD found is 4, then you have a base storage shelf and an expansion shelf.
  4. Power on the storage expansion shelf.
  5. Log in to each server node and run the oakcli validate command to validate the storage cabling and confirm that the new storage shelf is recognized.
    # oakcli validate -c storagetopology
    
      INFO    : Check if JBOD powered on
      SUCCESS : 2JBOD : Powered-on                                               
      INFO    : Check for correct number of EBODS(2 or 4)
      SUCCESS : EBOD found : 4                                                   
       ...
       ...
    
       INFO    : Check for overall status of cable validation on Node0
       SUCCESS : Overall Cable Validation on Node0            
       SUCCESS : JBOD0 Nickname set correctly : Oracle Database Appliance - E0
       SUCCESS : JBOD1 Nickname set correctly : Oracle Database Appliance - E1                 
    
    Look for the following indicators that both storage shelves are recognized:
    • When there are two shelves, the JBOD (just a bunch of disks) is numbered. For example:
      SUCCESS : 2JBOD : Powered-on
      
    • When both shelves are recognized, the EBOD found value is 4.
      SUCCESS : EBOD found : 4
      
    • When the expansion shelf is cabled properly, the nickname is E1. For example:

              SUCCESS : JBOD0 Nickname set correctly : Oracle Database Appliance - E0
              SUCCESS : JBOD1 Nickname set correctly : Oracle Database Appliance - E1  
      

    Fix any errors before proceeding.

  6. Run the oakcli showdisk command to ensure that all disks in the expansion shelf are listed, are online, and are in a good state.
    # oakcli show disk
    
    When all disks are online and in a good state, proceed to the next step.
  7. Run the oakcli show enclosure command to check the health of components in expansion shelf.
    # oakcli show enclosure
    
  8. Run the oakcli show ismaster command on Node 0 to confirm that Node 0 is the master.
    # oakcli show ismaster
    
  9. Run the oakcli expand storage command on the master node.
    #oakcli expand storage 
    
    Precheck passed. 
    Successfully formatted 1.6TB SSD disks... 
    Check the progress of expansion of storage by executing 'oakcli show disk' 
    Waiting for expansion to finish ...
    
    Wait 30 seconds before proceeding to the next step.
  10. Execute the oakcli expand storage command on the slave node.
    #oakcli expand storage 
    
    Precheck passed. 
    Successfully formatted 1.6TB SSD disks... 
    Check the progress of expansion of storage by executing 'oakcli show disk' 
    Waiting for expansion to finish ...
    
    It takes approximately 10 to 12 minutes to add all of the disks to the configuration.
  11. Use the oakcli show validation storage errors command to show hard storage errors.
    Hard errors include having the wrong type of disk inserted into a particular slot, an invalid disk model, or an incorrect disk size.
    # oakcli show validation storage errors
  12. Use the oakcli show validation storage failures command to show soft validation errors.
    A typical soft disk error would be an invalid version of the disk firmware.
    # oakcli show validation storage failures
  13. Run the oakcli show version command to verify that all firmware components in the storage expansion are current.
    # oakcli show version -detail
    
  14. If needed, update the storage shelf and then run the show version command to confirm that the firmware is current.
    # oakcli update
    
    # oakcli show version -detail