Q & A

    內容表格
    您必須比較希望回復版本和目前版本之間的差異,您可以從檔案版本庫中進行比較。

    Combined revision comparison

    正在比較的版本由alang修改於13:09, 11 Feb 2020,另一版本為, 由alang修改於13:10, 11 Feb 2020

    Other changes:

    1. /body/pre[5]/@class: nothing ⇒ "deki-transform"
    2. /body/pre[5]/@function: nothing ⇒ "syntax.Sql"

    Version from 13:09, 11 Feb 2020

    This revision modified by alang (Ban)
    Troubleshooting TIPs

    Log Files
    檔案目錄: /u01/app/oracle/ovm-manager-3/domains/ovm_domain/servers/AdminServer/logs/

    • access.log: Used to track HTTP access to the Web interface of the Oracle VM Manager and to the underlying Oracle WebLogic Server HTTP interface. This log can be used to track access and HTTP operations within Oracle VM Manager to help debug access issues and to audit access to the Oracle VM Manager.
    • AdminServer.log: Used to track events within the underlying Oracle WebLogic Server framework, including events triggered by Oracle VM Manager. This log can be used to track a variety of issues within Oracle VM Manager including TLS/SSL certificate issues, server availability issues, and any actions performed within Oracle VM Manager which are usually identifiable by searching for items containing the string com.oracle.ovm.mgr. Log in failures resulting from locked accounts (as opposed to incorrect credentials) are also in this file.
    • AdminServer-diagnostic.log: Used to track exceptions within the underlying Oracle WebLogic Server framework, including particular events triggered by Oracle VM Manager such as log in failures due to incorrect credentials. This log can be used to track Oracle VM Manager behavior that results in an exception or for log in failure, which can be tracked by searching for the string An incorrect username or password was specified.

     

    Log Parsing Tool: OvmLogTool.py
    檔案目錄: /u01/app/oracle/ovm-manager-3/ovm_tools/
    由於 AdminServer.log 的內容不易讀取,使用這指令格式化 log 內容。

    cd /u01/app/oracle/ovm-manager-3/ovm_tools/
    python OvmLogTool.py -s -o ~/ovm_logs/summary.`date +%y%m%d_%H%M`
    

    格式化後的結果會儲存在 ~/ovm_logs/summary.<todaty_now>

    TIP:

    -s , 只會顯示 Error 相關的 Log; 不加則會顯示所有 Log。
     
    Q: OVMM 主機的 MySQL DB 耗盡所有磁碟空間
    檢查 MySQL 的資料表使用空間
    # du -chs /u01/app/oracle/mysql/data/ovs/OVM_STATISTIC*
    16K     /u01/app/oracle/mysql/data/ovs/OVM_STATISTIC.frm
    121G    /u01/app/oracle/mysql/data/ovs/OVM_STATISTIC.ibd  <===

    解決:

    1. 先釋出一些其他的可用空間,使 MySQL 可正常運作。
    2. 關閉 ovmm 服務,避免更多資料的寫入。
    3. 清除資料表 OVM_STATISTIC 的內容。

     

    關閉 ovmm

    service ovmm stop
    

    檢查資料表 OVM_STATISTIC 的筆數

    mysql -u ovs -p -S /u01/app/oracle/mysql/data/mysqld.sock ovs
    Enter password: <網頁登入密碼>
    mysql> select count(*) from OVM_STATISTIC;
    +-----------+
    | count(*)  |
    +-----------+
    | 184795278 |
    +-----------+
    1 row in set (6 min 35.98 sec)
    

    清除資料表 OVM_STATISTIC

    mysql> truncate table OVM_STATISTIC;
    
    TIP: truncate 基本上是先執行 drop 再 create,就算有 1 億多筆資料在幾秒鐘就會完成清除。

    另一個方式取代 truncate

    mysql> create table NEW_OVM_STATISTIC like OVM_STATISTIC;
    mysql> rename table OVM_STATISTIC to OLD_OVM_STATISTIC, NEW_OVM_STATISTIC to OVM_STATISTIC;
    mysql> drop table OLD_OVM_STATISTIC;
    
    Q: VM 無法結束,使用 Kill 也沒用

    VM 狀態一直顯示 Stopping,執行 Kill 失敗,出現錯誤:

    tpeoddovm-db01 <1108> is locked. job info: job id(time):1525839275699 name:Stop VM: tpeoddovm-db01 description:Stop VM: tpeoddovm-db01

    解決:試試重啟該 VM 所在的 OVS 主機裡的 ovs-agent 服務

    service ovs-agent stop
    service ovs-agent start 
    
    Q: 無法建立 Server Pool

    重裝完 OVS 與 OVM Manager 主機後,無法使用原有的 LUNs 建立 Server Pool 與 Repository。

    解決:SSH 登入 OVS 主機,清空 LUNs 的資料

    找出 LUN 路徑
    #> multipath -ll
    
    #> dd if=/dev/zero of=/dev/mapper/360a980004434375a385d4747374b5155 bs=1M count=256
    
    Q: [OVM 3.3.x] 管理介面網頁突然無法登入

    錯誤訊息:

    Unexpected error during login (java.lang.NullPointerException)

    解決:二擇一

    • 重啟 ovmm 服務
    • 重啟 OVMM 主機
    Q: Server Pool 的 Master Server 硬體故障並意外關機,隨後將 VM 遷移(Migrate) 至另一部 OVS 後,啟動 VM 時發生錯誤

    錯誤訊息

    Caught during invoke method: com.oracle.ovm.mgr.api.exception.IllegalOperationException....

    解決:在遷移 VM 之前,請先將它的 Event Serverity 狀態從 Critical 變更成 Informational。步驟如下:

    1. 確認主機故障原因
    2. 確認第二部主機服務正常,與所有 Repositories Storage 正常
    3. 將 VM 從故障主機遷移(Migrate) 至另一部主機
    4. OVMM > Servers and VMs > 選擇第二部OVS主機 > 選擇要啟動的 VM > 按右鍵 Display Events
      將每個 Critical Event 做完 Acknowledge,完成後這 VM 的 Event Serverity 狀態應該會顯是正常 Informational。
    5. 啟動 VM 試試
    Q: Repositories 總是顯示 Error 圖示

    先前由於硬體維護工作,造成 Storage 短暫的連接異常,但解決異常後,Error 圖示 仍保持顯示

    解決:OVMM Admin > Repositories > 選擇 Storage Repository > Perspective: 選擇 Events

    選擇尚未處理的舊事件,按 Acknowledge,完成

    Q: [OVM 3.3.x]無法從 Clustered Server Pool 移除既有 Oracle VM Server(OVS)

    有一個 OVS 需要重新安裝,但無法從已經加入的 Clustered Server Pool 中移除,出現以下錯誤:

    OVMRU_000036E Cannot remove server: tycoddovs01.winfoundry.com, from pool: oddfdc_db. There are still OCFS2 file systems

    解決:要移除從 Clustered Server Pool 裡移除其中一台 OVS 主機,必須符合下列條件

    • 要移除的 OVS 不可以是 Master Server。
    • 必須先移除(un-present) 與這個 OVS 主機所有相關的 Storage Repositories。

    假使這個 OVS 是 Server Pool 裡唯一的主機,可以使用下述步驟,強制將它從 Server Pool 內移除。

    1. SSH 登入至該 OVS 主機,執行以下指令:

    service ovs-agent stop
    rm -rf /etc/ovs-agent/db
    cat /dev/null > /etc/ocfs2/cluster.conf
    service ovs-agent start 
    

    2. 登入 OVMM 後,從控制台的視窗,應該就會顯示該 OVS 主機是在 Unassigned Servers 狀態。

    TIPs:

    * 一旦 OVS 呈現 Unassigned 狀態後,如果還是無法刪除舊 Server Pool (可能出現錯誤 Internal Error),可以先重啟 OVMM 主機後,確認 OVS 與 OVMM 的時間都有同步,再刪除一次。

    * 呈現 Unassigned 的舊 OVS 主機,若要在控制台上將它刪除,可能無法成功,此時先對舊 OVS 做一次 Discover Servers,完成後應該就能從控制台,將舊 OVS 主機移除。
    NOTE:做完 Discover Servers 後,控制台可能會出現 Unknown Server Pool.....,這是來自舊的設定,請將它徹底移除即可。

    Q: 如何加大 VM 既有磁碟的可用空間

    問題描述:

    使用 VM template 新增的 VM 後,發現預設的系統磁碟容量太小,要如何才能加大容量?

    1. 使用 OVMM 將 VM 的 System 磁碟增大

    OVMM > Servers and VMs > 選擇 VM > 編輯 VM > Disks > 編輯 Slot 0 的磁碟

    • Virtual Disk Name:system (x) <可不用變更>
    • Size (GB):12 -> 50GB
    • Shareable:空白
       

    2. 登入 VM 後,執行以下操作

    記下 SWAP 的大小

    > free -m
    例如是 2048M 
    

    關閉 SWAP

    > swapoff /dev/xvda3
    

    -1 刪除 xvda3 & xvda2 磁區
    -2 重建 xvda2 (+48G) & xvda3 (剩餘空間)
    -3 寫入後離開

    > fdisk /dev/xvda
    

    重啟 VM

    reboot
    

    格式化 SWAP

    > mkswap /dev/xvda3
    > swapon /dev/xvda3 
    

    Resize 根目錄

    > resize2fs /dev/xvda2
    
    Q: 如何取得 Oracle VM 的擁有權

    (http://docs.oracle.com/cd/E26996_01/e18549/BABFCCHE.html)

    • 在 OVMM 執行 Discover Servers 時,如果 OVM 是處於 Unowned 狀態,OVMM 會自動取得該擁有權。
    • 如果連結某一台 OVM 顯示 Owned by Another.... 狀態時,必須回到最近加入這個 OVM 的 OVMM,然後解除該OVM主機的擁有權後,才可以再被新的 OVMM 加入。
    • 要從 OVMM 介面解除某個 OVM 主機的擁有權,必須先移出 server pool,然後刪除該主機,或編輯該主機,將 take ownership 取消。
    Q: 如何做校時設定

    建議做法是將 OVMM 設定為 NTP Server,所有的 OVS 主機與 VM 自動向 OVMM 做校時。

    OVMM 設定 NTP)

    1. 設定系統時區
      編輯 /etc/sysconfig/clock 或指令 setup。
    2. 設定 ntp.conf
      編輯 ntp.conf
      // 這裡要設定 OVS 的網段,如果有其他網段的主機也要做校時,也可以加上。
      # Hosts on local network are less restricted.
      restrict 192.168.7.0 mask 255.255.255.0 nomodify notrap

      // 註解這兩行
      #server 127.127.1.0     # local clock
      #fudge  127.127.1.0 stratum 10

      //這裡是上層的 NTP 校時主機位址
      server 0.rhel.pool.ntp.org
      server 1.rhel.pool.ntp.org
      server 2.rhel.pool.ntp.org
    3. 啟動 ntpd 服務
       

    OVS 設定 NTP)

    OVMM 3.3.x 不需要在 OVS 上做設定,當使用 VM Manager 第一次加入 OVS 時,系統會自動修改 OVS 的 ntp.conf。

    VM 設定 NTP)

    VM(guest OS) 如果是用 OEL template,而且 Linux kernel 是 UEK based。當 VM 重啟時,系統時間會與 OVS 主機相同,不過,直到下次重啟前,系統運行過程並不會與 OVS 主機做校時,如果 VM 長時間不做重啟,必須手動設定 NTPD 或 ntpdate 校時功能。

    1. 編輯 /etc/ntp.conf
      // 註解這兩行
      #server 127.127.1.0     # local clock
      #fudge  127.127.1.0 stratum 10

      // 最後一行加上
      # OVM Manager
      server 10.23.0.203
    2. 重啟 ntpd 服務

    版本為 13:10, 11 Feb 2020

    This revision modified by alang (Ban)
    Troubleshooting TIPs

    Log Files
    檔案目錄: /u01/app/oracle/ovm-manager-3/domains/ovm_domain/servers/AdminServer/logs/

    • access.log: Used to track HTTP access to the Web interface of the Oracle VM Manager and to the underlying Oracle WebLogic Server HTTP interface. This log can be used to track access and HTTP operations within Oracle VM Manager to help debug access issues and to audit access to the Oracle VM Manager.
    • AdminServer.log: Used to track events within the underlying Oracle WebLogic Server framework, including events triggered by Oracle VM Manager. This log can be used to track a variety of issues within Oracle VM Manager including TLS/SSL certificate issues, server availability issues, and any actions performed within Oracle VM Manager which are usually identifiable by searching for items containing the string com.oracle.ovm.mgr. Log in failures resulting from locked accounts (as opposed to incorrect credentials) are also in this file.
    • AdminServer-diagnostic.log: Used to track exceptions within the underlying Oracle WebLogic Server framework, including particular events triggered by Oracle VM Manager such as log in failures due to incorrect credentials. This log can be used to track Oracle VM Manager behavior that results in an exception or for log in failure, which can be tracked by searching for the string An incorrect username or password was specified.

     

    Log Parsing Tool: OvmLogTool.py
    檔案目錄: /u01/app/oracle/ovm-manager-3/ovm_tools/
    由於 AdminServer.log 的內容不易讀取,使用這指令格式化 log 內容。

    cd /u01/app/oracle/ovm-manager-3/ovm_tools/
    python OvmLogTool.py -s -o ~/ovm_logs/summary.`date +%y%m%d_%H%M`
    

    格式化後的結果會儲存在 ~/ovm_logs/summary.<todaty_now>

    TIP:

    -s , 只會顯示 Error 相關的 Log; 不加則會顯示所有 Log。
     
    Q: OVMM 主機的 MySQL DB 耗盡所有磁碟空間
    檢查 MySQL 的資料表使用空間
    # du -chs /u01/app/oracle/mysql/data/ovs/OVM_STATISTIC*
    16K     /u01/app/oracle/mysql/data/ovs/OVM_STATISTIC.frm
    121G    /u01/app/oracle/mysql/data/ovs/OVM_STATISTIC.ibd  <===

    解決:

    1. 先釋出一些其他的可用空間,使 MySQL 可正常運作。
    2. 關閉 ovmm 服務,避免更多資料的寫入。
    3. 清除資料表 OVM_STATISTIC 的內容。

     

    關閉 ovmm

    service ovmm stop
    

    檢查資料表 OVM_STATISTIC 的筆數

    mysql -u ovs -p -S /u01/app/oracle/mysql/data/mysqld.sock ovs
    Enter password: <網頁登入密碼>
    mysql> select count(*) from OVM_STATISTIC;
    +-----------+
    | count(*)  |
    +-----------+
    | 184795278 |
    +-----------+
    1 row in set (6 min 35.98 sec)
    

    清除資料表 OVM_STATISTIC

    mysql> truncate table OVM_STATISTIC;
    
    TIP: truncate 基本上是先執行 drop 再 create,就算有 1 億多筆資料在幾秒鐘就會完成清除。

    另一個方式取代 truncate

    mysql> create table NEW_OVM_STATISTIC like OVM_STATISTIC;
    mysql> rename table OVM_STATISTIC to OLD_OVM_STATISTIC, NEW_OVM_STATISTIC to OVM_STATISTIC;
    mysql> drop table OLD_OVM_STATISTIC;
    
    Q: VM 無法結束,使用 Kill 也沒用

    VM 狀態一直顯示 Stopping,執行 Kill 失敗,出現錯誤:

    tpeoddovm-db01 <1108> is locked. job info: job id(time):1525839275699 name:Stop VM: tpeoddovm-db01 description:Stop VM: tpeoddovm-db01

    解決:試試重啟該 VM 所在的 OVS 主機裡的 ovs-agent 服務

    service ovs-agent stop
    service ovs-agent start 
    
    Q: 無法建立 Server Pool

    重裝完 OVS 與 OVM Manager 主機後,無法使用原有的 LUNs 建立 Server Pool 與 Repository。

    解決:SSH 登入 OVS 主機,清空 LUNs 的資料

    找出 LUN 路徑
    #> multipath -ll
    
    #> dd if=/dev/zero of=/dev/mapper/360a980004434375a385d4747374b5155 bs=1M count=256
    
    Q: [OVM 3.3.x] 管理介面網頁突然無法登入

    錯誤訊息:

    Unexpected error during login (java.lang.NullPointerException)

    解決:二擇一

    • 重啟 ovmm 服務
    • 重啟 OVMM 主機
    Q: Server Pool 的 Master Server 硬體故障並意外關機,隨後將 VM 遷移(Migrate) 至另一部 OVS 後,啟動 VM 時發生錯誤

    錯誤訊息

    Caught during invoke method: com.oracle.ovm.mgr.api.exception.IllegalOperationException....

    解決:在遷移 VM 之前,請先將它的 Event Serverity 狀態從 Critical 變更成 Informational。步驟如下:

    1. 確認主機故障原因
    2. 確認第二部主機服務正常,與所有 Repositories Storage 正常
    3. 將 VM 從故障主機遷移(Migrate) 至另一部主機
    4. OVMM > Servers and VMs > 選擇第二部OVS主機 > 選擇要啟動的 VM > 按右鍵 Display Events
      將每個 Critical Event 做完 Acknowledge,完成後這 VM 的 Event Serverity 狀態應該會顯是正常 Informational。
    5. 啟動 VM 試試
    Q: Repositories 總是顯示 Error 圖示

    先前由於硬體維護工作,造成 Storage 短暫的連接異常,但解決異常後,Error 圖示 仍保持顯示

    解決:OVMM Admin > Repositories > 選擇 Storage Repository > Perspective: 選擇 Events

    選擇尚未處理的舊事件,按 Acknowledge,完成

    Q: [OVM 3.3.x]無法從 Clustered Server Pool 移除既有 Oracle VM Server(OVS)

    有一個 OVS 需要重新安裝,但無法從已經加入的 Clustered Server Pool 中移除,出現以下錯誤:

    OVMRU_000036E Cannot remove server: tycoddovs01.winfoundry.com, from pool: oddfdc_db. There are still OCFS2 file systems

    解決:要移除從 Clustered Server Pool 裡移除其中一台 OVS 主機,必須符合下列條件

    • 要移除的 OVS 不可以是 Master Server。
    • 必須先移除(un-present) 與這個 OVS 主機所有相關的 Storage Repositories。

    假使這個 OVS 是 Server Pool 裡唯一的主機,可以使用下述步驟,強制將它從 Server Pool 內移除。

    1. SSH 登入至該 OVS 主機,執行以下指令:

    service ovs-agent stop
    rm -rf /etc/ovs-agent/db
    cat /dev/null > /etc/ocfs2/cluster.conf
    service ovs-agent start 
    

    2. 登入 OVMM 後,從控制台的視窗,應該就會顯示該 OVS 主機是在 Unassigned Servers 狀態。

    TIPs:

    * 一旦 OVS 呈現 Unassigned 狀態後,如果還是無法刪除舊 Server Pool (可能出現錯誤 Internal Error),可以先重啟 OVMM 主機後,確認 OVS 與 OVMM 的時間都有同步,再刪除一次。

    * 呈現 Unassigned 的舊 OVS 主機,若要在控制台上將它刪除,可能無法成功,此時先對舊 OVS 做一次 Discover Servers,完成後應該就能從控制台,將舊 OVS 主機移除。
    NOTE:做完 Discover Servers 後,控制台可能會出現 Unknown Server Pool.....,這是來自舊的設定,請將它徹底移除即可。

    Q: 如何加大 VM 既有磁碟的可用空間

    問題描述:

    使用 VM template 新增的 VM 後,發現預設的系統磁碟容量太小,要如何才能加大容量?

    1. 使用 OVMM 將 VM 的 System 磁碟增大

    OVMM > Servers and VMs > 選擇 VM > 編輯 VM > Disks > 編輯 Slot 0 的磁碟

    • Virtual Disk Name:system (x) <可不用變更>
    • Size (GB):12 -> 50GB
    • Shareable:空白
       

    2. 登入 VM 後,執行以下操作

    記下 SWAP 的大小

    > free -m
    例如是 2048M 
    

    關閉 SWAP

    > swapoff /dev/xvda3
    

    -1 刪除 xvda3 & xvda2 磁區
    -2 重建 xvda2 (+48G) & xvda3 (剩餘空間)
    -3 寫入後離開

    > fdisk /dev/xvda
    

    重啟 VM

    reboot
    

    格式化 SWAP

    > mkswap /dev/xvda3
    > swapon /dev/xvda3 
    

    Resize 根目錄

    > resize2fs /dev/xvda2
    
    Q: 如何取得 Oracle VM 的擁有權

    (http://docs.oracle.com/cd/E26996_01/e18549/BABFCCHE.html)

    • 在 OVMM 執行 Discover Servers 時,如果 OVM 是處於 Unowned 狀態,OVMM 會自動取得該擁有權。
    • 如果連結某一台 OVM 顯示 Owned by Another.... 狀態時,必須回到最近加入這個 OVM 的 OVMM,然後解除該OVM主機的擁有權後,才可以再被新的 OVMM 加入。
    • 要從 OVMM 介面解除某個 OVM 主機的擁有權,必須先移出 server pool,然後刪除該主機,或編輯該主機,將 take ownership 取消。
    Q: 如何做校時設定

    建議做法是將 OVMM 設定為 NTP Server,所有的 OVS 主機與 VM 自動向 OVMM 做校時。

    OVMM 設定 NTP)

    1. 設定系統時區
      編輯 /etc/sysconfig/clock 或指令 setup。
    2. 設定 ntp.conf
      編輯 ntp.conf
      // 這裡要設定 OVS 的網段,如果有其他網段的主機也要做校時,也可以加上。
      # Hosts on local network are less restricted.
      restrict 192.168.7.0 mask 255.255.255.0 nomodify notrap

      // 註解這兩行
      #server 127.127.1.0     # local clock
      #fudge  127.127.1.0 stratum 10

      //這裡是上層的 NTP 校時主機位址
      server 0.rhel.pool.ntp.org
      server 1.rhel.pool.ntp.org
      server 2.rhel.pool.ntp.org
    3. 啟動 ntpd 服務
       

    OVS 設定 NTP)

    OVMM 3.3.x 不需要在 OVS 上做設定,當使用 VM Manager 第一次加入 OVS 時,系統會自動修改 OVS 的 ntp.conf。

    VM 設定 NTP)

    VM(guest OS) 如果是用 OEL template,而且 Linux kernel 是 UEK based。當 VM 重啟時,系統時間會與 OVS 主機相同,不過,直到下次重啟前,系統運行過程並不會與 OVS 主機做校時,如果 VM 長時間不做重啟,必須手動設定 NTPD 或 ntpdate 校時功能。

    1. 編輯 /etc/ntp.conf
      // 註解這兩行
      #server 127.127.1.0     # local clock
      #fudge  127.127.1.0 stratum 10

      // 最後一行加上
      # OVM Manager
      server 10.23.0.203
    2. 重啟 ntpd 服務
    Powered by MindTouch Core