searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

本地搭建openstack云平台

2023-12-13 06:28:55
114
0

 

一、节点规划

  1. 控制节点(controller):一块200G的硬盘;两块网卡,第一块网卡IP地址使用168.100.10,第二块网卡IP地址使用192.168.200.10。
  2. 计算节点(compute):一块200G的硬盘和一块100G的硬盘;两块网卡,第一块网卡IP地址使用168.100.20,第二块网卡IP地址使用192.168.200.20。
  3. 镜像:5及7.0版本的镜像和chinaskills_cloud_iaas.iso镜像

 

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

  1. 创建controller控制节点
  • 在VMware软件新建虚拟机——自定义——选择虚拟机硬件兼容性(Workstation 15.x)——新建虚拟机向导(空白硬盘)——客户机操作系统(Linux、CentOS 7)——命名虚拟机——处理器配置(处理器数量:1;每个处理器的内核数量:2)——新建虚拟机向导(2048)——网络类型(NAT)——I/O控制器类型(LSI logic)——磁盘类型(SCSI(S))——创建新虚拟磁盘(容量为200G)——完成

  • 编辑虚拟机设置:添加网络适配器,使用ISO映像文件。
  • 开启虚拟机:

修改网卡命名规则为eth规则

选择安装位置

配置分区

设置密码

修改主机名:

修改第一块网卡:

修改第二块网卡:

重启网卡:systemctl restart network

修改内核:

重启:reboot

  • ssh连接上controller控制节点
  1. 创建compute计算节点
  • 在VMware软件新建虚拟机——自定义——选择虚拟机硬件兼容性(Workstation 15.x)——新建虚拟机向导(空白硬盘)——客户机操作系统(Linux、CentOS 7)——命名虚拟机——处理器配置(处理器数量:1;每个处理器的内核数量:2)——新建虚拟机向导(2048)——网络类型(NAT)——I/O控制器类型(LSI logic)——磁盘类型(SCSI(S))——创建新虚拟磁盘(容量为200G)——完成
  • 编辑虚拟机设置:添加网络适配器,添加硬盘(100G),使用ISO映像文件。
  • 开启虚拟机:

修改网卡命名规则为eth规则

选择安装位置

配置分区

设置密码

修改主机名:

修改第一块网卡:

修改第二块网卡:

重启网卡:systemctl restart network

重启:reboot

  • ssh连接上compute控制节点

 

三、搭建openstack云平台

Controller节点配置:

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

  1. 关闭selinux防火墙

[root@controller ~]# systemctl stop firewalld        #关闭防火墙

[root@controller ~]# systemctl disable firewalld        #设置防火墙开机不自启

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@controller ~]# setenforce 0        #临时关闭selinux防火墙,0表示关闭,1表示开启

[root@controller ~]# getenforce        #查看selinux防火墙的状态

Permissive

[root@controller ~]# vi /etc/selinux/config

 

  1. 挂载镜像

