ceph-iscsi 手动安装过程中的一些问题记录以及解决办法

2024-09-04 19:12

本文主要是介绍ceph-iscsi 手动安装过程中的一些问题记录以及解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ceph-iscsi 手动安装教程

安装教程,建议直接看官方文档,猛戳传送门。官方教程是英文版的(不知道有没有中文版),都是一些基础英语,问题不大,实在不行找个翻译软件帮帮忙,哈哈哈。

多啰嗦一点,官方教程里面全部是通过git 一个一个安装的,比较麻烦。可以使用如下命令,比较省事(以ubuntu系统作为示例):
`sudo apt update // 更新apt 数据库

sudo apt -y install targetcli-fb // 安装targetcli-fb`
以上命令,会安装RTSLIB-FB,CONFIGSHELL-FB,TARGETCLI-FB

还有一点需要注意,安装教程安装tcmu-runner,也出错了。报‘TODO: distro not supported for now!’错误,说我使用的发行分支(ubuntu 20.04)不被支持。没办法,人家不支持,不能使用源码安装了。直接使用apt安装,命令如下:

sudo apt-get -y install tcmu-runner

安装ceph-iscsi

关键的来了,安装ceph-iscsi 这个没有其他办法(或者是我没有找到),只有按照教程来。操作步骤如下:

git clone https://github.com/ceph/ceph-iscsi.git
cd ceph-iscsi
python setup.py install --install-scripts=/usr/bin
cp usr/lib/systemd/system/rbd-target-gw.service /lib/systemd/system
cp usr/lib/systemd/system/rbd-target-api.service /lib/systemd/system

上面这些命令,都很顺利。但是启动的时候启动出了问题,也就是执行 systemctl start rbd-target-gw 这句命令的时候。错误如下(使用systemctl status rbd-target-gw查看服务状态):
安装rbd-target-gw报错
也在网上查了下 “Failed to start Setup system to export rbd image through LIO”错误。相关帖子到是有,不过都是时间久远且没有结贴的(emmmmm).
那就自己来吧。任何问题都会留下蛛丝马迹,我们从日志开始吧。journalctl是个好工具,我挺喜欢的。排查错误原因示例如下(日志太多了,使用这句 journalctl |grep rbd-target-gw 过滤下关键日志):
在这里插入图片描述
找到rbd-target-gw服务启动失败的原因了,缺失了python 库flask。原因找了,那么就解决它。执行如下命令:
先安装pip,命令:apt install python3-pip(如果已经有了,跳过这步):
在这里插入图片描述
pip安装好了后,接着安装flask库(命令:pip install flask):
在这里插入图片描述

安装完毕后,仔细检查下面这些库是否已经安装:
在这里插入图片描述
这些库都是必须安装的,否则rbd-target-gw服务会有问题。(例如:flask库没有安装,rbd-target-gw服务无法启动)。
安装完所有的依赖库后,重启下操作系统(为什么要重启,我还不知道原因。不重启的话,rbd-target-gw也无法正常启动),一切就正常了。
下面是rbd-target-gw服务启动成功后的样子:
在这里插入图片描述
由于本人水平有限,如有错误的地方欢迎指正.
与君共勉

这篇关于ceph-iscsi 手动安装过程中的一些问题记录以及解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136784

相关文章

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss