搭建高可用OpenStack(Queen版)集群(十)之部署分布式存储Ceph

news2024/11/15 8:45:17

一、Ceph知识点学习

  Ceph知识点学习:https://www.cnblogs.com/happy-king/p/9207509.html

二、部署分布式存储Ceph

  一)设置yum源

  在全部控制与计算节点设置epel与ceph yum源

  epel源:repo安装包下载_开源镜像站-阿里云

  ceph源:ceph安装包下载_开源镜像站-阿里云

  1、设置yum源
wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
cat>/etc/yum.repos.d/ceph.repo<<EOF
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
[ceph-source]
name=ceph-source
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
EOF
  2、重新加载yum源
yum clean all
yum makecache
  3、 查看yum源
yum repolist

  二)基础环境,如hosts,时间同步ntp,开放端口iptables等相关操作

   初始化环境:https://www.cnblogs.com/happy-king/p/9595447.html#_label0

  三)创建用户

  在全部控制与计算节点操作

  1、创建用户
useradd -d /home/ceph -m cephde
echo cephde|passwd --stdin cephde
echo 'cephde ALL=(ALL) NOPASSWD: ALL'>>/etc/sudoers
  2、用户赋权
su - cephde
$ echo "cephde ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephde
[sudo] password for cephde:cephde
sudo chmod 0440 /etc/sudoers.d/cephde

  四)设置ssh免密登陆

  • ceph-deploy不支持密码输入,需要在所有控制节点生成ssh秘钥,并将公钥分发到各ceph节点(控制节点和存储节点);
  • 在用户cephde下生成秘钥,不能使用sudo或root用户;
  • 默认在用户目录下生成~/.ssh目录,含生成的秘钥对;
  • “Enter passphrase”时,回车,口令为空;
  • 另外3个控制节点均设置为ceph管理节点,应该使控制管理节点都可以ssh免密登陆到其他所有控制与存储节点
  1、生成秘钥对
# su - cephde
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ceph/.ssh/id_rsa): 
Created directory '/home/ceph/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/ceph/.ssh/id_rsa.
Your public key has been saved in /home/ceph/.ssh/id_rsa.pub.
The key fingerprint is:
1e:a8:cd:c7:45:a9:e0:ef:01:6a:d2:0e:46:a5:8c:d5 cephde@controller03
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|   .       .     |
|  . E .   o      |
| + o . o o       |
|. +   + S .      |
| . . = = o       |
|  + = o *        |
| . =   o .       |
|    .   .        |
+-----------------+
  2、分发公钥
  • 前提是各控制与存储节点已生成相关用户;
  • 分发成功后,在~/.ssh/下生成known_hosts文件,记录相关登陆信息;
  • 3个控制节点均设置为ceph管理节点,应该使控制管理节点都可以ssh免密登陆到其他所有控制与存储节点

   免交互批量发送公钥脚本: /opt/scripts/shell/ssh-copy.sh (注意需要安装sshpass)

免交互批量发送公钥

  在三个控制节点执行(注意使用cephde用户执行脚本)

  3、设置环境变量(optional(三个控制节点))

  在root账号主目录下,生成~/.ssh/config文件,这样在控制管理节点上执行”ceph-deploy”时可不切换用户或指定”--username {username}”;

  每个节点把自己去掉

/root/.ssh/config

  五)安装ceph-deploy

  在规划的全部控制管理节点安装ceph-deploy工具

yum install ceph-deploy -y

  六)创建ceph集群

  在任意控制节点执行

  1、创建集群
  • 在cephde账户下操作,切忌使用sudo操作;
  • 在管理节点上生成一个目录用于存放集群相关配置文件
su - cephde
mkdir cephcluster

  后续ceph-deploy相关操作全部在所创建的目录执行

  将规划中的MON(monitor)节点纳入集群,即创建集群

cd ~/cephcluster/
ceph-deploy new controller01 controller02 controller03
  2、修改集群配置文件
  • 生成集群后在集群目录下生成3个文件,其中ceph.conf即是配置文件;
  • 默认可不修改,为使服务按规划启动,可做适当修改;
  • 以下红色字体部分是在默认生成的conf文件上新增的配置

  上边命令生成的ceph.conf

