Friday, February 12, 2016

How to enable Write-Back flash cache

As most of you know, Write back flash cache significantly improves performance for applications which are very intense in write operations, provides the ability to cache write I/Os directly to PCI flash in addition to read I/Os instead of writing to hard disks. Look for significant waits for "free buffer waits" or high IO times to check for write bottleneck in AWR reports, then it's time to go for this mode.
 It is available from release 11.2.3.2.0 (V2 and later ).
 FlashCache is “WriteThrough” by default.


LIST CELL shows the current value.
CELLCLI> list cell attributes flashcachemode
WriteThrough


  How to enable Write-Back Flash Cache:
 Methods are available:
  1. Rolling Method
  2. Non-Rolling Method
Note: Before performing the below steps, Perform the following check as root from one of the compute nodes:
Check all griddisk “asmdeactivationoutcome” and “asmmodestatus” to ensure that all griddisks on all cells are “Yes” and “ONLINE” respectively.

 # dcli -g cell_group -l root cellcli -e list griddisk attributes asmdeactivationoutcome, asmmodestatus



Check that all of the flashcache are in the “normal” state and that no flash disks are in a degraded or critical state:


# dcli -g cell_group -l root cellcli -e list flashcache detail


Rolling Method:
 (Assuming that RDBMS and ASM instances are UP and enabling Write-Back Flash Cache in One Cell Server at a time)


Login to Cell Server:
 Step 1. Drop the flash cache on that cell
#cellcli –e drop flashcache
Step 2. Check the status of ASM if the grid disks go OFFLINE. The following command should return 'Yes' for the grid disks being listed:
# cellcli -e list griddisk attributes name,asmmodestatus,asmdeactivationoutcome

Step 3. Inactivate the griddisk on the cell
# cellcli –e alter griddisk all inactive

Step 4. Shut down cellsrv service
# cellcli -e alter cell shutdown services cellsrv

Step 5. Set the cell flashcache mode to writeback
# cellcli -e "alter cell flashCacheMode=writeback"

Step 6. Restart the cellsrv service
# cellcli -e alter cell startup services cellsrv

Step 7. Reactivate the griddisks on the cell
# cellcli –e alter griddisk all active

Step 8. Verify all grid disks have been successfully put online using the following command:
# cellcli -e list griddisk attributes name, asmmodestatus

Step 9. Recreate the flash cache
# cellcli -e create flashcache all

Step 10. Check the status of the cell to confirm that it's now in WriteBack mode:
# cellcli -e list cell detail | grep flashCacheMode

Step 11.  Repeat these same steps again on the next cell to the FINAL cell. However, before taking another storage server offline, execute the following making sure 'asmdeactivationoutcome' displays YES:
# cellcli -e list griddisk attributes name,asmmodestatus,asmdeactivationoutcome


Non-Rolling Method:
 (Assuming that RDBMS & ASM instances are DOWN while enabling Write-Back Flash Cache)
Step 1. Drop the flash cache on that cell
# cellcli -e drop flashcache

Step 2. Shut down cellsrv service
# cellcli -e alter cell shutdown services cellsrv

Step 3. Set the cell flashcache mode to writeback
# cellcli -e "alter cell flashCacheMode=writeback"

Step 4. Restart the cellsrv service
# cellcli -e alter cell startup services cellsrv

Step 5. Recreate the flash cache
# cellcli -e create flashcache all



Write-Back Flash Cache Not Required for DiskGroup:
 Note: We can disable Write-Back Flash Cache diskgroups like RECO not requiring this feature. This can save space in the flash cache.
CACHINGPOLICY could be used to change the flash cache policy of the griddisk.
Before changing the cache policy from default to none, ensure there is no cached data in flash cache for the grid disk:
CellCLI> create griddisk all harddisk prefix=RECO, size=1006, cachingPolicy="none“
OR
CELLCLI>ALTER GRIDDISK grid_disk_name FLUSH
CELLCLI>ALTER GRIDDISK grid_disk_name CACHINGPOLICY="none"



Flushing the data from Flash Cache to Disk – Manual Method:
 The data which is not been synchronized with griddisk can be synchronized using the FLUSH option.
CELLCLI>ALTER GRIDDISK grid_disk_name FLUSH
Use the following command to check the progress of this activity:
CELLCLI>LIST GRIDDISK ATTRIBUTES name, flushstatus, flusher


 Reinstating WriteThrough FlashCache:
  1. To reinstate Writethrough caching, FlashCache must first be flushed.
  2. FlashCache must then be dropped and cellsrv stopped.
Step 1. CELLCLI> alter flashcache all flush
Step 2. CELLCLI> drop flashcache
Step 3. CELLCLI> alter cell shutdown services cellsrv
Step 4. CELLCLI> alter cell flashCacheMode = WriteThrough
Step 5. CELLCLI> alter cell startup services cellsrv

No comments:

Post a Comment