歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

CloudStack 4.1.0安裝詳解 - 2、KVM

CloudStack 4.1.0安裝詳解 - 2、KVM   KVM(kernel-based Virtual Machine)是一個開源的系統虛擬化平台,自Linux 2.6.20之後已集成到Linux內核中,因它使用Linux自身的調度器進行管理,所以相對於的虛擬化解決方案而言,其核心源碼很少也更加的穩定。   CloudStack支持與多種虛擬化解決方案的集成。   CloudStack+KVM是最佳的黃金組合!他們都功能強大且免費,你可以毫無顧忌地隨意部署安裝而不必害怕有人找你要授權費。KVM一直以來沒有好的免費的集群管理工具,現在加上CloudStack後,如虎添翼,比起VCenter、XenCenter這類強力商業軟件來講也毫不遜色。   今天我們來主要介紹CloudStack受控端為KVM節點時的安裝方法。鑒於網上文章一大抄,很多內容都是裝來裝去一大堆東西,看觀們一會就暈了,根本不了解為什麼裝這些程序,裝來是干什麼的。這回呢,我會把每一步說明盡可能詳細一些,外加我多次重裝後得到的經驗和教訓,希望能讓後來者可以少走些彎路。   一、環境檢測 KVM虛擬化需要硬件的支持,因此首先需要檢查下你的服務器是否可以支持它,如果這步都過不去的話,那麼下面的內容就不必再看了。   檢查方法:   1 egrep '^flags.*(vmx|svm)' /proc/cpuinfo 如果執行後能顯示出東西,那麼恭喜你,可以跟我繼續啦。Let’s go!   二、安裝KVM相關組件 CentOS直接提供KVM程序源,直接安裝就是了。   1 yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt vconfig 得益於Linux內核的支持,KVM相關包都不大,這步應該可以很快完成。   裝好後為保證管理節點可以正常調用,還需要開放相關端口。   vi /etc/libvirt/libvirtd.conf 去掉如下內容的注釋:   1 listen_tls = 0 2 listen_tcp = 1 3 tcp_port = "16509" 4 auth_tcp = "none" 5 mdns_adv = 0 vi /etc/sysconfig/libvirtd   1 LIBVIRTD_ARGS="--listen" vi /etc/libvirt/qemu.conf   1 vnc_listen = 0.0.0.0 現在,可以啟動虛擬機服務啦:   1 service libvirtd restart 測試一下是否成功:   1 lsmod | grep kvm 三、安裝NTP時間同步 管理節點會通過各種協議與受控節點通訊,為了確保安全,受控節點接到命令後會進行一系列的校驗,如果兩機的時間不同步的話,會導致命令拒絕執行。因此,最簡單的辦法就是所有的機器都安裝 NTP服務,自動完成時間同步。   當然,如果你可以保證兩機時間相差不大的情況下,此步可以忽略。   安裝方法   1 yum install ntp 四、設置主機名稱 CloudStack管理節點添加主機時要獲取受控端本機名稱,如無法正確獲取會導致無法正常添加主機,Agent啟動時也會報一大堆的錯。   運行以下命令檢查:   1 hostname --fqdn 如無正常返回,請編輯 /etc/hosts 文件,添加主機ip對應的名稱。如:   192.168.19.160 kvm1.cloudstack.com vi /etc/sysconfig/network 將 HOSTNAME= 改為同你剛設置的一樣。   編輯完後立即生效。如果還不成的話,重啟下服務器應該就會好了。   注意:在CloudStack中添加受控機時,會自動將名稱代入。因此千萬別偷懶,一定要為每台機器設置不同的名稱,否則你將會在管理後台面對一堆同名主機列表而感到無奈~~~   五、配置yum倉庫 默認情況下,CentOS的軟件源中沒有收錄最新版本CloudStack,為了能順利安裝,我們需要手工指定軟件源。   新建 /etc/yum.repos.d/cloudstack.repo 文件,內容為:   1 [cloudstack] 2 name=cloudstack 3 baseurl=http://cloudstack.apt-get.eu/rhel/4.1/ 4 enabled=1 5 gpgcheck=0 六、安裝agent KVM不像XenServer、VCenter等已經內置了強大的管理功能,因此必須安裝一個CloudStack代理來完成主控端發來的指令。   直接通過倉庫安裝:   1 yum install cloud-agent 這個安裝包比較大,如果你的網絡是小水管的話,那麼你現在可以去泡杯茶、抽根煙休息一下啦。   注意:安裝完 cloud-agent 後無需啟動,等管理節點中添加主機時會自動啟動。         默認的安裝目錄:/etc/cloudstack/agent   CloudStack是通過log4j來輸出日志的,因此你可以通過修改 log4j-cloud.xml 文件來調整日志的輸出結構。   七、修改安全策略 默認的SELinux安全策略會限制CloudStack操作,因此需要調整:   vi /etc/selinux/config   1 SELINUX=permissive 以上修改需重啟服務器才能生效,為使設置立即生效可使用下邊的命令   1 setenforce permissive 另需要在 iptables 中把一些端口打開:   1 iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT 2 iptables -I INPUT -p tcp -m tcp --dport 1798 -j ACCEPT 3 iptables -I INPUT -p tcp -m tcp --dport 16509 -j ACCEPT 4 iptables -I INPUT -p tcp -m tcp --dport 5900:6100 -j ACCEPT 5 iptables -I INPUT -p tcp -m tcp --dport 49152:49216 -j ACCEPT 6   7 iptables-save > /etc/sysconfig/iptables 八、添加主機 好了,到目前為止,你的准備工作已經完成了。   如果創建的是簡單網絡域的話,你現在就可以在管理節點的WEBUI中順利添加這台受控主機啦。這步的操作方法非常簡單,CloudStack中有一個非常友好的向導,應該可以幫助你正確完成添加。另外,網上也有一大堆的文章介紹,我就不詳細說了,等將來有機會時我再給大家介紹下CloudStack高級網絡域的相關功能及添加方法。     附,可能遇到的問題: 1、在管理節點中添加主機失敗 如果很不幸,添加主機時失敗,請不要慌張,這個問題應該不難解決,先看下日志。   管理節點日志在 /var/log/cloudstack/management/catalina.out   受控節點日志在: /var/log/cloudstack/agent/cloudstack-agent.out   認真反復分析日志,你會找到答案,然後水平提到升華~~~   2、Unable to start agent: Failed to get private nic name 如果你是初學,在設置網絡時千萬別亂選。尤其是別隨便指定流量標簽。   在CloudStack中,流量標簽是同受控主機的網橋相關的,如果設置了流量標簽,則受控機必須設置相應的網橋。cloudstack4.1的agent在啟動時,默認會自動創建cloudbr0和cloudbr1兩個網橋。如果你指定了其他的標簽名,則相應的網橋也要作修改,甚至需要在受控機上手工創建網橋。   如果想修改成其他網橋名字,那麼需要在配置文件裡面指定:   vi /etc/cloudstack/agent/agent.properties   修改下面兩個參數   1 private.network.device 2 public.network.devic 如果網橋指定錯誤的話,那麼就會出現上面的錯誤。   真正明白了這個道理,那麼你就可以進階啦,你將能夠實現不同的網卡使用不同的網絡。   3、Failed to create vnet 如果你再嘗試創建高級網絡,出現的如上的錯誤,那是因為你沒有安裝vconfig程序。   1 yum install vconfig  
Copyright © Linux教程網 All Rights Reserved