ceph.conf

   修改ceph.conf文件

[global]
fsid = 74082074-0322-460a-b962-436fe36f8e7b
mon_initial_members = controller01, controller02, controller03
mon_host = 10.20.9.189,10.20.9.190,10.20.9.45
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

# public network:前端mon网络,client访问网络;确保public network与mon_host在相同网段,否则初始化时可能会有错误;
# cluster network:后端osd心跳,数据/流复制恢复等网络
public_network = 10.20.9.0/24
cluster_network = 10.0.0.0/24

# 默认的副本数为3,实验环境变更为2
osd_pool_default_size = 2

# 默认保护机制不允许删除pool,根据情况设置
mon_allow_pool_delete = true

  七)安装ceph

  在全部控制管理与存储节点安装ceph

  理论上在控制节点的ceph集群目录使用ceph-deploy可统一安装,命令:ceph-deploy install controller01 controller02 controller03 compute01 compute02 compute03;
  但由于网速原因大概率会失败,可在各存储节点独立安装ceph与ceph-radosgw

yum install -y ceph ceph-radosgw

  查看版本

[cephde@controller01 cephcluster]$ ceph -v
ceph version 12.2.8 (ae699615bac534ea496ee965ac6192cb7e0e07c0) luminous (stable)

  八)初始化ceph_mon

  1、初始化monitor

  在任意控制管理节点操作(若/etc/ceph/ceph.conf文件存在,需加上--overwrite-conf 参数)

ceph-deploy mon create-initial
    1、下面是正常情况

  执行完,最后返回如下内容(说明配置没有问题)

............................................................................
[controller01][INFO  ] Running command: sudo /usr/bin/ceph --connect-timeout=25 --cluster=ceph --name mon. --keyring=/var/lib/ceph/mon/ceph-controller01/keyring auth get-or-create client.bootstrap-rgw mon allow profile bootstrap-rgw
[ceph_deploy.gatherkeys][INFO  ] Storing ceph.client.admin.keyring
[ceph_deploy.gatherkeys][INFO  ] Storing ceph.bootstrap-mds.keyring
[ceph_deploy.gatherkeys][INFO  ] Storing ceph.bootstrap-mgr.keyring
[ceph_deploy.gatherkeys][INFO  ] keyring 'ceph.mon.keyring' already exists
[ceph_deploy.gatherkeys][INFO  ] Storing ceph.bootstrap-osd.keyring
[ceph_deploy.gatherkeys][INFO  ] Storing ceph.bootstrap-rgw.keyring
[ceph_deploy.gatherkeys][INFO  ] Destroy temp directory /tmp/tmpbCEBnS

  执行完后,在当前目录下多了如下五个文件

  

    2、下面是报错情况

  报错

[controller02][WARNING] The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
[controller02][ERROR ] RuntimeError: command returned non-zero exit status: 2
[ceph_deploy.mon][ERROR ] Failed to execute command: /usr/sbin/service ceph -c /etc/ceph/ceph.conf start mon.controller02
[ceph_deploy.mon][DEBUG ] detecting platform for host controller03 ...

  报错原因:epel中的ceph-deploy版本过低,从ceph官网下载最新版即可。

       Index of /rpm-kraken/el7/noarch/

  2、查看状态

  在所有控制节点验证(换成对应的主机名或者使用hostname -s)

systemctl status ceph-mon@controller01

  

  九)分发ceph.conf与秘钥

  • 分发ceph配置文件与秘钥到其他控制管理节点与存储节点;
  • 注意分发节点本身也需要包含在内,默认没有秘钥文件,需要分发;
  • 如果被分发节点已经配置文件(统一变更配置文件场景),可以使用如下命令:
ceph-deploy --overwrite-conf admin xxx

  分发的配置文件与秘钥在各节点/etc/ceph/目录(若其他节点原来存在配置文件,需要加上--overwrite-conf参数)

ceph-deploy --overwrite-conf admin controller01 controller02 controller03 compute01 compute02

  

  十)安装ceph_mgr

  1、安装mgr

  任意控制节点操作

  luminous版本必须安装mgr(dashboard)

