当前位置:   article > 正文

搭建OpenStack云平台_openstack云平台搭建

openstack云平台搭建

一、前言

OpenStack云平台搭建需要两个节点,一个是controller(控制节点),另一个是compute(计算节点)。

控制节点(controller)规划如下:

一块200G的硬盘。两块网卡,第一块网卡IP地址使用192.168.100.10,第二块网卡IP地址使用192.168.200.10。

计算节点(compute)规划如下:

一块200G的硬盘和一块100G的硬盘。两块网卡,第一块网卡IP地址使用192.168.100.20,第二块网卡IP地址使用192.168.200.20。

云平台搭建需要使用centos7.5及7.0版本的镜像和chinaskills_cloud_iaas.iso镜像,镜像提供如下:

centos7.5镜像链接:https://pan.baidu.com/s/1stvdGLKTwVqrAyzTW-WQuA 

提取码:yjsq 

centos7.0镜像链接:https://pan.baidu.com/s/10zQAxkSqO37_EAX2wVyy9A 

提取码:yjsq 

iaas镜像链接:https://pan.baidu.com/s/11iAL7pQf31Kyer2UfVe2ZA 

提取码:yjsq

二、基础环境准备及安装系统

1、controller控制节点

重启后使用root用户登录,然后修改主机名,配置网卡、内核。

1、修改主机名。

2、修改第一块网卡。

修改、添加内容如下 (注:按下i键进入插入模式,按下ESC键,然后输入冒号wq退出)。

3、修改第二块网卡。

修改、添加内容如下:

重启网卡,使配置生效。

使用ip a 命令检验配置是否生效。

4、修改内核。

添加内容如下:

 刷新内核,然后重启使配置生效。

重启之后使用SecureCRT连上controller节点。(注:连接SecureCRT是为了方便)

注意:VMnet8必须跟controller节点和compute节点在同一个网段才能连接上SecureCRT。

输入密码后,点击“确定”即可连接上SecureCRT。

出现以下图示表示连接成功。

2、compute计算节点

说明:compute节点与controller节点基础环境及安装系统大致相同,可参考controller节点配置,以下是稍有不同的地方。

第一块网卡配置如下:

第二块网卡配置如下:

注意:compute节点也需要连上SecureCRT。

三、正式搭建OpenStack云平台

controller节点配置:

1、上传centos7.0镜像和chinaskills_cloud_iaas.iso镜像至controller节点。

centos7.0镜像上传方式如上。

2、关闭防火墙,selinux。
  1. [root@controller ~]# systemctl stop firewalld #关闭防火墙
  2. [root@controller ~]# systemctl disable firewalld #设置防火墙开机不自启
  3. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
  4. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  5. [root@controller ~]# setenforce 0 #临时关闭selinux防火墙,0表示关闭,1表示开启
  6. [root@controller ~]# getenforce #查看selinux防火墙的状态
  7. Permissive
  8. [root@controller ~]# vi /etc/selinux/config #非临时性
  9. [root@controller ~]#

selinux配置文件内容修改如下:

3.挂载镜像

查看镜像是否已上传。

