OpenStack服务Swift重启失效(已解决)

案例分析Swift重启失效

1. 报错详情

在重新启动 VMware 虚拟机后,我们发现 OpenStack 的 Swift 服务出现了 503 Service Unavailable 错误。经过排查,问题根源在于 Swift 服务所使用的存储挂载是临时挂载,而非永久挂载。

Swift 服务依赖于稳定的存储挂载来保证数据的一致性和持久性。在重新启动虚拟机之前,Swift 的存储节点使用了临时挂载的方式将存储设备挂载到了指定目录。这种方法在系统正常运行时是可行的,但在系统重启后,临时挂载的设置会被清除,导致存储设备无法自动挂载回原来的位置。因此,Swift 服务在尝试访问存储数据时找不到对应的挂载点,从而引发了 503 Service Unavailable 错误。

(1)swift服务正常状态如下
[root@controller ~]# swift statAccount: AUTH_8bde12ff804e42498661b7454994c446Containers: 0Objects: 0Bytes: 0X-Put-Timestamp: 1690507907.67931X-Timestamp: 1690507907.67931X-Trans-Id: tx56d22fa138ab45908caab-0064c31a82Content-Type: text/plain; charset=utf-8
X-Openstack-Request-Id: tx56d22fa138ab45908caab-0064c31a82

查看所有块设备

[root@compute ~]# lsblk
NAME                                            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                                               8:0    0  200G  0 disk
├─sda1                                            8:1    0    1G  0 part /boot
└─sda2                                            8:2    0   99G  0 part├─centos-root                                 253:0    0   50G  0 lvm  /├─centos-swap                                 253:1    0  3.9G  0 lvm  [SWAP]└─centos-home                                 253:2    0 45.1G  0 lvm  /home
sdb                                               8:16   0  100G  0 disk
├─sdb1                                            8:17   0   20G  0 part
│ ├─cinder--volumes-cinder--volumes--pool_tmeta 253:3    0   20M  0 lvm
│ │ └─cinder--volumes-cinder--volumes--pool     253:5    0   19G  0 lvm
│ └─cinder--volumes-cinder--volumes--pool_tdata 253:4    0   19G  0 lvm
│   └─cinder--volumes-cinder--volumes--pool     253:5    0   19G  0 lvm
├─sdb2                                            8:18   0   20G  0 part /swift/node/sdb2
└─sdb3                                            8:19   0   20G  0 part
sr0                                              11:0    1  4.4G  0 rom
(2)重启后报错如下
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# swift stat
Account HEAD failed: http://controller:8080/v1/AUTH_8bde12ff804e42498661b7454994c446 503 Service Unavailable
Failed Transaction ID: tx1bac2f2ee5fe45cda0125-0064c3c108
(3)日志如下
[root@controller ~]# tail -f /var/log/swift/*
tail: cannot open '/var/log/swift/*' for reading: No such file or directory
tail: no files remaining

查看所有块设备

[root@compute ~]# lsblk
NAME                                            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                                               8:0    0  200G  0 disk
├─sda1                                            8:1    0    1G  0 part /boot
└─sda2                                            8:2    0   99G  0 part├─centos-root                                 253:0    0   50G  0 lvm  /├─centos-swap                                 253:1    0  3.9G  0 lvm  [SWAP]└─centos-home                                 253:2    0 45.1G  0 lvm  /home
sdb                                               8:16   0  100G  0 disk
├─sdb1                                            8:17   0   20G  0 part
│ ├─cinder--volumes-cinder--volumes--pool_tmeta 253:3    0   20M  0 lvm
│ │ └─cinder--volumes-cinder--volumes--pool     253:5    0   19G  0 lvm
│ └─cinder--volumes-cinder--volumes--pool_tdata 253:4    0   19G  0 lvm
│   └─cinder--volumes-cinder--volumes--pool     253:5    0   19G  0 lvm
├─sdb2                                            8:18   0   20G  0 part
└─sdb3                                            8:19   0   20G  0 part
sr0                                              11:0    1  4.4G  0 rom
loop0                                             7:0    0   20G  0 loop /swift/node

2. 解决办法

实际上是因为脚本里面设置的是临时挂载,重启后会失效,只需要重新挂载即可

在swift-compute脚本里面查看脚本内容