ceph-deploy mgr create controller01:controller01_mgr controller02:controller02_mgr controller03:controller03_mgr

  查看状态

systemctl status ceph-mgr@controller01_mgr
sudo netstat -tunlp | grep mgr

  

  2、启动mgr

  任意控制节点操作

  • 可查看mgr默认开启的服务:(sudo) ceph mgr module ls;
  • 默认dashboard服务在可开启列表中,但并未启动,需要手工开启
sudo ceph mgr module enable dashboard

  dashboard服务已开启,默认监听全部地址的tcp7000端口

  若想修改地址和端口,如下操作即可

如果需要设置dashboard的监听地址与端口,如下:
设置监听地址:(sudo) ceph config-key put mgr/dashboard/server_addr x.x.x.x
设置监听端口:(sudo) ceph config-key put mgr/dashboard/server_port x

  验证服务

sudo netstat -tunlp | grep mgr

  

  3、web登录

  默认没有密码

  web登陆:http://10.20.9.189:7000/

  

  十一)查看集群状态

  1、查看monitor状态
sudo ceph mon stat

  

  2、查看ceph状态

  ceph health (detail),ceph -s,ceph -w等;

  状态显示mgr处于active-standby模式

[cephde@controller01 cephcluster]$ sudo ceph -s
  cluster:
    id:     74082074-0322-460a-b962-436fe36f8e7b
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum controller03,controller01,controller02
    mgr: controller01_mgr(active), standbys: controller03_mgr, controller02_mgr
    osd: 0 osds: 0 up, 0 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0B
    usage:   0B used, 0B / 0B avail
    pgs:     
  3、可在各节点查看认证信息等
[cephde@controller01 cephcluster]$ sudo ceph auth list
installed auth entries:

client.admin
    key: AQBebJdb89NfFhAA2D9dFESIX2GhrT/O6AmXqA==
    caps: [mds] allow *
    caps: [mgr] allow *
    caps: [mon] allow *
    caps: [osd] allow *
client.bootstrap-mds
    key: AQBfbJdbcfQPDhAA1xdq6WhsiyyG79M6hgEqPQ==
    caps: [mon] allow profile bootstrap-mds
client.bootstrap-mgr
    key: AQBgbJdbTyX/GRAA7RYzmYL7Xx3NnUFg6s9JcQ==
    caps: [mon] allow profile bootstrap-mgr
client.bootstrap-osd
    key: AQBhbJdbKAfFGRAACyKbfDP1V0Ub92Pw4aU8qQ==
    caps: [mon] allow profile bootstrap-osd
client.bootstrap-rgw
    key: AQBibJdbfcXxExAAU3Ujlajuu8Pj2vT+f9rAoQ==
    caps: [mon] allow profile bootstrap-rgw
mgr.controller01_mgr
    key: AQApcJdbjzjkFBAAOz8BodoKJzI1iMeKKwksfQ==
    caps: [mds] allow *
    caps: [mon] allow profile mgr
    caps: [osd] allow *
mgr.controller02_mgr
    key: AQAqcJdbaIG5MxAA5+CM7MfiMC/dlkE6NqIdkw==
    caps: [mds] allow *
    caps: [mon] allow profile mgr
    caps: [osd] allow *
mgr.controller03_mgr
    key: AQAscJdbYtGtHhAAhmcV1PgTHQPffEnWV2Umfg==
    caps: [mds] allow *
    caps: [mon] allow profile mgr
    caps: [osd] allow *

  十二)创建osd(存储)

  1、创建osd
    1、添加完磁盘,存储节点查看

  osd位于存储节点,可查看存储节点磁盘状况(磁盘直接添加上即可,不用分区格式化),以compute01节点为例

$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0           2:0    1    4K  0 disk 
sda           8:0    0   80G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
├─sda2        8:2    0   19G  0 part 
│ ├─cl-root 253:0    0   77G  0 lvm  /
│ └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
└─sda3        8:3    0   60G  0 part 
  └─cl-root 253:0    0   77G  0 lvm  /
