ceph部署-14版本(nautilus)-使用ceph-ansible部署实验记录

news2025/2/21 8:20:09

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、环境信息
  • 二、部署步骤
    • 2.1 基础环境准备
    • 2.2 各节点docker环境安装
    • 2.3 搭建互信集群
    • 2.4 下载ceph-ansible
  • 三、配置部署文件
    • 3.1 使用本地docker
    • 3.2 配置hosts主机清单文件
    • 3.3 配置group_vars/all.yml文件
    • 3.4 开始部署
    • 3.5 部署ceph-common软件包
    • 3.6 部署结果
  • 四、相关实验
    • 4.1 测试删除osd
    • 4.2 测试增加osd
    • 4.3 将实验4.1中移除的osd更换硬盘后重新加回集群
    • 4.4 新增一个只是osd功能的节点
    • 4.5 删除新增的node04节点
  • 总结


前言

记录一下使用ceph-ansible部署ceph14版本(nautilus)的过程。

ceph-ansible官网地址:https://docs.ceph.com/projects/ceph-ansible/en/latest/osds/scenarios.html


一、环境信息

操作系统版本:centos7.9

机器-磁盘信息表格

机器名称机器IP磁盘一盘符磁盘二盘符磁盘三盘符磁盘四盘符磁盘五盘符
node01192.168.150.72/dev/vdb//dev/vdc//dev/vdd/
node02192.168.150.73/dev/vdb//dev/vdc//dev/vdd//dev/vde/
node03192.168.150.74/dev/vdb//dev/vdc//dev/vdd//dev/vde//dev/vdf/

二、部署步骤

2.1 基础环境准备

基础环境的部署参考
https://blog.csdn.net/baidu_35848778/article/details/145564790

2.2 各节点docker环境安装

我这里的docker配置了自己本地的harbor仓库,镜像都是本地化了的,现在国内源pull不太好使,最好是能自己提前下载好本地化一下来使用。

# 安装docker服务
sudo yum-config-manager --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo;
# 修改cgroupdriver
mkdir -p /etc/docker/;
cat > /etc/docker/daemon.json <<EOF
{
  "insecure-registries": [
    "http://harbor.XXX.XX.XX:10002"
  ],
    "exec-opts":["native.cgroupdriver=systemd"],
    "log-driver":"json-file",
    "log-opts":{
        "max-size":"100m"
    }
}
EOF

# 安装软件包
yum install docker-ce docker-ce-cli -y;
# 启动服务,设置自启动
systemctl restart docker;
systemctl enable  docker;

# 登录仓库
docker login http://harbor.XXX.XX.XX:10002

2.3 搭建互信集群

搭建互信的方式各不相同,我这边使用的是收集分发authorized_keys的方式。
各节点修改/etc/hosts文件

cat <<EOF >> /etc/hosts
192.168.150.72  node01
192.168.150.73  node02
192.168.150.74  node03
EOF

各节点生成密钥

ssh-keygen -f ~/.ssh/id_rsa -P '' -q

主节点(72节点)发送密钥到各个节点

yum install -y sshpass

sshpass -p "password" ssh-copy-id -i /root/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.150.72

sshpass -p "password" ssh-copy-id -i /root/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.150.73

sshpass -p "password" ssh-copy-id -i /root/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.150.74

主节点(72节点)收集各节点密钥

ssh root@192.168.150.73  cat ~/.ssh/id_rsa.pub>> /root/.ssh/authorized_keys

ssh root@192.168.150.74  cat ~/.ssh/id_rsa.pub>> /root/.ssh/authorized_keys

主节点(72节点)推送密钥汇集文件到各个节点

scp /root/.ssh/authorized_keys  192.168.150.73:/root/.ssh/

scp /root/.ssh/authorized_keys  192.168.150.74:/root/.ssh/

2.4 下载ceph-ansible

下载安装包 国内不好访问的话 我是直接买了一个阿里云的香港的抢占式虚拟机下载的

yum install python2-pip ansible git  python-netaddr -y
mkdir -p /data/installceph/ && cd /data/installceph/
git config --global http.postBuffer 5242880
git clone https://github.com/ceph/ceph-ansible.git
cd ceph-ansible
# 切换分支,需要部署的是14 nautilus版本
git checkout stable-4.0

相关版本信息
stable-3.0 Supports Ceph versions jewel and luminous. This branch requires Ansible version 2.4.
stable-3.1 Supports Ceph versions luminous and mimic. This branch requires Ansible version 2.4.
stable-3.2 Supports Ceph versions luminous and mimic. This branch requires Ansible version 2.6.
stable-4.0 Supports Ceph version nautilus. This branch requires Ansible version 2.9.
stable-5.0 Supports Ceph version octopus. This branch requires Ansible version 2.9.
stable-6.0 Supports Ceph version pacific. This branch requires Ansible version 2.10.
stable-7.0 Supports Ceph version quincy. This branch requires Ansible version 2.12.
main Supports the main (devel) branch of Ceph. This branch requires Ansible version 2.12.

三、配置部署文件

3.1 使用本地docker

/data/installceph/ceph-ansible/roles/ceph-container-engine/tasks/pre_requisites/prerequisites.yml

#- name: install container packages
#  package:
#    name: ['{{ container_package_name }}', '{{ container_binding_name }}']
#    update_cache: true
#  register: result
#  until: result is succeeded
#  tags: with_pkg

3.2 配置hosts主机清单文件

由于是个各节点的硬盘信息不同

cat <<EOF >>  /data/installceph/ceph-ansible/hosts
[mons]
node01
node02
node03
 
[osds]
node01 devices="['/dev/vdb','/dev/vdc','/dev/vdd']"
node02 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"
node03 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde','/dev/vdf']"
 
[mgrs]
node01
node02
node03
 
[mdss]
node01
node02
node03
 
[clients]
node01
 
[rgws]
node01
 
[grafana-server]
node01
EOF

3.3 配置group_vars/all.yml文件

\cp /data/installceph/ceph-ansible/group_vars/all.yml.sample /data/installceph/ceph-ansible/group_vars/all.yml
cat <<EOF >>  /data/installceph/ceph-ansible/group_vars/all.yml

######################################################
#               INSTALL OPTIONS BY USER              #
#                                                    #
######################################################

# Install options
# -----------------------------
ceph_origin: repository
ceph_repository: community
ceph_mirror: http://mirrors.aliyun.com/ceph
ceph_stable_key: http://mirrors.aliyun.com/ceph/keys/release.asc
ceph_stable_release: nautilus
ceph_stable_repo: "{{ ceph_mirror }}/rpm-{{ ceph_stable_release }}"
# -----------------------------

ceph_docker_registry: harbor.XXX.XX.XX:10002
#node_exporter_container_image: "prom/node-exporter:v0.17.0"
#grafana_container_image: "grafana/grafana:5.4.3"
#prometheus_container_image: "prom/prometheus:v2.7.2"
#alertmanager_container_image: "prom/alertmanager:v0.16.2"


# Ceph options
# -----------------------------
generate_fsid: true
ceph_conf_key_directory: /etc/ceph
cephx: true
# -----------------------------

# Client options
# -----------------------------
rbd_cache: "false"
rbd_client_log_path: /var/log/ceph
# ----------------------------

# Monitor options
# -----------------------------
monitor_interface: eth0
# ----------------------------

# OSD options
# -----------------------------
journal_size: 5120
public_network: 192.168.150.0/24
cluster_network: 192.168.150.0/24
osd_objectstore: bluestore
# -----------------------------

# MDS options
# -----------------------------
radosgw_interface: eth0
# -----------------------------


# Testing mode
# -----------------------------
#common_single_host_mode: true
# -----------------------------


# DOCKER options
# -----------------------------
ceph_docker_image: "ceph/daemon"
ceph_docker_image_tag: latest-nautilus
containerized_deployment: true
# -----------------------------