echo "/dev/$OBJECT_DISK /swift/node xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab
mkdir -p /swift/node/$OBJECT_DISK
mount /dev/$OBJECT_DISK /swift/node/$OBJECT_DISK
scp $HOST_NAME:/etc/swift/*.ring.gz /etc/swift/
(1)计算节点重新挂载生效
[root@compute ~]# umount /swift/node/
[root@compute ~]# source /etc/openstack/openrc.sh
[root@compute ~]# mount /dev/$OBJECT_DISK /swift/node/$OBJECT_DISK
[root@compute ~]# lsblk
NAME                                            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                                               8:0    0  200G  0 disk
├─sda1                                            8:1    0    1G  0 part /boot
└─sda2                                            8:2    0   99G  0 part├─centos-root                                 253:0    0   50G  0 lvm  /├─centos-swap                                 253:1    0  3.9G  0 lvm  [SWAP]└─centos-home                                 253:2    0 45.1G  0 lvm  /home
sdb                                               8:16   0  100G  0 disk
├─sdb1                                            8:17   0   20G  0 part
│ ├─cinder--volumes-cinder--volumes--pool_tmeta 253:3    0   20M  0 lvm
│ │ └─cinder--volumes-cinder--volumes--pool     253:5    0   19G  0 lvm
│ └─cinder--volumes-cinder--volumes--pool_tdata 253:4    0   19G  0 lvm
│   └─cinder--volumes-cinder--volumes--pool     253:5    0   19G  0 lvm
├─sdb2                                            8:18   0   20G  0 part /swift/node/sdb2
└─sdb3                                            8:19   0   20G  0 part
sr0                                              11:0    1  4.4G  0 rom
(2)控制节点验证
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# swift statAccount: AUTH_8bde12ff804e42498661b7454994c446Containers: 0Objects: 0Bytes: 0X-Put-Timestamp: 1690509333.32481X-Timestamp: 1690509333.32481X-Trans-Id: txcc8962b244bb4ff397885-0064c32014Content-Type: text/plain; charset=utf-8
X-Openstack-Request-Id: txcc8962b244bb4ff397885-0064c32014

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/56251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

985研一学习日记 - 2024.10.11

偶尔一碗热鸡汤:一个人内耗,说明他活在过去;一个人焦虑,说明他活在未来。只有当一个人平静时,他才活在现在。 日常 1、6:00起床 √ 2、健身1h 今天练了肩部以及背,然后跑步半小时 3、LeetC…

Python环境搭建

Python环境搭建 1 安装Python 双击安装包 2 安装Pycharm 双击安装包,然后下一步 安装完成后重启电脑 3 破解Pycharm 启动Pycharm 破解 4 pycharm的基本配置 1.主题颜色 2. 文件语言编码 滚动鼠标滑轮ctrl,可以快速缩放文本字体大小。 控制台编码的格式&#x…

Qt - QMenu

QMenu 1、menu转string输出 //GlobalEnum.h #include <QObject> #include <QMetaEnum> class GlobalEnum : public QObject {Q_OBJECT public:EnumTest();enum Enum_Test{ZhangSan 0,WangWu,};Q_ENUM(Enum_Test) };#define EnumToString(e) \ QMetaEnum::fromTy…

Python异步编程:使用`asyncio.Semaphore`控制并发

Python异步编程&#xff1a;使用asyncio.Semaphore控制并发 1. 什么是asyncio.Semaphore&#xff1f;2. 为什么需要asyncio.Semaphore&#xff1f;3. 如何使用asyncio.Semaphore&#xff1f;3.1 基本用法3.2 信号量的工作原理3.3 动态调整信号量 4. 适用场景5. 总结 在Python的…

Qt初识_通过代码创建hello world

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 Qt初识_通过代码创建hello world 收录于专栏【Qt开发】 本专栏旨在分享学习Qt的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 1.通过按…

c语言库文件

c语言库文件 动态库动态库制作首先生成动态库文件名使用动态库编译动态库运行删除动态库1.sudo su 静态库静态库制作需要将源文件.c转换成二进制文件.o&#xff08;重定向文件&#xff09;将重定向文件打包成静态库文件使用静态库文件 静态库和动态库的区别 库文件的概念 我们将…

python-读写Excel:openpyxl-(1)基础操作之读写数据

目录 工作薄 创建/打开工作薄对象 获得默认sheet 工作表 创建工作表 删除工作表 获取表名 复制表 获取表对象 单元格 列号数字与字母转换 获取有效数据行和列 单元格对象获取 获取有效数据区域 获取指定行对象 value获取单元格数据值 修改及写入数据 插入或删…

C#里使用DataGridView来显示500万行数据

如果有500万行数据需要显示,大家肯定感觉很麻烦。 因为一次性地往列表里添加500万行数据,就需要很久的时间, 并且当滚动的时候就会更新比较慢。 有没有更好的方式呢? 其实可以采用虚拟列表的方式,也就是设置下面的方式: dataGridView1.VirtualMode = true; 这样列表…

老人桌面 1.3.5|专为老人设计的便捷实用桌面应用

老人桌面是一款专为老人设计的便捷实用桌面应用&#xff0c;具有超大字体设计&#xff0c;符合老人视力水平&#xff0c;撞色简洁的应用界面&#xff0c;拯救老人视觉体验。此外&#xff0c;还提供了常用的实用小工具&#xff0c;让老人能够轻松使用手机。 大小&#xff1a;5.…

vuefor循环动态展示图片不显示

问题代码如下 <div class"zjjc_list_bottom" v-for"(item, index) in zjjcList" :key"item.id"><img :src"./assets/left_blue_ (index 1) .png" alt""> </div> 理论来说是不会有问题&#xff0c;但…

An.如何在an中截取音频片段

如何在an中截取音频片段 在an动画制作过程中&#xff0c;部分片段需要插入音乐&#xff0c;如果想要插入一首歌曲的其中一小节&#xff0c;打开音频编辑软件操作就很麻烦&#xff0c;不妨直接在an中操作&#xff1a; 以这首节气歌为例&#xff0c;前奏太长需要剪掉前面的部分 …

图片/视频预览页面开发

使用到了vant-ui中的轮播组件、图片组件 数据结构示例&#xff1a; // type: 1图片 2视频 list: [{type: 1,url: adfdsfadsfasdf.png,},{type: 2,url: asdfasdfasdf.mp4,} ],item: {type: 1,url: adfdsfadsfasdf.png, },// utils/index.js/*** 图片/视频预览* param list* …

Spring Boot 整合 RocketMQ 之普通消息

前言&#xff1a; 在消息中间件领域中 RocketMQ 是一种非常常见的消息中间件了&#xff0c;并且是由阿⾥巴巴开源的消息中间件 &#xff0c;本篇简单分享一下 Spring Boot 项目集成 RocketMQ 的过程。 RocketMQ 系列文章传送门 RocketMQ 的介绍及核心概念讲解 Spring Boot …

WPF -- LiveCharts的使用和源码

LiveCharts 是一个开源的 .NET 图表库&#xff0c;特别适用于 WPF、WinForms 和其他 .NET 平台。它提供了丰富的图表类型和功能&#xff0c;使开发者能够轻松地在应用程序中创建动态和交互式图表。下面我将使用WPF平台创建一个测试实例。 一、LiveCharts的安装和使用 1.安装N…

VUE-鼠标移入到目标区域变成小手形状

工作中有个场景&#xff1a;当鼠标移动到某个区域时显示为“小手”状 其实这个东西特别简单&#xff0c;只是用的不多平常。 我们只需要给目标区域的style样式中加入【cursor: pointer;】这个鼠标就好了。 <span class"el-dropdown-link">下载 </span>…

软件测试与软件缺陷的基础知识

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

计算机视觉之可做什么

1、计算机视觉的应用 计算机视觉在我们生活中已经有了很广泛的应用&#xff0c;在我们可见、不可见&#xff1b;可感知、不可感知的地方&#xff0c;深深地影响了我们的生活、生产方式。 日常生活&#xff1a;美颜相机、火车站刷脸进站、线上办理业务的身份认证、自动驾驶等等…

供应链PC实操落地实践|得物技术

目录 一、背景 二、实操模式 三、快捷码设计和使用 1. 快捷码布局 2. 快捷码的准确识别 3. 快捷码的高亮反馈 4. 快捷码打印和黏贴建议 四、问题复盘 1. 基准体验的梳理 五、实操环境检测 1. 实操环境的安装和配置 2. 实操环境检测能力的使用流程 3. 实操检测能力的技术架构 4.…

Vue 3 数组变更详解:哪些操作会修改原数组?| 笔记

Vue 3 使用 Proxy 来侦测响应式对象的变化&#xff0c;数组作为常用数据类型&#xff0c;自然也被 Vue 3 自动侦测和管理。在处理数组时&#xff0c;了解哪些操作会修改原数组&#xff0c;哪些操作不会修改原数组&#xff0c;对高效编写 Vue 应用程序至关重要。 本文将详细介绍…

LeetCode 面试经典150题 Z字形变换

题目&#xff1a; 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时&#xff0c;排列如下&#xff1a; P A H N A P L S I I G Y I R 之后&#xff0c;你…