-
Cloudstack Install on ubuntu server 18.04 - 정리se tip 2018. 11. 6. 20:42
- cloudstack 설치 정리 문서
남는 테스트 pc 에 cloudstack 설치 테스트
cloudstack 공식 가이드에 centos / ubuntu 지원
검색 결과는 centos 많기는 하나 손에 읶은 ubuntu server 로 설치 하기로 결정함
step1> os 준비
ubuntu server 18.04 부팅 이미지 준비
https://varins.com/home-server-02-install-ubuntu-server/
step2> os 설치
기본 os install ( oem installer 사용)
기본 installer 와 크게 차이는 없고 기본적으로 oem 유저로 설치 되는 것과 몇가지 단계를 생략해줌
https://varins.com/home-server-02-install-ubuntu-server/
input> host : cloud11 - cloud14
cloud / [paswd]
주의 사항)
1. firmware 에서 UEFI 모드 활성화 - UEFI(Unified Extensible Firmware Interface)
2. firmware 에서 VDT 활성화 - cpu 가상화 활성화
step3> Initial Setup & Setup Networking
https://rohityadav.cloud/blog/cloudstack-kvm/
apt-get install openntpd openssh-server sudo vim htop tar
apt-get install microcode.ctl intel-microcode
passwd rootinput> [paswd]
apt-get install bridge-utils
vi /etc/netplan/01-netcfg.yamlinput>
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: false
dhcp6: false
optional: true
bridges:
cloudbr0:
addresses: [192.168.1.###/24]gateway4: 192.168.1.1
nameservers:
addresses: [1.1.1.1,8.8.8.8]
interfaces: [enp2s0]
dhcp4: false
dhcp6: false
parameters:
stp: false
forward-delay: 0netplan generate
netplan apply
rebootinput> 192.168.1.### - 192.168.1.###
주의사항)
1. sshd 설정에서 root 로 접속 가능하게 수정
vi /etc/ssh/sshd_config
PermitRootLogin yes
https://www.manualfactory.net/10434
2. network 설정 후
ifconfig -a 보았을 때 cloudbr0 설정이 정상적이고
ping 1.1.1.1 이 정상적으로 되면 성공
step4> role 별 서버 설치
1. CloudStack Management Server Setup
https://rohityadav.cloud/blog/cloudstack-kvm/
apt-key adv --keyserver keys.gnupg.net --recv-keys 584DF93F
echo deb http://packages.shapeblue.com/cloudstack/upstream/debian/4.11 / > /etc/apt/sources.list.d/cloudstack.list
apt-get update -y
apt-get install cloudstack-management cloudstack-usage mysql-servervi /etc/mysql/mysql.conf.d/mysqld.cnf
input>
[mysqld]
server_id = 1
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION"
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=1000
log-bin=mysql-bin
binlog-format = 'ROW'systemctl restart mysql
input>
cloudstack-setup-databases cloud:cloud@localhost --deploy-as='root:[paswd]' -i 192.168.1.###
주의사항)
1. keys.gnupg.net 키를 받아오다가 오류 나는 경우 있는 현재로썬 여러번 시도하면 성공함
2. apache 쪽 공식 repo 이 더 잘 연결 안됨 ( 약간 cento 위주인거 같음 )
2. Storage Setup
https://rohityadav.cloud/blog/cloudstack-kvm/
apt-get install nfs-kernel-server quota
echo "/export *(rw,async,no_root_squash,no_subtree_check)" > /etc/exports
mkdir -p /export/primary /export/secondary
exportfs -ased -i -e 's/^RPCMOUNTDOPTS="--manage-gids"$/RPCMOUNTDOPTS="-p 892 --manage-gids"/g' /etc/default/nfs-kernel-server
sed -i -e 's/^STATDOPTS=$/STATDOPTS="--port 662 --outgoing-port 2020"/g' /etc/default/nfs-common
echo "NEED_STATD=yes" >> /etc/default/nfs-common
sed -i -e 's/^RPCRQUOTADOPTS=$/RPCRQUOTADOPTS="-p 875"/g' /etc/default/quotaservice nfs-kernel-server restart
wget http://packages.shapeblue.com/systemvmtemplate/4.11/systemvmtemplate-4.11.1-kvm.qcow2.bz2
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \
-m /export/secondary -f systemvmtemplate-4.11.1-kvm.qcow2.bz2 -h kvm \
-o localhost -r cloud -d cloud주의사항)
1. management server / storage server 가 다를 경우 storage 서버에서 mysql 접속 가능해야 한다.
3. Setup KVM host
https://rohityadav.cloud/blog/cloudstack-kvm/
apt-key adv --keyserver keys.gnupg.net --recv-keys 584DF93F
echo deb http://packages.shapeblue.com/cloudstack/upstream/debian/4.11 / > /etc/apt/sources.list.d/cloudstack.list
apt-get update -yapt-get install qemu-kvm cloudstack-agent
sed -i -e 's/\#vnc_listen.*$/vnc_listen = "0.0.0.0"/g' /etc/libvirt/qemu.conf
sed -i -e 's/.*libvirtd_opts.*/libvirtd_opts="-l"/' /etc/default/libvirtd
echo 'listen_tls=0' >> /etc/libvirt/libvirtd.conf
echo 'listen_tcp=1' >> /etc/libvirt/libvirtd.conf
echo 'tcp_port = "16509"' >> /etc/libvirt/libvirtd.conf
echo 'mdns_adv = 0' >> /etc/libvirt/libvirtd.conf
echo 'auth_tcp = "none"' >> /etc/libvirt/libvirtd.conf
systemctl restart libvirtdapt-get install uuid
UUID=$(uuid)
echo host_uuid = \"$UUID\" >> /etc/libvirt/libvirtd.conf
systemctl restart libvirtdstep5> Configure Firewall
https://rohityadav.cloud/blog/cloudstack-kvm/
# configure iptables
NETWORK=192.168.1.0/24
iptables -A INPUT -s $NETWORK -m state --state NEW -p udp --dport 111 -j ACCEPT
iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 32803 -j ACCEPT
iptables -A INPUT -s $NETWORK -m state --state NEW -p udp --dport 32769 -j ACCEPT
iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 892 -j ACCEPT
iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 875 -j ACCEPT
iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 662 -j ACCEPTapt-get install iptables-persistent
# Disable apparmour on libvirtd
ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/
ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/
apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd
apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helperufw allow mysql
ufw allow proto tcp from any to any port 22
ufw allow proto tcp from any to any port 1798
ufw allow proto tcp from any to any port 16509
ufw allow proto tcp from any to any port 16514
ufw allow proto tcp from any to any port 5900:6100
ufw allow proto tcp from any to any port 49152:49216주의사항)
1. iptables-persistent 설정창이 뜨면 yes / yes 하면 저장 됨
step6> Launch Management Server
https://rohityadav.cloud/blog/cloudstack-kvm/
cloudstack-setup-management
systemctl status cloudstack-management
tail -f /var/log/cloudstack/management/management-server.logstep7> Deploying Zone
http://cloud11:8080/client
admin / password
패스워드 변경 input> [paswd]
https://blog.boxcorea.com/wp/archives/732
https://kb.leaseweb.com/customer-portal/cloudstack
step8> add templates & add instance
kvm 형태로 agent 를 설치 해서 kvm.qcow2.bz2 형태의 템플릿을 등록해서 사용가능
http://dl.openvm.eu/cloudstack/centos/x86_64/centos-7-kvm.qcow2.bz2
http://dl.openvm.eu/cloudstack/ubuntu/x86_64/ubuntu-16.04-kvm.qcow2.bz2
http://dl.openvm.eu/cloudstack/coreos/x86_64/coreos_production_cloudstack_image-kvm.qcow2.bz2
주의사항)
1. 템플릿 등록시 public , feature 를 선택해야 인스턴트 생성시 보임
2. 그밖에 생성시 옵션들에 따라 많이 달라짐