การใช้ Vasabilab OpenStack Icehouse Installation Script 9

กำหนดให้ไช้ vm สร้างโดย virtualbox 4 เครื่อง โดยมีชื่อและ specification ดังนี้

1. เครือง gateway เป็นเครื่อง gateway ออกสู่ internet มี configuration ดังนี้ 1 vcpu, 512 MB Ram, eth0  เป็น bridge (หรือ NAT?) ที่จะต้องจำ IP address ไว้เพื่อเข้าถึงในภายหลัง และ eth1 ที่เป็นแบบ Internal Network “intnet” disk ไม่ต้องมาก 5 GฺB ก็น่าจะพอ กำหนด IP address ของ eth1 ให้เป็น 10.0.0.1 ของ network 10.0.0.0/24

**สำคัญ** เพื่อความสะดวก ขอให้สร้าง user แรกของทุกเครื่องให้เป็น account ชื่อ vasabi และพาสเวริด vasabilab นอกจากนั้น ให้กำหนดค่า NIC ของทุกเครื่อง ทุก NIC ให้เป็น “Allow All” promiscuous mode

2. เครือง controller ไช้รัน service ต่างๆ มี 2 vcpus 2 GB RAM ไช้ 1 NIC ได้แก่ eth0 เป็น Internal Network “intnet”  ขนาด Disk ก็สัก 5 GB ก็ได้

3. เครื่อง network เป็นเครื่องที่ไช้รัน virtual network router ที่จะทำให้ vm ใน cloud ของเราติดต่อกับโลกภายนอกได้ ให้มี 1 vcpu 512 MB – 1 GB และให้มี 3 NIC ได้แก่ eth0 เป็น Internal Network “intnet” และ eth1 เป็น Internal Network เหมือนกันแต่ให้ชื่อเป็น “intnet2” แยกจากอันแรก (เราใช้มันเป็น data network ของ openstack) แลพ eth2 เป็น Internal Network “intnet” ขนาด ก็อย่างน้อย 5 GB ก็ได้

4. เครื่อง compute ใช้รัน vm จริงๆ เป็นตัวทำงาน ดังนั้นให้มี 2-4 vcpus และ 2-4 GB RAM ส่วน NIC ก็กำหนดให้มี 2 อัน eth0 เป็น Internal Network “intnet” ส่วน eth1 ให้เป็น Internal Network แบบ “intnet2”

ขอให้ลง ubuntu 14.04  64 bits ใหม่ทั้งหมด(จะได้ clean และไม่ต้องคอยลบ persistent nic เวลา clone)

รูปแบบการติดตั้ง เราจะทำตาม OpenStack Installation Manual ดังภาพ

หลังจากติดตั้ง Ubuntu ให้กำหนดค่า IP address (Management) บน eth0 ดังนี้
Controller: 10.0.0.11
Network: 10.0.0.21
Compute: 10.0.0.31
Gateway: 10.0.0.1

หลังจากสร้างเครื่องทั้ง 4 แล้ว ให้ make sure ว่า เครื่อง gateway สามารถติดต่อ internet (หรือโลกภายนอกในนิยามของคุณเอง) ได้และสามารถติดต่อกันและกันได้ผ่าน 10.0.0.0/24

Installation

user:vasabi
password:vasabilab

1. รันเครื่อง Gateway, Controller, Network, Compute

2. เข้าไปที่เครื่อง Gateway แล้วดาวโหลด installation script

wget http://vasabilab.cs.tu.ac.th/projects/OPSInstaller.tar

3. extract file

tar -xvf OPSInstaller.tar

4. Set gateway และ VPN
Gateway

cd OPSInstaller/Gateway
./run-verbose.sh 0
./run-verbose.sh 1

Reboot Gateway

5. Set remote access สร้าง keypair และ distribute tar file ไปยังเครื่อง controller, network, compute
Gateway

cd OPSInstaller/Gateway
./run-verbose.sh 2
ssh-agent /bin/bash
ssh-add
./run-verbose.sh 3

6. Setup Controller Node
Controller

