> 技术文档 > 云计算-私有云-私有云服务搭建

云计算-私有云-私有云服务搭建


私有云

一、私有云服务搭建(10)

​ IP 地址设置,主机名设置,磁盘分区,文件系统挂载,web、ftp、dns、ntp 等常用linux服务器安装与配置。
​ OpenStack云平台搭建基本变量进行配置, 安装部署数据库、Keystone 服务、Glance 服务、Nova 服务、Neutron 服务、Dashboad 服务、Cinder 服务、Swift 服务、Heat 服务、Ceph 服务、Ceilometer、manila 和 Zun 服务等 Openstack 相关组件,完成私有云平台的搭建部署

1.集群主机环境配置(1分)
​ 使用提供的用户名密码,登录提供的OpenStack私有云平台,在当前租户下,使用CentOS7.9镜像,创建两台云主机,云主机类型使用4vCPU/12G/100G_50G类型。当前租户下默认存在一张网卡,自行创建第二张网卡并连接至controller和compute节点(第二张网卡的网段为10.10.X.0/24,X为工位号,不需要创建路由)。自行检查安全组策略,以确保网络正常通信与ssh连接,然后按以下要求配置服务器:
​ ①设置控制节点主机名为controller,设置计算节点主机名为compute;
​ ②修改hosts文件将IP地址映射为主机名;
​ ③使用提供的http服务地址,分别设置controller节点和compute节点的yum源文件http.repo;
​ ④配置controller节点可以无秘钥访问compute节点。
(1)controller

# 关闭防火墙systemctl stop firewalldsetenforce 0# 修改主机名hostnamectl set-hostname controllerbash# 添加域名解析cat >> /etc/hosts << EOF192.168.100.100 controller192.168.100.120 computeEOF# 下载centos镜像cp -rfv /etc/keystone/CentOS-7-x86_64-DVD-2009.iso .# 下载iaas镜像# 获取centos镜像内容mkdir /opt/centosmount CentOS-7-x86_64-DVD-2009.iso /mntcp -rvf /mnt/* /opt/centosumount /mnt# 获取iaas镜像内容mkdir /opt/iaasmount chinaskills_cloud_iaas_v2.0.1.iso /mntcp -rvf /mnt/* /opt/iaasumount /mnt# 制作镜像源mkdir /mediamv /etc/yum.repos.d/* /mediavi /etc/yum.repos.d/local.repo[centos]name=\"centos\"baseurl=file:///opt/centos/gpgcheck=0enabled=1[iaas]name=\"iaas\"baseurl=file:///opt/iaas/iaas-repo/gpgcheck=0enabled=1yum clean all && yum repolist# 安装ftp服务,配置yum共享yum -y install vsftpdecho \"anon_root=/opt\" >> /etc/vsftpd/vsftpd.confsystemctl restart vsftpd systemctl enable vsftpd# 配置免密登陆ssh-keygenssh-copy-id compute
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.

(2)compute

# 关闭防火墙systemctl stop firewalldsetenforce 0# 修改主机名hostnamectl set-hostname computebash# 添加域名解析cat >> /etc/hosts << EOF192.168.100.100 controller192.168.100.120 computeEOF# 制作镜像源mkdir /mediamv /etc/yum.repos.d/* /mediavi /etc/yum.repos.d/ftp.repo[centos]name=\"centos\"baseurl=ftp://controller/centos/gpgcheck=0enabled=1[iaas]name=\"iaas\"baseurl=ftp://controller/iaas/iaas-repo/gpgcheck=0enabled=1yum clean all && yum repolist
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.

2.私有云服务搭建(1分)
​ 在控制节点和计算节点上分别安装openstack-iaas软件包,根据表2配置两个节点脚本文件中的基本变量(配置脚本文件为/etc/openstack/openrc.sh)。
(1)controller

# 下载软件包yum -y install openstack-iaas# 修改opencr.sh脚本vi /etc/openstack/openrc.sh# 开始部署iaas-pre-host.shbash
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

(2)compute

# 磁盘分区fdisk /dev/vdbnp+20Gnp+20Gnp+5Gw# 下载软件包yum -y install openstack-iaas# 修改opencr.sh脚本vi /etc/openstack/openrc.sh# 开始部署iaas-pre-host.shbash
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

