Q & A

    版本為 22:05, 5 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    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: 如何加大 Oracle VM Template 的可用空間

    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/.../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