http://docs.cloudstack.apache.org/en/4.14.0.0/quickinstallationguide/qig.html
至少一臺支援並啟用硬體虛擬化的計算機
一個/ 24網路,其閘道器位於xxx.xxx.xxx.1,該網路上不應有DHCP,並且任何執行CloudStack的計算機都不會具有動態地址。再次,這是為了簡單起見。
centos網路設定為橋接模式(2.2就是幫你設定的)
lsmod | grep kvm
有內容就對了
此時如果你沒開網,那就先做完步驟2.2(2.2的第一步也要用yum,也先暫且放一放)再回來執行這條命令
yum -y upgrade
沒網就先執行下面的聯網步驟
yum install bridge-utils net-tools -y
解決bug0👉傳送門
vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0
鍵入【i】開始編輯ifcfg-cloudbr0
退出:【Esc】→鍵入【:wq】(注意冒號)
#【ifcfg-cloudbr0】,原本沒有這個檔案
DEVICE=cloudbr0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPV6INIT=no
IPV6_AUTOCONF=no
DELAY=5
# 此模組以官網指南為例,但需要根據實際情況填寫,【】中為提示
# 因此檔案中有這些網段的,都要替換成實際的IP
IPADDR=172.16.10.2【和主機同網段的ip地址】
GATEWAY=172.16.10.1【閘道器xxx.xxx.xxx.1】
NETMASK=255.255.255.0
#
DNS1=8.8.8.8
DNS2=8.8.4.4
STP=yes
USERCTL=no
NM_CONTROLLED=no
vi /etc/sysconfig/network-scripts/ifcfg-eth0
eth0為例,根據實際情況修改檔案
比如我的是ens33,那就是vi /etc/sysconfig/network-scripts/ifcfg-ens33,有eth0的地方都換成ens33
#【ifcfg-eth0】
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=cloudbr0
# 【UUID不要改,但要有】
# 【保持和cloudbr0統一,把這個ens33檔案裡的下面兩個改成no】
# IPV6INIT=no
# IPV6_AUTOCONF=no
解決bug1👉傳送門
systemctl enable network
systemctl restart network
ping baidu.com
有網就對了,記得返回去把上面兩個yum執行了
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.10.2 srvr1.cloud.priv
systemctl restart network
hostname -fqdn
顯示srvr1.cloud.priv就對了
setenforce 0
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
getenforce
顯示Permissive就對了
yum -y install ntp
systemctl enable ntpd
systemctl start nypd
vi /etc/yum.repos.d/cloudstack.repo
# 原本沒有這個檔案
[cloudstack]
name=cloudstack
baseurl=http://download.cloudstack.org/centos/$releasever/4.14/
enabled=1
gpgcheck=0
yum -y install nfs-utils
vi /etc/exports
# 原本沒有這個檔案
/export/secondary *(rw,async,no_root_squash,no_subtree_check)
/export/primary *(rw,async,no_root_squash,no_subtree_check)
mkdir -p /export/primary
mkdir /export/secondary
vi /etc/idmapd.conf
# 取消註釋並修改
Domain = cloud.priv
vi /etc/sysconfig/nfs
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020
systemctl stop firewalld
systemctl disable firewalld
systemctl enable rpcbind
systemctl enable nfs
systemctl start rpcbind
systemctl start nfs
解決可能出現的bug2👉傳送門
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
在2020.10.16時安裝是5.6.49版本,在2020.10.19時安裝是5.6.50版本。
說這個有什麼用呢?因為在步驟3.2遇到了坑
yum -y install mysql-server
vi /etc/my.cnf
# 對於Ubuntu 16.04和更高版本,開頭加上這句:server-id=master-01
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
systemctl enable mysqld
systemctl start mysqld
安裝Python MySQL聯結器
在2020.10.16時安裝是8.0.21版本,在2020.10.19時安裝是8.0.22版本。
- 假如是8.0.22版本的聯結器,會和mysql5.6.50版本相沖突,然後讓你安裝mysql8.0.22,即使你成功了,後續還會產生問題
應該是mysql80安全性太高的緣故,按照官網操作的話,用mysql56吧
- 未測試5.6.50版本的mysql和8.0.21版本的聯結器是否會有衝突
yum -y install mysql-connector-python
yum -y install cloudstack-management
下載可能會比較慢,建議官網下載了之後進行本地安裝
alternatives --config java
之前提到的資料庫版本問題會在這裡出現錯誤
假如你執意用mysql8,我沒找到解決方法,如果找到了還請告訴我一聲怎麼做的呀~
cloudstack-setup-databases cloud:password@localhost --deploy-as=root
看到successfully字樣你就對了
如果servlet容器是Tomcat7,則必須使用引數–tomcat7
cloudstack-setup-management
官網不顧網速死活的方法
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary -u http://download.cloudstack.org/systemvm/4.14/systemvmtemplate-4.14.0-kvm.qcow2.bz2 -h kvm -F
yum -y install epel-release
yum -y install cloudstack-agent
vi /etc/libvirt/qemu.conf
# 取消註釋下面這一行
vnc_listen=0.0.0.0
vi /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
auth_tcp = "none"
mdns_adv = 0
vi /etc/sysconfig/libvirtd
# 取消註釋下面這一行
LIBVIRTD_ARGS="--listen"
systemctl restart libvirtd
看看你的KVM在不在
lsmod | grep kvm