云计算-私有云-私有云服务搭建
私有云
一、私有云服务搭建(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 发布!