[root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/

mount: /dev/loop0 写保护,将以只读方式挂载

[root@controller ~]# mkdir /opt/centos

[root@controller ~]# cp -rf /mnt/* /opt/centos/

[root@controller ~]# umount /mnt/

[root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /mnt/

mount: /dev/loop0 写保护,将以只读方式挂载

[root@controller ~]# cp -rf /mnt/* /opt/

[root@controller ~]# umount /mnt/

  1. yum源文件处理

[root@controller ~]# cd /etc/yum.repos.d/

[root@controller yum.repos.d]# mv * /media/

写yum源文件:

[centos]

name=centos

baseurl=file:///opt/centos

gpgcheck=0

enabled=1

[iaas]

name=iaas

baseurl=file:///opt/iaas-repo

gpgcheck=0

enabled=1

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

[root@controller yum.repos.d]# yum clean all

[root@controller yum.repos.d]# yum repolist

5.配置vsftpd

[root@controller yum.repos.d]# echo anon_root=/opt/ >> /etc/vsftpd/vsftpd.conf #设置匿名访问

[root@controller yum.repos.d]# systemctl restart vsftpd        #重启ftp服务

[root@controller yum.repos.d]# systemctl enable vsftpd        #设置ftp服务开机自启

6.修改脚本

#--------------------system Config--------------------##

#Controller Server Manager IP. example:x.x.x.x

HOST_IP=192.168.100.10        #controller节点的IP地址

#Controller HOST Password. example:000000

HOST_PASS=000000

#Controller Server hostname. example:controller

HOST_NAME=controller

#Compute Node Manager IP. example:x.x.x.x

HOST_IP_NODE=192.168.100.20        #compute节点的IP地址

#Compute HOST Password. example:000000

HOST_PASS_NODE=000000

#Compute Node hostname. example:compute

HOST_NAME_NODE=compute

#--------------------Chrony Config-------------------##

#Controller network segment IP.  example:x.x.0.0/16(x.x.x.0/24)

network_segment_IP=192.168.100.0/24        #controller节点所在的网段

#--------------------Rabbit Config ------------------##

#user for rabbit. example:openstack

RABBIT_USER=openstack

#Password for rabbit user .example:000000

RABBIT_PASS=000000

#--------------------MySQL Config---------------------##

#Password for MySQL root user . exmaple:000000

DB_PASS=000000

#--------------------Keystone Config------------------##

#Password for Keystore admin user. exmaple:000000

DOMAIN_NAME=demo        

ADMIN_PASS=000000

DEMO_PASS=000000

#Password for Mysql keystore user. exmaple:000000

KEYSTONE_DBPASS=000000

#--------------------Glance Config--------------------##

#Password for Mysql glance user. exmaple:000000

GLANCE_DBPASS=000000

#Password for Keystore glance user. exmaple:000000

GLANCE_PASS=000000

#--------------------Nova Config----------------------##

#Password for Mysql nova user. exmaple:000000

NOVA_DBPASS=000000

#Password for Keystore nova user. exmaple:000000

NOVA_PASS=000000

#--------------------Neturon Config-------------------##

#Password for Mysql neutron user. exmaple:000000

NEUTRON_DBPASS=000000

#Password for Keystore neutron user. exmaple:000000

NEUTRON_PASS=000000

#metadata secret for neutron. exmaple:000000

METADATA_SECRET=000000

#Tunnel Network Interface. example:x.x.x.x

INTERFACE_IP=192.168.100.10        #本机IP地址

#External Network Interface. example:eth1

INTERFACE_NA

Compute节点配置:

 1.关闭防火墙

[root@compute ~]# systemctl stop firewalld

[root@compute ~]# systemctl disable firewalld

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@compute ~]# setenforce 0

[root@compute ~]# getenforce

Permissive

2.硬盘分区。

[root@compute ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0x34bc5373 创建新的 DOS 磁盘标签。

 命令(输入 m 获取帮助):n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p):

Using default response p

分区号 (1-4,默认 1):

起始 扇区 (2048-209715199,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):+25G

分区 1 已设置为 Linux 类型,大小设为 25 GiB

命令(输入 m 获取帮助):n

Partition type:

   p   primary (1 primary, 0 extended, 3 free)

   e   extended

Select (default p):

Using default response p

分区号 (2-4,默认 2):

起始 扇区 (52430848-209715199,默认为 52430848):

将使用默认值 52430848

Last 扇区, +扇区 or +size{K,M,G} (52430848-209715199,默认为 209715199):+25G

分区 2 已设置为 Linux 类型,大小设为 25 GiB

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。

 

 3.yum源文件处理。

移除原yum源:

[root@compute ~]# cd /etc/yum.repos.d/

[root@compute yum.repos.d]# mv * /media/

写yum源文件。

[centos]

name=centos

baseurl=ftp://192.168.100.10/centos

gpgcheck=0

enabled=1

[iaas]

name=iaas

baseurl=ftp://192.168.100.10/iaas-repo

gpgcheck=0

enabled=1

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

[root@compute yum.repos.d]# yum clean all

[root@compute yum.repos.d]# yum repolist

[root@compute yum.repos.d]# yum install -y vim iaas-xiandian

4.修改脚本。

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

[root@compute ~]# scp 192.168.100.10:/etc/xiandian/openrc.sh /etc/xiandian/openrc.sh

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

INTERFACE_IP=192.168.100.20

 

四、刷脚本

controller节点:

[root@controller ~]# iaas-pre-host.sh        

[root@controller ~]# iaas-install-mysql.sh

[root@controller ~]# iaas-install-keystone.sh

[root@controller ~]# source /etc/keystone/admin-openrc.sh         

[root@controller ~]# iaas-install-glance.sh

[root@controller ~]# iaas-install-nova-controller.sh

[root@controller ~]# iaas-install-neutron-controller.sh

[root@controller ~]# iaas-install-dashboard.sh

compute节点:

[root@compute ~]# iaas-pre-host.sh         

[root@compute ~]# iaas-install-nova-compute.sh

[root@compute ~]# iaas-install-neutron-compute.sh

 

五、登录openstack云平台

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

 

0条评论
0 / 1000
kyy
5文章数
1粉丝数
kyy
5 文章 | 1 粉丝
原创

本地搭建openstack云平台

2023-12-13 06:28:55
114
0

 

一、节点规划

  1. 控制节点(controller):一块200G的硬盘;两块网卡,第一块网卡IP地址使用168.100.10,第二块网卡IP地址使用192.168.200.10。
  2. 计算节点(compute):一块200G的硬盘和一块100G的硬盘;两块网卡,第一块网卡IP地址使用168.100.20,第二块网卡IP地址使用192.168.200.20。
  3. 镜像:5及7.0版本的镜像和chinaskills_cloud_iaas.iso镜像

 

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

  1. 创建controller控制节点
  • 在VMware软件新建虚拟机——自定义——选择虚拟机硬件兼容性(Workstation 15.x)——新建虚拟机向导(空白硬盘)——客户机操作系统(Linux、CentOS 7)——命名虚拟机——处理器配置(处理器数量:1;每个处理器的内核数量:2)——新建虚拟机向导(2048)——网络类型(NAT)——I/O控制器类型(LSI logic)——磁盘类型(SCSI(S))——创建新虚拟磁盘(容量为200G)——完成

  • 编辑虚拟机设置:添加网络适配器,使用ISO映像文件。
  • 开启虚拟机:

修改网卡命名规则为eth规则

选择安装位置

配置分区

设置密码

修改主机名:

修改第一块网卡:

修改第二块网卡:

重启网卡:systemctl restart network

修改内核:

重启:reboot

  • ssh连接上controller控制节点
  1. 创建compute计算节点
  • 在VMware软件新建虚拟机——自定义——选择虚拟机硬件兼容性(Workstation 15.x)——新建虚拟机向导(空白硬盘)——客户机操作系统(Linux、CentOS 7)——命名虚拟机——处理器配置(处理器数量:1;每个处理器的内核数量:2)——新建虚拟机向导(2048)——网络类型(NAT)——I/O控制器类型(LSI logic)——磁盘类型(SCSI(S))——创建新虚拟磁盘(容量为200G)——完成
  • 编辑虚拟机设置:添加网络适配器,添加硬盘(100G),使用ISO映像文件。
  • 开启虚拟机:

修改网卡命名规则为eth规则

选择安装位置

配置分区

设置密码

修改主机名:

修改第一块网卡:

修改第二块网卡:

重启网卡:systemctl restart network

重启:reboot

  • ssh连接上compute控制节点

 

三、搭建openstack云平台

Controller节点配置:

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

  1. 关闭selinux防火墙

[root@controller ~]# systemctl stop firewalld        #关闭防火墙

[root@controller ~]# systemctl disable firewalld        #设置防火墙开机不自启

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@controller ~]# setenforce 0        #临时关闭selinux防火墙,0表示关闭,1表示开启

