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

Ceph篇之利用shell脚本实现批量创建bucket桶

Ceph创建bucket桶

在 Ceph 中创建桶(bucket)需要使用 Ceph 对象网关(RGW)。
请添加图片描述
注:如果查看shell批量创建脚本请直接参见目录3

1. 利用radosgw-admin工具创建桶

确保 Ceph 集群和对象网关已正确配置
确保你的 Ceph 集群已安装并配置了 RADOS 网关(RGW)。
对象网关是 Ceph的对象存储接口,可以通过 S3 或 Swift API 访问。

创建一个用户(如果还没有用户的话)
如果你还没有创建用户,可以使用 radosgw-admin 工具创建一个用户。用户通常用于管理桶。

radosgw-admin user create --uid=<username> --display-name="User Display Name"

例如:

radosgw-admin user create --uid=johndoe --display-name="John Doe"

使用 radosgw-admin 工具创建桶:

使用 radosgw-admin 工具创建桶。以下命令可以帮助你创建一个新的桶:

radosgw-admin bucket create --bucket=<bucket-name> --user=<username>

例如:

radosgw-admin bucket create --bucket=mybucket --user=johndoe

验证桶的创建:
你可以使用 radosgw-admin bucket stats 命令来检查桶的状态和信息。

radosgw-admin bucket stats --bucket=<bucket-name>

例如:

radosgw-admin bucket stats --bucket=mybucket

2. 利用s3cmd创建ceph的bucket桶

通过 S3 或 Swift API 访问桶:
你也可以通过 S3 或 Swift API 来管理桶和对象,这需要你配置好相应的访问权限和认证信息。

前提条件: 需要利用s3cmd服务关联存储服务,
详情可参考这篇文章:https://blog.csdn.net/xu710263124/article/details/141229039?spm=1001.2014.3001.5501

// 创建桶:
s3cmd mb s3://my-bucket-name

3. 利用shell脚本直接批量创建bucket桶并开放公共读取权限

前提条件: 需要利用s3cmd服务关联存储服务,
详情可参考这篇文章:https://blog.csdn.net/xu710263124/article/details/141229039?spm=1001.2014.3001.5501

实现方式如下:

1、编译需要创建的桶名称

vim buckets.txt

例如:

bucket1
bucket2

2、脚本内容

vim create_buckets.sh

注意事项:

这里需要注意两个变量:

  1. 修改S3CMD_CONFIG为自己的路径地址
  2. 修改BUCKETS_FILE为自己的路径地址
#!/bin/bash# 配置 s3cmd 的配置文件路径
S3CMD_CONFIG="/path/to/.s3cfg"# 桶名称文件路径
BUCKETS_FILE="buckets.txt"# 检查桶名称文件是否存在
if [ ! -f "$BUCKETS_FILE" ]; thenecho "桶名称文件 $BUCKETS_FILE 不存在。"exit 1
fi# 读取每一行,并创建桶
while IFS= read -r bucket_name; doif [ -z "$bucket_name" ]; thencontinue  # 跳过空行fi# 创建桶echo "创建桶: $bucket_name"s3cmd mb "s3://$bucket_name" --config="$S3CMD_CONFIG"if [ $? -ne 0 ]; thenecho "创建桶 $bucket_name 失败。"continuefi# 设置公共读取权限echo "设置公共读取权限: $bucket_name"s3cmd setacl "s3://$bucket_name" --acl-public --config="$S3CMD_CONFIG"if [ $? -ne 0 ]; thenecho "设置桶 $bucket_name 公共读取权限失败。"elseecho "桶 $bucket_name 创建成功,并设置为公共读取。"fidone < "$BUCKETS_FILE"

赋权

chmod +x  create_buckets.sh

执行

sh create_buckets.sh

输出结果如下:
在这里插入图片描述

相关文章:

Ceph篇之利用shell脚本实现批量创建bucket桶

Ceph创建bucket桶 在 Ceph 中创建桶&#xff08;bucket&#xff09;需要使用 Ceph 对象网关&#xff08;RGW&#xff09;。 注&#xff1a;如果查看shell批量创建脚本请直接参见目录3 1. 利用radosgw-admin工具创建桶 确保 Ceph 集群和对象网关已正确配置 确保你的 Ceph 集群…...

周末总结(2024/08/17)

工作 人际关系核心实践&#xff1a; 要学会随时回应别人的善意&#xff0c;执行时间控制在5分钟以内 坚持每天早会打招呼 遇到接不住的话题时拉低自己&#xff0c;抬高别人(无阴阳气息) 朋友圈点赞控制在5min以内&#xff0c;职场社交不要放在5min以内 职场的人际关系在面对利…...

SQL高级编程:掌握自定义函数和过程的艺术

标题&#xff1a;SQL高级编程&#xff1a;掌握自定义函数和过程的艺术 在SQL的世界里&#xff0c;数据操作不仅仅局限于简单的查询和更新。通过自定义函数&#xff08;User-Defined Functions, UDFs&#xff09;和存储过程&#xff08;Stored Procedures&#xff09;&#xff…...

python监听环境内是否有声音

python监听环境内是否有声音 首先使用pyaudio打开麦克风&#xff0c;并开始录音。然后使用一个while循环来不断读取麦克风录取的音频数据&#xff0c;然后使用numpy来分析音频数据是否有声音。当检测到有声音时&#xff0c;会打印"有声音"并退出循环。最后关闭录音流…...

合并两个有序链表--力扣

题目如下: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例如下: 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff1a; 输入&#xff1a;l1 [], l2 …...

【自用】Python爬虫学习(三):图片下载、使用代理、防盗链视频下载、多线程与多进程

