OpenStack部署

Top

NSD CLOUD DAY03

  1. 案例1:配置yum倉庫
  2. 案例2:配置DNS服務器:
  3. 案例3:配置NTP服務器
  4. 案例4:環境準備
  5. 案例5:部署Openstack:
  6. 案例6:網絡管理
  7. 案例7:管理項目

1 案例1:配置yum倉庫

1.1 問題

本案例要求把三個鏡像配置yum源:html

  • CentOS7-1708光盤內容做爲倉庫源
  • 配置 RHEL7-extars內容加入倉庫源
  • RHEL7OSP-10光盤中包含多個目錄,每一個目錄都是倉庫源(能夠使用腳本生成)

1.2 步驟

實現此案例須要按照以下步驟進行。python

步驟一:配置 yum倉庫apache

警告:僅yum配置的第一個源(系統源)爲gpgcheck=1須要導入公鑰,其餘的都是gpgcheck=0,不然安裝會報錯。vim

  1. [root@room9pc01 ~]# mkdir /var/ftp/system
  2. [root@room9pc01 ~]# mkdir /var/ftp/extras
  3. [root@room9pc01 ~]# mkdir /var/ftp/HEL7OSP
  4. [root@room9pc01 ~]# vim /etc/fstab
  5. /iso/RHEL7OSP-10.iso /var/ftp/HEL7OSP iso9660 defaults 0 0
  6. /iso/CentOS7-1708.iso /var/ftp/system iso9660 defaults 0 0
  7. /iso/RHEL7-extras.iso /var/ftp/extras iso9660 defaults 0 0
  8. [root@room9pc01 ~]# mount –a
  9. mount: /dev/loop0 is write-protected, mounting read-only
  10. mount: /dev/loop1 is write-protected, mounting read-only
  11. mount: /dev/loop2 is write-protected, mounting read-only
  12. [root@room9pc01 ~]# vim /etc/yum.repos.d/local.repo
  13. [local_repo]
  14. name=CentOS-$releasever - Base
  15. baseurl="ftp://192.168.1.254/system"
  16. enabled=1
  17. gpgcheck=1
  18. [local_extras]
  19. name=extras
  20. baseurl="ftp://192.168.1.254/extras"
  21. enabled=1
  22. gpgcheck=0
  23. [1local_devtools-rpms]
  24. name=devtools-rpms
  25. baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-devtools-rpms"
  26. enabled=1
  27. gpgcheck=0
  28. [2local_optools-rpms]
  29. name=optools-rpms
  30. baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-optools-rpms"
  31. enabled=1
  32. gpgcheck=0
  33. [3local_rpms]
  34. name=rpms
  35. baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-rpms"
  36. enabled=1
  37. gpgcheck=0
  38. [4local_tools-rpms]
  39. name=tools-rpms
  40. baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-tools-rpms"
  41. enabled=1
  42. gpgcheck=0
  43. [5local_mon-rpms]
  44. name=mon-rpms
  45. baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhceph-2-mon-rpms"
  46. enabled=1
  47. gpgcheck=0
  48. [6local_osd-rpms]
  49. name=osd-rpms
  50. baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhceph-2-osd-rpms"
  51. enabled=1
  52. gpgcheck=0
  53. [7local_rhceph-2-tools-rpms]
  54. name=rhceph-2-tools-rpms
  55. baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhceph-2-tools-rpms"
  56. enabled=1
  57. gpgcheck=0
  58. [8local_agent-rpms]
  59. name=agent-rpms
  60. baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhscon-2-agent-rpms"
  61. enabled=1
  62. gpgcheck=0
  63. [9local_installer-rpms]
  64. name=installer-rpms
  65. baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhscon-2-installer-rpms"
  66. enabled=1
  67. gpgcheck=0
  68. [10local_rhscon-2-main-rpms]
  69. name=rhscon-2-main-rpms
  70. baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhscon-2-main-rpms"
  71. enabled=1
  72. gpgcheck=0

2 案例2:配置DNS服務器:

2.1 問題

本案例要求掌握DNS服務器的配置:瀏覽器

  • 容許DNS服務器爲全部的客戶端提供服務
  • 解析域名openstack.tedu.cn
  • 解析域名nova.tedu.cn

2.2 方案

此實驗的總體方案須要三臺機器,openstack做爲主節點,nova做爲額外節點,真機作爲DNS和NTP的服務器(這裏再也不在表-1中體現,在真機上面直接配置便可),提供域名解析和時間同步服務,具體狀況如表-1所示:服務器

表-1網絡

2.3 步驟

實現此案例須要按照以下步驟進行。ssh