# DASHBOARD options
# -----------------------------
dashboard_enabled: False
dashboard_protocol: http
dashboard_port: 8443
dashboard_admin_user: admin
dashboard_admin_password: admin123456
grafana_admin_user: admin
grafana_admin_password: admin
# -----------------------------
EOF

3.4 开始部署

cp site-docker.yml.sample site-docker.yml

ansible-playbook -i  /data/installceph/ceph-ansible/hosts /data/installceph/ceph-ansible/site-docker.yml

3.5 部署ceph-common软件包

因为更习惯于在本地执行ceph命令,所以安装ceph-common

yum install epel-release   -y

cat <<END >/etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for \$basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/\$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
END

yum clean all
yum makecache

yum install -y ceph-common.x86_64

3.6 部署结果

osd部署结果符合预期

[root@node01 ceph-ansible]# ceph osd tree
ID CLASS WEIGHT  TYPE NAME       STATUS REWEIGHT PRI-AFF 
-1       1.17224 root default                            
-3       0.29306     host node01                         
 0   hdd 0.09769         osd.0       up  1.00000 1.00000 
 3   hdd 0.09769         osd.3       up  1.00000 1.00000 
 6   hdd 0.09769         osd.6       up  1.00000 1.00000 
-7       0.39075     host node02                         
 1   hdd 0.09769         osd.1       up  1.00000 1.00000 
 4   hdd 0.09769         osd.4       up  1.00000 1.00000 
 7   hdd 0.09769         osd.7       up  1.00000 1.00000 
 9   hdd 0.09769         osd.9       up  1.00000 1.00000 
-5       0.48843     host node03                         
 2   hdd 0.09769         osd.2       up  1.00000 1.00000 
 5   hdd 0.09769         osd.5       up  1.00000 1.00000 
 8   hdd 0.09769         osd.8       up  1.00000 1.00000 
10   hdd 0.09769         osd.10      up  1.00000 1.00000 
11   hdd 0.09769         osd.11      up  1.00000 1.00000

四、相关实验

4.1 测试删除osd

实验设计:模拟osd.11异常无法提供服务时的移除操作

# 命令e.g.:
    ansible-playbook -vv -i hosts infrastructure-playbooks/shrink-osd.yml -e osd_to_kill=1,2,3

# 实验命令:
    ansible-playbook -vv -i hosts infrastructure-playbooks/shrink-osd.yml -e osd_to_kill=11

实验结果

Thursday 13 February 2025  15:33:26 +0800 (0:00:00.373)       0:00:31.086 ***** 
ok: [node01] => changed=false 
  cmd:
  - docker
  - exec
  - ceph-mon-node01
  - ceph
  - --cluster
  - ceph
  - -s
  delta: '0:00:00.547188'
  end: '2025-02-13 15:33:27.087717'
  rc: 0
  start: '2025-02-13 15:33:26.540529'
  stderr: ''
  stderr_lines: <omitted>
  stdout: |2-
      cluster:
        id:     84a44515-64c1-4f5c-b9c5-a0cc3e797074
        health: HEALTH_WARN
                Degraded data redundancy: 28/627 objects degraded (4.466%), 7 pgs degraded
  
      services:
        mon: 3 daemons, quorum node01,node02,node03 (age 76m)
        mgr: node02(active, since 74m), standbys: node01, node03
        mds: cephfs:1 {0=node03=up:active} 2 up:standby
        osd: 11 osds: 11 up (since 14s), 11 in (since 16s); 1 remapped pgs
        rgw: 1 daemon active (node01.rgw0)
  
      task status:
  
      data:
        pools:   6 pools, 144 pgs
        objects: 209 objects, 3.4 KiB
        usage:   11 GiB used, 1.1 TiB / 1.1 TiB avail
        pgs:     28/627 objects degraded (4.466%)
                 135 active+clean
                 3   active+recovery_wait+degraded
                 3   active+recovering+degraded
                 2   active+recovery_wait
                 1   active+recovery_wait+undersized+degraded+remapped
  
      io:
        recovery: 3 B/s, 1 keys/s, 2 objects/s
  
      progress:
        Rebalancing after osd.11 marked out
          [==================............]
  stdout_lines: <omitted>