Python爬虫学习&#xff08;三&#xff09; 使用BeautifulSoup解析网页并下载图片模拟用户登录处理使用代理视频下载&#xff0c;防盗链的处理多线程与多进程 使用BeautifulSoup解析网页并下载图片 目的&#xff1a;对某网站的某个专栏页面的图片进行下载得到高清图。 思路&am…...

#Datawhale AI夏令营第4期#AIGC方向Task3

在之前的任务中&#xff0c;我们已经对baseline进行了精读&#xff0c;并生成了&#xff0c;我们自己的八图故事。 在Task3中&#xff0c;我们的主要任务有两个&#xff1a;part1&#xff1a;工具初探一ComfyUI应用场景探索&#xff1b;Part2&#xff1a;Lora微调。 微调是一…...

【docker综合篇】关于我用docker搭建了6个应用服务的事

最近一直在捣鼓docker&#xff0c;利用测试服务器&#xff0c;本着犯错就重来(重装系统)的大无畏精神&#xff0c;不断尝试&#xff0c;总结经验&#xff0c;然后在网上搜寻一些关于docker有关的服务镜像&#xff0c;并搭建起来。看着一个个服务在我的服务器跑起来&#xff0c;…...

【sgCreateAPIFunction】自定义小工具:敏捷开发→自动化生成API接口方法代码片段脚本(接口方法代码生成工具)

sgCreateAPIFunction源码 <template><!-- 前往https://blog.csdn.net/qq_37860634/article/details/141159084 查看使用说明 --><div :class"$options.name"><div class"sg-head">接口方法生成工具<el-dropdown:show-timeou…...

Vue2图片懒加载(vue-lazyload)

参考文档&#xff1a;vue-lazyload 安装插件 npm install vue-lazyload # or yarn add vue-lazyload # or pnpm add vue-lazyload使用 使用方式 一&#xff1a; 所有懒加载图片的占位图使用同一张默认图片 引入并注册 // main.js import VueLazyload from vue-lazyload Vue…...

Jenkins-拉取代码

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Jenkins环境配置&#xff08;一&#xff09;配置Maven环境&#xff08;1&#xff09;Maven下载&#xff08;2&#xff09;将Maven上传服务器&#xff08;3&…...

深度解析:.secret勒索病毒如何加密你的数据并勒索赎金

引言&#xff1a; 在当今这个数字化、信息化的时代&#xff0c;网络安全已成为一个不容忽视的重要议题。随着互联网的普及和技术的飞速发展&#xff0c;我们的生活、工作乃至整个社会的运转都越来越依赖于各种计算机系统和网络。然而&#xff0c;这种高度依赖也为我们带来了前…...

测试岗位应该学什么

以下是测试岗位需要学习的一些关键内容&#xff1a; 1. 测试理论和方法 - 了解不同类型的测试&#xff0c;如功能测试、性能测试、压力测试、安全测试、兼容性测试等。 - 掌握测试策略和测试计划的制定。 2. 编程语言 - 至少熟悉一种编程语言&#xff0c;如 Python、Java…...

【RISC-V设计-12】- RISC-V处理器设计K0A之验证环境

【RISC-V设计-12】- RISC-V处理器设计K0A之验证环境 文章目录 【RISC-V设计-12】- RISC-V处理器设计K0A之验证环境1.简介2.验证顶层3.顶层代码4.模型结构4.1 地址映射4.2 特殊功能寄存器 5.模型代码6.运行脚本7.总结 1.简介 在前几篇文章中&#xff0c;分别介绍了各个模块的设…...

react-redux的使用

关于react-redux 首先&#xff1a;react-redux和redux并不是一个东西&#xff0c;redux是一个独立的东西&#xff0c;react-redux是react官方根据市场偏好redux推出的react插件库。 了解react-redux的原理图&#xff1a; 安装&#xff1a;npm i react-redux redux的ui组件和…...

大模型在chat bi 场景下的优化思路

文章目录 背景提示词模版表结构注释示例数据给出示例答案语法验证外挂知识库 背景 大模型的出现使chat bi 成为一种可能&#xff0c;自然语句的交互&#xff0c;极大的提高了数据分析的效率&#xff0c;也极大的降低了用户使用的门槛。下面主要列出几点提高自然语句转成SQL的技…...

Qt登录窗口

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),btn(new QPushButton("取消", this)),login_btn(new QPushButton("登录", this)) { ui->setupUi(this);thi…...

Zookeeper的在Ubuntu20.04上的集群部署

安装资源 官方安装包下载地址&#xff1a;https://zookeeper.apache.org/releases.html 懒得找版本的可以移步下载zookeeper3.84稳定版本&#xff1a; https://download.csdn.net/download/qq_43439214/89646735 安装方法 创建安装路径&&解压安装包 # 创建路径 m…...

Qt+OpenCV配置和测试

一、前言 OpenCV作为比较大众化的跨平台计算机视觉开源库&#xff0c;可以运行在多种操作系统上&#xff0c;通过与Qt的结合&#xff0c;能够轻松的是实现一些图像处理和识别的任务&#xff0c;本文在Windows操作系统的基础上具体讲解Qt和OpenCV的配置和环境搭建方法&#xff…...

Ruby GUI宝典:探索顶级图形界面库

标题&#xff1a;Ruby GUI宝典&#xff1a;探索顶级图形界面库 Ruby&#xff0c;这门以优雅和简洁著称的语言&#xff0c;不仅在服务器端编程中大放异彩&#xff0c;其在图形用户界面&#xff08;GUI&#xff09;开发上同样拥有不可忽视的地位。本文将带领大家深入了解Ruby的G…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...