[root@controller ~]# getenforce        #查看selinux防火墙的状态

Permissive

[root@controller ~]# vi /etc/selinux/config

 

  1. 挂载镜像

[root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/

mount: /dev/loop0 写保护,将以只读方式挂载

[root@controller ~]# mkdir /opt/centos

[root@controller ~]# cp -rf /mnt/* /opt/centos/

[root@controller ~]# umount /mnt/

[root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /mnt/

mount: /dev/loop0 写保护,将以只读方式挂载

[root@controller ~]# cp -rf /mnt/* /opt/

[root@controller ~]# umount /mnt/

  1. yum源文件处理

[root@controller ~]# cd /etc/yum.repos.d/

[root@controller yum.repos.d]# mv * /media/

写yum源文件:

[centos]

name=centos

baseurl=file:///opt/centos

gpgcheck=0

enabled=1

[iaas]

name=iaas

baseurl=file:///opt/iaas-repo

gpgcheck=0

enabled=1

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

[root@controller yum.repos.d]# yum clean all

[root@controller yum.repos.d]# yum repolist

5.配置vsftpd

[root@controller yum.repos.d]# echo anon_root=/opt/ >> /etc/vsftpd/vsftpd.conf #设置匿名访问

[root@controller yum.repos.d]# systemctl restart vsftpd        #重启ftp服务

[root@controller yum.repos.d]# systemctl enable vsftpd        #设置ftp服务开机自启

6.修改脚本

#--------------------system Config--------------------##

#Controller Server Manager IP. example:x.x.x.x

HOST_IP=192.168.100.10        #controller节点的IP地址

#Controller HOST Password. example:000000

HOST_PASS=000000

#Controller Server hostname. example:controller

HOST_NAME=controller

#Compute Node Manager IP. example:x.x.x.x

HOST_IP_NODE=192.168.100.20        #compute节点的IP地址

#Compute HOST Password. example:000000

HOST_PASS_NODE=000000

#Compute Node hostname. example:compute

HOST_NAME_NODE=compute

#--------------------Chrony Config-------------------##

#Controller network segment IP.  example:x.x.0.0/16(x.x.x.0/24)

network_segment_IP=192.168.100.0/24        #controller节点所在的网段

#--------------------Rabbit Config ------------------##

#user for rabbit. example:openstack

RABBIT_USER=openstack

#Password for rabbit user .example:000000

RABBIT_PASS=000000

#--------------------MySQL Config---------------------##

#Password for MySQL root user . exmaple:000000

DB_PASS=000000

#--------------------Keystone Config------------------##

#Password for Keystore admin user. exmaple:000000

DOMAIN_NAME=demo        

ADMIN_PASS=000000

DEMO_PASS=000000

#Password for Mysql keystore user. exmaple:000000

KEYSTONE_DBPASS=000000

#--------------------Glance Config--------------------##

#Password for Mysql glance user. exmaple:000000

GLANCE_DBPASS=000000

#Password for Keystore glance user. exmaple:000000

GLANCE_PASS=000000

#--------------------Nova Config----------------------##

#Password for Mysql nova user. exmaple:000000

NOVA_DBPASS=000000

#Password for Keystore nova user. exmaple:000000

NOVA_PASS=000000

#--------------------Neturon Config-------------------##

#Password for Mysql neutron user. exmaple:000000

NEUTRON_DBPASS=000000

#Password for Keystore neutron user. exmaple:000000

NEUTRON_PASS=000000

#metadata secret for neutron. exmaple:000000

METADATA_SECRET=000000

#Tunnel Network Interface. example:x.x.x.x

INTERFACE_IP=192.168.100.10        #本机IP地址

#External Network Interface. example:eth1

INTERFACE_NA

Compute节点配置:

 1.关闭防火墙

[root@compute ~]# systemctl stop firewalld

[root@compute ~]# systemctl disable firewalld

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@compute ~]# setenforce 0

[root@compute ~]# getenforce

Permissive

2.硬盘分区。

[root@compute ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0x34bc5373 创建新的 DOS 磁盘标签。

 命令(输入 m 获取帮助):n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p):

Using default response p

分区号 (1-4,默认 1):

起始 扇区 (2048-209715199,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):+25G

分区 1 已设置为 Linux 类型,大小设为 25 GiB

命令(输入 m 获取帮助):n

Partition type:

   p   primary (1 primary, 0 extended, 3 free)

   e   extended

Select (default p):

Using default response p

分区号 (2-4,默认 2):

起始 扇区 (52430848-209715199,默认为 52430848):

将使用默认值 52430848

Last 扇区, +扇区 or +size{K,M,G} (52430848-209715199,默认为 209715199):+25G

分区 2 已设置为 Linux 类型,大小设为 25 GiB

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。

 

 3.yum源文件处理。

移除原yum源:

[root@compute ~]# cd /etc/yum.repos.d/

[root@compute yum.repos.d]# mv * /media/

写yum源文件。

[centos]

name=centos

baseurl=ftp://192.168.100.10/centos

gpgcheck=0

enabled=1

[iaas]

name=iaas

baseurl=ftp://192.168.100.10/iaas-repo

gpgcheck=0

enabled=1

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

[root@compute yum.repos.d]# yum clean all

[root@compute yum.repos.d]# yum repolist

[root@compute yum.repos.d]# yum install -y vim iaas-xiandian

4.修改脚本。

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

[root@compute ~]# scp 192.168.100.10:/etc/xiandian/openrc.sh /etc/xiandian/openrc.sh

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

INTERFACE_IP=192.168.100.20

 

四、刷脚本

controller节点:

[root@controller ~]# iaas-pre-host.sh        

[root@controller ~]# iaas-install-mysql.sh

[root@controller ~]# iaas-install-keystone.sh

[root@controller ~]# source /etc/keystone/admin-openrc.sh         

[root@controller ~]# iaas-install-glance.sh

[root@controller ~]# iaas-install-nova-controller.sh

[root@controller ~]# iaas-install-neutron-controller.sh

[root@controller ~]# iaas-install-dashboard.sh

compute节点:

[root@compute ~]# iaas-pre-host.sh         

[root@compute ~]# iaas-install-nova-compute.sh

[root@compute ~]# iaas-install-neutron-compute.sh

 

五、登录openstack云平台

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

 

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0