先电OpenStack 搭建
简介
OpenStack是一个开源的旨在为公共及私有云的建设与管理提供软件的云计算管理平台项目。
先电OpenStack是先电对OpenStack进行二次开发的版本,将其封装成镜像的形式,配置完成即可使用。
教程
资源准备
- VMware Workstation
- CentOS-7-x86_64-DVD-1511.iso
- XianDian-IaaS-v2.2.iso
基本环境配置
网络概览
节点 | 外网网卡 | 内网网卡 |
---|---|---|
Controller | 192.168.100.10 | 192.168.200.10 |
Compute | 192.168.100.20 | 192.168.200.20 |
虚拟机配置
虚拟网络
编辑->虚拟网络编辑器,如图进行配置:
编辑->虚拟网络编辑器->VMnet8->NAT设置,如图进行配置:
虚拟机
分别新建名为OpenStack Controller
与OpenStack Compute
,分别设置两个网络适配器为NAT
与仅主机
模式,并使用CentOS-7-x86_64-DVD-1511.iso
镜像文件,如图所示:
新建完毕后,分别安装系统,完成后如图:
新建虚拟机时,为避免VMware自动安装,应选择稍后安装操作系统并手动连接镜像,安装完毕后取消连接并改为物理驱动器。
主机名配置
分别在对应区域输入以下内容,并按Ctrl+D
重新登录:
【Controller】
1 | [root@controller ~]# hostnamectl set-hostname controller |
【Compute】
1 | [root@compute ~]# hostnamectl set-hostname compute |
网络配置
输入ip addr
查看网络相关信息,如图所示,外网网卡名称为eno16777736
、内网网卡名称为eno33554960
:
【Controller】
1 | [root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 |
【Compute】
1 | [root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 |
挂载镜像
【Controller】
挂载CentOS镜像:
1
2
3
4
5
6
7[root@controller ~]# mkdir /opt/centos
[root@controller ~]# mount /dev/cdrom /mnt
[root@controller ~]# cp -r /mnt/* /opt/centos
[root@controller ~]# umount /mnt
[root@controller ~]# eject
[root@controller ~]# du -sh /opt/centos
4.2G /opt/centos挂载IaaS(XianDian)镜像:
1
2
3
4
5
6
7[root@controller ~]# mkdir /opt/iaas
[root@controller ~]# mount /dev/cdrom /mnt
[root@controller ~]# cp -r /mnt/* /opt/iaas
[root@controller ~]# umount /mnt
[root@controller ~]# eject
[root@controller ~]# du -sh /opt/iaas
2.7G /opt/iaas
在虚拟机->设置->CD/DVD中切换与连接镜像。
yum源配置
关闭防火墙并禁止开机自启:
【Controller/Compute】
1 | [root@controller/compute ~]# systemctl stop firewalld |
【Controller】
删除
/etc/yum.repos.d/
目录下所有文件,并新建local.repo
文件:1
2
3
4
5
6
7
8
9
10
11
12
13
14[root@controller ~]# rm -rf /etc/yum.repos.d/*
[root@controller ~]# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]# yum clean all
[root@controller ~]# yum repolist配置FTP服务,使得Compute的yum可以获取数据。
1
2
3
4[root@controller ~]# yum install –y vsftpd
[root@controller ~]# echo "anon_root=/opt/" >> /etc/vsftpd/vsftpd.conf
[root@controller ~]# systemctl start vsftpd
[root@controller ~]# systemctl enable vsftpd
【Compute】
删除/etc/yum.repos.d/
目录下所有文件,并新建local.repo
文件:
1 | [root@compute ~]# rm -rf /etc/yum.repos.d/* |
环境变量配置
安装并配置XianDian-IaaS
:
【Controller/Compute】
1 | [root@controller/compute ~]# yum install -y iaas-xiandian |
OpenStack部署
在对应区域输入以下内容,并按Ctrl+D
重新登录:
【Controller/Compute】
1 | [root@controller/compute ~]# iaas-pre-host.sh |
相关脚本存放位置:
/usr/local/bin
服务组件配置
组件概览
Controller | Compute |
---|---|
MySQL-数据库 | Nova-计算服务 |
Keystone-认证服务 | Neutron-网络服务 |
Glance-镜像服务 | - |
Nova-计算服务 | - |
Neutron-网络服务 | - |
Dashboard-可视化服务 | - |
组件关系
MySQL数据库安装
【Controller】
1 | [root@controller ~]# iaas-install-mysql.sh |
Keystone认证服务安装
【Controller】
1 | [root@controller ~]# iaas-install-keystone.sh |
Glance镜像服务安装
【Controller】
1 | [root@controller ~]# iaas-install-glance.sh |
Nova计算服务安装
【Controller】
1 | [root@controller ~]# iaas-install-nova-controller.sh |
【Compute】
1 | [root@compute ~]# iaas-install-nova-compute.sh |
Neutron网络服务
安装
【Controller】
1 | [root@controller ~]# iaas-install-neutron-controller.sh |
【Compute】
1 | [root@compute ~]# iaas-install-neutron-compute.sh |
配置
gre网络(首选)
【Controller】
1
[root@controller ~]# iaas-install-neutron-controller-gre.sh
【Compute】
1
[root@compute ~]# iaas-install-neutron-compute-gre.sh
flat网络
【Controller】
1
[root@controller ~]# iaas-install-neutron-controller-flat.sh
【Compute】
1
[root@compute ~]# iaas-install-neutron-compute-flat.sh
vlan网络
【Controller】
1
[root@controller ~]# iaas-install-neutron-controller-vlan.sh
【Compute】
1
[root@compute ~]# iaas-install-neutron-compute-vlan.sh
Dashboard可视化服务安装
【Controller】
1 | [root@controller ~]# iaas-install-dashboard.sh |
管理平台配置
访问
访问管理平台http://192.168.100.10/dashboard并输入以下内容登录;
键 | 值 |
---|---|
域 | cool |
用户名 | admin |
密码 | 000000 |
网络配置
外部网络
在管理员->系统->网络中点击创建网络,按照如下内容配置:
键 | 值 |
---|---|
名称 | ext-net |
项目 | service |
供应商网络类型 | GRE |
段ID | 1 |
管理状态 | UP |
共享的 | √ |
外部网络 | √ |
成功创建名为ext-net
的外部网络,点击网络名称 ext-net并在子网中点击创建子网,按照如下内容配置:
键 | 值 |
---|---|
子网名称 | ext-subnet |
网络地址 | 192.168.100.0/24 |
IP版本 | IPv4 |
网关IP | 192.168.100.1 |
禁用网关 | × |
键 | 值 |
---|---|
激活DHCP | √ |
分配地址池 | 192.168.100.2,192.168.100.254 |
DNS服务器 | 114.114.114.114 |
主机路由 | - |
私有网络
在项目->网络->网络中点击创建网络,按照如下内容配置:
键 | 值 |
---|---|
网络名称 | int-net1 |
管理状态 | UP |
共享的 | × |
创建子网 | √ |
键 | 值 |
---|---|
子网名称 | int-subnet1 |
网络地址 | 192.168.200.0/24 |
IP版本 | IPv4 |
网关IP | 192.168.200.1 |
禁用网关 | × |
键 | 值 |
---|---|
激活DHCP | √ |
分配地址池 | 192.168.200.2,192.168.200.254 |
DNS服务器 | 114.114.114.114 |
主机路由 | - |
路由
在项目->网络->路由中点击新建路由,按照如下内容配置:
键 | 值 |
---|---|
路由名称 | ext-router |
管理状态 | UP |
外部网络 | ext-net |
成功创建名为ext-router
的路由,点击名称 ext-router并在接口中点击增加接口,按照如下内容配置:
键 | 值 |
---|---|
子网 | int-net1: 192.168.200.0/24 (int-subnet1) |
IP地址(可选) | - |
路由名称 | - |
路由id | - |
网络拓扑
在项目->网络->网络拓扑中会显示对应的网络拓扑,如图所示:
镜像配置
在项目->计算->镜像中点击创建镜像,按照如下内容配置:
键 | 值 |
---|---|
名称 | CentOS7 |
描述 | - |
镜像源 | 镜像文件 |
镜像文件 | CentOS-7-x86_64-DVD-1511.iso |
镜像格式 | ISO - 光盘镜像 |
构架 | bare |
最小磁盘(GB) | - |
最低内存(MB) | - |
公有 | - |
受保护的 | - |
SSH配置*
打开/etc/ssh/sshd_config
并写入配置内容,启动服务后便可使用SSH工具进行连接:
1 | [root@localhost ~]# vi /etc/ssh/sshd_config |