TASK [show ceph osd tree] **************************************************************************************************************************************************
task path: /data/installceph/ceph-ansible/infrastructure-playbooks/shrink-osd.yml:254
Thursday 13 February 2025  15:33:27 +0800 (0:00:00.999)       0:00:32.085 ***** 
ok: [node01] => changed=false 
  cmd:
  - docker
  - exec
  - ceph-mon-node01
  - ceph
  - --cluster
  - ceph
  - osd
  - tree
  delta: '0:00:00.560455'
  end: '2025-02-13 15:33:28.017771'
  rc: 0
  start: '2025-02-13 15:33:27.457316'
  stderr: ''
  stderr_lines: <omitted>
  stdout: |-
    ID CLASS WEIGHT  TYPE NAME       STATUS REWEIGHT PRI-AFF
    -1       1.07455 root default
    -3       0.29306     host node01
     0   hdd 0.09769         osd.0       up  1.00000 1.00000
     3   hdd 0.09769         osd.3       up  1.00000 1.00000
     6   hdd 0.09769         osd.6       up  1.00000 1.00000
    -7       0.39075     host node02
     1   hdd 0.09769         osd.1       up  1.00000 1.00000
     4   hdd 0.09769         osd.4       up  1.00000 1.00000
     7   hdd 0.09769         osd.7       up  1.00000 1.00000
     9   hdd 0.09769         osd.9       up  1.00000 1.00000
    -5       0.39075     host node03
     2   hdd 0.09769         osd.2       up  1.00000 1.00000
     5   hdd 0.09769         osd.5       up  1.00000 1.00000
     8   hdd 0.09769         osd.8       up  1.00000 1.00000
    10   hdd 0.09769         osd.10      up  1.00000 1.00000
  stdout_lines: <omitted>
META: ran handlers

PLAY RECAP *****************************************************************************************************************************************************************
node01                     : ok=19   changed=3    unreachable=0    failed=0    skipped=12   rescued=0    ignored=0   
node02                     : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
node03                     : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

移除完毕后,将主机配置文件中osd对应的硬盘信息移除

[osds]
node01 devices="['/dev/vdb','/dev/vdc','/dev/vdd']"
node02 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"
# 移除osd11前的记录node03 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde','/dev/vdf']"
# 下列为移除osd11之后的记录
node03 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"

4.2 测试增加osd

实验设计:在node01节点增加一个新硬盘名为/dev/vde的osd
将主机配置文件中新增osd对应的硬盘信息

[osds]
node01 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"
node02 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"
# 移除osd11前的记录node03 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde','/dev/vdf']"
# 下列为移除osd11之后的记录
node03 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"

执行命令

命令e.g.:
    ansible-playbook -i  /data/installceph/ceph-ansible/hosts site-docker.yml --limit osd-node-name

实验命令:
    ansible-playbook -i  /data/installceph/ceph-ansible/hosts site-docker.yml --limit node01

实验结果:

[root@node01 ceph-ansible]# ceph osd tree
ID CLASS WEIGHT  TYPE NAME       STATUS REWEIGHT PRI-AFF 
-1       1.17224 root default                            
-3       0.39075     host node01                         
 0   hdd 0.09769         osd.0       up  1.00000 1.00000 
 3   hdd 0.09769         osd.3       up  1.00000 1.00000 
 6   hdd 0.09769         osd.6       up  1.00000 1.00000 
