当前位置: 首页 > news >正文

云计算-OpenStack 实战运维:从组件配置到故障排查(含 RAID、模板、存储管理,网络、存储、镜像、容器等)

介绍

在云计算技术快速发展的背景下,OpenStack 作为开源的云计算管理平台,凭借其灵活性、可扩展性和强大的组件生态,成为构建私有云、公有云和混合云的重要选择。无论是云主机的创建与管理、存储方案的配置(如 RAID 阵列、Swift 对象存储、Cinder 块存储),还是网络编排、权限控制、性能调优等,都是 OpenStack 运维与实践中的核心环节。

本文基于实际操作场景,汇总了 OpenStack 私有云平台的一系列关键实战操作,涵盖了从基础组件配置(如 Heat 模板编写、云主机与网络创建)到进阶功能实现(存储后端切换、参数调优),再到故障排查与日常管理(如快照处理、容器部署、权限控制)等多个维度。内容包含详细的命令步骤、配置示例及验证方法,旨在为 OpenStack 初学者提供入门指引,同时也为有经验的运维人员提供一份实用的操作参考手册,助力快速解决实际场景中的技术问题。

1.Raid磁盘阵列管理

在OpenStack私有云平台,创建一台云主机(镜像使用CentOS7.5,flavor可自定义),并创建一个40G大小的cinder块存储,将块存储连接到云主机,然后在云主机上对云硬盘进行操作。要求分出4个大小为5G的分区,使用这4个分区,创建名为/dev/md5、raid级别为5的磁盘阵列加一个热备盘(/dev/vdb4为热备盘)。

 [root@controller ~]# openstack volume create --size 40 1    #1是卷名字
         [root@controller ~]# openstack server add volume test 1   #tet云主机名字
         
         [root@test ~]# mdadm -Cv /dev/md5 -l 5 -n 3 /dev/vdb1 /dev/vdb2 /dev/vdb3 -x 1 /dev/vdb4
         [root@test ~]# mdadm -D /dev/md5   #mdadm -D:功能 (显示RAID组详细信息)
         
         mdadm -S /dev/md5 #停止阵列
 /dev/md5:
            Version : 1.2
      Creation Time : Mon Aug 16 12:21:50 2025
         Raid Level : raid5
         Array Size : 10475520 (9.99 GiB 10.73 GB)
      Used Dev Size : 5237760 (5.00 GiB 5.36 GB)
       Raid Devices : 3
      Total Devices : 4
        Persistence : Superblock is persistent
 ​
        Update Time : Mon Aug 16 12:21:58 2021
              State : clean, degraded, recovering 
     Active Devices : 2
    Working Devices : 4
     Failed Devices : 0
      Spare Devices : 2
 ​
             Layout : left-symmetric
         Chunk Size : 512K
 ​
 Consistency Policy : resync
 ​
     Rebuild Status : 8% complete
 ​
               Name : test.novalocal:5  (local to host test.novalocal)
               UUID : 3238632c:7ab29c46:abb35387:c00bbaf5
             Events : 2
 ​
     Number   Major   Minor   RaidDevice State
        0     253       17        0      active sync   /dev/vdb1
        1     253       18        1      active sync   /dev/vdb2
        4     253       19        2      spare rebuilding   /dev/vdb3
 ​
        3     253       20        -      spare   /dev/vdb4
 ​

2.Raid使用场景

RAID5是一种存储性能、数据安全和存储成本兼顾的解决方案,RAID5需要3块或者以上的物理磁盘,可以提供热备盘显现故障的恢复;采用奇偶校验,可靠性强,且只有损坏两块硬盘时数据才会完全损坏,只损坏一块盘时,系统会根据存储的奇偶校验位重建数据,临时提供服务,此时如果有热备盘,系统还会自动在热备盘重建故障磁盘上的数据

     RAID5使用的场景:
RAID5可以理解为RAID0和RAID5的折中方案。适合对性能和冗余都有一定的要求,又不是十分高的情况,比如MySQL的主从库、存储等。普通服务器为了减少维护成本,又保持一定冗余和读性能都可以做RAID5.
    
    -C     ##建立
    -a    ##文件不存在建立文件
    -l    ##raid级别
    -n    ##设备个数
    -x    ##闲置设备个数
    
LVM管理:
lvm     逻辑卷,可以让设备自由伸缩的一个设备管理软件
pv     物理卷
vg      物理卷组
pe      物理拓展,lvm最小的存储单元

***********************************************************************************
创建volume卷时报错error解决:
运行一些增加卷的命令到实例中去,会报错,说volume的状态是error,不能操作。

我们首先进入mysql数据库,选择cinder数据库,更改表volume。操作如下:

MariaDB [(none)]> use cinder;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
MariaDB [cinder]> show tables;
| volume_types               |
| volumes                    |
| workers                    |
+----------------------------+
35 rows in set (0.00 sec)
更新volumes表