sdb           8:16   0   50G  0 disk 
└─sdb1        8:17   0   50G  0 part /opt
sdc           8:32   0   10G  0 disk 
sdd           8:48   0   16G  0 disk 
sde           8:64   0   16G  0 disk 
sr0          11:0    1 1024M  0 
    2、创建osd

  实际创建osd时,可通过管理节点使用ceph-deploy创建;本例中有3个osd节点,每个osd节点可运行3个osd进程(在6800~7300端口范围内,每进程监听1个本地端口)

ceph-deploy osd create compute01 --data /dev/sdc
ceph-deploy osd create compute01 --data /dev/sdd
ceph-deploy osd create compute01 --data /dev/sde

ceph-deploy osd create compute02 --data /dev/sdc
ceph-deploy osd create compute02 --data /dev/sdd
ceph-deploy osd create compute02 --data /dev/sde

  创建成功如下图

  

  2、查看osd状态
    1、在管理节点操作

  查看osd列表

$ ceph-deploy osd list compute01

ceph-deploy osd list compute01的运行结果

  在管理节点查看osd状态等

[cephde@controller01 cephcluster]$ sudo ceph osd stat
6 osds: 6 up, 6 in
[cephde@controller01 cephcluster]$ sudo ceph osd tree
ID CLASS WEIGHT  TYPE NAME          STATUS REWEIGHT PRI-AFF 
-1       0.08197 root default                               
-3       0.04099     host compute01                         
 0   hdd 0.00980         osd.0          up  1.00000 1.00000 
 1   hdd 0.01559         osd.1          up  1.00000 1.00000 
 2   hdd 0.01559         osd.2          up  1.00000 1.00000 
-5       0.04099     host compute02                         
 3   hdd 0.00980         osd.3          up  1.00000 1.00000 
 4   hdd 0.01559         osd.4          up  1.00000 1.00000 
 5   hdd 0.01559         osd.5          up  1.00000 1.00000 

  在管理节点查看容量及使用情况

$ sudo ceph df
GLOBAL:
    SIZE        AVAIL       RAW USED     %RAW USED 
    84.0GiB     78.0GiB      6.02GiB          7.17 
POOLS:
    NAME     ID     USED     %USED     MAX AVAIL     OBJECTS 
    2、在存储节点操作

  在osd(存储)节点查看

$ lsblk
NAME                                                                                                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0                                                                                                     2:0    1    4K  0 disk 
sda                                                                                                     8:0    0   80G  0 disk 
├─sda1                                                                                                  8:1    0    1G  0 part /boot
├─sda2                                                                                                  8:2    0   19G  0 part 
│ ├─cl-root                                                                                           253:0    0   77G  0 lvm  /
│ └─cl-swap                                                                                           253:1    0    2G  0 lvm  [SWAP]
└─sda3                                                                                                  8:3    0   60G  0 part 
  └─cl-root                                                                                           253:0    0   77G  0 lvm  /
sdb                                                                                                     8:16   0   50G  0 disk 
└─sdb1                                                                                                  8:17   0   50G  0 part /opt
sdc                                                                                                     8:32   0   10G  0 disk 
└─ceph--693dac4c--5d8c--4c94--aa6e--8e7360eb3dcc-osd--block--cba9c3bc--f75b--4bc7--93e4--5e262dd891f4 253:2    0   10G  0 lvm  
sdd                                                                                                     8:48   0   16G  0 disk 
└─ceph--9a7db77c--f52a--4403--a1a4--2287cf024cee-osd--block--83583e83--a824--41c5--9d54--6529b0dca943 253:3    0   16G  0 lvm  
sde                                                                                                     8:64   0   16G  0 disk 
└─ceph--bdd65160--4a3a--45ca--a416--edc4151717ab-osd--block--c1f6b583--61d4--4659--8d06--bb9d929e82cb 253:4    0   16G  0 lvm  
sr0                                                                                                    11:0    1 1024M  0 rom  

  ceph-osd进程,根据启动顺序,每个osd进程有特定的序号

systemctl status ceph-osd@0

  

  osd进程端口号;

ps aux | grep osd
netstat -tunlp | grep osd

  

  十三)登陆mgr_dashboard

  浏览器输入:http://10.20.9.189:7000

  1、默认的主页

  

  2、Cluster菜单
    1、servers

  

    2、OSD

  

    3、、Configuration Options

  

   3、Block

  

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

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