挂载镜像。

  1. [root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/
  2. mount: /dev/loop0 写保护,将以只读方式挂载
  3. [root@controller ~]# mkdir /opt/centos
  4. [root@controller ~]# cp -rf /mnt/* /opt/centos/
  5. [root@controller ~]# umount /mnt/
  6. [root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /mnt/
  7. mount: /dev/loop0 写保护,将以只读方式挂载
  8. [root@controller ~]# cp -rf /mnt/* /opt/
  9. [root@controller ~]# umount /mnt/
  10. [root@controller ~]#
4、yum源文件处理

移除原yum源。

  1. [root@controller ~]# cd /etc/yum.repos.d/
  2. [root@controller yum.repos.d]# mv * /media/
  3. [root@controller yum.repos.d]# ls
  4. [root@controller yum.repos.d]#

写yum源文件。

  1. [root@controller yum.repos.d]# vi local.repo
  2. [root@controller yum.repos.d]# cat local.repo
  3. [centos]
  4. name=centos
  5. baseurl=file:///opt/centos
  6. gpgcheck=0
  7. enabled=1
  8. [iaas]
  9. name=iaas
  10. baseurl=file:///opt/iaas-repo
  11. gpgcheck=0
  12. enabled=1
  13. [root@controller yum.repos.d]#

清除yum源缓存,验证yum源,下载所需软件包。

  1. [root@controller yum.repos.d]# yum clean all #清除yum源缓存
  2. 已加载插件:fastestmirror
  3. 正在清理软件源: centos iaas
  4. Cleaning up everything
  5. Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
  6. Cleaning up list of fastest mirrors
  7. [root@controller yum.repos.d]# yum repolist #列出所有可用的yum源
  8. 已加载插件:fastestmirror
  9. Determining fastest mirrors
  10. centos | 3.6 kB 00:00:00
  11. iaas | 2.9 kB 00:00:00
  12. (1/3): centos/group_gz | 166 kB 00:00:00
  13. (2/3): centos/primary_db | 3.1 MB 00:00:00
  14. (3/3): iaas/primary_db | 1.4 MB 00:00:00
  15. 源标识 源名称 状态
  16. centos centos 3,971
  17. iaas iaas 3,232
  18. repolist: 7,203
  19. [root@controller yum.repos.d]# yum install -y vim vsftpd iaas-xiandian #安装所需的软件包
5、配置vsftpd。
  1. [root@controller yum.repos.d]# echo anon_root=/opt/ >> /etc/vsftpd/vsftpd.conf #设置匿名访问
  2. [root@controller yum.repos.d]# systemctl restart vsftpd #重启ftp服务
  3. [root@controller yum.repos.d]# systemctl enable vsftpd #设置ftp服务开机自启
  4. Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
  5. [root@controller yum.repos.d]#
6.修改脚本。
[root@controller ~]# vim /etc/xiandian/openrc.sh

 注:在非插入模式下按下Ctrl+v——shift+g——D可删除注释符号。

  1. #--------------------system Config--------------------##
  2. #Controller Server Manager IP. example:x.x.x.x
  3. HOST_IP=192.168.100.10 #controller节点的IP地址
  4. #Controller HOST Password. example:000000
  5. HOST_PASS=000000
  6. #Controller Server hostname. example:controller
  7. HOST_NAME=controller
  8. #Compute Node Manager IP. example:x.x.x.x
  9. HOST_IP_NODE=192.168.100.20 #compute节点的IP地址
  10. #Compute HOST Password. example:000000
  11. HOST_PASS_NODE=000000
  12. #Compute Node hostname. example:compute
  13. HOST_NAME_NODE=compute
  14. #--------------------Chrony Config-------------------##
  15. #Controller network segment IP. example:x.x.0.0/16(x.x.x.0/24)
  16. network_segment_IP=192.168.100.0/24 #controller节点所在的网段
  17. #--------------------Rabbit Config ------------------##
  18. #user for rabbit. example:openstack
  19. RABBIT_USER=openstack
  20. #Password for rabbit user .example:000000
  21. RABBIT_PASS=000000
  22. #--------------------MySQL Config---------------------##
  23. #Password for MySQL root user . exmaple:000000
  24. DB_PASS=000000
  25. #--------------------Keystone Config------------------##
  26. #Password for Keystore admin user. exmaple:000000
  27. DOMAIN_NAME=demo
  28. ADMIN_PASS=000000
  29. DEMO_PASS=000000
  30. #Password for Mysql keystore user. exmaple:000000
  31. KEYSTONE_DBPASS=000000
  32. #--------------------Glance Config--------------------##
  33. #Password for Mysql glance user. exmaple:000000
  34. GLANCE_DBPASS=000000
  35. #Password for Keystore glance user. exmaple:000000
  36. GLANCE_PASS=000000
  37. #--------------------Nova Config----------------------##
  38. #Password for Mysql nova user. exmaple:000000
  39. NOVA_DBPASS=000000
  40. #Password for Keystore nova user. exmaple:000000
  41. NOVA_PASS=000000
  42. #--------------------Neturon Config-------------------##
  43. #Password for Mysql neutron user. exmaple:000000
  44. NEUTRON_DBPASS=000000
  45. #Password for Keystore neutron user. exmaple:000000
  46. NEUTRON_PASS=000000
  47. #metadata secret for neutron. exmaple:000000
  48. METADATA_SECRET=000000
  49. #Tunnel Network Interface. example:x.x.x.x
  50. INTERFACE_IP=192.168.100.10 #本机IP地址
  51. #External Network Interface. example:eth1
  52. INTERFACE_NAME=eth1
  53. #External Network The Physical Adapter. example:provider
  54. Physical_NAME=provider
  55. #First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
  56. minvlan=101
  57. #Last Vlan ID in VLAN RANGE for VLAN Network. example:200
  58. maxvlan=200
  59. #--------------------Cinder Config--------------------##
  60. #Password for Mysql cinder user. exmaple:000000
  61. CINDER_DBPASS=000000
  62. #Password for Keystore cinder user. exmaple:000000
  63. CINDER_PASS=000000
  64. #Cinder Block Disk. example:md126p3
  65. BLOCK_DISK=sdb1 #compute节点的存储块
  66. #--------------------Swift Config---------------------##
  67. #Password for Keystore swift user. exmaple:000000
  68. SWIFT_PASS=000000
  69. #The NODE Object Disk for Swift. example:md126p4.
  70. OBJECT_DISK=sdb2 #compute节点的存储块
  71. #The NODE IP for Swift Storage Network. example:x.x.x.x.
  72. STORAGE_LOCAL_NET_IP=192.168.100.20 #compute节点的IP地址
  73. #--------------------Heat Config----------------------##
  74. #Password for Mysql heat user. exmaple:000000
  75. HEAT_DBPASS=000000
  76. #Password for Keystore heat user. exmaple:000000
  77. HEAT_PASS=000000
  78. #--------------------Zun Config-----------------------##
  79. #Password for Mysql Zun user. exmaple:000000
  80. ZUN_DBPASS=000000
  81. #Password for Keystore Zun user. exmaple:000000
  82. ZUN_PASS=000000
  83. #Password for Mysql Kuryr user. exmaple:000000
  84. KURYR_DBPASS=000000
  85. #Password for Keystore Kuryr user. exmaple:000000
  86. KURYR_PASS=000000
  87. #--------------------Ceilometer Config----------------##
  88. #Password for Gnocchi ceilometer user. exmaple:000000
  89. CEILOMETER_DBPASS=000000
  90. #Password for Keystore ceilometer user. exmaple:000000
  91. CEILOMETER_PASS=000000
  92. #--------------------AODH Config----------------##
  93. #Password for Mysql AODH user. exmaple:000000
  94. AODH_DBPASS=000000
  95. #Password for Keystore AODH user. exmaple:000000
  96. AODH_PASS=000000
  97. #--------------------Barbican Config----------------##
  98. #Password for Mysql Barbican user. exmaple:000000
  99. BARBICAN_DBPASS=000000
  100. #Password for Keystore Barbican user. exmaple:000000
  101. BARBICAN_PASS=000000

compute节点配置:

1、关闭防火墙,selinux。
  1. [root@compute ~]# systemctl stop firewalld
  2. [root@compute ~]# systemctl disable firewalld
  3. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
  4. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  5. [root@compute ~]# setenforce 0
  6. [root@compute ~]# getenforce
  7. Permissive
  8. [root@compute ~]# vi /etc/selinux/config

2、硬盘分区。
  1. [root@compute ~]# fdisk /dev/sdb
  2. 欢迎使用 fdisk (util-linux 2.23.2)。
  3. 更改将停留在内存中,直到您决定将更改写入磁盘。
  4. 使用写入命令前请三思。
  5. Device does not contain a recognized partition table
  6. 使用磁盘标识符 0x34bc5373 创建新的 DOS 磁盘标签。
  7. 命令(输入 m 获取帮助):n
  8. Partition type:
  9. p primary (0 primary, 0 extended, 4 free)
  10. e extended
  11. Select (default p):
  12. Using default response p
  13. 分区号 (1-4,默认 1):
  14. 起始 扇区 (2048-209715199,默认为 2048):
  15. 将使用默认值 2048
  16. Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):+25G
  17. 分区 1 已设置为 Linux 类型,大小设为 25 GiB
  18. 命令(输入 m 获取帮助):n
  19. Partition type:
  20. p primary (1 primary, 0 extended, 3 free)
  21. e extended
  22. Select (default p):
  23. Using default response p
  24. 分区号 (2-4,默认 2):
  25. 起始 扇区 (52430848-209715199,默认为 52430848):
  26. 将使用默认值 52430848
  27. Last 扇区, +扇区 or +size{K,M,G} (52430848-209715199,默认为 209715199):+25G
  28. 分区 2 已设置为 Linux 类型,大小设为 25 GiB
  29. 命令(输入 m 获取帮助):w
  30. The partition table has been altered!
  31. Calling ioctl() to re-read partition table.
  32. 正在同步磁盘。
  33. [root@compute ~]# lsblk
  34. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  35. sda 8:0 0 200G 0 disk
  36. ├─sda1 8:1 0 1G 0 part /boot
  37. └─sda2 8:2 0 199G 0 part
  38. ├─centos-root 253:0 0 50G 0 lvm /
  39. ├─centos-swap 253:1 0 2G 0 lvm [SWAP]
  40. └─centos-home 253:2 0 147G 0 lvm /home
  41. sdb 8:16 0 100G 0 disk
  42. ├─sdb1 8:17 0 25G 0 part
  43. └─sdb2 8:18 0 25G 0 part
  44. sr0 11:0 1 4.2G 0 rom
  45. [root@compute ~]#
3、yum源文件处理。

移除原yum源。

  1. [root@compute ~]# cd /etc/yum.repos.d/
  2. [root@compute yum.repos.d]# mv * /media/
  3. [root@compute yum.repos.d]# ls
  4. [root@compute yum.repos.d]#

写yum源文件。

  1. [root@compute yum.repos.d]# vi local.repo
  2. [root@compute yum.repos.d]# cat local.repo
  3. [centos]
  4. name=centos
  5. baseurl=ftp://192.168.100.10/centos
  6. gpgcheck=0
  7. enabled=1
  8. [iaas]
  9. name=iaas
  10. baseurl=ftp://192.168.100.10/iaas-repo
  11. gpgcheck=0
  12. enabled=1
  13. [root@compute yum.repos.d]#

清除yum源缓存,验证yum源,下载所需软件包。

  1. [root@compute yum.repos.d]# yum clean all
  2. 已加载插件:fastestmirror
  3. 正在清理软件源: centos iaas
  4. Cleaning up everything
  5. Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
  6. [root@compute yum.repos.d]# yum repolist
  7. 已加载插件:fastestmirror
  8. Determining fastest mirrors
  9. centos | 3.6 kB 00:00:00
  10. iaas | 2.9 kB 00:00:00
  11. (1/3): centos/group_gz | 166 kB 00:00:00
  12. (2/3): centos/primary_db | 3.1 MB 00:00:00
  13. (3/3): iaas/primary_db | 1.4 MB 00:00:00
  14. 源标识 源名称 状态
  15. centos centos 3,971
  16. iaas iaas 3,232
  17. repolist: 7,203
  18. [root@compute yum.repos.d]# yum install -y vim iaas-xiandian
4、修改脚本。

将controller节点的脚本复制至compute节点。

  1. [root@compute ~]# scp 192.168.100.10:/etc/xiandian/openrc.sh /etc/xiandian/openrc.sh
  2. The authenticity of host '192.168.100.10 (192.168.100.10)' can't be established.
  3. ECDSA key fingerprint is SHA256:3fUEo7XuafRBPMtY2rSnpjKOdGSrLnE68O2aZAXEp6o.
  4. ECDSA key fingerprint is MD5:4b:73:20:24:30:ad:6a:31:86:fa:26:55:47:92:99:cc.
  5. Are you sure you want to continue connecting (yes/no)? yes
  6. Warning: Permanently added '192.168.100.10' (ECDSA) to the list of known hosts.
  7. root@192.168.100.10's password:
  8. openrc.sh 100% 3820 1.9MB/s 00:00
  9. [root@compute ~]#

需要修改compute节点的脚本。

[root@compute ~]# vim /etc/xiandian/openrc.sh

修改内容如下:

四、刷脚本

controller节点需要刷以下脚本。
  1. [root@controller ~]# iaas-pre-host.sh #刷完该脚本后需要重启
  2. ......
  3. [root@controller ~]# iaas-install-mysql.sh
  4. ......
  5. [root@controller ~]# iaas-install-keystone.sh
  6. ......
  7. [root@controller ~]# source /etc/keystone/admin-openrc.sh #使环境生效
  8. [root@controller ~]# iaas-install-glance.sh
  9. ......
  10. [root@controller ~]# iaas-install-nova-controller.sh
  11. ......
  12. [root@controller ~]# iaas-install-neutron-controller.sh
  13. ......
  14. [root@controller ~]# iaas-install-dashboard.sh
  15. ......
compute节点需要刷以下脚本。
  1. [root@compute ~]# iaas-pre-host.sh #刷完该脚本后需要重启
  2. ......
  3. [root@compute ~]# iaas-install-nova-compute.sh
  4. ......
  5. [root@compute ~]# iaas-install-neutron-compute.sh
  6. ......

五、登录OpenStack云平台

在浏览器中输入http://192.168.100.10/dashboard。

出现以下图示表示云平台搭建成功。

转自:【精选】手把手教你搭建OpenStack云平台(超级详细)_openstack云平台搭建-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/684944
推荐阅读
相关标签
  

闽ICP备14008679号