私有云服务运维(25)
二、 OpenStack 云平台运维、OpenStack 相关组件运维运维。
​ 应用系统迁移上云,云平台排错与系统优化

1.使用Heat模板创建用户(4分)
​ 编写Heat模板create_user.yaml,创建名为heat-user的用户。

​ 使用自己搭建的OpenStack私有云平台,使用heat编写摸板(heat_template_version: 2016-04-08)创建名为”chinaskills”的domain,在此domain下创建名为beijing_group的租户,在此租户下创建名为cloud的用户,将此文件命名及保存在/root/user_create.yml,完成后提交controller点的用户名、密码和IP地址到答题框。(竞赛系统会执行yaml文件,请确保执行的环境)

# 编写create_user.yaml
vi create_user.yaml
heat_template_version: 2016-04-08
resources:
  chinaskills:
    properties:
      name: chinaskills
      enabled: true
    type: OS::Keystone::Domain
  keystoneProject:
    properties:
      domain: {get_resource: chinaskills}
      name: beijing_group
    type: OS::Keystone::Project
  keystoneUser:
    properties:
      default_project: {get_resource: keystoneProject}
      name: cloud
      domain: {get_resource: chinaskills}
    type: OS::Keystone::User

# 测试
openstack stack create -t create_user.yaml heat-user
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

2.使用Heat模板创建网络(4分)
​ 在自行搭建的OpenStack私有云平台上,编写Heat模板文件,完成网络的创建。

​ 在自行搭建的OpenStack私有云平台上,在/root目录下编写Heat模板create_net.yaml,创建名为Heat-Network网络,选择不共享;创建子网名为Heat-Subnet,子网网段设置为10.20.2.0/24,开启DHCP服务,地址池为10.20.2.20-10.20.2.100。完成后提交控制节点的用户名、密码和IP地址到答题框。(在提交信息前请准备好yaml模板执行的环境)

# 编写create_net.yaml
vi create_net.yaml
heat_template_version: 2014-10-16
description: Generated template
resources:
  network_1:
    type: OS::Neutron::Net
    properties:
      admin_state_up: true
      name: Heat-Network
      shared: false
  subnet_1:
    type: OS::Neutron::Subnet
    properties:
      allocation_pools:
      - end: 10.20.2.100
        start: 10.20.2.10
      cidr: 10.20.2.0/24
      enable_dhcp: true
      host_routes: []
      ip_version: 4
      name: Heat-Subnet
      network_id:
        get_resource: network_1
        
# 测试
openstack stack create -t create_net.yaml test
  • 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.

3.Linux系统调优(4分)
修改系统配置文件,要求将回写磁盘的时间临时调整为60秒。
​ Linux系统内存中会存在脏数据,一般系统默认脏数据30秒后会回写磁盘,修改系统配置文件,要求将回写磁盘的时间临时调整为60秒。完成后提交controller节点的用户名、密码和IP地址到答题框。

# 修改回写磁盘的时间
vi /etc/sysctl.conf 
vm.dirty_expire_centisecs = 6000

# 刷新信息
sysctl -p
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

4.Glance调优(4分)
在OpenStack平台中,修改相关配置文件,将子进程数量相应的配置修改成2。
​ 在OpenStack平台中,glance-api处理请求的子进程数量默认是0,只有一个主进程,请修改相关配置文件,将子进程数量相应的配置修改成2,这样的话有一个主进程加2个子进程来并发处理请求。完成后提交控制节点的用户名、密码和IP地址到答题框。

# 将子进程数量相应的配置修改成2
vi /etc/glance/glance-api.conf 
workers = 2
  • 1.
  • 2.
  • 3.

5.Ceph部署(4分)
​ 使用提供的ceph-14.2.22.tar.gz软件包,在OpenStack平台上创建三台CentOS7.9系统的云主机,使用这三个节点安装ceph服务并完成初始化操作,第一个节点为mon/osd节点,第二、三个节点为osd节点,部署完ceph后,创建vms、images、volumes三个pool。完成后提交第一个节点的用户名、密码和IP地址到答题框。

准备:在OpenStack平台中,使用提供的CentOS7.9镜像创建3个云主机,flavor使用2vCPU/4G/40G硬盘+临时磁盘20G类型

(1)ceph-node1

# 修改主机名
hostnamectl set-hostname ceph-node1
bash

# 查看是否有20 GB的空闲硬盘
lsblk

# 修改域名解析
vi /etc/hosts
172.128.11.15  ceph-node1
172.128.11.26  ceph-node2
172.128.11.64  ceph-node3

# 上传ceph包,解压
tar -zxvf ceph-14.2.22.tar.gz -C /opt

# 移除原yum源
mv /etc/yum.repos.d/* /media/ 

# 配置yum源
vi /etc/yum.repos.d/ceph.repo 
[ceph]
name=ceph
baseurl=file:///opt/ceph
gpgcheck=0
enabled=1

# 下载ceph-deploy工具
yum -y install ceph-deploy

# 创建目录
mkdir /etc/ceph

# 进入创建的目录
cd /etc/ceph

# 创建一个集群
ceph-deploy new ceph-node1

# 使用ceph-deploy工具在所有节点上安装Ceph二进制软件包
ceph-deploy install ceph-node1 ceph-node2 ceph-node3 --no-adjust-repos

# 验证是否安装成功
ceph -v

# 安装mgr
ceph-deploy mgr create ceph-node1 ceph-node2 ceph-node3

# 检查集群的状态,这个时候Ceph集群并不处于健康状态
ceph -s

# 禁用不安全模式
ceph config set mon auth_allow_insecure_global_id_reclaim false

# 查看集群状态,集群是HEALTH_OK状态
ceph -s

# 开放权限给其他节点,进行灾备处理
ceph-deploy admin ceph-node{1,2,3}
chmod +r /etc/ceph/ceph.client.admin.keyring

# 创建vms、images、volumes三个pool
ceph osd pool create vms 8
ceph osd pool create images 8
ceph osd pool create volumes 8

# 列表Ceph存储池
ceph osd lspools
  • 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.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.

(2)ceph-node2

# 修改主机名
hostnamectl set-hostname ceph-node2
bash

# 验证是否安装成功
ceph -v
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

(3)ceph-node3

# 修改主机名
hostnamectl set-hostname ceph-node3
bash

# 验证是否安装成功
ceph -v
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

6.Glance对接Ceph存储(5分)
​ 修改OpenStack平台中Glance服务的配置文件,将Glance后端存储改为Ceph存储。

​ 在自己搭建的OpenStack平台中修改glance服务的相关配置文件,将glance后端存储改为ceph存储。也就是所以的镜像会上传至ceph的images pool中。通过命令使用cirros-0.3.4-x86_64-disk.img镜像文件上传至云平台中,镜像命名为cirros。完成后提交controller节点的用户名、密码和IP地址到答题框。

# Glance后端存储改为Ceph存储
vi /etc/glance/glance-api.conf
# 存储的类型格式
# stores = rbd
# 参数改成RDB
default_store = rbd
# 存储的大小
# rbd_store_chunk_size = 8
# 是ceph存储池的名称
rbd_store_pool = images
# 是ceph的用户名
rbd_store_user = glance
# 是ceph配置文件的路径
rbd_store_ceph_conf = /etc/ceph/ceph.conf

# 重启服务
systemctl restart openstack-glance*

# 上传镜像文件至openstack平台
openstack image create --disk-format qcow2 --min-disk 10 --min-ram 1024 --file cirros-0.3.4-x86_64-disk.img cirros
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

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