相关文章

Idea2023.3.3 —— SourceTree与gitee关联

SourceTree SourceTree链接: https://pan.baidu.com/s/1oqPxhpHeNOOiuRRQydes6g?pwdngru 提取码: ngru 点击Generate 分别保存私钥和公钥 gitee官网注册 这是gitee的公钥&#xff0c;与上面SourceTree的公钥私钥不一样 gitee生成公钥&#xff0c;确保本地安装好git git链接: h…

高级组件封装技巧--按钮的封装

我们做一些重要操作的时候&#xff0c;往往需要弹窗一个提示框&#xff0c;告诉用户这是一个需要小心的操作&#xff0c;是否继续&#xff0c;用户点击确定后才会开始执行&#xff0c;这种操作写起来比较繁琐&#xff0c;如下所示&#xff0c;要写一堆代码&#xff0c;今天我来…

2024年恩施建筑企业人员初中级专业技术职务评审

2024年恩施建筑企业人员初中级专业技术职务评审 恩施中级职称申报一般是一年1次&#xff0c;具体视情况而定。申报中级职称人员须相应专业水平能力测试成绩合格且在有效期内&#xff0c;同时应当符合相应专业申报条件。专业能力水平能力测试成绩3年有效。 2024年恩施建筑类初…

2024年8月 | 涉及侵权、抄袭洗稿违规行为公示

为护社区良好氛围&#xff0c;守护清朗网络空间&#xff0c;CSDN持续对侵害他人权益、抄袭洗稿违规内容进行治理。 今年7月&#xff0c;CSDN共计删除涉及抄袭洗稿内容xx篇&#xff0c;下架侵权资源xx个&#xff0c;封禁违规账号42个。 部分违规账号公示 账号昵称处置结果封禁创…

STM32CubeMX学习记录——串口通信(含蓝牙通信)

文章目录 一、学习目的二、CubeMX配置三、代码编写 一、学习目的 串口通信是一种简单且广泛应用的通信方式。本文的学习目标是通过CubeMX工具配置串口通信&#xff0c;并编写相应代码&#xff0c;以实现串口助手打印信息以及蓝牙通信等功能。 二、CubeMX配置 &#xff08;1&am…

docker容器常用指令,dockerfile

docker&#xff1a;容器&#xff0c;主要是解决环境迁移的问题&#xff0c;将环境放入docker中&#xff0c;打包成镜像。 docker的基本组成&#xff1a;镜像(image)&#xff0c;容器(container)&#xff0c;仓库(repository)。镜像相当于类&#xff0c;容器相当于类的实例对象…

0基础深度学习项目12:基于TensorFlow实现彩色图片分类

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目录 一、创建环境二、前期准备2.1 设置GPU2.2 导入数据2.2.1 在TensorFlow框架中导入CIFAR-10数据集2.2.2 数据归一化 2.3数据可视化 三、构建简单的CNN网络&…

kubernetes集群部署oracle 11g数据库服务

背景&#xff1a; 因业务上线需要&#xff0c;研发中心要求在kubernetes测试集群部署一个oracle 11g的数据库&#xff0c;用于业务功能调试。 一、实施部署oracle 11g数据库&#xff1a; 1、拉取oracle 11g的镜像&#xff1a; [rootharbor-02 ~]# docker pull registry.cn-h…

Java之MySQL

1、数据库三大范式 每个字段不可再分&#xff0c;不冗余 非主键字段完全依赖于主键 2、drop 删除整张表&#xff0c;不可回滚&#xff1b;delete删除部分数据行&#xff1b;truncate保留表 删除所有数据 3、innodb存储引擎 支持行级锁、表级锁 支持事务 支持异常奔溃后的安…

拓普壹的选品师项目怎么操作更好?

在拓普壹的选品师项目中&#xff0c;成功的关键在于精细化的操作和系统化的策略。这不仅要求选品师具备深厚的自身能力&#xff0c;还需要明智的选择平台和有效利用新技术。本文将从这三个方面探讨如何更好地操作拓普壹选品师项目。 1. 自身能力培养 选品师的核心任务是从众多商…