11   hdd 0.09769         osd.11      up  1.00000 1.00000 
-7       0.39075     host node02                         
 1   hdd 0.09769         osd.1       up  1.00000 1.00000 
 4   hdd 0.09769         osd.4       up  1.00000 1.00000 
 7   hdd 0.09769         osd.7       up  1.00000 1.00000 
 9   hdd 0.09769         osd.9       up  1.00000 1.00000 
-5       0.39075     host node03                         
 2   hdd 0.09769         osd.2       up  1.00000 1.00000 
 5   hdd 0.09769         osd.5       up  1.00000 1.00000 
 8   hdd 0.09769         osd.8       up  1.00000 1.00000 
10   hdd 0.09769         osd.10      up  1.00000 1.00000

4.3 将实验4.1中移除的osd更换硬盘后重新加回集群

将主机配置文件中新增osd对应的硬盘信息

[osds]
node01 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"
node02 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"
node03 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde','/dev/vdf']"

执行命令

命令e.g.:
    ansible-playbook -i  /data/installceph/ceph-ansible/hosts site-docker.yml --limit osd-node-name

实验命令:
    ansible-playbook -i  /data/installceph/ceph-ansible/hosts site-docker.yml --limit node03

实验结果

[root@node01 ceph-ansible]# ceph -s 
  cluster:
    id:     84a44515-64c1-4f5c-b9c5-a0cc3e797074
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum node01,node02,node03 (age 27m)
    mgr: node02(active, since 2h), standbys: node01, node03
    mds: cephfs:1 {0=node02=up:active} 2 up:standby
    osd: 13 osds: 13 up (since 69s), 13 in (since 69s)
    rgw: 1 daemon active (node01.rgw0)
 
  task status:
 
  data:
    pools:   6 pools, 144 pgs
    objects: 209 objects, 3.4 KiB
    usage:   13 GiB used, 1.3 TiB / 1.3 TiB avail
    pgs:     144 active+clean

[root@node01 ceph-ansible]# ceph osd tree
ID CLASS WEIGHT  TYPE NAME       STATUS REWEIGHT PRI-AFF 
-1       1.26993 root default                            
-3       0.39075     host node01                         
 0   hdd 0.09769         osd.0       up  1.00000 1.00000 
 3   hdd 0.09769         osd.3       up  1.00000 1.00000 
 6   hdd 0.09769         osd.6       up  1.00000 1.00000 
11   hdd 0.09769         osd.11      up  1.00000 1.00000 
-7       0.39075     host node02                         
 1   hdd 0.09769         osd.1       up  1.00000 1.00000 
 4   hdd 0.09769         osd.4       up  1.00000 1.00000 
 7   hdd 0.09769         osd.7       up  1.00000 1.00000 
 9   hdd 0.09769         osd.9       up  1.00000 1.00000 
-5       0.48843     host node03                         
 2   hdd 0.09769         osd.2       up  1.00000 1.00000 
 5   hdd 0.09769         osd.5       up  1.00000 1.00000 
 8   hdd 0.09769         osd.8       up  1.00000 1.00000 
10   hdd 0.09769         osd.10      up  1.00000 1.00000 
12   hdd 0.09769         osd.12      up  1.00000 1.00000 

4.4 新增一个只是osd功能的节点

前提:先把基础环境安装好,然后进行互信集群的扩容,我这边就不展示互信的操作了。

将主机配置文件中新增osd节点及对应的硬盘信息

[osds]
node01 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"
node02 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"
node03 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde','/dev/vdf']"
node04 devices="['/dev/vdb','/dev/vdc','/dev/vdd','/dev/vde']"

执行命令

命令e.g.:
    ansible-playbook -i  /data/installceph/ceph-ansible/hosts site-docker.yml --limit osd-node-name

实验命令:
    ansible-playbook -i  /data/installceph/ceph-ansible/hosts site-docker.yml --limit node04

实验结果:

[root@node01 ceph-ansible]# ceph -s 
  cluster:
    id:     84a44515-64c1-4f5c-b9c5-a0cc3e797074
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum node01,node02,node03 (age 63s)
    mgr: node02(active, since 2h), standbys: node01, node03
    mds: cephfs:1 {0=node02=up:active} 2 up:standby
    osd: 17 osds: 17 up (since 111s), 17 in (since 111s)
    rgw: 1 daemon active (node01.rgw0)
 
  task status:
 
  data:
    pools:   6 pools, 144 pgs
    objects: 209 objects, 3.4 KiB
    usage:   17 GiB used, 1.6 TiB / 1.7 TiB avail
    pgs:     144 active+clean

[root@node01 ceph-ansible]# ceph osd tree
ID CLASS WEIGHT  TYPE NAME       STATUS REWEIGHT PRI-AFF 
-1       1.66068 root default                            
-3       0.39075     host node01                         
 0   hdd 0.09769         osd.0       up  1.00000 1.00000 
 3   hdd 0.09769         osd.3       up  1.00000 1.00000 
 6   hdd 0.09769         osd.6       up  1.00000 1.00000 
11   hdd 0.09769         osd.11      up  1.00000 1.00000 
-7       0.39075     host node02                         
 1   hdd 0.09769         osd.1       up  1.00000 1.00000 
 4   hdd 0.09769         osd.4       up  1.00000 1.00000 
 7   hdd 0.09769         osd.7       up  1.00000 1.00000 
 9   hdd 0.09769         osd.9       up  1.00000 1.00000 
-5       0.48843     host node03                         
 2   hdd 0.09769         osd.2       up  1.00000 1.00000 
 5   hdd 0.09769         osd.5       up  1.00000 1.00000 
 8   hdd 0.09769         osd.8       up  1.00000 1.00000 
10   hdd 0.09769         osd.10      up  1.00000 1.00000 
12   hdd 0.09769         osd.12      up  1.00000 1.00000 
-9       0.39075     host node04                         
13   hdd 0.09769         osd.13      up  1.00000 1.00000 
14   hdd 0.09769         osd.14      up  1.00000 1.00000 
15   hdd 0.09769         osd.15      up  1.00000 1.00000 
16   hdd 0.09769         osd.16      up  1.00000 1.00000 

4.5 删除新增的node04节点

实验设计:先删除node04节点上的全部osd,再删除掉host node04
执行命令

命令e.g.:
    ansible-playbook -vv -i hosts infrastructure-playbooks/shrink-osd.yml -e osd_to_kill=1,2,3


    ansible-playbook -vv -i hosts infrastructure-playbooks/shrink-osd.yml -e osd_to_kill=13,14,15,16

实验结果:
osd都删除掉了,但是这个host还在,在playbook列表里面也没有找到类似的playbook,个人猜测可能是版本较早,且这个功能场景不太常见的原因。

[root@node01 ceph-ansible]# ceph osd tree
ID CLASS WEIGHT  TYPE NAME       STATUS REWEIGHT PRI-AFF 
-1       1.26993 root default                            
-3       0.39075     host node01                         
 0   hdd 0.09769         osd.0       up  1.00000 1.00000 
 3   hdd 0.09769         osd.3       up  1.00000 1.00000 
 6   hdd 0.09769         osd.6       up  1.00000 1.00000 
11   hdd 0.09769         osd.11      up  1.00000 1.00000 
-7       0.39075     host node02                         
 1   hdd 0.09769         osd.1       up  1.00000 1.00000 
 4   hdd 0.09769         osd.4       up  1.00000 1.00000 
 7   hdd 0.09769         osd.7       up  1.00000 1.00000 
 9   hdd 0.09769         osd.9       up  1.00000 1.00000 
-5       0.48843     host node03                         
 2   hdd 0.09769         osd.2       up  1.00000 1.00000 
 5   hdd 0.09769         osd.5       up  1.00000 1.00000 
 8   hdd 0.09769         osd.8       up  1.00000 1.00000 
10   hdd 0.09769         osd.10      up  1.00000 1.00000 
12   hdd 0.09769         osd.12      up  1.00000 1.00000 
-9             0     host node04 

总结

记录一下

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

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

相关文章

Rook-ceph(1.92最新版)

安装前准备 #确认安装lvm2 yum install lvm2 -y #启用rbd模块 modprobe rbd cat > /etc/rc.sysinit << EOF #!/bin/bash for file in /etc/sysconfig/modules/*.modules do[ -x \$file ] && \$file done EOF cat > /etc/sysconfig/modules/rbd.modules &l…

第2章 信息技术发展(一)

2.1 信息技术及其发展 2.1.1 计算机软硬件 计算机硬件(Computer Hardware)是指计算机系统中由电子、机械和光电元件等组成的各种物理装置的总称。 计算机软件 (Computer Software)是指计算机系统中的程序及其文档&#xff0c;程序是计算任务的处理对象和处理规则的描述; 文档…

【网络基本知识--2】

网络基本知识--2 1.主机A和主机B通过三次握手TCP连接&#xff0c;过程是&#xff1a; TCP三次握手连接过程如下&#xff1a; 1.客户端发送SYN(SEQx)报文发送给服务器端&#xff0c;进入SYN_SEND状态&#xff1b; 2.服务器端收到SYN报文&#xff0c;回应一个SYN(SEQy)ACK(ACKx1)…

摄影——曝光三要素

曝光三要素 光圈&#xff08;F&#xff09;&#xff1a;控制进光量的装置快门&#xff08;1/X&#xff09;&#xff1a;接受光线的时间感光度&#xff08;ISO&#xff09;&#xff1a;感光器件对光线的敏感程度 一、快门&#xff08;1/X&#xff09; 静物 1/125 动物 1/500 …

DeepSeek-R1论文阅读及蒸馏模型部署

DeepSeek-R1论文阅读及蒸馏模型部署 文章目录 DeepSeek-R1论文阅读及蒸馏模型部署摘要Abstract一、DeepSeek-R1论文1. 论文摘要2. 引言3. DeepSeek-R1-Zero的方法3.1 强化学习算法3.2 奖励建模3.3 训练模版3.4 DeepSeek-R1-Zero的性能、自进化过程和顿悟时刻 4. DeepSeek-R1&am…

Python的那些事第二十五篇:高效Web开发与扩展应用实践FastAPI

FastAPI:高效Web开发与扩展应用实践 摘要 FastAPI 是一种基于 Python 的现代 Web 框架,以其高性能、自动文档生成、数据验证和异步支持等特性受到开发者的青睐。本文首先介绍了 FastAPI 的核心特性及其开发流程,然后通过实际案例探讨了其在异步编程、微服务架构、WebSocket…

情书网源码 情书大全帝国cms7.5模板

源码介绍 帝国cms7.5仿《情书网》模板源码&#xff0c;同步生成带手机站带采集。适合改改做文学类的网站。 效果预览 源码获取 情书网源码 情书大全帝国cms7.5模板

深入解析iOS视频录制(二):自定义UI的实现

深入解析 iOS 视频录制&#xff08;一&#xff09;&#xff1a;录制管理核心MWRecordingController 类的设计与实现 深入解析iOS视频录制&#xff08;二&#xff09;&#xff1a;自定义UI的实现​​​​​​​ 深入解析 iOS 视频录制&#xff08;三&#xff09;&#xff1a;完…

Deepseek 万能提问公式:高效获取精准答案

### **Deepseek 万能提问公式&#xff1a;高效获取精准答案** 在使用 Deepseek 或其他 AI 工具时&#xff0c;提问的质量直接决定了答案的精准度和实用性。以下是一个万能的提问公式回答&#xff1a; --- ### **1. 明确背景&#xff08;Context&#xff09;** - **作用**…

DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地

对于个人开发者或尝鲜者而言&#xff0c;本地想要部署 DeepSeek 有很多种方案&#xff0c;但是一旦涉及到企业级部署&#xff0c;则步骤将会繁琐很多。 比如我们的第一步就需要先根据实际业务场景评估出我们到底需要部署什么规格的模型&#xff0c;以及我们所要部署的模型&…

