使用镜像:
CentOS-7.5-x86_64-DVD-1804.iso
chinaskills_cloud_iaas.iso
VM版本15.5
有需要实验镜像的小伙伴请私信
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=72c226b2-f8c0-4922-8349-67cb7b0758df
DEVICE=eth0
ONBOOT=yes
IPADDR=172.17.10.10/172.17.100.20(controller/compute)
PREFIX=24
GATEWAY=172.17.10.1
IPV6_PRIVACY=no
#hostnamectl set-hostname controller/compute
#bash
#hostnamectl -----查看主机名服务相关信息
controller端:
[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
[root@controller yum.repos.d]# rm -rf *
[root@controller yum.repos.d]# ll
total 0
[root@controller yum.repos.d]# ls
[root@controller yum.repos.d]# vi file.repo
[root@controller yum.repos.d]# more file.repo
[centos]
name=centos
baseurl=file:///opt/centos/
gpgcheck=0
enabled=1
[iaas-repo]
name=iaas-repo
baseurl=file:///opt/openstack/iaas-repo/
gpgcheck=0
enabled=1
compute端:
[centos]
name=centos
baseurl=ftp://172.17.10.10/centos/
gpgcheck=0
enabled=1
[iaas-repo]
name=iaas-repo
baseurl=ftp://172.17.10.10/openstack/iaas-repo
gpgcheck=0
enabled=1
在controller节点上传CentOS-7.5-x86_64-DVD-1804.iso、chinaskills_cloud_iaas.iso两个镜像。(这里不做演示)
上传软件可用:WinSCP、Xftp、SecureFX
[root@controller ~]# mount -o loop CentOS-7.5-x86_64-DVD-1804.iso /mnt/
[root@controller ~]# cp -rvf /mnt/* /opt/centos/
[root@controller ~]# umount /mnt/
[root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /mnt/
[root@controller ~]# cp -rvf /mnt/* /opt/openstack/
[root@controller ~]# umount /mnt/
[root@controller ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos iaas-repo
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@controller ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
iaas-repo | 2.9 kB 00:00:00
(1/3): centos/group_gz | 166 kB 00:00:00
(2/3): iaas-repo/primary_db | 1.4 MB 00:00:00
(3/3): centos/primary_db | 3.1 MB 00:00:00
repo id repo name status
centos centos 3,971
iaas-repo iaas-repo 3,232
repolist: 7,203
[root@controller ~]# yum install vsftpd -y
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
anon_root=/opt/
[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.
[root@controller ~]# vi /etc/hosts
添加如下内容:
172.17.10.10 controller
172.17.10.20 compute
[root@controller ~]# scp /etc/hosts [email protected]:/etc/
[root@controller ~]# systemctl stop firewalld
[root@controller ~]# systemctl disable firewalld
[root@controller ~]# vi /etc/sysconfig/selinux
根据题目要求修改为Permissive或者disabled。
[root@compute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 3.9G 0 part [SWAP]
└─sda3 8:3 0 45.1G 0 part /
sdb 8:16 0 100G 0 disk
sdc 8:32 0 100G 0 disk
sr0 11:0 1 4.2G 0 rom
loop0 7:0 0 3.6G 0 loop /mnt
[root@compute ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart cinder 0 107GB
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 107GB 107GB cinder
(parted) q
Information: You may need to update /etc/fstab.
[root@compute ~]# parted /dev/sdc
GNU Parted 3.1
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart swift 0 107GB
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 107GB 107GB swift
(parted) q
Information: You may need to update /etc/fstab.
[root@compute ~]# mkfs.xfs /dev/sdb
mkfs.xfs: /dev/sdb appears to contain a partition table (gpt).
mkfs.xfs: Use the -f option to force overwrite.
[root@compute ~]# mkfs.xfs /dev/sdc
mkfs.xfs: /dev/sdc appears to contain a partition table (gpt).
mkfs.xfs: Use the -f option to force overwrite.
[root@compute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 3.9G 0 part [SWAP]
└─sda3 8:3 0 45.1G 0 part /
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part
sdc 8:32 0 100G 0 disk
└─sdc1 8:33 0 100G 0 part
sr0 11:0 1 4.2G 0 rom
loop0 7:0 0 3.6G 0 loop /mnt
[root@compute ~]# fdisk -l
# Start End Size Type Name
1 34 209715166 100G Microsoft basic swift
# Start End Size Type Name
1 34 209715166 100G Microsoft basic cinder
[root@controller ~]# yum install -y iaas-xiandian
[root@controller ~]# vi /etc/xiandian/openrc.sh
##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=172.17.10.10
##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=172.17.10.20
##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=172.17.10.0/24
##--------------------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=172.17.10.10
##External Network Interface. example:eth1
INTERFACE_NAME=eth1
##External Network The Physical Adapter. example:provider
Physical_NAME=provider
##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
##--------------------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=172.17.10.20
##--------------------Heat Config----------------------##
##Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
##Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
##--------------------Zun Config-----------------------##
##Password for Mysql Zun user. exmaple:000000
ZUN_DBPASS=000000
##Password for Keystore Zun user. exmaple:000000
ZUN_PASS=000000
##Password for Mysql Kuryr user. exmaple:000000
KURYR_DBPASS=000000
##Password for Keystore Kuryr user. exmaple:000000
KURYR_PASS=000000
##--------------------Ceilometer Config----------------##
##Password for Gnocchi 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
##--------------------Barbican Config----------------##
##Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000
##Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
将openrc.sh拷贝到compute节点下
[root@controller ~]# scp /etc/xiandian/openrc.sh root@compute:/etc/xiandian/
修改INTERFACE_IP=为comput的地址
[root@controller ~]# iaas-pre-host.sh
1.|[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 ~]# source admin-openrc.sh
[root@controller ~]# glance image-create --name "CentOS7.5" --disk-format qcow2 --container-format bare --progress < /opt/openstack/images/CentOS_7.5_x86_64_XD.qcow2
#Controller节点
执行脚本iaas-install-nova-controller.sh进行安装
#Compute节点
执行脚本iaas-install-nova-compute.sh进行安装
#Controller节点
执行脚本iaas-install-neutron-controller.sh进行安装
#Compute节点
执行脚本iaas-install-neutron-compute.sh进行安装
[root@controller ~]# iaas-install-dashboard.sh
安装完仪表盘服务后,我们可以移步到浏览器中去访问openstackweb端了
打开浏览器访问Dashboard
http://controller(或本机内网ip)/dashboard
注:检查防火墙规则,确保允许http服务相关端口通行,或者关闭防火墙。
#Controller
执行脚本iaas-install-cinder-controller.sh进行安装
#Compute节点
执行脚本iaas-install-cinder-compute.sh进行安装
#Controller
执行脚本iaas-install-swift-controller.sh进行安装
#Compute节点
执行脚本iaas-install-swift-compute.sh进行安装
此片文章为本人自行搭建openstack记录过程,仅供参考。有问题的小伙伴可私信留言。