先电OpenStack快速搭建教程
通过脚本快速搭建先电OpenStack
基本环境配置
节点 | 网卡1 | 网卡2 |
---|---|---|
Controller节点 | 192.168.100.10 | 192.168.200.10 |
Compute节点 | 192.168.100.20 | 192.168.200.20 |
网卡1为外部网络
网卡2为内部管理网络
搭建虚拟机
Controller节点虚拟机配置
Compute节点虚拟机配置
启动虚拟机,按下Tab键
输入下列命令回车
安装虚拟机
配置网络、主机名
修改和添加/etc/sysconfig/network-scripts/ifcfg-eth*(具体的网口)文件。
【Controller】
配置网络
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.100.10
PREFIX=24
GATEWAY=192.168.100.1
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.200.10
PREFIX=24
[root@controller ~]# service network restart
配置主机名
[root@controller ~]# hostnamectl set-hostname controller
Ctrl+D重新登陆
【Compute】
配置网络
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.100.20
PREFIX=24
GATEWAY=192.168.100.1
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.200.20
PREFIX=24
[root@compute ~]# service network restart
配置主机名
[root@compute ~]# hostnamectl set-hostname compute
Ctrl+D重新登陆
挂载ISO文件
【Controller】
挂载CentOS-7-x86_64-DVD-1511.iso镜像到/mnt目录下并复制所有文件到/opt/centos目录下
[root@controller ~]# mkdir /opt/centos
[root@controller ~]# mount /dev/sr0 /mnt/
[root@controller ~]# cp -rvf /mnt/* /opt/centos/
卸载CentOS-7-x86_64-DVD-1511.iso镜像
[root@controller ~]# umount /mnt/
挂载XianDian-IaaS-v2.2.iso镜像到/mnt目录下并复制所有文件到/opt/目录下
[root@controller ~]# mount /dev/sr1 /mnt/
[root@controller ~]# cp -rvf /mnt/* /opt/
[root@controller ~]# umount /mnt/
如果虚拟机只能挂载一个镜像的话先挂载CentOS镜像在挂载IaaS镜像,代码如下:
[root@controller ~]# mkdir /opt/centos
[root@controller ~]# mount /dev/sr0 /mnt/
[root@controller ~]# cp -rvf /mnt/* /opt/centos/
[root@controller ~]# umount /mnt/
卸载镜像后需要手动把CentOS镜像更换为IaaS镜像,才能挂载IaaS镜像
[root@controller ~]# mount /dev/sr0 /mnt/
[root@controller ~]# cp -rvf /mnt/* /opt/
配置YUM源
【Controller】
[root@controller ~]# mv /etc/yum.repos.d/* /opt/
[root@controller ~]# vi /etc/yum.repos.d/centos.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]# yum clean all
[root@controller ~]# yum repolist
[root@controller ~]# yum install -y vsftpd
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
在末行添加
anon_root=/opt/
保存退出
[root@controller ~]# systemctl stop firewalld
[root@controller ~]# systemctl disable firewalld
[root@controller ~]# systemctl enable vsftpd
[root@controller ~]# systemctl start vsftpd
【Compute】
[root@compute ~]# mv /etc/yum.repos.d/* /opt/
[root@compute ~]# vi /etc/yum.repos.d/centos.repo
[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
[root@compute ~]# yum clean all
[root@compute ~]# yum repolist
[root@compute ~]# systemctl stop firewalld
[root@compute ~]# systemctl disable firewalld
配置环境变量
【Controller】
[root@controller ~]# yum install -y iaas-xiandian
[root@controller ~]# vi /etc/xiandian/openrc.sh
HOST_IP=192.168.100.10
HOST_NAME=controller
HOST_IP_NODE=192.168.100.20
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo(自定义)
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=eth1(外网网卡名)
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=md126p4(空白分区名)
SWIFT_PASS=000000
OBJECT_DISK=md126p5(空白分区名)
STORAGE_LOCAL_NET_IP=192.168.100.20
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
【Compute】
[root@compute ~]# yum install -y iaas-xiandian
[root@compute ~]# vi /etc/xiandian/openrc.sh
HOST_IP=192.168.100.10
HOST_NAME=controller
HOST_IP_NODE=192.168.100.20
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo(自定义)
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=eth1(外网网卡名)
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=md126p4(空白分区名)
SWIFT_PASS=000000
OBJECT_DISK=md126p5(空白分区名)
STORAGE_LOCAL_NET_IP=192.168.100.20
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
通过脚本安装服务
【Controller】
[root@controller ~]# iaas-pre-host.sh
Ctrl+D重新登陆
[root@controller ~]# iaas-install-mysql.sh
【Compute】
[root@compute ~]# iaas-pre-host.sh
Ctrl+D重新登陆
服务组件安装
通过脚本安装Keystone认证服务
【Controller】
[root@controller ~]# iaas-install-keystone.sh
[root@controller ~]# source /etc/keystone/admin-openrc.sh
通过脚本安装Glance镜像服务
【Controller】
[root@controller ~]# iaas-install-glance.sh
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# glance image-create --name "CentOS7.0" --disk-format qcow2 --container-format bare --progress < /opt/images/CentOS_7.2_x86_64_XD.qcow2
通过脚本安装Nova计算服务
【Controller】
[root@controller ~]# iaas-install-nova-controller.sh
【Compute】
[root@compute ~]# iaas-install-nova-compute.sh
通过脚本安装Neutron网络服务
【Controller】
[root@controller ~]# iaas-install-neutron-controller.sh
【Compute】
[root@compute ~]# iaas-install-neutron-compute.sh
通过脚本创建Gre网络
【Controller】
[root@controller ~]# iaas-install-neutron-controller-gre.sh
【Compute】
[root@compute ~]# iaas-install-neutron-compute-gre.sh
注意:Compute节点构建Gre网络成功时并不会输出任何内容,
如果有内容输出,恭喜你出错了,麻烦你重来一遍
通过脚本安装Dashboard服务
【Controller】
[root@controller ~]# iaas-install-dashboard.sh
创建云主机(GRE)
物理机使用浏览器访问http://192.168.100.10/dashboard(浏览器一般建议使用Chrome浏览器或火狐浏览器,不建议使用IE浏览器)
通过脚本安装 Cinder 块存储服务
【Controller】
[root@controller ~]# iaas-install-cinder-controller.sh
【Compute】
[root@compute ~]# iaas-install-cinder-compute.sh
通过脚本安装 Swift 服务
【Controller】
[root@controller ~]# iaas-install-swift-controller.sh
【Compute】
[root@compute ~]# iaas-install-swift-compute.sh
通过脚本安装 Trove 服务
【Controller】
[root@controller ~]# iaas-install-trove.sh
需注意安装Trove服务之前需要配置好网络(FLAT或GRE),创建好子网,并确认系统已经安装swift和cinder两个服务,否则安装会失败。
通过脚本安装 Heat 服务
【Controller】
[root@controller ~]# iaas-install-heat.sh
通过脚本安装 Ceilometer 服务
【Controller】
[root@controller ~]# iaas-install-ceilometer-controller.sh
【Compute】
[root@compute ~]# iaas-install-ceilometer-compute.sh
通过脚本安装 Alarm 服务
【Controller】
[root@controller ~]# iaas-install-alarm.sh