Blog

Hướng dẫn cài đặt và cấu hình Openstack toàn tập từ A-Z

Dịch vụ Hosting Vps giá rẻ

VPS Việt Nam giá rẻ, cấu hình mạnh, ổn định. Được đặt tại Datacenter FPT. Giá chỉ từ 50k cùng nhiều phần quà hấp dẫn Nâng cấp dễ dàng, không tốn thêm phí Cam kết hoàn tiền ngay nếu không hài lòng . Đăng Ký : vps giá rẻ Ngay.
Follow Me
profile

I GIỚI THIỆU

  • Là một IT chắc các bạn cũng đã nghe qua các cum từ Ảo Hóa (Virtualization) và Điện toán đám mây (Cloud Computing). Vậy Ảo Hóa là gì, điện toán đám mây là gì.
  • Ảo hóa (Virtualization)
    • Đa số khi nói đến Virtualization thì mọi người đều hiểu là Ảo hóa. Ảo hóa là kỹ thuật tạo ra phần cứng, thiết bị mạng, thiết bị lưu trữ,… ảo – không có thật (cũng có thể là giả lập hoặc mô phỏng).
    • Đi kèm với Ảo hóa thường có các cụm từ Hardware Virtualization, Platform Virtualization: các cụm từ này ám chỉ việc tạo ra các thành phần phần cứng (ảo) để tạo ra các máy ảo (Virtual Machine), chúng gần như có đầy đủ các thành phần như máy vật lý (physical machine ) và có thể cài đặt hệ điều hành (Linux, Windows,….) trong network thì có thể có các Router ảo và Switch ảo.
  • Cloud Computing
    • Điện toán đám mây (Cloud Computing) theo định nghĩa của IBM là việc cung cấp các tài nguyên máy tính cho người dùng tùy theo mục đích sử dụng thông qua kết nối Internet. Nguồn tài nguyên đó có thể là bất kì thứ gì liên quan đến điện toán và máy tính, ví dụ như phần mềm, phần cứng, hạ tầng mạng cho đến các máy chủ và mạng lưới máy chủ cỡ lớn.
  • Openstack là gì.
    • OpenStack là một phần mềm mã nguồn mở, dùng để triển khai Cloud Computing, bao gồm private cloud và public cloud (nhiều tài liệu giới thiệu là Cloud Operating System). Đúng như với thông tin từ trang chủ http://openstack.org, xin được trích lại như sau: Open source software for building private and public clouds.
    • Các thành phần chính (Openstack Queens):
      • Identity Service(Keystone): Quản lý xác thực cho user và projects.
      • Compute Service(Nova): Quản lý máy ảo
      • Image Service(Glance): Là OpenStack Image Service, quản lý các disk image ảo. Glance hỗ trợ các ảnh Raw, Hyper-V (VHD), VirtualBox (VDI), Qemu (qcow2) và VMWare (VMDK, OVF). Bạn có thể thực hiện: cập nhật thêm các virtual disk images, cấu hình các public và private image và điều khiển việc truy cập vào chúng, và tất nhiên là có thể tạo và xóa chúng.
      • Dashboard(Horizon): Cung cấp cho người quản trị cũng như người dùng giao diện đồ họa để truy cập, cung cấp và tự động tài nguyên cloud. Việc thiết kế có thể mở rộng giúp dễ dàng thêm vào các sản phẩm cũng như dịch vụ ngoài như billing, monitoring và các công cụ giám sát khác.
      • Object Storage(Swift): Là nền tảng lưu trữ mạnh mẽ, có khả năng mở rộng và chịu lỗi cao, được thiết kế để lưu trữ một lượng lớn dữ liệu phi cấu trúc với chi phí thấp thông qua một http RESTful API.
      • Block Storage(Cinder): Cung cấp dịch vụ Block Storage. Một cách ngắn gọn, Cinder thực hiện ảo hóa pool các khối thiết bị lưu trữ và cung cấp cho người dùng cuối API để request và sử dụng tài nguyên mà không cần biết khối lưu trữ của họ thực sự lưu trữ ở đâu và loại thiết bị là gì. Cũng như các dịch vụ khác trong OpenStack, self service API được sử dụng để tương tác với dịch vụ Cinder.
      • Network Service(Neutron): Là thành phần quản lý network cho các máy ảo. Cung cấp chức năng network as a service. Đây là hệ thống có các tính chất pluggable, scalable và API-driven.
      • Orchestration Service(Heat): Cung cấp chức năng điều phối cho máy ảo
      • Metering Service(Ceilometer): Cung cấp cở sở hạ tầng để thu thập mọi thông tin cần thiết liên quan tới OpenStack
      • Database Service(Trove):Là dịch vụ cho phép người dùng sử dụng database quan hệ hoặc phi quan hệ (Relational database và Non-Relational database – NoSQL) mà không cần quan tâm tới hạ tầng database. Nó tạo ra lớp abstract giữa người dùng và database, thực hiện dự phòng, mở rộng và quản lý database trên hạ tầng OpenStack.
      • ….