步驟一:配置DNS(真機操做)tcp

  1. [root@room9pc01 ~]# yum -y install bind bind-chroot
  2. [root@room9pc01 ~]# vim /etc/named.conf
  3. options {
  4. listen-on port 53 { 192.168.1.3; };        //修改ip
  5.      allow-query { any; };                //容許全部
  6. recursion yes;
  7. forwarders { 172.40.1.10; }; //轉發dns,真機的服務器地址
  8. dnssec-enable no;
  9. dnssec-validation no;
  10. };
  11. [root@room9pc01 ~]# systemctl restart named

步驟二:兩臺虛擬機配置靜態ipoop

注意:兩臺主機一樣操做,改一下ip便可(以openstack.tedu.cn爲例)

  1. [root@localhost ~]# echo openstack.tedu.cn > /etc/hostname
  2. [root@localhost ~]# hostname openstack.tedu.cn    //另一臺主機更名爲nova.tedu.cn
  3. [root@openstack ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  4. # Generated by dracut initrd
  5. DEVICE="eth0"
  6. ONBOOT="yes"
  7. IPV6INIT="no"
  8. IPV4_FAILURE_FATAL="no"
  9. NM_CONTROLLED="no"
  10. TYPE="Ethernet"
  11. BOOTPROTO="static"
  12. IPADDR="192.168.1.1"
  13. PREFIX=24
  14. GATEWAY=192.168.1.254
  15. [root@openstack ~]# systemctl restart network

步驟三:域名解析

  1. [root@openstack ~]# vim /etc/hosts     
  2. //在openstack.tedu.cn和nova.tedu.cn主機上面操做
  3. 192.168.1.1 openstack.tedu.cn
  4. 192.168.1.2 nova.tedu.cn

測試可否ping通,如圖-1所示:

圖-1

3 案例3:配置NTP服務器

3.1 問題

本案例要求配置NTP時間同步服務器:

  • 將NTP服務與DNS服務部署在同一臺主機上
  • 確認NTP服務器的時區是東八區
  • 確認NTP服務器的時間準確
  • 計劃安裝openstack的服務器與NTP服務器進行時間校訂

3.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:配置NTP時間同步(真機操做)

  1. [root@room9pc01 ~]# yum -y install chrony
  2. [root@room9pc01 ~]# vim /etc/chrony.conf
  3. server ntp1.aliyun.com iburst
  4. bindacqaddress 0.0.0.0
  5. allow 0/0            //容許全部人使用個人時間服務器
  6. cmdallow 127.0.0.1     //控制指令
  7. [root@room9pc01 ~]# systemctl restart chronyd
  8. [root@room9pc01 ~]# netstat -antup | grep chronyd
  9. udp 0 0 0.0.0.0:123 0.0.0.0:* 23036/chronyd
  10. udp 0 0 127.0.0.1:323 0.0.0.0:* 23036/chronyd
  11. [root@room9pc01 ~]# chronyc sources -v //出現*號表明NTP時間可用
  12. ^* 120.25.115.20 2 6 17 62 -753us[-7003us] +/- 24ms

4 案例4:環境準備

4.1 問題

本案例要求準備基礎環境,爲安裝openstack作準備:

  • 準備openstack的基礎環境

4.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:準備基礎環境

1)配置yum源

備註:只有系統源的gpgcheck=1,其餘的都是gpgcheck=0)

  1. [root@room9pc01 ~]# scp /etc/yum.repos.d/local.repo \
  2. 192.168.1.1:/etc/yum.repos.d/        //拷貝給openstack.tedu.cn這臺主機
  3. [root@room9pc01 ~]# scp /etc/yum.repos.d/local.repo \
  4. 192.168.1.2:/etc/yum.repos.d/ //拷貝給nova.tedu.cn這臺主機

步驟二:配置ip

備註: 配置eth0爲公共網絡,網絡地址192.168.1.0/24(已經配置過)

配置eth1爲隧道接口,網絡地址192.168.2.0/24

1)給openstack.tedu.cn主機添加eth1網卡

  1. [root@room9pc01 networks]# virsh -c qemu:///system attach-interface openstack bridge private2 --model virtio
  2. Interface attached successfully //添加成功
  3. [root@openstack ~]# cd /etc/sysconfig/network-scripts
  4. [root@openstack network-scripts]# cp ifcfg-eth0 ifcfg-eth1
  5. [root@openstack network-scripts]# vim ifcfg-eth1
  6. # Generated by dracut initrd
  7. DEVICE="eth1"
  8. ONBOOT="yes"
  9. IPV6INIT="no"
  10. IPV4_FAILURE_FATAL="no"
  11. NM_CONTROLLED="no"
  12. TYPE="Ethernet"
  13. BOOTPROTO="static"
  14. IPADDR="192.168.2.1"
  15. PREFIX=24
  16. GATEWAY=192.168.1.254
  17. [root@openstack network-scripts]# systemctl restart network

