要有Linux基础
空白分区划分 CentOS7的安装与CentOS6.5的安装有明显的区别在CentOS7安装过程中, 设置分区都需要一个挂载点, 这样一来就无法创建两个空白的磁盘分区作为cinder服务和swift服务的存储磁盘了
所以我们应该在系统安装过程中留下足够的磁盘大小, 系统安装完成后, 使用命令parted划分新分区, 然后使用mkfs.xfs进行文件系统格式化, 完成空白分区的划分 “强烈建议使用fdisk”
parted具体命令如下: 不建议使用
[root@compute ~]# parted /dev/md126
创建swift分区, 从702G到
[root@compute ~]# (parted) mkpart swift 702G 803G 803G [root@compute ~]# mkfs.xfs /dev/md126p5
fdisk具体命令如下: 强烈建议使用
查看
[root@compute ~]# fdisk -l
sda为硬盘号
[root@compute ~]# fdisk /dev/sda
选择m n是创建 d是删除 w是保存
Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit
配置网络 主机名 修改和添加 [root@controller]# vi /etc/sysconfig/network-scripts/ifcfg-enp*(具体的网口)文件
(1) controller节点 配置网络:
[root@controller]# 私网的ip地址 [root@controller]# device=enp8s0 [root@controller]# type =Ethernet[root@controller]# onboot=yes [root@controller]# nm_controlled=no [root@controller]# bootroto=static [root@controller]# ipaddr=192.168.88.131 [root@controller]# prefix=24 [root@controller]# [root@controller] [root@controller]# device=enp9s0 [root@controller]# type =Ethernet[root@controller]# onboot=yes [root@controller]# nm_controlled=no [root@controller]# bootroto=static [root@controller]# ipaddr=192.168.200.10 [root@controller]# prefix=24
生效
[root@controller]# service network restart
查看
配置主机名: 输入完成 按ctrl+d 退出 重新登陆
[root@controller]# hostnamectl set-hostname controller
(2) compute 节点 配置网络:
[root@controller]# 私网的ip地址 [root@controller]# device=enp8s0 //设备名称 [root@controller]# type =Ethernet[root@controller]# onboot=yes [root@controller]# nm_controlled=no [root@controller]# bootroto=static [root@controller]# ipaddr=192.168.100.20 [root@controller]# prefix=24 [root@controller]# [root@controller] [root@controller]# device=enp9s0 [root@controller]# type =Ethernet[root@controller]# onboot=yes [root@controller]# nm_controlled=no [root@controller]# bootroto=static [root@controller]# ipaddr=192.168.200.20 [root@controller]# prefix=24
生效
[root@controller]# service network restart
查看
配置主机名: 输入完成 按ctrl+d 退出 重新登陆
[root@controller]# hostnamectl set-hostname compute/controller
查看
[root@controller]# hostname
配置yum源 Controller和compute节点
(1)yum源备份
命令解释: 用来为文件或目录改名、或将文件或目录移入其它位置
[root@controller]# mv /etc/yum.repos.d/* /opt/
(2)创建repo文件
controller 在/etc/yum.repos.d创建源文件
[root@controller]# vi contrller.repo
配置本地file
[root@controller]# [centos] [root@controller]# name=centos [root@controller]# baseurl=file:///opt/centos [root@controller]# gpgcheck=0 [root@controller]# enabled=1 [root@controller]# [iaas] [root@controller]# name=iaas [root@controller]# baseurl=file:///opt/iaas-repo [root@controller]# gpgcheck=0 [root@controller]# enabled=1
查看
[root@controller]# yum repolist [root@controller]# cat [文件名]
compute 在/etc/yum.repos.d创建centos.repo源文件
[root@controller]# vi compute.repo
全部移走
[root@controller]# mv * /tmp
配置ftp
[root@controller]# [centos] [root@controller]# name=centos [root@controller]# baseurl=ftp://192.168.88.131/centos [root@controller]# gpgcheck=0 [root@controller]# enabled=1 [root@controller]# [iaas] [root@controller]# name=iaas [root@controller]# baseurl=ftp://192.168.88.131/iaas-repo [root@controller]# gpgcheck=0 [root@controller]# enabled=1
配置http
[root@controller]# [centos] [root@controller]# name=centos [root@controller]# baseurl=http://192.168.88.131/centos [root@controller]# gpgcheck=0 [root@controller]# enabled=1 [root@controller]# [iaas] [root@controller]# name=iaas [root@controller]# baseurl=http://192.168.88.131/iaas-repo [root@controller]# gpgcheck=0 [root@controller]# enabled=1
查看
[root@controller]# yum repolist [root@controller]# cat [文件名]
挂载iso文件 挂载CentOS-7xxxx.iso
命令解释: mount挂载Linux系统外的文件, loop是mount用来加载loop设备的选项, 不是文件系统类型
[root@controller]# mount -o loop /home/sdq/CentOS-7-x86_64-DVD-2003.iso /mnt
命令解释: 删除重来
[root@controller]# rm -rf /opt/centos/*
mkdir创建
[root@controller]# mkdir /opt/centos
查看
意思是并将光盘内的数据拷贝到centos文件夹中, 数据有点多, 要等一会
[root@controller]# cp -rvf /mnt/* /opt/centos/
umount可卸除目前挂在Linux目录中的文件系统
[root@controller]# umount /mnt/
挂载XianDian-IaaS-v2.4.iso
mount挂载Linux系统外的文件, loop是mount用来加载loop设备的选项, 不是文件系统类型
[root@controller]# mount -o loop /home/sdq/chinaskills_cloud_iaas.iso /mnt
意思是并将光盘内的数据拷贝到opt文件夹中, 数据有点多, 要等一会
[root@controller]# cp -rvf /mnt/* /opt/
umount可卸除目前挂在Linux目录中的文件系统
[root@controller]# umount /mnt/
搭建ftp服务器, 开启并设置自启 安装vsftpd 默认-y= yes
[root@controller ~]# yum install vsftpd –y
添加anon_root=/opt/
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
启动服务
[root@controller ~]# systemctl start vsftpd
查看
[root@controller]# yum repolist
在开机时启用服务
[root@controller ~]# systemctl enable vsftpd
搭建http服务器, 开启并设置自启 安装httpd 默认-y= yes
[root@controller ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [root@controller ~]# yum install httpd –y
/var/www/html改”/opt”
[root@controller ~]# vi /etc/httpd/conf/httpd.conf
启动服务
[root@controller ~]# systemctl start httpd
在开机时启用服务
[root@controller ~]# systemctl enable httpd
配置防火墙和Selinux controller/compute都要
编辑selinux文件
[root@controller]# vi /etc/selinux/config [root@controller]# SELINUX=permissive [root@controller selinux]# setenforce 0
查看
[root@controller]# getenforce
关闭防火墙并设置开机不自启
[root@controller]# systemctl stop firewalld.service [root@controller]# systemctl disable firewalld.service
查看
[root@controller]# systemctl status firewalld.service
清除缓存和验证yum源 controller/compute都要
[root@controller]# yum clean all [root@controller]# yum repolist
编辑环境变量 controller和compute节点
[root@controller]# yum install iaas-xiandian -y
编辑文件/etc/xiandian/openrc.sh, 此文件是安装过程中的各项参数, 根据每项参数上一行的说明及服务器实际情况进行配置
[root@controller]# HOST_IP=192.168.88.131 [root@controller]# HOST_PASS=000000 [root@controller]# HOST_NAME=controller [root@controller]# HOST_IP_NODE=192.168.100.20 [root@controller]# HOST_PASS_NODE=000000 [root@controller]# HOST_NAME_NODE=compute [root@controller]# network_segment_IP=192.168.100.0/24 [root@controller]# RABBIT_USER=openstack [root@controller]# RABBIT_PASS=000000 [root@controller]# DB_PASS=000000 [root@controller]# DOMAIN_NAME=demo [root@controller]# ADMIN_PASS=000000 [root@controller]# DEMO_PASS=000000 [root@controller]# KEYSTONE_DBPASS=000000 [root@controller]# GLANCE_DBPASS=000000 [root@controller]# GLANCE_PASS=000000 [root@controller]# NOVA_DBPASS=000000 [root@controller]# NOVA_PASS=000000 [root@controller]# NEUTRON_DBPASS=000000 [root@controller]# NEUTRON_PASS=000000 [root@controller]# METADATA_SECRET=000000 [root@controller]# INTERFACE_IP=192.168.88.131/192.168.100.20(controllerIP/computeIP) [root@controller]# INTERFACE_NAME=enp9s0 (外部网络网卡名称) [root@controller]# Physical_NAME=provider (外部网络适配器名称) [root@controller]# minvlan=101 (vlan网络范围的第一个vlanID) [root@controller]# maxvlan=200 (vlan网络范围的最后一个vlanID) [root@controller]# CINDER_DBPASS=000000 [root@controller]# CINDER_PASS=000000 [root@controller]# BLOCK_DISK=md126p4 (空白分区) [root@controller]# SWIFT_PASS=000000 [root@controller]# OBJECT_DISK=md126p5 (空白分区) [root@controller]# STORAGE_LOCAL_NET_IP=192.168.100.20 [root@controller]# HEAT_DBPASS=000000 [root@controller]# HEAT_PASS=000000 [root@controller]# ZUN_DBPASS=000000 [root@controller]# ZUN_PASS=000000 [root@controller]# KURYR_DBPASS=000000 [root@controller]# KURYR_PASS=000000 [root@controller]# CEILOMETER_DBPASS=000000 [root@controller]# CEILOMETER_PASS=000000 [root@controller]# AODH_DBPASS=000000 [root@controller]# AODH_PASS=000000
通过脚本安装服务 执行脚本iaas-pre-host.sh进行安装
[root@controller ~]# iaas-pre-host.sh
[root@controller ~]# chronyc sources -v
通过脚本安装数据库服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-mysql.sh
通过脚本安装keystone服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-keystone.sh
通过脚本安装glance服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-glance.sh
上传镜像 首先下载(Wget)提供的系统镜像到本地, 本次以上传CentOS_7.5_x86_64镜像为例 安装Wget, 从Ftp服务器上下载镜像到本地
[root@controller]# source admin-openrc.sh[root@controller]# glance image-create --name "CentOS7.5" --disk-format qcow2 --container-format bare --progress < /opt/images/CentOS_7.5_x86_64_XD.qcow2
安装Nova计算服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-nova-controller.sh
Compute节点 执行以下脚本
[root@controller]# iaas-install-nova-compute.sh
安装Neutron网络服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-neutron-controller.sh
Compute节点 执行以下脚本
[root@controller]# iaas-install-neutron-compute.sh
安装Dashboard服务 Controller节点 执行以下脚本
[root@controller]# aas-install-dashboard.sh
访问 打开浏览器访问Dashboard, 网址http://controller (或本机内网ip) /dashboard 注: 检查防火墙规则, 确保允许http服务相关端口通行, 或者关闭防火墙
创建云主机 (1) 管理员->资源管理->云主机类型->创建云主机类型
(2) 管理员->网络->网络->创建网络
(2) 项目->网络->安全组->管理规则->添加规则(ICMP、TCP、UDP)
(4) 项目->资源管理->云主机->创建云主机
安装Cinder块存储服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-cinder-controller.sh
Compute节点 执行以下脚本
[root@controller]# iaas-install-cinder-compute.sh
验证 [以后会用到] Controller节点 执行以下脚本
使用cinder create 创建一个新的卷[root@controller]# cinder create --display-name myVolume 1 通过cinder list 命令查看是否正确创建[root@controller]# cinder list
Compute节点 执行以下脚本
[root@controller]# iaas-install-neutron-compute.sh
安装Swift对象存储服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-swift-controller.sh
Compute节点 执行以下脚本
[root@controller]# iaas-install-swift-compute.sh
安装Heat编配服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-heat.sh
安装Zun服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-zun-controller.sh
Compute节点 执行以下脚本
[root@controller]# iaas-install-zun-compute.sh
上传镜像 以CentOS7_1804.tar镜像为例, CentOS7_1804.tar镜像包存放在XianDian-IaaS-v2.4.iso镜像包中, 将docker镜像上传到glance中, 通过openstack使用镜像启动容器
[root@controller]# source /etc/keystone/admin-openrc.sh[root@controller]# openstack image create centos7.5 --public --container-format docker --disk-format raw < CentOS7_1804.tar
启动容器 通过glance存储镜像启动容器
[root@controller]# zun run --image-driver glance centos7.5 [root@controller]# zun list
安装Ceilometer监控服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-ceilometer-controller.sh
Compute节点 执行以下脚本
[root@controller]# iaas-install-ceilometer-compute.sh
安装Aodh监控服务 Controller节点 执行以下脚本
[root@controller]# iaas-install-aodh.sh
更新/清除所有 [root@controller]# yum clean all
重启服务 httpd为服务名称
[root@controller]# systemctl restart httpd
添加控制节点资源到云平台 修改openrc.sh 把compute节点的IP和主机名改为controller节点的IP和主机名
运行iaas-install-nova-compute.sh 行过程中需要确认登录controller节点和输入controller节点root用户密码
文件传输
ssh
生成ssh公钥
复制密钥给主机2
然后输入主机2的密码
密钥位置 传过来的在用户目录 将要传的在root目录后缀为pub是公钥 rsa是私钥
查看文件
查看当前路径