Compute IP : 172.23.147.187
가상 IP NAT : 192.168.75.0
가상 IP Host-Only : 192.168.230.0
1. HP Helion OpenStack Community Version 다운로드
https://helion.hpwsportal.com/catalog.html#/Home/Show
# mkdir -p /root/work
# tar -xzvf HP_Helion_OpenStack_1.1.1.tgz -C /root/work
2. 설치 문서
http://docs.hpcloud.com/helion/community/install-virtual/
3. sudo 세팅
$ sudo visudo
stack ALL=(ALL:ALL) NOPASSWD: ALL
4. root 접속 및 rsa 키 생성
$ sudo su -
# ssh-keygen -t rsa
# s/w 설치
# apt-get update
# apt-get dist-upgrade
# sudo su -l -c "apt-get install -y qemu-kvm libvirt-bin openvswitch-switch openvswitch-common python-libvirt qemu-system-x86 ntpdate ntp openssh-server"
5. ntp 서버 설정
# ntpdate -u time.bora.net
# vi /etc/ntp.conf
...
#server 0.ubuntu.pool.ntp.org
#server 1.ubuntu.pool.ntp.org
#server 2.ubuntu.pool.ntp.org
#server 3.ubuntu.pool.ntp.org
server time.bora.net
...
restrict 192.0.2.0 mask 255.255.255.0 nomodify notrap
# Use Ubuntu's ntp server as a fallback.
#server ntp.ubuntu.com
server 127.127.1.0
...
# sudo /etc/init.d/ntp restart
# ntpq -p # ntp 상태 보기
# dpkg-reconfigure ntp # ntp 에러 날 때
5. unpacking
# mkdir work
# cd work
# tar zxvf /{full path to downloaded file from step 2}/Helion_Openstack_Community_V1.4.tar.gz
7. VM 사양 조정
# vi /root/vm_plan.csv
,,,,2,4096,512,Undercloud
,,,,2,24576,512,OvercloudControl
,,,,2,8192,512,OvercloudSwiftStorage
,,,,4,16384,512,OvercloudCompute
6. start seed vm
# export SEED_NTP_SERVER=192.168.122.1
export NODE_MEM=4096
# HP_VM_MODE=y bash -x /root/work/tripleo/tripleo-incubator/scripts/hp_ced_host_manager.sh --create-seed --vm-plan /root/vm_plan.csv 2>&1|tee seedvminstall.log
7. Under Cloud, Over Cloud 생성
# seed vm 접속
# ssh 192.0.2.1
# 변수 세팅
# export OVERCLOUD_CONTROLSCALE=1
export OVERCLOUD_SWIFTSTORAGESCALE=1
export OVERCLOUD_SWIFT_REPLICA_COUNT=1
export ENABLE_CENTRALIZED_LOGGING=0
export USE_TRICKLE=0
export OVERCLOUD_STACK_TIMEOUT=240
export UNDERCLOUD_STACK_TIMEOUT=240
export OVERCLOUD_NTP_SERVER=192.168.122.1
export UNDERCLOUD_NTP_SERVER=192.168.122.1
export FLOATING_START=192.0.8.140
export FLOATING_END=192.0.8.240
export FLOATING_CIDR=192.0.8.0/21
export OVERCLOUD_NEUTRON_DVR=False
# 로케일 변경
# export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
# start Under Cloud
# bash -x tripleo/tripleo-incubator/scripts/hp_ced_installer.sh 2>&1|tee stackinstall.log
8. 아래 IP 확인
OVERCLOUD_IP_ADDRESS : 192.0.2.23
UNDERCLOUD_IP_ADDRESS : 192.0.2.2
9. 설치 확인하기
# demo, admin 유저의 패스워드 확인
# cat /root/tripleo/tripleo-undercloud-passwords
# cat /root/tripleo/tripleo-overcloud-passwords
10. seed vm에 접속한 후 undercloud ip 보기
# . /root/stackrc
UNDERCLOUD_IP=$(nova list | grep "undercloud" | awk ' { print $12 } ' | sed s/ctlplane=// )
echo $UNDERCLOUD_IP
11. seed vm 에서 overcloud ip 보기
# . /root/tripleo/tripleo-overcloud-passwords
TE_DATAFILE=/root/tripleo/ce_env.json
. /root/tripleo/tripleo-incubator/undercloudrc
OVERCLOUD_IP=$(heat output-show overcloud KeystoneURL | cut -d: -f2 | sed s,/,,g )
# echo $OVERCLOUD_IP
[ OverCloud 내 VM 이 인터넷 연결이 될 수 있도록 수정]
0. DNS change (overcloud)
/etc/resolv.conf
1. security rule check (overcloud)
2. ip forward (host, seed, undercloud, overcloud)
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward = 1
3. br-tun, br-int, br-ex up (host, seed, overcloud, compute)
ip link set br-tun up
ip link set br-ex up
ip link set br-int up
4. Host iptables NAT add
iptables -t nat -A POSTROUTING -s 192.0.8.0/21 ! -d 192.0.2.0/24 -j SNAT --to-source 172.23.147.187
5. Host iptables filter delete
iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
6. Host iptables NAT DNAT port change
# overcloud Horizon port forwarding
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination 192.0.2.21
# ALS port forwarding
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.0.8.143
13. Host 에서 콘솔 접속할 수 있게 열기
# ssh 192.0.2.1 -R 443:<overcloud IP>:443 -L <laptop IP>:443:127.0.0.1:443
# ssh 192.0.2.1 -R 443:192.0.2.24:443 -L 172.23.147.187:443:127.0.0.1:443
14. connecting to the demo vm
# ssh debian@192.0.8.141
15. overcloud scheduler memory ratio 변경
# ssh heat-admin@192.0.2.23 # overcloud-controllerMgmt
$ sudo su -
# vi /etc/nova/nova.conf
...
ram_allocation_ratio=100
...
# restart nova-scheduler
# exit
# 다른 over cloud 도 수정
# ssh heat-admin@192.0.2.27 # overcloud-controller0
# ssh heat-admin@192.0.2.28 # overcloud-controller1
16. monitoring 접속
http://<under cloud ip>/icinga # icingaadmin / icingaadmin
17. undercloud logging 에 접속하기위해 Kibana 패스워드 알기
# ssh heat-admin@<undercloud IP>
$ cat /opt/kibana/htpasswd.cfg
http://<under cloud ip>:81 # kibana / ?????
# vm 백업
# tripleo/tripleo-incubator/scripts/hp_ced_host_manager.sh --save-vms
# vm Recover
# tripleo/tripleo-incubator/scripts/hp_ced_host_manager.sh --resume-vms
[ HDP install ]
1. HP Development Platform Community Version 다운로드
https://helion.hpwsportal.com/catalog.html#/Home/Show
2. HDP 설치 문서
https://docs.hpcloud.com/helion/devplatform/install/community
* Host(base) 에서 설치하거나 Seed 에서 설치할 수 있음
# pip install cffi enum34 pyasn1 virtualenv
# scp -o StrictHostKeyChecking=no 192.0.2.21:/usr/local/share/ca-certificates/ephemeralca-cacert.crt /root/ephemeralca-cacert.crt
# tar -zxvf hp_helion_devplatform_community.tar.gz
# cd dev-platform-installer
# ./DevelopmentPlatform_Enable.sh \
-u admin \
-p bd9352ceed184839e2231d2a13062d461928b857 \ # admin-password
-a 192.0.2.21 \ # overcloud ip
-i c1821d8687f14fd4b74c11892f5d7af0 \ # tenant-id
-e /root/ephemeralca-cacert.crt \
3. Host(Base)에 필요 s/w 설치
# sudo apt-get install -y python-dev libffi-dev libssl-dev python-virtualenv python-pip
# mkdir -p hdp_work
# cd hdp_work
# tar -zxvf /home/stack/Downloads/HDP/hp_helion_devplatform_community.tar.gz
# cd dev-platform-installer
# ./DevelopmentPlatform_Setup.sh -p {admin_user_password} -a {auth_keystone_ip_address}
# ./DevelopmentPlatform_Setup.sh -p 2c0ee7b859261caf96a3069c60f516de1e3682c9 -a 192.0.2.21
혹은 아래와 같이 -n (username) -t (tenant name) 을 지정
# ./DevelopmentPlatform_Setup.sh -r regionOne -n admin -p 2c0ee7b859261caf96a3069c60f516de1e3682c9 -t admin -a '192.0.2.21'
# admin password 를 모를 경우 다음과 같이 실행
# cat /root/tripleo/tripleo-overcloud-passwords
# Keystone ip 를 모를 경우 다음과 같이 실행
# . /root/tripleo/tripleo-overcloud-passwords
# TE_DATAFILE=/root/tripleo/ce_env.json . /root/tripleo/tripleo-incubator/undercloudrc
# heat output-show overcloud KeystoneURL
5. cluster 설정을 위한 client tool 다운로드
http://docs.hpcloud.com/helion/devplatform/1.2/ALS-developer-trial-quick-start/2
cf-mgmt 와 ALS Client 다운로드
# host 에서 파일을 seed로 복사
$ unzip *.zip
$ scp helion-1.2.0.1-linux-glibc2.3-x86_64/helion root@192.0.2.1:client
$ scp linux-amd64/cf-mgmt root@192.0.2.1:client
6. Create Cluster
$ vi ~/.profile
export PATH=$PATH:/root/client/cf-mgmt:/root/client/helion:.
$ cf-mgmt update
$
=========================== 참고 ======================
5. VM을 위한 DNS 세팅
# vi tripleo/hp_passthrough/overcloud_neutron_dhcp_agent.json
{"option":"dhcp_delete_namespaces","value":"True"},
{"option":"dnsmasq_dns_servers","value":"203.236.1.12,203.236.20.11"}
# vi tripleo/hp_passthrough/undercloud_neutron_dhcp_agent.json
{"option":"dhcp_delete_namespaces","value":"True"},
{"option":"dnsmasq_dns_servers","value":"203.236.1.12,203.236.20.11"}
6. VM root disk 위치 수정
# mkdir -p /data/libvirt/images # vm qcow2 이미지를 생성할 디렉토리 미리 생성
# vi /root/tripleo/tripleo-incubator/scripts/hp_ced_host_manager.sh
...
IMAGES_DIR=${IMAGES_DIR:-"/data/libvirt/images"} # 127 라인 디렉토리 변경
...
# virsh pool-dumpxml default > pool.xml
# vi pool.xml
<pool type='dir'>
<name>default</name>
<uuid>9690731d-e0d1-49d1-88a4-b25bccc78418</uuid>
<capacity unit='bytes'>436400848896</capacity>
<allocation unit='bytes'>2789785694208</allocation>
<available unit='bytes'>18446741720324706304</available>
<source>
</source>
<target>
<path>/data/libvirt/images</path>
<permissions>
<mode>0711</mode>
<owner>-1</owner>
<group>-1</group>
</permissions>
</target>
</pool>
# virsh pool-destroy default
# virsh pool-create pool.xml
8. 아래 파일의 해당 라인의 IP 변경 : 192.0.8.0 -> 192.10.8.0, 192.0.15.0 -> 192.10.15.0
./tripleo/tripleo-incubator/scripts/hp_ced_host_manager.sh:800
./tripleo/tripleo-incubator/scripts/hp_ced_setup_net.sh:70
./tripleo/tripleo-incubator/scripts/hp_ced_setup_net.sh:71
./tripleo/tripleo-incubator/scripts/hp_ced_setup_net.sh:72
./tripleo/tripleo-incubator/scripts/hp_ced_setup_net.sh:181
./tripleo/tripleo-incubator/scripts/hp_ced_setup_net.sh:182
./tripleo/tripleo-incubator/scripts/hp_ced_setup_net.sh:183
# undercloud, overcloud 설치 시 변수 셋팅
# export OVERCLOUD_NEUTRON_DVR=False
# export OVERCLOUD_CINDER_LVMLOOPDEVSIZE=500000 # 필요시 필요한 양만큼
# seed locale 변경
# locale-gen en_US.UTF-8
# sudo dpkg-reconfigure locales # 필요시
# 변수 세팅 (이건 Comm 버전에서 에러 날 때)
# vi ./tripleo/tripleo-incubator/scripts/hp_ced_setup_cloud_env.sh
...
export OVERCLOUD_CONTROLSCALE=${OVERCLOUD_CONTROLSCALE:-2} 40 라인 변경
...
13. vm dns 를 초반에 설정 못했을 때 변경하기
# . /root/tripleo/tripleo-overcloud-passwords
TE_DATAFILE=/root/tripleo/ce_env.json
. /root/tripleo/tripleo-incubator/undercloudrc
# neutron subnet-list
# neutron subnet-update --dns-nameserver 203.236.1.12 --dns-nameserver 203.236.20.11 c4316d44-e2ae-43fb-b462-40fa767bd9fb