3.数据库及消息服务安装与使用(1分)
​ 在控制节点上使用安装Mariadb、RabbitMQ等服务。并进行相关操作。
​ 在controller节点上使用iaas-install-mysql.sh 脚本安装Mariadb、Memcached、RabbitMQ等服务。安装服务完毕后,修改/etc/my.cnf文件,完成下列要求:

​ ①设置数据库支持大小写;
​ ②设置数据库缓存innodb表的索引,数据,插入数据时的缓冲为4G;
​ ③设置数据库的log buffer为64MB;
​ ④设置数据库的redo log大小为256MB;
​ ⑤设置数据库的redo log文件组为2。
​ ⑥修改Memcached的相关配置,将内存占用大小设置为512MB,调整最大连接数参数为2048;
​ ⑦调整Memcached的数据摘要算法(hash)为md5;

(1)controller

# 使用iaas-install-mysql.sh 脚本安装Mariadb、Memcached、RabbitMQ等服务iaas-install-mysql.sh# 修改/etc/my.cnf文件cp /etc/my.cnf /etc/my.cnf.bakvi /etc/my.cnf[mysqld]# 设置数据库支持大小写lower_case_table_names=1# 设置数据库缓存innodb表的索引,数据,插入数据时的缓冲为4Ginnodb_buffer_pool_size=4G# 设置数据库的log buffer为64MBinnodb_log_buffer_size=64M# 设置数据库的redo log大小为256MBinnodb_log_file_size=256M# 设置数据库的redo log文件组为2innodb_log_files_in_group=2# 修改memcached文件cp /etc/sysconfig/memcached /etc/sysconfig/memcached.bakvi /etc/sysconfig/memcached# 调整最大连接数参数为2048MAXCONN=\"2048\"# 将内存占用大小设置为512MBCACHESIZE=\"512\"# 调整 Memcached 的数据摘要算法(hash)为 md5hash_algorithm=md5# 重启服务systemctl restart mariadb memcached
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.

4.Keystone服务安装与使用(1分)
​ 在控制节点上安装Keystone服务并创建用户。
​ 在controller节点上使用iaas-install-keystone.sh脚本安装Keystone服务。
​ 然后创建OpenStack域210Demo,其中包含Engineering与Production项目,在域210Demo中创建组Devops,其中需包含以下用户:
​ ①Robert用户是Engineering项目用户(member)与管理员(admin),email地址为:Robert@lab.example.com。
​②George用户是Engineering项目用户(member),email地址为:George@lab.example.com。
③William用户是Production项目用户(member)与管理员(admin),email地址为:William@lab.example.com。
​ ④John用户是Production项目用户(member),email地址为:John@lab.example.com 。

(1)controller

# 安装keystone组件iaas-install-keystone.sh# 模拟管理员source /etc/keystone/admin-openrc.sh# 创建域、项目、组openstack domain create 210Demoopenstack group create devops --domain 210Demoopenstack project create Engineering --domain 210Demoopenstack project create Production --domain 210Demo# 创建用户openstack user create Robert --domain 210Demo --project Engineering --email Robert@lab.example.com --password 000000openstack user create George --domain 210Demo --project Engineering --email George@lab.example.com --password 000000openstack user create William --domain 210Demo --project Production --email William@lab.example.com --password 000000openstack user create John --domain 210Demo --project Production --email John@lab.example.com --password 000000# 将用户添加到组中openstack group add user Devops Robert George William John# 创建角色openstack role create memberopenstack role create admin# 为用户添加角色openstack role add --project Engineering --user Robert memberopenstack role add --project Engineering --user Robert adminopenstack role add --project Engineering --user George memberopenstack role add --project Production --user William memberopenstack role add --project Production --user William adminopenstack role add --project Production --user John member
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.

5.Glance安装与使用(1分)
​ 在控制节点上安装Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。
​ 在controller节点上使用iaas-install-glance.sh脚本安装glance服务。然后将cirros-0.5.2-x86_64-disk.img镜像上传到OpenStack平台中,镜像名称为cirros-0.5.2。完成后提交控制节点的用户名、密码和IP地址到答题框。

(1)controller

# 安装glanceiaas-install-glance.sh# 获取镜像# cp -rfv /opt/iaas/images/cirros-0.3.4-x86_64-disk.img .# 上传镜像(因为没有cirros-0.5.2镜像,示例用cirros-0.3.4代替)glance image-create --name cirros-0.3.4 --disk-format qcow2 --container-format bare --progress < cirros-0.3.4-x86_64-disk.img 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