Cirros dowload.

Chú ý: Script chỉ chạy trên centos7 (dựng LAB trên vmware workstation, KVM đều chạy được, đã test thực tế)

1 NODE (ALL IN ONE)

sơ đồ và cấu hình 1 node ALL IN ONE

image image

  • Cài đặt git
          yum  -y install git
    
  • Clone git
          git clone https://github.com/letran3691/openstack.git             
    
  • Phân quyền file
          chmod +x openstack/ops.sh
    
  • Thực thi file
          ./openstack/ops.sh
    
  • Chọn 1 để cài 1 NODE ALL IN ONE.

image

  • Sau khi chọn 1 bạn sẽ được yêu cầu nhập các thông tin như hình trên. Sau khi nhập xong nhân ENTER. Quá trình cài đặt và cấu hình bắt đầu.

image

  • Từ lúc bắt đầu cài đặt, đến lúc cài đặt và cấu hình xong thì ko cần phải làm gì nữa. Chỉ cần ngồi đợi thôi.
  • Quá trình cài đặt và cấu hình nhanh hay chạm tùy thuộc vào cầu hình VM của các bạn. Nếu trong quá trình cài đặt và cấu hình bị lỗi, thì sẽ hiện luôn ở màn hình.
  • Màn hình xuất hiên WARNING như hình dưới thì cứ kệ nhé.

image

  • restart service nova khá là lâu các bạn nhé NODE ALL IN ONE của mình 6G RAM mà mất khoảng 10 phút mới restart xong.
  • Sau khi Cài đặt và cấu hình xong, ở cuối màn hình sẽ hiện ra link dashboard và thông tin đăng nhập, đồng th NODE sẽ tự động reboot

image

  • Ngoài ra tránh trường hợp bị rớt nào ở chỗ nào đó thì trong /root/ có 1 file info. File này lưu lại toàn bộ các thông liên quan đến user, password mà các bạn đã đặt.

image

  • 1 vài hình ảnh về GUI WEB

image

  • Tạo network private cho instance

image

  • Tạo Provider network (Associate floating ip)

image

  • Tạo route

image

  • Ad interface cho route

image image

  • Tạo instance và test public connect image image image
  • Như vậy là xong OPENSTACK ALL IN ONE

2 NODE (CONTROLLER-COMPUTE)

Sơ đồ LAB 2 NODE CONTROLL – COMPUTE

image image

  • Cài đặt git
          yum  -y install git
    
  • Clone git
          git clone https://github.com/letran3691/openstack.git             
    
  • Phân quyền file
          chmod +x openstack/ops.sh
    
  • Thực thi file
          ./openstack/ops.sh
    
  • Chọn 2 để cài 2 NODE CONTROLL – COMPUTE**

3

  • Nhập các thông tin yêu cầu như hình trên thì nhấn ENTER.

– Chú ý: Nó yêu cầu nhập password root bên node compute thì nhớ nhập để copy key ssh nhé

  • Sau khi điền đầu đủ các thông tin trên nhấn ENTER thì lại ngồi chơi đợi quá trình cài đặt và cấu hình hoàn tất thôi. 😀
  • Thấy cảnh báo như dưới đây thì bỏ qua, không cần quan tâm.

image

  • Restart nova service sẽ khá lâu nhé.

image image

3 NODE (CONTROLLER-NETWORK-COMPUTE)

Sơ đồ LAB 3 NODE CONTROLL-NETWORK-COMPUTE

image image

  • Cài đặt git
          yum  -y install git
    
  • Clone git
          git clone https://github.com/letran3691/openstack.git             
    
  • Phân quyền file
          chmod +x openstack/ops.sh
    
  • Thực thi file
          ./openstack/ops.sh
    

3

  • Nhập các thông tin yêu cầu như hình trên thì nhấn ENTER.

