ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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 root

       input> [paswd]

    apt-get install bridge-utils
    vi /etc/netplan/01-netcfg.yaml

       input>

    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: 0


    netplan generate
    netplan apply
    reboot


    input> 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-server


    vi /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 -a


    sed -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/quota


    service 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 -y


    apt-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 libvirtd


    apt-get install uuid
    UUID=$(uuid)
    echo host_uuid = \"$UUID\" >> /etc/libvirt/libvirtd.conf
    systemctl restart libvirtd




    step5> 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 ACCEPT


    apt-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-helper


    ufw 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.log



    step7> 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. 그밖에 생성시 옵션들에 따라 많이 달라짐



Designed by Tistory.