Exadata Flash Cache 簡介(二)
在前一篇部落格裡,我們介紹了Exadata Flash Cache card(智慧快閃記憶體卡)的基本概念和工作方式,在這篇文章當中,我們會從介紹如何在Exadata上管理和維護智慧快閃記憶體卡。 由於智慧快閃記憶體卡在Exadata上可以作為 Flash Cache ,Flash log 和Flash grid disk使用, 本文也會對它們分別進行介紹。
首先,關於flash cache的基本管理命令:
1. 檢視當前的flash cache 配置
CellCLI> list flashcache detail;
2. 如何建立flash cache
CellCLI> create flashcache all size=2900.75G
這個命令會在當前cell 節點上的所有快閃記憶體卡上建立flash cache, 尺寸為2900.75G
3. 如何刪除flash cache 配置
CellCLI> drop flashcache all;
下來是關於flash log 的基本管理命令:
1. 檢視當前的flash log的配置
CellCLI> list flashlog detail
2. 建立flash log
CellCLI> create flashlog all size=1G
這個命令會在當前cell 節點上的所有快閃記憶體卡上建立flash log, 尺寸為1G
CellCLI> drop flashlog all;
接下來是管理 flash grid disk 的基本的命令。
1. 檢視當前的flash griddisk 的資訊
CellCLI> list griddisk detail
2. 建立flash griddisk
CellCLI>create griddisk all flashdisk prefix='FLASH' , size=1G;
這個命令會在當前cell 節點上的所有快閃記憶體卡上建立griddisk, 字首為FLASH,尺寸為1G
3. 刪除flash griddisk
CellCLI> drop griddisk all flashdisk prefix='FLASH';
對於更多的管理命令,請參考文件: Oracle? Exadata Storage Server Software User's Guide 12c Release 1 (12.1) ==> 8 Using the CellCLI Utility
由於智慧快閃記憶體卡在Exadata上最常用的用途是flash cache, 接下來介紹一下對flash cache的常見維護操作。
啟用write-back flash cache,可以使用rolling和non-rolling 方式完成。
Rolling 方式:
1. 使用root 使用者登入到對應的cell 節點上
2. 使用下面的命令檢視當前的flash cache 狀態
# cellcli -e LIST FLASHCACHE detail
3. 刪除當前的flash cache
# cellcli -e DROP FLASHCACHE
4. Inactivate cell 節點上所有的griddisk
# cellcli -e ALTER GRIDDISK ALL INACTIVE
5. 關閉 CELLSRV services
# cellcli -e ALTER CELL SHUTDOWN SERVICES CELLSRV
6. 啟動writeback flash cache
# cellcli -e "ALTER CELL FLASHCACHEMODE=writeback"
7. 重新啟動cellsrv 服務
# cellcli -e ALTER CELL STARTUP SERVICES CELLSRV
8. 啟用cell 節點上的grid disk
# cellcli -e ALTER GRIDDISK ALL ACTIVE
9. 重新建立flash cache
# cellcli -e CREATE FLASHCACHE ALL
10. 檢視flash cache 的模式
# cellcli -e LIST CELL DETAIL | grep flashCacheMode
11. 檢視griddisks 的asmDeactivationOutcome 和 asmModeStatus 屬性,它們的值應該顯示為yes 和 online
CellCLI> LIST GRIDDISK ATTRIBUTES name,asmdeactivationoutcome,asmmodestatus
12. 在其他cell 節點上重複上面的步驟。
Non-rolling 方式:
這種方法需要在任意的一個計算節點上執行就可以,並且需要建立一個檔案cell_group,其中列出了需要操作的cell 節點名稱列表。
例如: cat cell_group
dm01cel05
dm01cel06
dm01cel07
1. 在任意的計算節點,使用root使用者關閉GI
# cd $GI_HOME/bin
# ./crsctl stop cluster -all
2. 使用下面的命令刪除在所有的cell節點上的flash cache
# dcli -g cell_group -l root cellcli -e DROP FLASHCACHE
3. 使用下面的命令停止cell 節點上的cellsrv 服務
# dcli -g cell_group -l root cellcli -e ALTER CELL SHUTDOWN SERVICES CELLSRV
4. 檢視cell 節點上的flash cache 的模式
# dcli -g cell_group -l root "cellcli -e list cell detail | grep -i flashcachemode"
5. 設定 flash cache 的模式為writeback
# dcli -g cell_group -l root cellcli -e "ALTER CELL FLASHCACHEMODE=writeback"
6. 重啟cell 節點的cellsrv 服務
# dcli -g cell_group -l root cellcli -e ALTER CELL STARTUP SERVICES CELLSRV
7. 重新建立cell 節點上的flash cache
# dcli -g cell_group -l root cellcli -e CREATE FLASHCACHE ALL
8. 啟動叢集
# cd $GI_HOME/bin
# ./crsctl start cluster -all
禁用writeback falsh cache的方式同樣也分為rolling 和non-rolling兩種方式。
Rolling方式
1. 使用root使用者登入到需要操作的cell節點。
2. 確認以下命令返回的asmDeactivationOutcome 值為yes。
# dcli -g cell_group -l root cellcli -e "LIST GRIDDISK WHERE
asmdeactivationoutcome != 'Yes' attributes name, asmdeactivationoutcome,
asmmodestatus"
如果上面的命令返回了一些griddiks,說明有些dirty資料仍然被cache 在了flash cache 中,需要使用下面的方式來flush 掉。
檢視被cache 的dirty 資料的數量:
# dcli -g cell_group -l root cellcli -e "LIST METRICCURRENT ATTRIBUTES \
name,metricvalue WHERE name LIKE \'FC_BY_DIRTY.*\'"
使用下面的命令flush 掉flash cache 中的dirty 資料。
# dcli -g cell_group -l root cellcli -e ALTER FLASHCACHE ALL FLUSH
當flush結束之後,以下命令的flushstatus 列會顯示為completed。
# dcli -g cell_group -l root cellcli -e LIST CELLDISK ATTRIBUTES name, flushstatus, flusherror | grep FD
3. 接下來就可以使用本文之前的“使用rolling 方式啟用flash cache” 部分中的步驟來禁用flash cache 了。唯一的區別就在於第六步需要執行的是以下的禁用write back flash cache 命令。
# cellcli -e "ALTER CELL FLASHCACHEMODE=writethrough"
non-rolling 方式:這種方式的過程實際上和rolling 的方式是很類似的。
1. 使用root使用者登入到需要操作的cell節點。
2. 檢視被cache 的dirty 資料的數量:
# dcli -g cell_group -l root cellcli -e "LIST METRICCURRENT ATTRIBUTES \
name,metricvalue WHERE name LIKE \'FC_BY_DIRTY.*\'"
3. 使用下面的命令flush 掉flash cache 中的dirty 資料。
# dcli -g cell_group -l root cellcli -e ALTER FLASHCACHE ALL FLUSH
當flush結束之後,以下命令的flushstatus 列會顯示為completed。
# dcli -g cell_group -l root cellcli -e LIST CELLDISK ATTRIBUTES name, flushstatus, flusherror | grep FD
4. 參照本文之前的“使用non-rolling 方式啟用flash cache” 部分中的步驟來禁用flash cache 了。唯一的區別就在於第五步需要執行的是以下的禁用write back flash cache 命令。
# dcli -g cell_group -l root cellcli -e "ALTER CELL FLASHCACHEMODE=writethrough"
透過以上的介紹,希望大家能夠對日常的flash cache的維護有一些基本的瞭解,並有所幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22039464/viewspace-2138499/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ARM MMU和cache簡介 --20240310
- Spring Cache 介紹Spring
- library cache pin和library cache lock(二)
- 二叉樹簡介二叉樹
- Oracle11gR2 Smart Flash Cache測試說明Oracle
- Azure Bicep(二)語法簡介
- 痞子衡嵌入式:序列NOR Flash的DQS訊號功能簡介
- Azure Key Vault(二)- 入門簡介
- 樹和二叉樹簡介二叉樹
- Zookeeper叢集搭建和簡介(二)
- 快取融合(Cache Fusion)介紹快取
- Spring Cache 帶你飛(二)Spring
- MySQL入門系列:查詢簡介(二)MySql
- web workers簡介(二)動態建立workerWeb
- 【ASK_ORACLE】Library Cache概念篇(二)之Library Cache Pin的定義Oracle
- DMA cache一致性二
- LRU cache快取簡單實現快取
- Sentry Relay 二次開發除錯簡介除錯
- Service Worker學習與實踐(二)——PWA簡介
- RAM、ROM、FLASH、EMMC的簡單區分
- Guava 原始碼分析(Cache 原理【二階段】)Guava原始碼
- Redux技術架構簡介(二)– 非同步實現Redux架構非同步
- Redux技術架構簡介(二)-- 非同步實現Redux架構非同步
- 簡介
- [20201007]exadata儲存索引.txt索引
- exadata與安迪比爾定理
- Jira使用簡介 HP ALM使用簡介
- Linux工具效能調優系列二:buffer和cacheLinux
- 第二章:C#非同步程式設計簡介C#非同步程式設計
- openGauss資料庫原始碼解析系列文章——openGauss簡介(二)資料庫原始碼
- BookKeeper 介紹(1)--簡介
- [轉帖]10 Hardware Components of Oracle ExadataOracle
- [20180730]exadata與行連結.txt
- ggml 簡介
- PCIe簡介
- valgrind簡介
- SpringMVC簡介SpringMVC
- HTML 簡介HTML
- 核心簡介