- Các ghi chép hướng dẫn chạy devstack
- Tạm gọi devstack là OpenStack theo kiểu "mì tôm"
- Được sử dụng để cài đặt OpenStack native, hay sử dụng bởi các deverloper.
- Devstack KHÔNG được khuyến cáo để triển khai trong các môi trường Production
- Devstack được viết hoàn toàn bằng shell.
- Devstack cài đặt từ source bằng các tải trực tiếp các package từ GIT
- Devstack triển khai nhanh gọn, thường chạy với mô hình AIO
- Devstack có thể được sử dụng để cài các phiên bản của OpenStack (Liberty, Kilo, Juno ...). Nếu sử dụng nhánh master của GIT thì là bản mới nhất của OpenStack.
- Devstack thường được sử dụng để deverlop hoặc test các tính năng trong các phiên bản của OpenStack
- Trên một node
- Chuẩn bị một máy Ubuntu 14.04 Server 64 bit với cấu hình
Cấu hình tối thiểu
- RAM 4GB
- HDD:60GB
- NIC: 01: 192.168.1.0/24
Phiên bản hệ điều hành: Ubuntu Server 14.04 64 bit
- Đăng nhập bằng tài khoản root và thực hiện các lệnh sau để update bản mới nhất
apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y && init 6
- Đăng nhập vào OS với tài khoản root.
- Tạo và gán cấu hình sudo cho user
stack
adduser stack
apt-get -y install sudo
apt-get -y install git
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
- Chuyển từ tài khoản
root
sang tài khoảnstack
:
su - stack
- Clone git của devstack về bằng lệnh git
- Mặc định (nhánh master) trong git của devstack là source mới nhất của OpenStack.
- Trong git của devstack chứa các phiên bản của OpenStack (Mitaka, Liberty, Kilo, Juno ...)
- Trong hướng dẫn này sẽ thực hiển tải bản OpenStack Liberty
git clone -b stable/liberty https://github.com/openstack-dev/devstack.git
- Các shell trong devstack sẽ tham chiếu tới file local.conf để lấy giá trị các
biến
khi thực thi các dòng lệnh trong shell đó. - File local cần phải các các khao báo tối thiểu về password cho các dịch vụ trong OpenStack như: MySQL, RabbitMQ .... Các biến còn lại sẽ lấy giá trị mặc định.
- Tùy vào tính năng cần test mà người dùng có thể khai báo trong file local.conf
- Trong ví dụ này chúng tôi sử dụng dải mạng 192.168.1.0/24 cho dải EXTERNAL
- Di chuyển vào thư mục
devstack
cd /devstack/
-Tạo file local.conf với nội dung mẫu như sau, lưu ý tùy vào tình huống mà có thể sửa file này cho phù hợp.
[[local|localrc]]
DEST=/opt/stack
# Khai bao log cho devstack
LOGFILE=$DEST/logs/stack.sh.log
VERBOSE=True
SCREEN_LOGDIR=$DEST/logs/screen
OFFLINE=False
# Khai bao IP cua may cai dat devstack
HOST_IP=192.168.1.110
# Khai bao mat khau cho cac dich vu
ADMIN_PASSWORD=vietstacker
MYSQL_PASSWORD=vietstacker
RABBIT_PASSWORD=vietstacker
SERVICE_PASSWORD=vietstacker
SERVICE_TOKEN=vietstacker
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-meta
enable_service q-l3
#ml2
Q_PLUGIN=ml2
Q_AGENT=openvswitch
# vxlan
Q_ML2_TENANT_NETWORK_TYPE=vxlan
# Networking
FLOATING_RANGE=192.168.1.0/24
Q_FLOATING_ALLOCATION_POOL=start=192.168.1.150,end=192.168.1.200
PUBLIC_NETWORK_GATEWAY=192.168.1.1
FIXED_RANGE=172.16.0.0/24
NETWORK_GATEWAY=172.16.0.1
PUBLIC_INTERFACE=eth0
Q_USE_PROVIDERNET_FOR_PUBLIC=True
Q_L3_ENABLED=True
Q_USE_SECGROUP=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex
# Neu dung de dev thi thay enable_service cho dong duoi
disable_service tempest
#vnc
enable_service n-novnc
enable_service n-cauth
- Trong file khai báo trên đã thực hiện
- Khai báo mật khẩu cho các dịch vụ
- Kích hoạt Neutron cho devstack (từ bản Kilo trở đi, mặc định devstack sử dụng neutron thay cho nova-network)
- Dải mạng External là: 192.168.1.0/24
- Dải mạng Internet là: 172.16.0.0/24
- Sau khi cài devstack với file local trên xong, devstack sẽ tạo ra dải mạng external và bắt đầu từ 192.168.1.150 tới 192.168.1.200
- Thời gian cài đặt devstack có thể nhanh hay chậm tùy thuộc vào tốc độ internet.
- Có thể sử dụng các kỹ thuật repos, apt-cache để tăng tốc độ download các package khi cài devstack.
- Đảm bảo lúc này bạn đang ở thư mục /home/stack/devstack/ nhé và thực thi shell sau.
./stack.sh
- Fix lỗi Cinder
- Gõ lệnh dưới trước khi chạy .rejoin-stack
sudo losetup /dev/loop0 /opt/stack/data/stack-volumes-default-backing-file
sudo losetup /dev/loop1 /opt/stack/data/stack-volumes-lvmdriver-1-backing-file
- Sau khi khơi động lại devstack cần thực hiện lệnh sau:
./home/stack/rejoin-stack.sh