VMware vCenter Storage Monitoring Service failed

環境是 vSphere 5 與 VMware vCenter Server Appliance,監控 storage 的服務是 VMware vCenter Storage Monitoring Service 縮寫是 sms。

今天發現從 vCenter Service Status sms 一直 failed,也可以從 vCenter 的這個網址檢查是不是健康 https://vcenter/sms/health.xml。造成跟硬碟效能監控有關的圖都跑不出來,嚴重影響我的測試,十分不悅。

結果去 /var/log/vmware/vpx/sms.log 裡面看到如下的錯誤:

— Cause: org.h2.jdbc.JdbcSQLException: NULL not allowed for column “ENTITYID”; SQL statement:
INSERT INTO scsiTarget ( entityId, wwn, portWwn, nodeWwn, iscsiName, iscsiAlias, type, vendor
) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? ) [90006-147]
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:91)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:447)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:59)
at com.vmware.vim.sms.provider.VcProviderImpl.populateScsiTargets(VcProviderImpl.java:849)
at com.vmware.vim.sms.provider.VcProviderImpl.access$300(VcProviderImpl.java:41)
at com.vmware.vim.sms.provider.VcProviderImpl$PopulateStorageInfoTask.run(VcProviderImpl.java:3006)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

十分不悅 again..,是 vCenter 的 bug = =?

好險找到這篇文章最後一個回答是解答,這個表裡面有一筆 NULL 的資料因此出了問題。所以找個軟體來連進去資料庫,我這環境是用 oracle,Client 是用 Navicat Premium 登入 Oracle,按照順序檢查有沒有這筆空資料,有的話就刪除。

select * from VPX_PSA_TARGET_TRANSPORT where ISCSI_NAME is NULL AND VPX_TYPE=’vim.host.InternetScsiTargetTransport’;

delete from VPX_PSA_TARGET_TRANSPORT where ISCSI_NAME is NULL AND VPX_TYPE=’vim.host.InternetScsiTargetTransport’;

接著重開 ESXi Service 他就復活拉拉拉阿~~~~~

vim 學習筆記

最近突然很想學好 vim~開一篇文章紀錄一下雜亂的學習過程好哩

$ vimtutor
可以進入教學模式,學習一些編輯指令

Pane:切換 Pane = ^w + 上下左右

方向鍵:

為了不讓手離開主鍵盤區,手要放在標準的打字位置(右手食指在 j),透過右手來按上下左右。
左h 下j 上k 右l

移動

f[x] 移動到同一行下一個 x 用 ; 重複再找 F[x] 往前

escape:
切換回編輯模式的時候要按 esc 來跳脫,實在是離很遠,其實可以左右手合體按 Ctrl+[ 來跳脫。

離開:
存檔離開 ZZ = :wq
不存檔離開 ZQ  = :q!

縮排

先用 ^v 進入區塊模式選擇要縮排的範圍

自動縮排 ==
縮 >>
減 <<
縮三行 3>>
減三行 3>>
縮區塊 >i{
減區塊 <i{

搭配 set shiftwidth=2

圖例

Plugin
  • NERDTree:檔案列表樹狀結構
  • Vundle : 套件管理工具,安裝
  • powerline : https://powerline.readthedocs.org/en/latest/overview.html#installation
bash : 
 ^s : lock
 ^q : leave lock
 ^r : search history