一 基础配置:
1、前期准备与规划
使用搭建的软件:VMware Workstation Pro
镜像:CentOS-7-x86_64-DVD-2009
使用搭建的镜像:XianDian-IaaS-v2.2
使用搭建的远程连接工具:MobaXterm
搭建方式:采用双节点搭建,一个节点为controller控制节点,另一个为compute计算节点。
配置需要的IP地址:
| 节点 | 外网IP地址 | 内网IP地址 |
|---|---|---|
| controller | 192.168.100.10 | 192.168.200.10 |
| compute | 192.168.100.20 | 192.168.200.20 |
二 打开VM,点击编辑更改虚拟网络编辑器
第一次设置要选 更改设置
vmnet1 192.168.100.0
vmnet8 192.168.200.0
三 新建虚拟机
1.选择自定义
2. 点击下一步
3.接下来跟着我选就行了,直接放图
1.一直下一步,默认设置即可,需要改的地方都在下面了。
2.选择自己下载好的镜像就行了,勾选虚拟化。
3. 添加网络适配器 分别改成:仅主机模式和NAT
4. 开启虚拟机等待进入。
1.选择中文
2.选择时间
3.选择自定义分区,接受更改
4. 打开网络和主机,更改网络配置,配置如下(目的:为了后期网络配置的方便)
5. 设置主机密码,然后等待安装
四 打开虚拟机 用户名:root 密码:000000
1.设置主机名
hostname set-hostname controller
bash
五 controller 节点网络配置:
2.设置虚拟机网络配置
1.用 ip a 查询自身网卡
2.进入编辑模式:
vi /etc/sysconfig/network-scripts/ifcfg-ens33(根据自身IP网卡更改)
vi /etc/sysconfig/network-scripts/ifcfg-ens34(根据自身IP网卡更改)
3.重启网卡,然后查询ip 检查是否更改
systemctl restart network
ip a
4.下载链接MobaXterm(如果需要下载安装教程留言)
5.接下来在MobaXterm上操作
1.设置主机映射关系
vi /etc/hosts
添加 192.168.100.10 controller
192.168.100.20 compute
2.关闭防火墙
systemctl stop filewalld
systemctl disable filewalld
systemctl status filewalld
3.关闭Linux中的SELinux
临时关闭
getenforce
setenforce 0
getenforce
永久关闭SELinux
vi /etc/selinux/config
六 关机快照,克隆虚拟机
七 克隆 compute 节点
1.添加三个硬盘分别20G
2.更改主机名
1. 步骤同controller节点步骤 只需要把网卡ens33中的ip地址 192.168.100.10改成 .......100.20
ens34中的ip地址 192.168.200.10改成 .......200.20
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens ifcfg-eno16777728 ifcfg-eno33554952 [root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 [root@compute ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno16777728 UUID=35463c40-248c-4847-b0ea-f3503904d2a1 DEVICE=eno16777728 onBOOT=yes IPADDR=192.168.100.20 PREFIX=24 GATEWAY=192.168.100.1 [root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens34 [root@compute ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens34 TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno33554952 UUID=79eaa8e6-82a7-4d7d-8e74-2ff2236bb4f2 DEVICE=eno33554952 onBOOT=yes IPADDR=192.168.200.20 PREFIX=24
2.重启网卡
systemctl restart network
ip a
3.连接 MobaXterm(controller已有教程)
4 .配置yum源(controller、compute)
1.第一步上传镜像(MobaXterm)
2. 上传两个镜像
3.配置yum源
[root@controller ~]# cd /etc/yum.repos.d/ [root@controller yum.repos.d]# ls CentOS-base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo [root@controller yum.repos.d]# mv * /media [root@controller yum.repos.d]# ls
[root@controller yum.repos.d]# vi local.repo [root@controller yum.repos.d]# cat 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
4.挂载iaas和centos镜像
[root@controller yum.repos.d]# mkdir /opt/iaas
[root@controller yum.repos.d]# mkdir /opt/centos
[root@controller yum.repos.d]# mount -o loop /root/CentOS-7-x86_64-DVD-2009.iso /opt/centos mount: /dev/loop0 写保护,将以只读方式挂载 [root@controller yum.repos.d]# mount -o loop /root/XianDian-IaaS-v2.2.iso /opt/iaas mount: /dev/loop1 写保护,将以只读方式挂载
[root@controller yum.repos.d]# yum clean all 已加载插件:fastestmirror 正在清理软件源: centos iaas [root@controller yum.repos.d]# yum repolist 已加载插件:fastestmirror Determining fastest mirrors centos | 3.6 kB 00:00:00 iaas | 2.9 kB 00:00:00 (1/3): centos/group_gz | 153 kB 00:00:00 (2/3): iaas/primary_db | 2.3 MB 00:00:00 (3/3): centos/primary_db | 3.3 MB 00:00:00 源标识 源名称 状态 centos centos 4,070 iaas iaas 1,688 repolist: 5,758 [root@controller yum.repos.d]#
5.配置yum源 compute 节点
[root@compute ~]# cd /etc/yum.repos.d/ [root@compute yum.repos.d]# vi ftp.repo [root@compute yum.repos.d]# cat ftp.repo [centos] name=centos baseurl=ftp://controller/centos gpgcheck=0 enabled=1 [iaas] name=iaas baseurl=ftp://controller/iaas-repo gpgcheck=0 enabled=1
6.搭建ftp服务器,开启并设置自启(controller)
[root@controller ~]# yum install -y vsftpd
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf 添加anon_root=/opt/centos 保存退出
[root@controller ~]# systemctl start vsftpd [root@controller ~]# systemctl enable vsftpd Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
7.编辑环境变量(controller、compute相同)
[root@controller ~]# yum install -y iaas-xiandian
[root@controller ~]# vi /etc/xiandian/openrc.sh
[root@controller ~]# vi /etc/xiandian/openrc.sh [root@controller ~]# cat /etc/xiandian/openrc.sh ##--------------------system Config--------------------## ##Controller Server Manager IP. example:x.x.x.x HOST_IP=192.168.100.10 ##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 Node hostname. example:compute HOST_NAME_NODE=compute ##--------------------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=domain 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 ##External Network Interface. example:eth1 INTERFACE_NAME=eno33554952 ##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101 #minvlan=101 ##Last Vlan ID in VLAN RANGE for VLAN Network. example:200 #maxvlan=200 ##--------------------Cinder Config--------------------## ##Password for Mysql cinder user. exmaple:000000 CINDER_DBPASS=000000 ##Password for Keystore cinder user. exmaple:000000 CINDER_PASS=000000 ##Cinder Block Disk. example:md126p3 BLOCK_DISK=sdb1 ##--------------------Trove Config--------------------## ##Password for Mysql Trove User. exmaple:000000 TROVE_DBPASS=000000 ##Password for Keystore Trove User. exmaple:000000 TROVE_PASS=000000 ##--------------------Swift Config---------------------## ##Password for Keystore swift user. exmaple:000000 SWIFT_PASS=000000 ##The NODE Object Disk for Swift. example:md126p4. OBJECT_DISK=sdc1 ##The NODE IP for Swift Storage Network. example:x.x.x.x. STORAGE_LOCAL_NET_IP=192.168.100.20 ##--------------------Heat Config----------------------## ##Password for Mysql heat user. exmaple:000000 HEAT_DBPASS=000000 ##Password for Keystore heat user. exmaple:000000 HEAT_PASS=000000 ##--------------------Ceilometer Config----------------## ##Password for Mysql ceilometer user. exmaple:000000 CEILOMETER_DBPASS=000000 ##Password for Keystore ceilometer user. exmaple:000000 CEILOMETER_PASS=000000 ##--------------------AODH Config----------------## ##Password for Mysql AODH user. exmaple:000000 AODH_DBPASS=000000 ##Password for Keystore AODH user. exmaple:000000 AODH_PASS=000000 [root@controller ~]#
将controller节点的openrc.sh传输至compute节点所放目录下。
[root@compute ~]# scp controller://etc/xiandian/openrc.sh /etc/xiandian/openrc.sh The authenticity of host 'controller (192.168.100.10)' can't be established. ECDSA key fingerprint is 32:68:31:bb:4b:c9:2b:e6:73:7f:c0:2b:49:4b:97:c4. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'controller' (ECDSA) to the list of known hosts. root@controller's password: openrc.sh 100% 3105 3.0KB/s 00:00 [root@compute ~]# cat /etc/xiandian/openrc.sh10.使用脚本安装部署OpenStack平台(controller、compute)
[root@controller ~]# iaas-pre-host.sh
重启系统,执行reboot命令
11.在controller节点上执行iaas-install-mysql.sh
[root@controller ~]# iaas-install-mysql.sh
12.在controller节点上安装keystone服务
[root@controller ~]# iaas-install-keystone.sh
13.在controller节点上安装Glance镜像服务
[root@controller ~]# iaas-install-glance.sh
14.分别在controller、compute节点上安装Nova服务
[root@controller ~]# iaas-install-nova-controller.sh [root@compute ~]# iaas-install-nova-compute.sh
15.在controller、compute节点上安装neutron网络服务
[root@controller ~]# iaas-install-neutron-controller.sh [root@controller ~]# iaas-install-neutron-controller-gre.sh [root@compute ~]# iaas-install-neutron-compute.sh [root@compute ~]# iaas-install-neutron-compute-gre.sh
16.在controller节点上安装dashboard服务
[root@controller ~]# iaas-install-dashboard.sh
17.访问Dashboard服务(平台已搭建完成)
http://192.168.100.10/dashboard