2)給nova.tedu.cn主機添加eth1網卡

  1. [root@room9pc01 networks]# virsh -c qemu:///system attach-interface nova bridge private2 --model virtio
  2. Interface attached successfully    //添加成功
  3. [root@nova ~]# cd /etc/sysconfig/network-scripts
  4. [root@nova network-scripts]# cp ifcfg-eth0 ifcfg-eth1
  5. [root@nova network-scripts]# vim ifcfg-eth1
  6. # Generated by dracut initrd
  7. DEVICE="eth1"
  8. ONBOOT="yes"
  9. IPV6INIT="no"
  10. IPV4_FAILURE_FATAL="no"
  11. NM_CONTROLLED="no"
  12. TYPE="Ethernet"
  13. BOOTPROTO="static"
  14. IPADDR="192.168.2.2"
  15. PREFIX=24
  16. GATEWAY=192.168.1.254
  17. [root@openstack network-scripts]# systemctl restart network

3)配置卷組(openstack主機上面操做)

  1. [root@room9pc01 images]# qemu-img create -f qcow2 disk.img 50G
  2. Formatting 'disk.img', fmt=qcow2 size=53687091200 encryption=off cluster_size=65536 lazy_refcounts=off
  3. [root@room9pc01 networks]# virsh -c qemu:///system attach-disk openstack \
  4. /var/lib/libvirt/images/disk.img vdb --subdriver qcow2 --sourcetype file
  5. Disk attached successfully        //添加成功
  6. [root@openstack ~]# yum install lvm2
  7. [root@openstack ~]# pvcreate /dev/vdb
  8. [root@openstack ~]# vgcreate cinder-volumes /dev/vdb

4)安裝openstack的依賴包(openstack.tedu.cn和nova.tedu.cn主機上面

  1. [root@openstack ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools
  2. [root@nova ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

5 案例5:部署Openstack:

5.1 問題

本案例要求經過packstack完成如下配置:

  • 經過packstack部署Openstack
  • 根據相關日誌文件進行排錯

5.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:安裝packstack

  1. [root@openstack ~]# yum install -y openstack-packstack
  2. [root@openstack ~]# packstack --gen-answer-file answer.ini
  3. //answer.ini與answer.txt是同樣的,只是用vim打開answer.ini文件有顏色
  4. Packstack changed given value to required value /root/.ssh/id_rsa.pub
  5. [root@openstack ~]# vim answer.ini
  6. 11 CONFIG_DEFAULT_PASSWORD=redhat //密碼
  7. 42 CONFIG_SWIFT_INSTALL=n
  8. 75 CONFIG_NTP_SERVERS=192.168.1.3 //時間服務器的地址
  9. 554 CONFIG_CINDER_VOLUMES_CREATE=n //建立卷,已經手動建立過了
  10. 840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan //驅動類型
  11. 876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5
  12. //設置組播地址,最後一個隨意不能爲0和255,其餘固定
  13. 910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex //物理網橋的名稱
  14. 921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0
  15. //br-ex橋的名稱與eth0鏈接,管理eth0,網橋與哪一個物理網卡鏈接
  16. 936 CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
  17. 1179 CONFIG_PROVISION_DEMO=n //DEMO是否測試
  18. [root@openstack ~]# packstack --answer-file=answer.ini
  19. **** Installation completed successfully ******        //出現這個爲成功

步驟二:安裝openstack可能會出現的錯誤以及排錯方法

1)ntp時間不一樣步,如圖-2所示:

圖-2

解決辦法:查看ntp時間服務器,是否出現*號,若沒有,查看配置文件,配置ntp服務器步驟在案例3,能夠參考

  1. [root@room9pc01 ~]# chronyc sources -v //出現*號表明NTP時間可用
  2. ^* 120.25.115.20 2 6 17 62 -753us[-7003us] +/- 24ms
  3. [root@openstack ~]# chronyc sources -v
  4. ^* 192.168.1.3 3 9 377 504 +50us[ -20us] +/- 24ms
  5. [root@nova ~]# chronyc sources -v
  6. ^* 192.168.1.3 3 9 377 159 -202us[ -226us] +/- 24ms

2)網橋名稱寫錯,如圖-3所示:

圖-3

解決辦法:檢查配置文件

  1. [root@openstack ~]# vim answer.ini
  2. ...
  3. 921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0
  4. //br-ex橋的名稱與eth0鏈接,管理eth0,網橋與哪一個物理網卡鏈接
  5. ...

3)若/root/.ssh/id_rsa.pub,提示password,一樣是配置文件沒有寫對,如圖-4所示:

圖-4

4)yum源沒有配置正確,如圖-5所示:

圖-5

解決辦法:檢查yum是否爲10731個軟件包,查看是不是yum源沒有配置正確,以後安裝oprnstack-dashboard

