1 前言
1.1 文档编号
版本号 |
撰写日期 |
撰写成员 |
备注 |
v1.0 |
10月5日 |
谢德阳 |
第一部分 |
v2.0 |
10月8日 |
谢德阳 |
第二部分 |
V3.0 |
10月11日 |
谢德阳 |
第三部分 |
V4.0 |
10月15日 |
谢德阳 |
第四、午部分 |
V5.0 |
10月17日 |
谢德阳 |
修改完善 |
1.2 项目概述
基本掌握了云计算平台搭建的基础知识,接下来从本年级三个专业(云计算技术与应用、移动应用开发、软件测试)中选择其中一个专业,对该专业的实验环境需求进行调研,分析实验环境迁云的可行性。在此基础上进行云计算平台的系统环境设计和系统搭建的基础安装工作。对任务进行分析、方案设计及实施验证,最后按照模板输出课程设计。
1.3 项目目标
我校为了提高计算机与软件学院学生综合素质能力,模拟实际环境状况要求学生将自己所学的的专业部署至云环境中。云计算技术与应用专业因为个人电脑的性能问题,不足以满足学习需要,所以需要将Linux和windows系统部署在openstack云环境中。在部署云环境完成后,将学习环境转移至其中,使用openstack云平台进行后面的学习步骤,以解决一部分同学因为其电脑性能不足而无法进行接下来学习的问题,及节省了时间,也方便老师进行统一管理,不会再出现学习进度参差不齐的情况。
2 需求分析
2.1 现状分析
因为学院初始要求的笔记本电脑配置较低,许多同学的笔记本电脑是按照学院要求的配置购买的,所以出现了笔记本电脑带不动学习软件的情况,无法满足云计算技术与应用专业学生接下来的学习生活需要,所以将学习环境迁移至openstack云环境。
云计算技术与应用专业需要搭建实验环境的课程有:云计算技术与应用、组网与维护、云操作系统win server、云操作系统Linux、python语言及应用、java语言。
课程 |
所需实验环境 |
实验室提供 |
自行搭建 |
组网与维护 |
Packet Tracer |
|
√ |
云操作系统win server |
Windows Server2016-x86_64 |
|
√ |
云操作系统Linux |
Centos7-x86_64 |
|
√ |
python语言及应用 |
Python开发环境 |
|
√ |
java语言 |
Java开发环境 |
|
√ |
表 1 课程、实验环境与搭建情况
2.2 可行性分析
哪些实验环境适合部署到云平台:
常用的,带有安装程序的实验平台基本上都可以进行开发环境迁云
带来的好处是:
1. 云平台兼容性好,适用范围广
2. 对硬件没有过多的依赖性
3. 可以通过增加节点的方式方便地扩展实验环境的用户数
4. 系统可以长期的使用,只需要定期维护与升级
5. 可以减少单台主机的运行压力,达到负债均很的情况
6. 可以对数据进行实时备份,防止数据的丢失和损坏
2.3 用户需求分析
1) 本专业共有250位同学需要使用openstack上搭建的云实验环境
2) 每个用户需要使用两种2种云实验环境(Windows Server2016-x86_64、linux-Centos7-x86_64)
3) 所需应用程序及编程开发环境:Packet Tracer 6.0-win64、Python3.8.1(win64-bit)、jdk-10.0.1_windows-x86
4) 每台虚拟机配置:2个cpu、网卡至少2个、磁盘1个至少大于200GB、内存至少16GB、可以正常的连接外部网络
5) 选择的物理服务器型号:AMD 7702
服务器配置:处理器:AMD 7H12*2 2.6主频 64核心128线程 512GB内存 10TB*2硬盘
6) 根据用户数和环境需求确定物理服务器需求:5台
3 云平台规划设计
确定云平台的服务类型为PaaS;部署模式为私有云;选择云平台是OpenStack云平台
对云平台的部署过程进行详细描述:
1) 云平台部署拓扑结构
图1云平台部署拓扑结构
2) 部署过程及步骤
将所有的服务器的系统装载为CentOS 7 1804的版本。Root密码设置为123456。
1、 先统一设置,将防火墙允许ssh22端口访问,方便后续远程使用。
2、进入/etc/selinux/config 将开启的selinux关闭。
3、进入/etc/sysconfig/networks-scrips/ifcfg-ens33 将IP固定为上图拓扑所示。
4、进入/etc/hostname 将主机名一一修改为CT、C1、C2、C3、C4、C5、C6、C7、C8、C9
5、进入/etc/hosts将所有主机映射修改为 主机名+ IP格式
主机名 |
IP |
CT |
192.168.144.111 |
C1 |
192.168.144.112 |
C2 |
192.168.144.113 |
C3 |
192.168.144.114 |
C4 |
192.168.144.115 |
C5 |
192.168.144.116 |
C6 |
192.168.144.117 |
C7 |
192.168.144.118 |
C8 |
192.168.144.119 |
表 2主机名与IP
6、配置yum源,准备进行下载
(1)可先备份/etc/yum.repos.d/下面的reop文件(备不备份都可以,有快照):
cd /etc/yum.repos/d/
mkdir bak
mv *.repo bak/
(2)下载国内yum源:
wget http://mirrors.aliyun.com/repo/Centos-7.repo
(3)创建并编辑:
vim etc/yum.repos.d/openstack-rocky.repo
[openstack]
name=openstack
baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-rocky/
gpgcheck=0
enabled=1
(4)因为在安装过程中会报错qemu版本过低,所以还需要配置qemu的源
创建并编辑:
vim etc/yum.repos.d/Centos-qemu.repo
[centos-qemu-ev]
name=qemu
baseurl=https://mirrors.aliyun.com/centos/7/virt/x86_64/kvm-common/
gpgcheck=0
enabled=1
(5)清除yum源缓存并重新生成本地缓存(如果第一次报错可以再执行一次):
yum clean all
yum makecache
(6)安装PackStack:
yum -y install openstack-packstack
(7)重启所有系统,修改了hosts要重启才能生效
(8)在CT控制节点上下载ntp时钟同步服务器
yum install -y ntp
3.配置时钟同步(控制节点)
yum -y install ntp
编辑/etc/ntp.conf注释掉
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
添加
server 127.127.1.0
fudge 127.127.1.0 stratum 10
启动ntp服务并开机自启动
systemctl start ntpd
systemctl enable ntpd
(9)在计算节点与控制节点进行时钟同步
在所有计算节点上执行yum install -y ntpdate openstack-packstack
(10)产生应答文件,进行ssh登录
packstack --gen-answer-file=YDSYS
ssh-copy-id CT
ssh-copy-id C2
ssh-copy-id C3
ssh-copy-id C4
ssh-copy-id C5
ssh-copy-id C6
ssh-copy-id C7
ssh-copy-id C8
ssh-copy-id C9
输入密码
Vim YDSYS 修改应答文件,规划计算节点
CONFIG_ CONTROLLER_HOST=192.168.144.111
CONFIG_COMPUTE_HOSTS=192.168.144.112,192.168.144.113,192.168.144.114,192.168.144.115,192.168.144.116,192.168.144.117,192.168.144.118,192.168.144.119
CONFIG_NETWORK_HOSTS=192.168.144.112,192.168.144.113,192.168.144.114,192.168.144.115,192.168.144.116,192.168.144.117,192.168.144.118,192.168.144.119
保存退出
(11)开始部署
packstack --answer-file=YDSYS
3) 对用户及权限的管理
老师:可以管理所有的服务器主机与所有的虚拟主机
学生:可以自主的使用虚拟主机
4) 对云平台高可用性的规划,物理服务器或虚拟机停机如何恢复
物理服务器:
首先检查连接物理服务器的光纤与电缆,查看是不是外部接入设备的问题,如果是就重新连接,如果不是,再检查物理服务器的硬件配置,如果物理服务器硬件损坏就立即更换,如果是软件方面就对软件进行更新与维护。(注意服务器的数据的日常备份与硬件检查)
虚拟机:
检查重启虚拟机是否有效,无效的话,就删除现有的虚拟机,通过服务器的备份,将以前的虚拟机的镜像导出,通过虚拟机镜像重新部署。
4 仿真验证
展示云平台部署过程
1.配置主机的网络(编辑网卡配置文件)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改onboot=no为onboot=yes
2.停止放火墙服务
systemctl stop firewalld.service
systemctl disable firewalld.service
3.停止NetworkManager服务
systemctl stop NetworkManager
systemctl disable NetworkManager
4.关闭selinux
vi /etc/sysconfig/selinux
修改selinux=disabled
5.添加主机映射
vi /etc/hosts
删除所有文件里的内容,添加自己虚拟机的ip 198.168.153.135 ct
6.重启系统
reboot
7.配置yum源
进去etc/yum.repos.d
cd etc/yum.repos.d
备份原有repo文件
mkdir bak
mv *.repo bak/
下载国内yum源
wget http://mirrors.aliyun.com/repo/Centos-7.repo
创建并编辑
vi /etc/yum.repos.d/openstack-rocky.repo
[openstack]
name=openstack
baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-rocky/
gpgcheck=0
enabled=1
因为在安装过程中会报错qemu版本过低,所以还需要配置qemu的源
创建并编辑
vi /etc/yum.repos.d/CentOS-qemu.repo
[centos-qemu-ev]
name=qemu
baseurl=https://mirrors.aliyun.com/centos/7/virt/x86_64/kvm-common/
gpgcheck=0
enabled=1
完成后清除yum源缓存并重新生成本地缓存,如果第一次有报错可以再执行一次
yum clean all
yum makecache
8.安装PackStack
yum install -y openstack-packstack
9.配置OpenStack
packstack --allinone
查看初始用户名和密码
cat /root/keystonerc_admin
10.浏览器登录
http://192.168.210.128/dashboard
5 经验总结
本次实验环境的云迁移实验囊括了我们近三年来所学习的所有内容,是一次综合性的能力测试,它使我们将断断续续的知识脉络不断地梳理,将所学的知识形成一片相互连接的整体,也锻炼了我们克服困难的专业能力,提高了我们对于知识的掌握,为我们以后出身社会打下了坚实的基础。
从这次实验环境云迁移试点方案中,我愈发的了解了云环境的强大与便捷,再以前上课做实验时,电脑会因为配置的问题对课上任务的响应较慢,使我不得不花费大量的时间在实验环境的安装与调试上,而云环境着不同,只需要将驱动文件上传至云环境,就可以无限的快速的安装与调试,既节约了我们上课的时间,也提高了我们上课的效率,还可以防止我们因为自己环境出现问题所导致的数据丢失,提高了数据的安全性。