6.Nova安装(1分)
​ 在控制节点和计算节点上分别安装Nova服务。安装完成后,完成Nova相关配置。
​ 在controller节点和compute节点上分别使用iaas-install-placement.sh脚本、iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova服务。在OpenStack中,修改相关配置文件,修改调度器规则采用缓存调度器,缓存主机信息,提升调度时间。配置完成后提交controller点的用户名、密码和IP地址到答题框。

(1)controller

# 安装novaiaas-install-placement.shiaas-install-nova-controller.sh# 修改调度器规则采用缓存调度器,缓存主机信息,提升调度时间vi /etc/nova/nova.confdriver=caching_scheduler# 重启systemctl restart openstack-nova*
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

(2)compute

# 安装novaiaas-install-nova-compute.sh
  • 1.
  • 2.

7.Neutron安装(1分)
​ 在控制和计算节点上正确安装Neutron服务。
​ 使用提供的脚本iaas-install-neutron-controller.sh和iaas-install-neutron-compute.sh,在controller和compute节点上安装neutron服务。完成后提交控制节点的用户名、密码和IP地址到答题框。

(1)controller

# 安装neutroniaas-install-neutron-controller.sh
  • 1.
  • 2.

(2)compute

# 安装neutroniaas-install-neutron-compute.sh
  • 1.
  • 2.

8.Dashboard安装(1分)
​ 在控制节点上安装Dashboard服务。安装完成后,将Dashboard中的 Django数据修改为存储在文件中。
​ 在controller节点上使用iaas-install-dashboad.sh脚本安装Dashboard服务。安装完成后,修改相关配置文件,完成下列两个操作:

​ ①使得登录Dashboard平台的时候不需要输入域名;
​ ②将Dashboard中的Django数据修改为存储在文件中。

(1)controller

# 安装neutroniaas-install-dashboard.sh# 使得登录Dashboard平台的时候不需要输入域名echo \"OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = False\" >> /etc/openstack-dashboard/local_settings# 将Dashboard中的Django数据修改为存储在文件中echo \"SESSION_ENGINE = \'django.contrib.sessions.backends.file\'\" >> /etc/openstack-dashboard/local_settings# 重启服务systemctl restart httpd memcached
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

9.Swift安装(1分)
​ 在控制节点和计算节点上分别安装Swift服务。安装完成后,将cirros镜像进行分片存储。
​ 在控制节点和计算节点上分别使用iaas-install-swift-controller.sh和iaas-install-swift-compute.sh脚本安装Swift服务。安装完成后,使用命令创建一个名叫examcontainer的容器,将cirros-0.3.4-x86_64-disk.img镜像上传到examcontainer容器中,并设置分段存放,每一段大小为10M。完成后提交控制节点的用户名、密码和IP地址到答题框。

(1)controller

# 安装swiftiaas-install-swift-controller.sh# 创建examcontainer容器swift post examcontainer# 将cirros-0.3.4-x86_64-disk.img镜像上传到examcontainer容器中,设置分段存放,每一段大小为10Mswift upload examcontainer -S 10M cirros-0.3.4-x86_64-disk.img
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

(2)compute

# 安装swiftiaas-install-swift-compute.sh
  • 1.
  • 2.

10.Cinder安装与创建硬盘(1分)
​ 在控制节点和计算节点分别安装Cinder服务,请在计算节点,对块存储进行扩容操作。
​ 在控制节点和计算节点分别使用iaas-install-cinder-controller.sh、iaas-install-cinder-compute.sh脚本安装Cinder服务,请在计算节点,对块存储进行扩容操作,即在计算节点再分出一个5G的分区,加入到cinder块存储的后端存储中去。完成后提交计算节点的用户名、密码和IP地址到答题框。

(1)controller

# 安装cinderiaas-install-cinder-controller.sh
  • 1.
  • 2.

(2)comput

# 安装cinderiaas-install-cinder-compute.sh# 再分出一个5G的分区fdisk /dev/vdbnp+5Gw# 加入到cinder块存储的后端存储中pvcreate /dev/vdb4vgextend cinder-volumes /dev/vdb4vgs
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

安装完成后,使用浏览器访问OpenStack云平台,访问地址为: http://192.168.100.110/dashboard,domain为demo,用户名为admin,密码为000000。

本文由博客一文多发平台  OpenWrite 发布!