cd OPSInstaller/Controller
./run-verbose.sh 0
./run-verbose.sh 1

7. Setup Network Node
Network

cd OPSInstaller/Network
./run-verbose.sh 0
./run-verbose.sh 2

8. Setup Compute Node
Compute

./run-verbose.sh 0
./run-verbose.sh 3

9. ติดตั้ง MySQL
Controller

./run-verbose.sh 4

Network

./run-verbose.sh 5

Compute

./run-verbose.sh 6

10. ติดตั้ง keystone, glance, nova
Controller

./run-verbose.sh 7
./run-verbose.sh 8
...
...
./run-verbose.sh 19

Compute

./run-verbose.sh 20

11. ติดตั้ง neutron
Controller

./run-verbose.sh 21
./run-verbose.sh 22

Network

./run-verbose.sh 23

Controller

./run-verbose.sh 24

Network

./run-verbose.sh 25

Compute

./run-verbose.sh 26

Reboot Compute, Network, Controller

12. ติดตั้ง dashboard
Controller

./run-verbose.sh 27
./run-verbose.sh 28
./run-verbose.sh 29
./run-verbose.sh 30

13. ติดตั้ง cinder
Controller

./run-verbose.sh 31

VPN account
user:vasabi
password:vasabilab

14. Login เข้าหน้า dashboard
http://10.0.0.11/horizon

 

 

9 thoughts on “การใช้ Vasabilab OpenStack Icehouse Installation Script

  1. Reply Jirayut Nimsaeng Jul 22,2014 12:53 pm

    ถ้าเข้าไปหน้า Router Details แล้วพบว่า External Gateway มีสถานะเป็น DOWN ให้รัน command ข้างล่างนี้บนเครื่อง Network

    sudo ovs-vsctl br-set-external-id br-ex bridge-id br-ex
    sudo service neutron-plugin-openvswitch-agent restart

    Source: https://bugs.launchpad.net/neutron/+bug/1253634

  2. Reply Jirayut Nimsaeng Jul 23,2014 10:36 am

    ถ้าลองสร้าง instance แล้ว assign float ip แล้วปรากฎว่าเครื่องสามารถ ping ได้ telnet ได้ แต่ไม่สามารถ ssh ได้ ให้รัน command ข้างล่างนี้

    เครื่อง Network
    sudo ifconfig eth0 mtu 1700
    sudo ifconfig eth1 mtu 1700
    sudo ifconfig eth2 mtu 1700

    เครื่อง Compute
    sudo ifconfig eth0 mtu 1700
    sudo ifconfig eth1 mtu 1700

  3. kasidit Reply kasidit Jul 24,2014 1:27 am

    แก้ปัญหา network และ ssh ได้ตรงเลย ขอบคุณคุณจิรายุทธมากครับ

  4. Reply Krit Sep 12,2014 10:14 am

    เครื่อง network eth2 เป็น Internal Network “intnet” กำหนด ip เหมือน eth0 ใช่ไหมครับ

  5. Reply ohno-nectec Oct 29,2014 3:26 pm

    ถ้าลองสร้าง instance แล้ว assign float ip แล้วปรากฎว่าเครื่อง vm ที่ได้มาไม่ได้รับไอพีเลย
    แต่ว่าที่หน้า instant มีบอกแล้วว่าได้ไอพี 192.168.1.2

    เข้าไปดูที่เครื่องจริงๆ ก็ไม่ได้รับไอพี (ใช้ image curros)

    • yugi Reply yugi Oct 30,2014 2:46 pm

      การ assign floating ip และการใช้งานเป็นการทำงานของ Neutron (L3 agent) โดยทำ NAT บน Network Node ดังนั้นถ้าเข้าไปดูที่เครื่อง จะไม่เห็นว่าได้ floating ip เพราะตัว instance จะไม่รู้ว่ามันถูก assign floating ip
      วิธีการตรวจสอบคือต้องลอง access instance นั้นจากภายนอก (แต่อย่าลืมเปิด port ด้วยนะคะ)

Leave a Reply