備註:除了系統源gpgcheck=1以外,其餘都是gpgcheck=0

5)出現Cannot allocate memory,如圖-6所示:

圖-6

解決辦法:

內存不足,從新啓動主機

6 案例6:網絡管理

6.1 問題

本案例要求運用OVS完成如下配置:

  • 查看外部OVS網橋及其端口
  • 驗證OVS配置

6.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:查看外部OVS網橋

1)查看br-ex網橋配置(br-ex爲OVS網橋設備)

  1. [root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
  2. ONBOOT="yes"
  3. NM_CONTROLLED="no"
  4. IPADDR="192.168.1.1"
  5. PREFIX=24
  6. GATEWAY=192.168.1.254
  7. DEVICE=br-ex
  8. NAME=br-ex
  9. DEVICETYPE=ovs
  10. OVSBOOTPROTO="static"
  11. TYPE=OVSBridge

2)查看eth0網卡配置(該網卡爲OVS網橋的接口)

  1. [root@nova ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  2. DEVICE=eth0
  3. NAME=eth0
  4. DEVICETYPE=ovs
  5. TYPE=OVSPort
  6. OVS_BRIDGE=br-ex
  7. ONBOOT=yes
  8. BOOTPROTO=none

3)驗證OVS配置

  1. [root@nova ~]# ovs-vsctl show
  2. Bridge br-ex
  3. Controller "tcp:127.0.0.1:6633"
  4. is_connected: true
  5. fail_mode: secure
  6. Port br-ex
  7. Interface br-ex
  8. type: internal
  9. Port phy-br-ex
  10. Interface phy-br-ex
  11. type: patch
  12. options: {peer=int-br-ex}
  13. Port "eth0"
  14. Interface "eth0"
  15. ovs_version: "2.5.0"

7 案例7:管理項目

7.1 問題

本案例要求經過Horizon完成如下操做:

  • 建立名爲myproject的項目
  • 查看項目信息
  • 更新vcpu配額爲30
  • 刪除myproject

7.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:瀏覽器訪問openstack

1)瀏覽器訪問

  1. [root@openstack conf.d]# firefox 192.168.1.1 //訪問失敗

2)須要改配置文件並從新加載

  1. [root@openstack ~]# cd /etc/httpd/conf.d/
  2. [root@openstack conf.d]# vi 15-horizon_vhost.conf
  3. 35 WSGIProcessGroup apache
  4. 36 WSGIApplicationGroup %{GLOBAL} //添加這一行
  5. [root@openstack conf.d]# apachectl graceful //從新載入配置文件

3)瀏覽器訪問,出現頁面,如圖-6所示:

圖-6

3)查看默認用戶名和密碼

  1. [root@openstack conf.d]# cd
  2. [root@openstack ~]# ls
  3. answer.ini keystonerc_admin //keystonerc_admin生成的文件,裏面有用戶名和密碼
  4. [root@openstack ~]# cat keystonerc_admin
  5. unset OS_SERVICE_TOKEN
  6. export OS_USERNAME=admin //用戶名
  7. export OS_PASSWORD=1bb4c987345c45ba //密碼
  8. export OS_AUTH_URL=http://192.168.1.1:5000/v2.0
  9. export PS1='[\u@\h \W(keystone_admin)]\$ '
  10. export OS_TENANT_NAME=admin
  11. export OS_REGION_NAME=RegionOne

4)在火狐瀏覽器中輸入用戶名和密碼,登陸後頁面如圖-7所示:

圖-7

4)建立名爲myproject的項目

  1. [root@openstack ~]# source ~/keystonerc_admin //初始化環境變量
  2. [root@openstack ~(keystone_admin)]# openstack project create myproject
  3. +-------------+----------------------------------+
  4. | Field | Value |
  5. +-------------+----------------------------------+
  6. | description | None |
  7. | enabled | True |
  8. | id |f73949e2701346328faf5c1272414cd0|
  9. | name | myproject |
  10. +-------------+----------------------------------+

5)查看項目信息

  1. [root@openstack ~(keystone_admin)]# openstack project list
  2. +----------------------------------+-----------+
  3. | ID | Name |
  4. +----------------------------------+-----------+
  5. | 3fd5bffd734543d39cf742492273a47f | services |
  6. | 7f0b43274a9f4e149357fc8393ff2c68 | admin |
  7. | f73949e2701346328faf5c1272414cd0 | myproject |
  8. +----------------------------------+-----------+

6)更新vcpu配額爲30

  1. [root@openstack ~(keystone_admin)]# nova quota-update --cores 30 myproject

7)刪除myproject

  1. [root@openstack ~(keystone_admin)]# openstack project delete myproject
相關文章
相關標籤/搜索