openstack常見問題解決辦法

  • 作者:【吳業亮】雲計算開發工程師 
    博客:http://blog.csdn.net/wylfengyujiancheng

    在部署和使用openstack過程中小夥伴們經常問我關於openstack問題,感謝小夥伴們的信任。其中有很多問題都是重複的,現將一些代表性的問題總結如下: 
    一、vnc打不開問題 
    1、檢查controller和所以computer節點的nova.conf 文件vnc選項IP是否爲controller的管理IP

    # cat /etc/nova/nova.conf | grep “novncproxy_base_url“

    這裏寫圖片描述

    2、novncproxy_base_url中儘量寫IP,寫主機名在無dns情況下無法解析導致vnc打不開

    二、安裝neutron 提示neutron agent-list 失敗。 
    Cpu和內存不夠導致,提高硬件配置 
    三、Ping不通虛擬機? 
    1、檢查物理鏈路是否正常,網線,交換機是否正常 
    2、網卡的狀態是否爲UP 
    舉例:

    這裏寫圖片描述
    3、neutron綁定的網卡是否爲規劃的網卡(各個節點都需檢查) 
    這裏寫圖片描述
    4、neutron服務是否正常 
    5、路由器接口是否爲up 
    這裏寫圖片描述
    6、網關是否爲up 
    這裏寫圖片描述
    7、虛擬機是否已經正常啓動,且分配到IP 
    8、創建虛擬機所用的安全組是否允許icmp協議通過?

    四、虛擬機獲取不到IP? 
    1、網絡中有其他的dhcp源干擾 
    2、neutron所橋接的網卡名稱錯誤,或狀態異常,如網線沒插好,onboot=no 
    這裏寫圖片描述
    3、neutron服務異常

    五、創建雲硬盤失敗 
    Ntp問題,各個節點時間不同步。 
    六、創建虛擬機失敗 
    這裏寫圖片描述
    此類問題比較多,任何一個組件出問題都會導致虛擬機啓動失敗。最好的辦法是掌握虛擬機創建過程中各個組件的調度過程,從日誌分析。no valid host was found,這個是個大類,很多錯誤都會顯示這個,需要具體的看日誌。 
    七、安裝cinder報 pvcreate /dev/sdb && vgcreate cinder-volumes /dev/sdb failed. ? 
    系統中沒有sdb磁盤,cinder是塊存儲服務,需要底端存儲。解決辦法新增一塊磁盤 
    八、管理網和業務網可以同網段嗎? 
    儘量做到管理和業務分離,如果IP實在不夠用記得不要衝突

    九、官網上Network節點需要3張網卡,其它節點需要兩張網卡,本方案爲什麼兩塊網卡?

    這裏寫圖片描述
    本方案將第一塊和第二塊網卡合併了,如果需要三塊網卡也可合併成一塊網卡 
    十、創建的虛擬機運行http服務,外部無法訪問網頁? 
    1、虛擬機的防火牆開啓 
    2、selinux開啓 
    3、安全組沒允許80端口通過

    十一、重啓controller物理機後整個環境不可用 
    原因: 
    在一些老的物理機或手寫的網卡配置文件,重啓物理機網卡都會啓動失敗,而消息隊列和數據庫都是監聽的管理網IP,網卡沒起來導致消息隊列和數據庫啓動失敗,從而導致nova和neutron等一系列的服務啓動失敗。 
    解決辦法: 
    通過下列命令查詢那些服務啓動失敗,然後挨個手動啓動。 
    systemctl –failed

    十二、外部可以訪問虛擬機,但ping不通百度? 
    網絡規劃問題 
    網絡問題排查思路: 
    1、ping 自己 目的:檢查網卡狀態和配置是否正確 
    2、ping網關 目的:檢查路由尋址是否正常 
    3、ping dns 目的:檢查dns是否可達 
    此類問題不清楚的,建議學習cisco的ccna路由和交換知識 
    十三、鏡像忘記密碼怎麼辦? 
    1、創建虛擬機時選擇祕鑰對,可從controller上免密碼登錄 
    這裏寫圖片描述
    2、創建虛擬機時直接修改密碼 
    參見:http://www.chenshake.com/openstack-mirror-and-password/ 
    十四、dashboard界面總是拋出異常錯誤? 
    在點擊openstack的dashboard時右上角總是彈出一些錯誤的提示,再次刷新時又不提示 
    這裏寫圖片描述 
    原因: 
    MYSQL數據庫安裝完成後,默認最大連接數是100,一般流量稍微大一點這個連接數是遠遠不夠的 
    解決辦法: 
    1、修改mairadb的配置文件,將最大連接數改爲1500

    # echo "max_connections=1500" >>/etc/my.cnf.d/mariadb_openstack.cnf

    2、重啓數據庫

    # service  mariadb  restart

    十五、如何製作openstack鏡像模板? 
    參見:http://blog.csdn.net/wylfengyujiancheng/article/details/50468173 
    Linux模板製作方法類似 
    十六、後端存儲如何選型?

    這裏寫圖片描述 
    上圖爲官方調查報告,根據公司資金及技術實力選擇。個人比較推薦ceph 
    十七、在部署計算節點時,腳本不能繼續進行,但沒有報錯 
    這裏寫圖片描述 
    請確保controller節點正常運行且與computer節點網絡正常,因爲在computer節點上啓動nova服務時,需要去controller上註冊服務。 
    十八、消息隊列啓動失敗 
    檢查/etc/hosts中IP是否正確,如果採用腳本安裝還需檢查installrc和lib/hosts中IP是否正確 
    十九、數據庫啓動失敗 
    檢查監聽IP是否正確,如果採用腳本安裝還需檢查installrc和lib/hosts中IP是否正確 
    這裏寫圖片描述 
    如都沒問題,手動卸載數據庫,並刪除庫文件rm -rf /var/lib/mysql/再次安裝 
    二十、執行source admin-openrc.sh後執行命令報錯 
    環境中有代理,或者其他環境變量干擾。此問題也和開發人員編程習慣有關,在寫代碼是從不喜歡寫絕對路徑,環境中執行了該程序導致。出現問題是無從查起。 
    解決辦法: 
    重啓物理機、或者將admin-openrc.sh內容拷貝出來在命令行中執行一遍

    二十一、通過dashboard界面上傳鏡像,創建虛擬機失敗? 
    由於網絡原因,在傳輸時文件極其容易損壞,建議現將鏡像上傳到後臺,通過命令行上傳。

    # source /root/admin-openrc.sh  
    # openstack image create "cirros"   --file /tmp/cirros-0.3.4-x86_64-disk.img   --disk-format qcow2 --container-format bare   --public

    二十二、如何做到公司不同部門走不同網段網絡? 
    1、用admin用戶創建兩外出網絡,不同租戶(對應公司部門)創建的虛擬機分配不同的浮動IP網絡 
    2、也可將admin創建的不同網絡綁定到對應的物理網卡上,方法後續補充 
    二十三、如何將官網的openstack源同步到本地? 
    1、 採用reposync,將所有的源都同步下來 
    2、 參見http://blog.csdn.net/wylfengyujiancheng/article/details/50008325

    二十四、Mongodb啓動失敗,如何解決? 
    監聽的IP是否正確,如果採用腳本安裝還需檢查installrc和lib/hosts中IP是否正確 
    這裏寫圖片描述 
    二十五、如何實現虛擬機動態遷移? 
    參見:http://blog.csdn.net/wylfengyujiancheng/article/details/50822695

    二十六、如何在線拉伸虛擬機大小? 
    http://blog.csdn.net/wylfengyujiancheng/article/details/50822491 
    二十七、如何將快照導入到本地? 
    http://blog.csdn.net/wylfengyujiancheng/article/details/48825207

    二十八、cpu、內存和硬盤資源超配 
    它們默認的超配比爲: 
    CPU: CONF.cpu_allocation_ratio = 16 
    RAM: CONF.ram_allocation_ratio = 1.5 
    DISK: CONF.disk_allocation_ratio = 1.0 
    在生產環境中的利用率建議cpu:vcpu 1:1.5 mem 1:1 disk 1:1 
    二十九、虛擬機流量全部通過network節點,大規模時如何減輕network的負載 
    採用dvr,分佈式虛擬路由技術 
    請參見:http://www.sxt.cn/u/756/blog/3168 
    三十、win7鏡像放到openstack中出 錯誤代碼0X0000005D 這個該如何解決? 
    將虛擬化類型改爲kvm

    # cat /etc/nova/nova.conf | grep ^virt_type

    三十一、安裝neutron時修改網卡失敗 
    nmcli connection modify ipv4.addresses 192.168.80.253/24 && nmcli connection modify ipv4.method manual && nmcli connection up failed. 
    請檢查各個節點的各個網卡名稱是否與實際名稱一致,如不一致可用nmtui命令修改 
    舉例: 
    這裏寫圖片描述
    不一致 
    這裏寫圖片描述

    待解決問題: 
    1、 腳本中有沒有安裝swift組件? 
    雖然swift是openstack的元老組件,它和ceph比都有自己的優勢和劣勢,但本人比較傾向於ceph,腳本中沒寫swift的安裝腳本,但本地源中包含了swift的rpm包。如有興趣,請小夥伴們補充 
    https://github.com/wuyeliang/install_openstack

    2、 有沒有界面直接調用安裝腳本,os安裝完成後即登錄http界面,通過點點鼠標即可完成部署? 
    前端技術本人不擅長,如有興趣,請小夥伴們補充 
    https://github.com/wuyeliang/install_openstack

    3、 有沒有卸載腳本? 
    暫時沒有,如有興趣,請小夥伴們補充 
    https://github.com/wuyeliang/install_openstack 
    4、 關於高可用和負載均衡腳本?高可用和負載均衡採取哪種架構? 
    這個是需要花費不少時間暫時本人沒這個精力寫自動化腳本。如有興趣,請小夥伴們補充。https://github.com/wuyeliang/install_openstack 
    本人建議採用3controller模式。具體如下 
    這裏寫圖片描述
    數據庫如下: 
    這裏寫圖片描述 
    可參見: 
    http://www.cnblogs.com/endoresu/p/5029649.html 
     
    http://docs.openstack.org/ha-guide/



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章