– Chú ý: Nó yêu cầu nhập password root bên node compute và network thì nhớ nhập để copy key ssh nhé

  • Sau khi điền đầu đủ các thông tin trên nhấn ENTER thì lại ngồi chơi đợi quá trình cài đặt và cấu hình hoàn tất thôi. 😀
  • Thấy cảnh báo như dưới đây thì bỏ qua, không cần quan tâm.

image image image image

  • Cài đặt và cấu hình xong 3 NODE CONTROLL-NETWORK-COMPUTE
  • Link hướng dẫn tạo network và route trên dashboard (click vào ảnh phía dưới).

Tạo network và route trên dashboard

3 NODE (CONTROLLER-COMPUTE-STORACE(LVM backend))

Sơ đồ LAB 3 NODE CONTROLL – COMPUTE – STORAGE(LVM backend)

image 3

  • Cài đặt git
          yum  -y install git
    
  • Clone git
          git clone https://github.com/letran3691/openstack.git             
    
  • Phân quyền file
          chmod +x openstack/ops.sh
    
  • Thực thi file
          ./openstack/ops.sh
    

image

  • Nhập các thông tin yêu cầu như hình trên thì nhấn ENTER.

– Chú ý: Nó yêu cầu nhập password root bên node storage và compute thì nhớ nhập để copy key ssh nhé

  • Sau khi điền đầu đủ các thông tin trên nhấn ENTER thì lại ngồi chơi đợi quá trình cài đặt và cấu hình hoàn tất thôi. 😀
  • Thấy cảnh báo như dưới đây thì bỏ qua, không cần quan tâm.

image image

3 NODE (CONTROLLER-COMPUTE-STORACE(NFS backend))

CHÚ Ý: RAM CỦA BẠN NÀO HƠN 12G THÌ HÃY THỰC HIỆN LAB NÀY

image

Sơ đồ LAB 3 NODE CONTROLL – COMPUTE – STORAGE(NFS backend)

image

3

  • Cài đặt git
          yum  -y install git
    
  • Clone git
          git clone https://github.com/letran3691/openstack.git             
    
  • Phân quyền file
          chmod +x openstack/ops.sh
    
  • Thực thi file
          ./openstack/ops.sh
    

Untitled-1

  • Nhập các thông tin yêu cầu như hình trên thì nhấn ENTER.

– Chú ý: Nó yêu cầu nhập password root bên node storage và compute và NFS server thì nhớ nhập để copy key ssh nhé

  • Sau khi điền đầu đủ các thông tin trên nhấn ENTER thì lại ngồi chơi đợi quá trình cài đặt và cấu hình hoàn tất thôi. 😀
  • Thấy cảnh báo như dưới đây thì bỏ qua, không cần quan tâm.

image

image image

  • Mình tạo 2 instance:
    • 1 là volume mặc định của instance mấy vài phút, là instance tạo xong.
    • Instance thứ 2 tạo volume từ NFS rất lâu mới tạo xong (21 phút) có thể có do cấu hình LAB đuối quá, nên tọa lâu. Nhưng instance vậy hoạt động ngon lành.
  • Một vài hình ảnh về storage NFS backend.

image image

3 NODE (CONTROLLER-COMPUTE-STORACE(Multi backend))

CHÚ Ý: RAM CỦA BẠN NÀO HƠN 12G THÌ HÃY THỰC HIỆN LAB NÀY

image

Sơ đồ LAB 3 NODE CONTROLL – COMPUTE – STORAGE(Multi backend)

image 3

  • Cài đặt git
          yum  -y install git
    
  • Clone git
          git clone https://github.com/letran3691/openstack.git             
    
  • Phân quyền file
          chmod +x openstack/ops.sh
    
  • Thực thi file
          ./openstack/ops.sh
    

image

  • Nhập các thông tin yêu cầu như hình trên thì nhấn ENTER.

– Chú ý: Nó yêu cầu nhập password root bên node storage và compute và NFS server thì nhớ nhập để copy key ssh nhé

  • Sau khi điền đầu đủ các thông tin trên nhấn ENTER thì lại ngồi chơi đợi quá trình cài đặt và cấu hình hoàn tất thôi. 😀
  • Thấy cảnh báo như dưới đây thì bỏ qua, không cần quan tâm.

image

image image

2 NODE (CONTROLLER-COMPUTE(CEPH backend))

CHÚ Ý: RAM CỦA BẠN NÀO HƠN 12G THÌ HÃY THỰC HIỆN LAB NÀY

