节点 | IP | controller | 192.168.100.10 | compute | 192.168.100.20 | 私有云部分
1、私有云服务搭建
1.1 根本情况配置(0.2分)
使用提供的用户名密码,登录提供的OpenStack私有云平台,在当前租户下,使用CentOS7.9镜像,创建两台云主机,云主机类型使用4vCPU/12G/100G_50G类型。当前租户下默认存在一张网卡,自行创建第二张网卡并连接至controller和compute节点(第二张网卡的网段为10.10.X.0/24,X为工位号,不需要创建路由)。自行检查安全组计谋,以确保网络正常通讯与ssh连接,然后按以下要求配置服务器:
(1)设置控制节点主机名为controller,设置计算节点主机名为compute;
(2)修改hosts文件将IP地点映射为主机名;
完成后提交控制节点的用户名、密码和IP地点到答题框。
此处两个节点都需要修改(IP自行配置)!!!
- [root@controller ~]# hostnamectl set-hostname controller
- [root@compute ~]# hostnamectl set-hostname compute
- vi /etc/selinux/config
- SELINUX=disable # enable修改成disable
- vi /etc/hosts
- 控制节点IP controller
- 计算节点IP compute
- 检查有没有防火墙跟iptables,有的话需要关闭,没有不用理会
- systemctl stop firewalld
- systemctl disable firewalld
- iptables -F
- iptables -X
- iptables -Z
- service iptables save
复制代码 1.2 Yum源配置(0.2分)
使用提供的http服务地点,在http服务下,存在centos7.9和iaas的网络yum源,使用该http源作为安装iaas平台的网络源。分别设置controller节点和compute节点的yum源文件http.repo。完成后提交控制节点的用户名、密码和IP地点到答题框。
- [root@controller ~]# mv /etc/yum.repos.d/* /media
- [root@controller ~]# vi /etc/yum.repos.d/http.repo
- [centos]
- name=centos
- baseurl=http://IP/centos
- gpgcheck=0
- enabled=1
- [iaas]
- name=iaas
- baseurl=http://IP/iaas/iaas-repo
- gpgcheck=0
- enabled=1
- [root@controller ~]# scp /etc/yum.repos.d/http.repo root@compute:/etc/yum.repos.d/http.repo
复制代码 1.3 配置无秘钥ssh(0.2分)
配置controller节点可以无秘钥访问compute节点,配置完成后,实验ssh连接compute节点的hostname举行测试。完成后提交controller节点的用户名、密码和IP地点到答题框。
- [root@controller ~]# ssh-keygen
- [root@controller ~]# ssh-copy-id root@compute
- [root@controller ~]# ssh root@compute
复制代码 1.4 根本安装(0.2分)
在控制节点和计算节点上分别安装openstack-iaas软件包。
在控制节点和计算节点上分别安装openstack-iaas软件包,根据表2配置两个节点脚本文件中的根本变量(配置脚本文件为/etc/openstack/openrc.sh)。
此处自行配置
1.5 数据库安装与调优(0.5分)
在controller节点上使用iaas-install-mysql.sh 脚本安装Mariadb、Memcached、RabbitMQ等服务。安装服务完毕后,修改/etc/my.cnf文件,完成下列要求:
1.设置数据库支持大小写;
2.设置数据库缓存innodb表的索引,数据,插入数据时的缓冲为4G;
3.设置数据库的log buffer为64MB;
4.设置数据库的redo log大小为256MB;
5.设置数据库的redo log文件组为2。
完成后提交控制节点的用户名、密码和IP地点到答题框。
- [root@controller ~]# iaas-install-mysql.sh
- [root@controller ~]# vi /etc/my.cnf
- # 在[mysqld]字段下添加以下内容
- lower_case_table_names = 1
- innodb_buffer_pool_size = 4G
- innodb_log_buffer_size = 64MB
- innodb_log_file_size = 256MB
- innodb_log_files_in_group = 2
- [root@controller ~]# systemctl restart mysqld
复制代码 1.6 Keystone服务安装与使用(0.5分)
在控制节点上安装Keystone服务并创建用户。
在controller节点上使用iaas-install-keystone.sh脚本安装Keystone服务。
然后创建OpenStack域210Demo,此中包罗Engineering与Production项目,在域210Demo中创建组Devops,此中需包罗以下用户:
1.Robert用户是Engineering项目标用户(member)与管理员(admin),email地点为:Robert@lab.example.com。
2.George用户是Engineering项目标用户(member),email地点为:George@lab.example.com。
3.William用户是Production项目标用户(member)与管理员(admin),email地点为:William@lab.example.com。
4.John用户是Production项目标用户(member),email地点为:John@lab.example.com。
完成后提交控制节点的用户名、密码和IP地点到答题框。
- [root@controller /]# iaas-install-keystone.sh
- [root@controller /]# source /etc/keystone/admin-openrc.sh
- [root@controller /]# openstack domain create 210Demo
- [root@controller /]# openstack project create Engineering --domain 210Demo
- [root@controller /]# openstack project create Production --domain 210Demo
- [root@controller /]# openstack group create Devops --domain 210Demo
- [root@controller /]# openstack user create Robert --domain 210Demo --project Engineering --email Robert@lab.example.com
- [root@controller /]# openstack user create George --domain 210Demo --project Engineering --email Robert@lab.example.com
- [root@controller /]# openstack user create William --domain 210Demo --project Production --email William@lab.example.com
- [root@controller /]# openstack user create John --domain 210Demo --project Production --email John@lab.example.com
- [root@controller /]# openstack role add member --user Robert --project Engineering
- [root@controller /]# openstack role add admin --user Robert --project Engineering
- [root@controller /]# openstack role add member --user George --project Engineering
- [root@controller /]# openstack role add member --user William --project Production
- [root@controller /]# openstack role add admin --user William --project Production
- [root@controller /]# openstack role add member --user John --project Production
复制代码 1.7 Glance安装与使用(0.5分)
在控制节点上安装Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。
在controller节点上使用iaas-install-glance.sh脚本安装glance服务。然后使用提供的coreos_production_pxe.vmlinuz镜像(该镜像为Ironic Deploy镜像,是一个AWS内核格式的镜像,在OpenStack Ironic裸金属服务时需要用到)上传到OpenStack平台中,命名为deploy-vmlinuz。完成后提交控制节点的用户名、密码和IP地点到答题框。
- [root@controller ~]# iaas-install-glance.sh
- [root@controller ~]# source /etc/keystone/admin-openrc.sh
- [root@controller ~]# glance image-create --name cirros --min-disk 10 --min-ram 1024 --disk-format qcow2 --container-format bare --file cirros-0.3.4-x86_64-disk.img
- [root@controller ~]# openstack image list
复制代码 1.8 Nova安装与优化(0.5分)
在控制节点和计算节点上分别安装Nova服务。安装完成后,完成Nova相关配置。
在controller节点和compute节点上分别使用iaas-install-placement.sh脚本、iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova服务。在OpenStack中,修改相关配置文件,修改调度器规则采用缓存调度器,缓存主机信息,提升调度时间。配置完成后提交controller点的用户名、密码和IP地点到答题框。
- [root@controller /]# iaas-install-placement.sh
- [root@controller /]# iaas-install-nova-controller
- [root@compute ~]# iaas-install-nova-compute.sh
- [root@controller /]# vim /etc/nova/nova.conf
- # 输入:4501跳转到driver
- driver =caching_scheduler
复制代码 1.9 Neutron安装(0.2分)
在控制和计算节点上正确安装Neutron服务。
使用提供的脚本iaas-install-neutron-controller.sh和iaas-install-neutron-compute.sh,在controller和compute节点上安装neutron服务。完成后提交控制节点的用户名、密码和IP地点到答题框。
- [root@controller ~]# iaas-install-neutron-controller.sh
- [root@compute ~]# iaas-install-neutron-compute.sh
复制代码 1.10 Dashboard安装(0.5分)
在控制节点上安装Dashboard服务。安装完成后,将Dashboard中的 Django数据修改为存储在文件中。
在controller节点上使用iaas-install-dashboad.sh脚本安装Dashboard服务。安装完成后,修改相关配置文件,完成下列两个操纵:
1.使得登录Dashboard平台的时候不需要输入域名;
2.将Dashboard中的Django数据修改为存储在文件中。
完成后提交控制节点的用户名、密码和IP地点到答题框。
- [root@controller ~]# iaas-install-dashboard.sh
- [root@controller ~]# vim /etc/openstack-dashboard/local_settings
- SESSION_ENGINE = 'django.contrib.sessions.backends.file' # 最后改为file
- OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = False # Ture改为False
- [root@controller ~]# systemctl restart httpd memcached.service
复制代码 1.11 Swift安装(0.5分)
在控制节点和计算节点上分别安装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地点到答题框。
- [controller]
- [root@controller ~]# iaas-install-swift-controller.sh
- [compute]
- [root@compute ~]# iaas-install-swift-compute.sh
- [controller]
- [root@controller ~]# swift post examcontainer
- [root@controller ~]# swift upload -S 10M examcontainer cirros-0.3.4-x86_64-disk.img
复制代码 1.12 Cinder创建硬盘(0.5分)
在控制节点和计算节点分别安装Cinder服务,请在计算节点,对块存储举行扩容操纵。
在控制节点和计算节点分别使用iaas-install-cinder-controller.sh、iaas-install-cinder-compute.sh脚本安装Cinder服务,请在计算节点,对块存储举行扩容操纵,即在计算节点再分出一个5G的分区,参加到cinder块存储的后端存储中去。完成后提交计算节点的用户名、密码和IP地点到答题框。
- [controller]
- [root@controller ~]# iaas-install-cinder-controller.sh
- [compute]
- [root@compute ~]# iaas-install-cinder-compute.sh
- [root@compute ~]# fdisk /dev/vdb
- 第四个分区+5G
- [root@compute ~]# pvcreate /dev/vdb4
- [root@compute ~]# vgs
- [root@compute ~]# vgextend cinder-volumes /dev/vdb4
复制代码 1.13 KVM调优(0.5分)
在自行搭建的OpenStack私有云平台或赛项提供的all-in-one平台上,修改相关配置文件,启用-device virtio-net-pci in kvm,配置完成后提交控制节点的用户名、密码和IP地点到答题框。
- [root@controller ~]# vim /etc/nova/nova.conf
- --libvirt_use_virtio_for_bridges=true #新增,注意,前面有两个短横
复制代码 2、私有云服务运维
2.1 Keystone优化-优化token失效时间(1分)
openstack api server在处置惩罚请求前会校验token是否正当,除了校验token是否逾期,同时还校验token是否在token失效列表里面;这个token失效列表会在本地缓存,如果逾期,则会去keystone重新获取,在并发的时候,keystone会成为瓶颈点。请修改相关配置,将Keystone的失效列表缓存时间增长到原来的两倍。配置完成后提交controller节点的用户名、密码和IP地点到答题框。
- [root@controller ~]# vim /etc/keystone/keystone.conf
- cache_time = 7200 #去掉注释,将默认的3600改成7200
复制代码 2.2 Nova调度器管理(1分)
在controller节点和compute节点上分别使用iaas-install-placement.sh脚本、iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova服务。在OpenStack中,默认调度器有三种,修改相关配置文件,修改调度器规则为会将VM放置到load最低的节点上的调度器。配置完成后提交controller点的用户名、密码和IP地点到答题框。
- [rootacontroller ~]# vim /etc/nova/nova.conf
- driver=simple_scheduler
复制代码 2.3 Nova资源优化(1分)
在OpenStack中,默认的CPU超配比例是1:16,内存超配比例是1:1.5。当宿主机使用swap交换分区来为虚拟机分配内存的时候,则虚拟机的性能将急速下降。生产情况上一般不建议开启内存超售(建议配置比例1:1)。请编辑nova.conf文件,将内存预留量配置为4GB,包管该部分内存不能被虚拟机使用。配置完成后提交改动节点的用户名、密码和IP地点到答题框。
- [root@controller ~]# vim /etc/nova/nova.conf
- reserved_host_memory_mb=4096 #去掉注释,将512改4096
复制代码 2.4 Nova安装与优化-优化数据库连接(1分)
在controller节点和compute节点上分别使用iaas-install-placement.sh脚本、iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova服务。当并发业务处置惩罚,需要连接数据库,并发度高的时候,提示数据库连接凌驾了上限 。解决思路:调整各组件的数据库连接数配置,下面通过修改nova相关配置文件,修改连接池大小和最大允许超出的连接数为10。配置完成后提交controller点的用户名、密码和IP地点到答题框。
- [root@controller ~]# vim /etc/nova/nova.conf
- max_pool_size=10 #去掉注释,将<None>改10
- max_overflow=10 #去掉注释,将<None>改10
复制代码 2.5 OpenStack镜像压缩(1分)
使用自行搭建的OpenStack平台。在HTTP服务中存在一个镜像为CentOS7.5-compress.qcow2的镜像,请使用qemu相关下令,对该镜像举行压缩,压缩后的镜像命名为chinaskill-js-compress.qcow2并存放在/root目录下。完成后提交controller点的用户名、密码和IP地点到答题框。
- [root@controller ~]# qemu-img convert -c -O qcow2 CentOS7.5-compress.qcow2 chinaskill-js-compress.qcow2
复制代码 3、私有云运维开发
3.1 编写Shell脚本备份数据库(1分)
在OpenStack私有云平台,创建一台云主机,编写脚本,要求可以完成数据库的定期备份,并把数据库备份文件存放在/opt目录下,生存文件名为mysql.sql。完成后提交节点的IP地点、用户名和密码到答题框。
- [root@controller ~]# vim mysqlbak.sh
- #!/bin/bash
- backup_dir="/opt"
- backup_file="$backup_dir/mysql.sql"
- mysqldump -uroot -p000000 --all-databases > $backup_file
- [root@controller ~]# chmod +x /root/mysqlbak.sh
- [root@controller ~]# crontab -e
- 0 * * * * /root/mysqlbak.sh
- [root@controller ~]# ./mysqlbak.sh
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |