您好,登錄后才能下訂單哦!
上面左邊是我的個人微 信,如需進一步溝通,請加微 信。 右邊是我的公眾號“Openstack私有云”,如有興趣,請關注。
新的單位使用了cloudstack作為云平臺的基礎架構,老規矩,通過動手搭建一個實驗環境熟悉一下cloudstack的基本的組件。
找到官網的官方安裝手冊,網址如下:
http://docs.cloudstack.apache.org/en/4.11.2.0/quickinstallationguide/qig.html
可以看到cloudstack的版本更新應該是挺慢的,截止到現在(2019年3月)的最新版本是4.11.2.0 ,使用的基礎OS是Centos6.8 ,首先下載Centos6.8 ,網址如下:
http://mirrors.kernel.org/centos/6/isos/x86_64/
根據要求,下載的是minimal 版本。
首先不要著急動手,先通讀一遍上面的安裝手冊,基本的思路還是首先安裝基本的OS,然后進行selinux、ntp、nfs等基礎配置,配置Cloudstack的安裝源開始安裝Cloudstack組件,安裝mariadb數據庫,下載管理鏡像,然后開始配置Cloudstack 。總體感覺安裝部署方面應該比Openstack要簡單一些,因為Cloudstack的相關組件是直接通過下載標準模板鏡像,通過虛擬機完成的,我個人感覺這種方式是很好的,類似于Openstack的Kolla ,容器化安裝,簡化了安裝,并提高了整個系統的靈活性。
開始的時候使用自己的工作筆記本,使用VMWare workstation14 ,虛擬機配置4C,4G內存,1個網卡,1塊200G的硬盤,但是裝完之后發現啟動卡住不動了,算了,還是使用PVE來弄,同樣的虛擬機配置,配置4C,4G內存,1個網卡,1塊200G的硬盤 。
安裝過程不贅述,詳見上面那個官網的安裝手冊,記錄一下碰到的坑和需要注意的地方。
1、官網里面最新版本是4.11 ,對應的操作系統版本是centos6.8 ,文章里面對應的centos下載鏈接是centos6.10 ;
2、安裝到 cloudstack-management 這條命令的時候,報錯找不到一個安裝包的位置:
# yum -y install cloudstack-management http://download.cloudstack.org/centos/6/4.11/repodata/c696ac24f6d36ebf0ea76e44d12f519601521b6cc659d225f472a9e4fbd3c820-filelists.sqlite.bz2: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" Trying other mirror.
通過更改repo軟件源版本為4.12 , /etc/yum.repos.d/cloudstack.repo 中的baseurl改為:
baseurl=http://download.cloudstack.org/centos/6/4.12/
3、安裝cloudstack-management 的時候,速度很慢,使用了自己搭建的科學上網代理。參考“linux客戶端科學上網(k8s安裝聯網問題)” ;
4、主機名需要設置長主機名,注意修改 /etc/sysconfig/network 以及 /etc/hosts 文件中的主機名為長主機名,否則 在執行 cloudstack-setup-management 命令的時候會報錯。
5、由于要使用到kvm模塊,pve虛擬機需要設置支持cpu虛擬化,設置方法如下:(如果不是使用proxmoxVE,這一塊可以略過)
物理機pve上執行: root@pve:~# qm showcmd 110 /usr/bin/kvm -id 110 -name pve-1 -chardev 'socket,id=qmp,path=/var/run/qemu-server/111.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -pidfile /var/run/qemu-server/111.pid -daemonize -smbios 'type=1,uuid=d9eb0729-f0ee-4176-836d-308b70d13754' -smp '3,sockets=1,cores=3,maxcpus=3' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vga std -vnc unix:/var/run/qemu-server/111.vnc,x509,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 12000 -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:b48afece2d1' -drive 'file=/var/lib/vz/template/iso/proxmox-ve_5.2-1.iso,if=none,id=drive-ide2,media=cdrom,aio=threads' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -device 'virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5' -drive 'file=/dev/pvevg2/vm-111-disk-7,if=none,id=drive-scsi0,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' -drive 'file=/dev/pvevg2/vm-111-disk-2,if=none,id=drive-scsi1,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi1,id=scsi1' -drive 'file=/dev/pvevg2/vm-111-disk-3,if=none,id=drive-scsi2,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=2,drive=drive-scsi2,id=scsi2' -drive 'file=/dev/pvevg2/vm-111-disk-6,if=none,id=drive-scsi3,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=3,drive=drive-scsi3,id=scsi3' -netdev 'type=tap,id=net0,ifname=tap111i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=76:60:17:9D:6A:FF,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -netdev 'type=tap,id=net1,ifname=tap111i1,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=6A:93:EB:0E:A8:84,netdev=net1,bus=pci.0,addr=0x13,id=net1,bootindex=301' 找到“-cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce”這部分,在enforce前面加“+vmx,”參數如下: -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,+vmx,enforce 將修改后的命令保存到一個腳本110.sh ,并且 chmod +x 110.sh 執行:qm stop 110 停止虛擬機后,再執行上面修改后的命令 ./110.sh 。 虛擬機啟動后,ssh進入,執行 grep vmx /proc/cpuinfo 查看是不是有輸出,如下: root@pve-1:~# grep vmx /proc/cpuinfo flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid pni vmx cx16 x2apic hypervisor lahf_lm cpuid_fault pti tpr_shadow vnmi flexpriority ept vpid flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid pni vmx cx16 x2apic hypervisor lahf_lm cpuid_fault pti tpr_shadow vnmi flexpriority ept vpid flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid pni vmx cx16 x2apic hypervisor lahf_lm cpuid_fault pti tpr_shadow vnmi flexpriority ept vpid 表示已經支持虛擬嵌套。
安裝完cloudstack-management 和 cloudstack-agent ,并且設置完kvm 之后,開始配置cloudstack:
使用賬號admin ,密碼 password 登錄,登錄進去之后會提示修改這個密碼,比如改為 cloudstack ,之后根據提示分別設置zone、pod、cluster、host的信息,之后,系統會自動開始進行初始化操作,如下:
可以看到,初始化過程中要生成的2個虛擬機都沒有成功,估計是和下載的模板版本不匹配導致,官網安裝步驟里面下載的模板還是4.6版本,安裝的是4.12版本,重新下載最新的4.11.1.2版本的模板:
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary -u http://download.cloudstack.org/systemvm/4.11/systemvmtemplate-4.11.2-kvm.qcow2.bz2 -h kvm -F
注:上面下載的模板存放在/export/secondary 目錄下。
通過web界面將二級存儲刪除重建,關閉防火墻,同時重新啟動 cloudstack-management 服務 。之后,等待系統重建console proxy VM 和Secondary Storage VM 兩個系統虛擬機 。之后正常,如下:
創建虛擬機:
控制臺:
4c 4G內存資源用完了:
關閉,重新分配了8核CPU 8G內存 ,再重啟,資源沒那么緊張了。
總結:
整個安裝過程比預想的還簡單,概念清晰,感覺比openstack更友好。虛擬機的使用和管理也要比openstack要方便,存儲管理很靈活,網絡管理還沒來得及測試。總之,整體比openstack要好用,但是好像還沒看到相關PAAS層的東西,比如類似openstack的大數據組件sahara、對象存儲組件swift、文件系統manila等,也正常,cloudstack官網本身也說是提供IAAS層的。
但如果純粹作為iaas層虛擬來使用的話,感覺還是不如proxmoxVE好用。對于各個虛擬化的納管來說,可能相對于proxmoxVE更強一些,比如對于同時有VMWare虛擬化、kvm虛擬化以及xen虛擬機的環境來說,cloudstack可以同時進行納管,這一塊還沒有經過實際測試,使用起來不知道是不是方便 。
多一個選擇總是好的,都是好東西,看不同的場景,可以有不同的選擇。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。