image

  • Sơ đồ LAB 3 NODE CONTROLL – COMPUTE(CEPH backend)
  • Chú ý: phần disk trên các node CEPH phải đặt đúng số lượng disk và dung lượng disk phải giống như trong sơ đồ trên

Untitled-1

  • Cài đặt git
          yum  -y install git
    
  • Clone git
          git clone https://github.com/letran3691/openstack.git             
    
  • Phân quyền file
          chmod +x openstack/ops.sh
    
  • Thực thi file
          ./openstack/ops.sh
    

Capture

  • Nhập đầy đủ các thông tin cần thiết như hình trên.
  • Trong quá trình cài đặt sẽ có những lần được yêu cầu xác nhận ssh, các bạn YES rồi enter.

image image image image image image

  • Để truy cập vào dashboard ceph bạn cần add domain vào file host.

image image

  • Phần cấu hình CEPH backend kết thúc tại đây, chúc mọi người thành công.

III: BASIC COMMAND

  • Create project
          openstack project create --domain default --description "demo Project" demo
    
  • Show project
          openstack project list 
    
  • download disk image
          wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img -O /var/lib/glance/images/cirros.img
    
  • Add virtual image to glance
           openstack image create "cirros" --file /var/lib/glance/images/cirros.img --disk-format qcow2 --container-format bare --public
    
  • Show virtual image
          openstack image list
    
  • Create user
          openstack user create --domain default --project demo --password 12345 demo     
    
  • Show user
          openstack user list 
    
  • Create role
          openstack role create demo
    
  • Add user to role
          openstack role add --project demo --user demo  demo
    
  • Add flavor
          openstack flavor create --id 0 --vcpus 1 --ram 512 --disk 10 test
    
  • Show flavor
          openstack flavor list
    
  • Create virtual router
          openstack router create router01    
    
  • Show router
           openstack router list   
    
  • Create internal network
          openstack network create internal --provider-network-type vxlan 
    
  • Create subnet in internal network
          openstack subnet create sub-inter --network internal --subnet-range 10.0.0.0/24 --gateway 10.0.0.1 --dns-nameserver 8.8.8.8
    
  • Create external network
          openstack network create --provider-physical-network physnet1 --provider-network-type flat --external external
    
  • Create subnet in external network
          openstack subnet create sub-exter --network external --subnet-range 192.168.124.0/24 --allocation-pool start=192.168.124.200,end=192.168.124.254 --gateway 192.168.124.2 --dns-nameserver 8.8.8.8 --no-dhcp
    
    • Chú ý: Kiểm tra kĩ lại network sao cho subnet trùng với lớp mạng trên ADAPTER2
  • Create rbac
          openstack network rbac create --target-project admin --type network --action access_as_shared internal    
    
  • Show network
          openstack network list    
    
  • Set internal network to router
          openstack router add subnet router01 sub-inter                                                            
    
  • Set gateway to the router
          openstack router set router01 --external-gateway external
    
  • Create a security group for instances
          openstack security group create secgroup01
    
  • Show security group
           openstack security group list            
    
  • Create key ssh to instance
          ssh-keygen -q -N ""                   
    
  • Add public key
          openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey           
    
  • Create instance
          openstack server create --flavor test --image cirros --security-group secgroup01 --network internal --key-name mykey cirros_test
    
  • Assign floating IP to Instance
          openstack floating ip create external 
    
  • Add floating ip to

image

  • Chú ý cái ip nhé
       openstack server add floating ip  cirros_test 192.168.124.215
    
  • Comfirm setting
          openstack floating ip show 192.168.124.215
    
  • Show instance
          openstack server list
    
  • Add rorulele to security group
    • permit ICMP
        openstack security group rule create --protocol icmp --ingress secgroup01
      

    permit SSH

          openstack security group rule create --protocol tcp --dst-port 22:22 secgroup01
    
  • Show rule security group
          openstack security group rule list  
    
  • Volume
    • Chú ý: chỉ up dụng với LAB có cấu hình Storage node
    • Create volume
             openstack volume create --size 6 disk01
      
    • Show volume
            openstack volume list
      
    • Add volume to instace
            openstack server add volume  cirros_test disk01 
      

    image

  • ssh to instance
          ssh [email protected]                                                
    

IV: WEB GUID HORIZON

  • Link hướng dẫn trên dashboard (click vào ảnh phía dưới).

Hướng dẫn trên dashboard

V: HỖ TRỢ

Leave a Comment