搭建平台的必备小环境(内存和处理器选的大小根据自身的电脑的内存选择)我的电脑内存是8G的,假如你的电脑内存是16G的话可以随便造了。
两台(controller和compute)
[root@localhost ~]# vi /etc/selinux/config
[root@localhost ~]# setenforce 0
清空iptables规则
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -X
[root@localhost ~]# iptables -Z
[root@localhost ~]# iptables-save
关防火墙并开机不自启
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
配主机名
controller节点
[root@localhost ~]# hostnamectl set-hostname controller
Compute节点
[root@compute ~]# hostnamectl set-hostname compute
配yum源
Compute节点
[root@compute ~]# mv /etc/yum.repos.d/C* /media/
[root@compute ~]# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
enabled=1
gpgcheck=0
[iaas]
name=iaas
baseurl=ftp://192.168.100.10/iaas/iaas-repo
enabled=1
gpgcheck=0
[root@compute ~]# yum clean all
[root@compute ~]# yum list
创建两个新的硬盘分区
# fdisk /dev/sda
输入n 回车,回车,回车,
输入n 回车,+50G
输入n 回车,+50G
输入w
重启compute
controller节点
创两个目录
[root@controller ~]# mkdir /opt/centos
[root@controller ~]# mkdir /opt/iaas
手动挂载
[root@controller ~]# mount -o loop /root/CentOS-7.2-x86_64-DVD-1511.iso /opt/centos
[root@controller ~]# mount -o loop /root/XianDian-IaaS-v2.2.iso /opt/iaas/
自动挂载
[root@controller ~]# vi /etc/fstab
/root/CentOS-7-x86_64-DVD-1511.iso /opt/centos iso9660 defaults,ro,loop 0 0
/root/XianDian-IaaS-v2.2.iso /opt/iaas iso9660 defaults,ro,loop 0 0
[root@controller ~]# mount -a
刷新挂载
将原来的yum配置文件移除掉
[root@controller ~]# cd /etc/yum.repos.d
[root@controller yum.repos.d]# ll
total 28
-rw-r–r--. 1 root root 1664 Dec 9 2015 CentOS-Base.repo
-rw-r–r--. 1 root root 1309 Dec 9 2015 CentOS-CR.repo
-rw-r–r--. 1 root root 649 Dec 9 2015 CentOS-Debuginfo.repo
-rw-r–r--. 1 root root 290 Dec 9 2015 CentOS-fasttrack.repo
-rw-r–r--. 1 root root 630 Dec 9 2015 CentOS-Media.repo
-rw-r–r--. 1 root root 1331 Dec 9 2015 CentOS-Sources.repo
-rw-r–r--. 1 root root 1952 Dec 9 2015 CentOS-Vault.repo
[root@controller yum.repos.d]# mv /etc/yum.repos.d/C* /media/
[root@controller yum.repos.d]# ll
total 0
[root@controller yum.repos.d]# cd
创新的yum源
[root@controller ~]# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
enabled=1
gpgcheck=0
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
enabled=1
gpgcheck=0
清除一下缓存
[root@controller ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos iaas
Cleaning up everything
验证yum是否配置成功
[root@controller ~]# yum repolist
安装ftp服务
[root@controller ~]# yum install -y vsftpd
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
shift + gg
按下o,添加下面一行
anon_root=/opt(匿名用户的主目录)
开启ftp服务,并设为开机自启
[root@controller ~]# systemctl start vsftpd
[root@controller ~]# systemctl enable vsftpd
在控制节点(controller)和计算节点(compute)安装 iaas-xiandian 软件包
yum install -y iaas-xiandian
配置环境变量 (两个)
控制节点和计算节点配置环境变量的配置文件
vi /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=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
#External Network Interface. example:eth1
INTERFACE_NAME=eno33554952
#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=
#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=
#--------------------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=sda5
#--------------------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=sda6
#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
二、使用脚本安装OpenStack平台
(1)安装基础服务
控制节点和计算节点通过脚本安装基础服务
[root@controller ~]# iaas-pre-host.sh
安装完成后,按 Ctrl+D 键退出并重新登录,使主机名生效
[root@compute ~]# iaas-pre-host.sh
安装完成后,按 Ctrl+D 键退出并重新登录,使主机名生效
(2)安装 MySQL 数据库服务
Controller
[root@controller ~]# iaas-install-mysql.sh
(3)安装 Keystone 认证服务
Controller
[root@controller ~]# iaas-install-glance.sh
(4)安装 Glance 镜像服务
Controller
[root@controller ~]# iaas-install-glance.sh
(5)安装 Nova 计算服务
controller
[root@controller ~]# iaas-install-nova-controller.sh
compute
[root@compute~]# iaas-install-nova-compute.sh
(6)安装 Neutron 网络服务
controller
[root@controller ~]# iaas-install-neutron-controller.sh
compute
[root@compute~]# iaas-install-neutron-compute.sh
controller
[root@controller ~]# iaas-install-neutron-controller-gre.sh
compute
[root@compute~]# iaas-install-neutron-compute-gre.sh
(7)安装 Dashboard 服务
controller
[root@controller ~]# iaas-install-dashboard.sh
(8)安装 Cinder 存储服务
controlle
[root@controller ~]# iaas-install-cinder-controller.sh
compute
[root@compute ~]# iaas-install-swift-compute.sh
OpenStack 平台使用
(2)上传镜像至 Glance 服务
在 controller 节点中,通过 glance 命令,将 qcow2 镜像上传至平台中。
[root@controller images]# source/etc/keystone/admin-openrc.sh
[root@controller images]# glance help image-create
(查询glance的帮助)
–name Descriptive name for the image
–disk-format
Format of the disk Valid values: ami, ari, aki, vhd,
vmdk, raw, qcow2, vdi, iso
–container-format
Format of the container Valid values: ami, ari, aki,
bare, ovf, ova, docker
–progress Show upload progress bar.
2. 创建外部网络
(1)创建网络
选择菜单栏“项目”→“网络”→“网络”命令,单击右侧“创建网络”按钮,创建虚
拟机网络。
(2)设置网络
在弹出的窗口中,输入网络名称为 net-gre,管理状态为 up。单击“前进”按钮
(3)创建子网
在弹出的对话框中填写子网信息,最后单击“前进”按钮(网关为 VMware 中 NAT 模式对应网关)
(4)设置 DHCP 地址池
配置 DHCP 地址池,勾选“激活 DHCP”复选框,添加“114.114.114.114”的 NDS 服 务器,单击“已创建”按钮创建网络
(5)选择外部网络
选择菜单栏“管理员”→“系统”→“ 网络”命令,在已创建的外部网络中,选择“操 作”下拉菜单中“编辑网络”菜单命令
(2)设置网络
在弹出的对话框中设置网络名称,然后单击“前进”按钮
(3)设置子网
设置子网名称为“cdrrot”,网络地址为“10.10.0.0/24”,网关 IP 地址为“10.10.0.1”,
单击“前进”按钮
4.创建路由器
(1)创建路由
选择菜单栏“项目”→“网络”→“路由”命令,右侧单击“新建路由”按钮,创建路
由。
(2)设置路由
在弹出的对话框中设置路由名称为“route”,在外部网络下拉菜单中,选择外部网络 “net-gre”,单击“新建路由”按钮
(3)添加内部网络端口
单击新创建的路由名称,进入路由编辑页面
管理安全组
(1)管理 default 默认安全组
管理访问策略安全组,选择菜单栏“项目”→“计算”→“访问&安全”命令,管理 default
默认规则(先把本身有的全删掉)
(2)添加放行策略
单击右侧“添加规则”按钮,放行通信策略
放行所有 ICMP 协议
放行所有 TCP 协议
放行所有 UDP 协议
创建云主机
(1)创建云主机
创建云主机,选择菜单栏“项目”→“计算”→“云主机”命令,单击右侧“创建云主 机”按钮,
(2)选择云主机镜像
在“源”中选择所要使用的镜像文件,单击对应镜像后的“+”按钮,然后单击下一 步
(4)选择云主机资源类型
在“flavor”中选择所需云主机的资源类型,选“m1.small”资源类型,单击对应的 “+”按钮,然后单击“下一步”按钮
(5)选择云主机网络
在“网络”中使云主机使用创建的 int-gre 内部网络,单击对应的“+”按钮,然后单击
“启动实例”按钮
(6)绑定浮动 IP 地址
选择菜单栏的“项目”→“计算”→“云主机”命令,在“操作”的下拉菜单中选择“绑 定浮动 IP”菜单命令
在弹出的对话框中单击“+”按钮,分配一个 IP 地址
单击“分配 IP”按钮
单击“关联”按钮,关联浮动 IP 地址
(7)查看云主机创建状态
创建完成后,可以在“云主机”页面中显示云主机列表,可查看到创建的云主机状态为 运行
(8)测试云主机连通性
打开 CMD 窗口,通过 ping 命令进行测试
Ping 192.168.200.4