MariaDB [cinder]> UPDATE volumes SET status= 'available' WHERE status = 'error';
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3  Changed: 3  Warnings: 0 查看卷的状态,变成available了。
 

4.heat模板管理

heat_template_version : 必须,指定模板语法的版本,除了可以指定日期的格式,还可以直接指定 openstack 的版本, 如 rocky description : 可选,描述信息 parameter_groups : 可选,指明输入参数该如何分组以及参数传入的顺序 parameters : 可选, 定义输入参数 resources : 必须,定义模板资源 outputs : 可选,定义输出参数 conditions : 可选,用来控制一个资源什么情况下可以被创建

模板解释:

  • heat_template_version 在网页路径“项目-编排-模板版本”中选一个日期作为值

  • resources-type 在网页路径“项目-编排-资源类型”中选择和题意相符的类型

  • resources-具体参数 在在网页路径“项目-编排-资源类型”中点进具体的type中的下面一块属性中有参数以及类型

  • outputs-value 在在网页路径“项目-编排-资源类型”中点进具体的type中的上面一块属性中有参数以及类型,为选填类型


4.1.heat创建用户

在自行搭建的 OpenStack 私有云平台或赛项提供的 all-in-one 平台上,在/root 目录下编写 Heat 模板 create_user.yaml,创建名为 heat-user 的用户,属于 admin 项目,并赋予 heat-user用户 admin 的权限,配置用户密码为 123456。

 [root@controller ~]#iaas-install-heat.sh
 ​
 [root@controller ~]# cat create_user.yaml 
 heat_template_version: 2014-10-16
 resources:
   user:
     type: OS::Keystone::User
     properties:
       name: heat-user
       password: "123456"
       domain: demo
       default_project: admin
       roles: [{"role": admin, "project": admin}]
       
       
 [root@controller ~]#openstack stack create -t user_create.yaml heat_user1
       

4.2.heat创建flavor类型

在openstack私有云平台上,在/root目录下编写模板server.yaml,创建名为“m1.flavor”、 ID 为 1234、内存为1024MB、硬盘为20GB、vcpu数量为 1的云主机类型。

 [root@controller ~]# cat server.yaml 
 heat_template_version: 2014-10-16    #heat_template_version
 resources:     #资源:
   nova_flavor:  
     type: OS::Nova::Flavor  #
     properties:   #属性:##类型
       name: m1.flavor
       disk: 20
       is_public: True   #设置共享,默认的
       ram: 1024
       vcpus: 1
       flavorid: 1234  
 [root@controller ~]# openstack stack create -t server.yaml test   
 [root@controller ~]# openstack flavor list
 +------+-----------+------+------+-----------+-------+-----------+
 | ID   | Name      |  RAM | Disk | Ephemeral | VCPUs | Is Public |
 +------+-----------+------+------+-----------+-------+-----------
http://www.dtcms.com/a/328998.html

相关文章:

  • PLM产品管理系统有什么功能模块?PLM系统核心功能模块解析
  • WPS文字和Word文档如何选择多个不连续的行、段
  • rk3588 ubuntu20.04安装包经常出现的问题总结(chatgpt回复)
  • 疏老师-python训练营-Day44预训练模型
  • 【leetcode】55. 跳跃游戏1
  • 阿里云Anolis OS 8.6的公有云仓库源配置步骤
  • Python uv的使用和配置
  • 联网车辆功能安全和网络安全的挑战与当前解决方案
  • TraeCN与Cursor对比分析:双雄争锋下的AI编程工具演进之路
  • 河南萌新联赛2025第(五)场:信息工程大学”
  • 弹性扩展新范式:分布式LLM计算的FastMCP解决方案
  • 卷积神经网络(CNN):卷积和池化
  • 一周学会Matplotlib3 Python 数据可视化-绘制热力图(Heatmap)
  • Date/Calendar/DateFormat/LocalDate
  • 分段锁和限流的间接实现
  • Mundi.ai: AI原生GIS
  • 无障碍为什么会读取data-fileid属性,而不读取aria-label属性
  • 【Java虚拟机】JVM内存模型
  • OpenCV常见问题汇总
  • XML头部声明发送者信息的实现方法
  • k8s基本概念
  • vue3:customRef 自定义ref
  • 深度学习模型实现高效公平调度-MU-MIMO场景
  • 面试实战 问题二十九 Java 值传递与引用传递的区别详解
  • 解决Vscode每次连接ssh登入需要输入密码问题(免密登入)
  • NLP自然语言处理: FastText工具与迁移学习基础详解
  • Maven配置Docker插件推送至远程私有仓库
  • 【论文笔记】DOC: Improving Long Story Coherence With Detailed Outline Control
  • Linux应用软件编程---UI技术(frambuffer、内存映射、函数封装、打印各类图形)
  • 数据结构初阶(12)排序算法—插入排序(插入、希尔)(动图演示)