SPRING07_自动装配如何加强、@Autowired注解debug分析、总结

文章目录 ①. Spring启动一行代码:②. ApplicationContex增强功能③. 自动装配如何装配进来④. Autowired自动注入细节xml版⑤. Autowired注解版分析⑥. 总结一下 ①. Spring启动一行代码: ①. 创建一个IOC容器,传入容器的xml配置文件,Spring在整个创建容器的过程中全部都准备…

Docker安装达梦数据库详细教程

达梦数据库(DM,Dameng Database)是中国自主研发的关系型数据库管理系统。它由武汉达梦数据库有限公司开发,最早可以追溯到1982年,至今已有几十年的发展历史。达梦数据库在中国市场上具有较高的知名度和市场占有率,特别是在政府、金融、电信、能源等行业有广泛的应用。 自…

深度学习——神经网络(neural network)详解(一). 带手算步骤,步骤清晰0基础可看

深度学习——神经网络&#xff08;neural network&#xff09;详解&#xff08;一&#xff09;. 带手算步骤&#xff0c;步骤清晰0基础可看 我将以最简单&#xff0c;基础的形式说明神经网络的训练过程。 搭配以下文章进行学习&#xff1a; 深度学习——卷积神经网络&#xf…

Day18 Linux系统编程学习--文件

文件 (file) 是程序设计中一个重要的概念。所谓“文件”一般指存储在外部介质上数据的集合。C语言把文件看作是一个字符&#xff08;字节&#xff09;的序列&#xff0c;即由一个一个字符&#xff08;字节&#xff09;的数据顺序组成。根据数据的组织形式&#xff0c;可分为 AS…

【森气随笔】python绘图找不同,揭秘不同函数绘图差异。

【森气随笔】python绘图找不同&#xff0c;揭秘不同函数绘图差异。 准备了两组图片&#xff0c;运用了不同绘图函数绘制。然而&#xff0c;令人无语的是&#xff0c;有人竟直言不讳地表示难以察觉其中的差别。非常好奇&#xff0c;是差异太小还是不愿意承认呢&#xff1f;感兴趣…

Linux-服务器硬件及RAID配置实验

系列文章目录 提示&#xff1a;仅用于个人学习&#xff0c;进行查漏补缺使用。 1.Linux介绍、目录结构、文件基本属性、Shell 2.Linux常用命令 3.Linux文件管理 4.Linux 命令安装(rpm、install) 5.Linux账号管理 6.Linux文件/目录权限管理 7.Linux磁盘管理/文件系统 8.Linu…

利用shell脚本一键查询ceph中bucket桶的占用大小

在 Ceph 对象存储中&#xff08;例如使用 RADOS Gateway 提供的 Swift 或 S3 接口&#xff09;&#xff0c;你可能需要了解某个桶&#xff08;bucket&#xff09;的占用大小。 以下是如何在 Ceph 中查看桶的占用大小的方法&#xff1a; 1. 使用 radosgw-admin 工具 radosgw-a…

2024最新整理Python基础知识点汇总(可下载)期末复习必备!

前言 由于篇幅限制&#xff0c;我把所有的Python基础知识点和实战代码全部打包上传至CSDN官方认证的微信上&#xff0c;需要的同学可以自取&#xff01;下载保存在你自己的电脑上&#xff08;保证100%免费&#xff09; 1 变量和简单数据类型 变量命名格式&#xff1a;变量名 …

Linux-Shell管道命令及脚本调试-06

上一章我们讲了一半的管道命令,今天把剩下的讲完 1、管道命令 字符转换命令 tr, col, join, paste, expand 1.1 tr 一种可将字符进行替换、压缩、删除&#xff0c;可以将一组字符转换成另一组字符 格式; tr [-parameter] [string1] [string2] 参数&#xff1a; 参数说…

vs2019 QtConcurrent多线程使用方法

QtConcurrent::run(xxx) 1.打开QT Project Setting-》点击Qt Modules 2.头文件包含&#xff1a; #include <QtConcurrent/QtConcurrent> 3.使用方法&#xff1a; QFuture<void> future1 QtConcurrent::run(this, &auto_pack_line_demo::UpdateVisionComm)…