算法——舞蹈链算法

一&#xff0c;基本概念 算法简介 舞蹈链算法&#xff08;Dancing Links&#xff0c;简称 DLX&#xff09;是一种高效解决精确覆盖问题的算法&#xff0c;实际上是一种数据结构&#xff0c;可以用来实现 X算法&#xff0c;以解决精确覆盖问题。由高德纳&#xff08;Donald E.…

WPF8-常用控件

目录 写在前面&#xff1a;1. 按钮控件1.1. Button 按钮1.2. RepeatButton:长按按钮1.3. RadioButton:单选按钮 2. 数据显示控件2.1. TextBlock&#xff1a;只读文本控件2.2. Lable&#xff1a;标签 显示文本控件2.3. ListBox&#xff1a;显示可选择项的列表2.4. DataGrid&…

代码随想录刷题day24|(字符串篇)151.反转字符串中的单词

一、题目思路 1.快慢指针移除字符串首尾以及单词中的多余空格 类似前面数组篇--移除元素代码随想录刷题day02|&#xff08;数组篇&#xff09;27.移除元素、26.删除有序数组中的重复项_代码随想录网站-CSDN博客 快指针fast遍历整个字符串&#xff0c;慢指针slow指向新字符串…

VMware按照的MacOS升级后无法联网

背景 3年前公司使用Flutter开发了一款app&#xff0c;现在app有微小改动需要重新发布到AppStore 问题 问题是原来的Vmware搭建的开发环境发布App失败了 提示&#xff1a;App需要使用xcode15IOS 17 SDK重新构建&#xff0c;这样的话MacOS至少需要升级到13.5 Xcode - 支持 - Ap…

DeepSeek V3和R1

DeepSeek V3 和 R1 是深度求索&#xff08;DeepSeek&#xff09;推出的两款大模型&#xff0c;基于混合专家架构&#xff08;MoE&#xff09;&#xff0c;但在设计目标、训练方法和应用场景上存在显著差异。以下是两者的详细对比与补充内容&#xff1a; DeepSeek V3和R1 一、模…

【操作系统】深入理解Linux物理内存

物理内存的组织结构 我们平时所称的内存也叫随机访问存储器也叫 RAM 。RAM 分为两类&#xff1a; 一类是静态 RAM&#xff08; SRAM &#xff09;&#xff0c;这类 SRAM 用于 CPU 高速缓存 L1Cache&#xff0c;L2Cache&#xff0c;L3Cache。其特点是访问速度快&#xff0c;访…

记一次一波三折的众测SRC经历

视频教程和更多福利在我主页简介或专栏里 &#xff08;不懂都可以来问我 专栏找我哦&#xff09; 目录&#xff1a; 前言 波折一&#xff1a;RCE漏洞利用失败 波折二&#xff1a;SQL时间盲注 波折三&#xff1a;寻找管理后台 总结 前言 先谈个人SRC心得体会吧&#xff0c;我虽…

POI优化Excel录入

57000单词原始录入时间258S 核心代码: List<Word> wordBookList ExcelUtil.getReader(file.getInputStream()).readAll(Word.class);if (!CollectionUtil.isEmpty(wordBookList)) {for (Word word : wordBookList) {//逐条向数据库中插入单词wordMapper.insert(word);}…

HarmonyOS进程通信及原理

大家好&#xff0c;我是学徒小z&#xff0c;最近在研究鸿蒙中一些偏底层原理的内容&#xff0c;今天分析进程通信给大家&#xff0c;请用餐&#x1f60a; 文章目录 进程间通信1. 通过公共事件&#xff08;ohos.commonEventManager&#xff09;公共事件的底层原理 2. IPC Kit能…

DeepSeek核心算法解析:如何打造比肩ChatGPT的国产大模型

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列一DeepSeek核心算法解析&#xff1a;如何…