在一台机器上搭建一体化 Ceph 存储集群

Ceph集群搭建系列(一):Ceph 集群搭建 目录 摘要: 目录 一、准备机器 二、ceph节点安装 三、搭建集群 后续:Ceph集群搭建系列(二):Ceph 集群扩容 参考: 摘要: 本文介绍的Ceph 集群搭建是基于luminous版本(ceph -v: ceph version 12.2.11 (26dc3775efc7bb286a1d6d66faee0ba30ea23eee) luminous (stable)),c... 阅读详情

概述

Ceph 是一个开源的软件定义存储平台,它在单个分布式计算机集群上实现对象存储,并提供对象级、块级和文件级存储的三合一接口。Ceph 存储集群由 Ceph 监视器、Ceph 管理器、Ceph 元数据服务器和 OSD 组成,它们协同工作来存储和复制数据,供应用程序、Ceph 用户和 Ceph 客户端使用。Ceph 还提供了使用 PostgreSQL 来利用网络存储的选项。

在这篇文章中,我将指导你通过一个简单的过程在单台机器上搭建一个一体化的 Ceph 存储集群,这样你就可以使用这个设置来运行简单的与存储相关的实验性开发或测试。

搭建 Ceph 存储集群

一个可用于生产环境的 Ceph 存储集群应该包含所有必要的组件以正确管理存储,但这篇博客文章旨在提供一个简单的设置,让开发人员能够快速体验网络存储集群。

搭建基础环境

在本节中,我使用了一台在 VirtualBox 上运行的 CentOS 7 虚拟机,并添加了三个虚拟硬盘(VHD)。这台虚拟机的存储设置如下图所示:
img1.png

登录到 CentOS 后,通过运行以下命令添加一个名为 ceph 的新用户:

$ sudo useradd -d /home/ceph -m ceph
$ sudo passwd ceph
$ echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
$ sudo chmod 0440 /etc/sudoers.d/ceph
$ su - ceph

然后使用以下命令安装基本软件包。Docker 用作容器,NTP 用于同步时钟:

$ sudo yum update
$ sudo yum install lvm2 docker ntp ntpdate ntp-doc python3

检查状态,确保 Docker 和 NTPD 都正常运行:

$ sudo systemctl status ntpd
$ sudo systemctl status docker

搭建集群监视器

有许多工具可用于管理 Ceph 存储集群,但我们将使用简单的 cephadm 作为我们的管理工具。

首先,切换到主目录并通过以下命令下载 cephadm:

$ cd ~
$ curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm
$ chmod +x cephadm

接下来,添加 Octopus 版本的仓库并安装 cephadm:

$ sudo ./cephadm add-repo --release octopus
$ sudo ./cephadm install

现在,使用 cephadm 引导程序在 Ceph 存储集群中设置第一个监视器守护进程。将 192.168.0.134 替换为你实际的服务器 IP 地址。我们将使用简单的用户名和密码 admin/password 来简化设置,否则 cephadm 会生成一个随机密码,并要求你在首次登录时更改它。

$ sudo ./cephadm bootstrap --mon-ip 192.168.0.134 --dashboard-password-noupdate --initial-dashboard-user admin --initial-dashboard-password password

如果一切顺利运行,你应该会看到类似以下的一些消息。

Ceph Dashboard is now available at:

         URL: https://localhost.localdomain:8443/
        User: admin
    Password: password

You can access the Ceph CLI with:

    sudo ./cephadm shell --fsid 1117491a-ca74-11ed-87fc-080027a1115e -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring

Please consider enabling telemetry to help improve Ceph:

    ceph telemetry on

For more information see:

    https://docs.ceph.com/docs/master/mgr/telemetry/

设置好集群监视器后,使用 Web 浏览器登录并检查当前状态。通常会显示如下所示的仪表板:
img2.png

你也可以安装一些常用工具,通过命令行检查 Ceph 存储集群:

$ sudo cephadm install ceph-common

然后,使用以下命令检查状态,你应该会看到类似以下的输出:

$ sudo ceph status
  cluster:
    id:     1117491a-ca74-11ed-87fc-080027a1115e
    health: HEALTH_WARN
            OSD count 0 < osd_pool_default_size 3

  services:
    mon: 1 daemons, quorum localhost.localdomain (age 9m)
    mgr: localhost.localdomain.trwhwk(active, since 8m)
    osd: 0 osds: 0 up, 0 in

  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0 B
    usage:   0 B used, 0 B / 0 B avail
    pgs:

搭建对象存储设备

如你在 ceph status 中所见,我们的这个集群中只有一个监视器在运行,但有 0 个 osd(对象存储设备)。在向这个存储集群添加对象存储设备之前,让我们使用 lsblk 检查当前的磁盘状态。

$ lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   80G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   79G  0 part
  ├─centos-root 253:0    0 49.8G  0 lvm  /
  ├─centos-swap 253:1    0    5G  0 lvm  [SWAP]
  └─centos-home 253:2    0 24.3G  0 lvm  /home
sdb               8:16   0   30G  0 disk
sdc               8:32   0   30G  0 disk
sdd               8:48   0   30G  0 disk
sr0              11:0    1 1024M  0 rom

上面是 lsblk 命令的输出,它显示了系统当前的磁盘状态。它列出了所有可用的块设备,包括它们的名称、主要和次要设备编号、大小、类型以及挂载点(如果有的话)。在这种情况下,我们可以看到有三个额外的磁盘(sdb、sdc 和 sdd)尚未被使用。

接下来,让我们使用 Ceph 设备管理命令检查这三个磁盘是否可以添加。

$ sudo ceph orch device ls
Hostname               Path      Type  Serial               Size   Health   Ident  Fault  Available
localhost.localdomain  /dev/sdb  hdd   VBc50561fa-4658471a  32.2G  Unknown  N/A    N/A    Yes
localhost.localdomain  /dev/sdc  hdd   VBc775712c-0dbb8b17  32.2G  Unknown  N/A    N/A    Yes
localhost.localdomain  /dev/sdd  hdd   VB4dfb0df0-a8f28653  32.2G  Unknown  N/A    N/A    Yes

这三个磁盘在“Available”列中都显示为“是”,表明我们可以将它们添加到存储集群中。要将这些设备添加到集群中,我们需要运行以下命令:

$ sudo ceph orch apply osd --all-available-devices
Scheduled osd.all-available-devices update...

输出表明设备正在处理中,这可能需要一些时间。请等待几秒钟或几分钟,然后检查 ceph 集群状态。

$ sudo ceph status
  cluster:
    id:     1117491a-ca74-11ed-87fc-080027a1115e
    health: HEALTH_OK

  services:
    mon: 1 daemons, quorum localhost.localdomain (age 12m)
    mgr: localhost.localdomain.trwhwk(active, since 11m)
    osd: 3 osds: 3 up (since 20s), 3 in (since 20s); 1 remapped pgs

  data:
    pools:   1 pools, 1 pgs
    objects: 0 objects, 0 B
    usage:   3.0 GiB used, 87 GiB / 90 GiB avail
    pgs:     1 active+undersized+remapped

  progress:
    Rebalancing after osd.1 marked in (18s)
      [............................]

现在我们可以看到,3 个 OSD 已添加到这个 Ceph 存储集群中。如果我们再次运行“lsblk”命令,应该会看到类似以下的输出,表明 sdb、sdc 和 sdd 现在正被 Ceph 存储集群使用。

$ lsblk
NAME                                                                                                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                                                                                                     8:0    0   80G  0 disk
├─sda1                                                                                                  8:1    0    1G  0 part /boot
└─sda2                                                                                                  8:2    0   79G  0 part
  ├─centos-root                                                                                       253:0    0 49.8G  0 lvm  /
  ├─centos-swap                                                                                       253:1    0    5G  0 lvm  [SWAP]
  └─centos-home                                                                                       253:2    0 24.3G  0 lvm  /home
sdb                                                                                                     8:16   0   30G  0 disk
└─ceph--7062ccde--bf6b--4252--ba0a--a66e02c0839d-osd--block--5ca780b0--b4a3--49c3--b58d--3aba26b88d14 253:3    0   30G  0 lvm
sdc                                                                                                     8:32   0   30G  0 disk
└─ceph--c38c357f--71ef--4641--acd4--8cb7bdf53520-osd--block--ae0bc25d--299e--45f0--af4f--890263970f1d 253:4    0   30G  0 lvm
sdd                                                                                                     8:48   0   30G  0 disk
└─ceph--debbc90a--860a--4e8f--9e93--a3c6e48e7994-osd--block--ccd3d288--f87f--4fa3--983a--102d838ea2a1 253:5    0   30G  0 lvm
sr0

如果你的 Ceph 存储集群的健康状态仍然处于 HEALTH_WARN 状态,你可以尝试运行本文中描述的命令来解决该问题。

解决问题后,你的 ceph 存储集群应该处于 HEALTH_OK 状态。

$ sudo ceph status
  cluster:
    id:     1117491a-ca74-11ed-87fc-080027a1115e
    health: HEALTH_OK

  services:
    mon: 1 daemons, quorum localhost.localdomain (age 17m)
    mgr: localhost.localdomain.trwhwk(active, since 16m)
    osd: 3 osds: 3 up (since 5m), 3 in (since 5m)

  data:
    pools:   1 pools, 1 pgs
    objects: 0 objects, 0 B
    usage:   3.0 GiB used, 87 GiB / 90 GiB avail
    pgs:     1 active+clean

本地测试 Ceph 存储集群

搭建 Ceph 存储集群主要是为了网络存储场景,但我们稍后会考虑块、对象和文件系统的不同访问网络场景。在这里,我们将创建一个 Cephfs 文件系统,将其本地挂载,并执行一个简单的测试。

要创建 Cephfs 文件系统,请运行以下命令并进行验证:

$ sudo ceph fs volume create cephfs
$ sudo ceph fs volume ls
[
    {
        "name": "cephfs"
    }
]

要在本地挂载 cephfs 文件系统,

  1. 通过运行以下命令为 cephfs 创建一个密钥:
$ sudo ceph fs authorize cephfs client.user / rw | sudo tee /etc/ceph/ceph.client.user.keyring
[client.user]
    key = AQCcFR5kLAgrERAAdfgLAUqdGvRxghJrLUkBMw==

此命令将创建一个密钥并将其写入密钥环文件。

  1. 通过运行以下命令挂载 cephfs 文件系统:
$ sudo mount -t ceph :/ /media/cephfs -o name=user,secret=AQCcFR5kLAgrERAAdfgLAUqdGvRxghJrLUkBMw==

此命令将把 cephfs 文件系统挂载到 /media/cephfs 目录。

  1. 通过运行以下命令将挂载目录的所有权更改为 ceph:ceph:
$ sudo chown -R ceph:ceph /media/cephfs/
  1. 在挂载目录中创建一个文件并验证其内容:
$ echo "hello ceph storage cluster" > /media/cephfs/hello.txt
$ cat /media/cephfs/hello.txt
hello ceph storage cluster

此时,你可以尝试使用类似以下的一些命令在另一台 CentOS 机器上挂载这个 Ceph 存储集群。不过,我们将在下一篇博客文章中讨论这个主题。

ssh ceph@192.168.0.134 'sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring' > client.admin.key
sudo mount -t ceph 192.168.0.134:/ /mnt/cephfs -o name=admin,secretfile=client.admin.key

总结

在这篇博客文章中,我们介绍了在单个虚拟机上搭建简单的 Ceph 存储集群并在 Cephfs 存储集群上执行基本测试的过程。我们创建了一个 Ceph 用户,设置了 Ceph 监视器和管理器,添加了对象存储设备,并创建了一个 Cephfs 文件系统。然后我们在本地挂载了 Cephfs 文件系统,创建了一个文件,并读取其内容以验证挂载是否成功。在未来的文章中,我们将探索更高级的用例,例如使用 Cephfs 文件系统在一体化 Ceph 存储集群上运行 PostgreSQL。

系统运行商业监控方案(如Datadog)与开源方案(如Prometheus)在实际生产环境中的成本效益对比 云原生监控方案对比摘要:商业方案(如Datadog)与开源方案(如Prometheus)在成本效益上差异显著。Datadog部署快捷(1小时)、运维简单(1-2人),但3年TCO较高(500节点达54万美元);Prometheus初始投入低(5万美元)但需专职团队维护。功能上,Datadog集成600+服务并内置AI分析,Prometheus需二次开发扩展。建议初创企业选Prometheus降低成本,中大型企业用Datadog提升运维效率,金融行业可采用混合方案平衡安全与成本。最终选择需结合业务需求、团队能 阅读详情

相关推荐

Ceph文件存储详解

文件系统的结构状态是维护在远端Ceph集群中的,Ceph文件系统同时挂载用户机1和用户机2,当往用户机1的挂载点写入数据后,远端Ceph集群中的系统文件状态结构随之更新,当从用户机2的挂载点访问数据时会去远端Ceph集群取数据,由于远端Ceph集群已更新,用户机2能够获取最新的数据。Ceph的文件系统符合POSIX 标准,用户就可以像使用本地存储目录一样使用Ceph的文件系统的挂载目录,即无需修改你的程序,就可以将程序的底层存储换成空间无线并可以多出共享读写的Ceph集群文件系统。

悦分享 448

Ceph集群搭建篇

关于时间同步 在 Ceph 集群中,每台节点的时间同步非常重要,因为 Ceph 集群的各个组件都需要严格的时间同步才能正常运行。以下是一些重要原因:避免数据不一致:Ceph 集群中的数据副本分布在不同的节点上,如果节点之间的时间不同步,可能会导致写操作的数据不一致,或者无法正确地读取数据。避免时钟漂移:由于硬件和软件的原因,每个节点的时钟可能会出现漂移。如果这种漂移超过了一定的阈值,可能会导致 Ceph 系统无法正常工作。避免锁竞争问题:Ceph 集群中的许多组件都使用锁来控制访问资源的顺序。

ttropsstack的博客 929

【信息科学与工程学】【数据中心】第二十四篇 数据中心DaaS场景及算法

Flink, Kafka Streams, 时序数据库。Flink, Kafka Streams, 流处理引擎。Presto, ClickHouse, 查询加速引擎。Presto, ClickHouse, 查询加速引擎。延迟<50ms,可用性>99.99%,QPS>10K。REST API, GraphQL, API网关。Tableau, Power BI, 自助BI。Tableau, Power BI, 可视化库。Spark, Hadoop, 分布式计算框架。Spark, Hadoop, 分布式计算。

weixin_49199313的博客 1058

ceph集群的搭建

这里直接指定cluster-network(集群内部通讯)和public-network(外部访问Ceph集群),也可以在执行命令后修改配置文件方式指定。使用ceph-deploy命令将配置文件和 admin key复制到管理节点和Ceph节点,以便每次执行ceph CLI命令无需指定monitor地址和。创建监视器,初始化monitor,并收集所有密钥,官方介绍:为了获得高可用性,您应该运行带有至少三个监视器的生产Ceph集群。参数–no-adjust-repos是直接使用本地源,不生成官方源。

Cat God 007的博客 3089

【信息科学与工程学】【运营科学】第二篇 C4信息与通信网络运营 (C4) ——数据中心网络运营01

这是运营的物理和逻辑对象。C4.11xx 传输资源:光纤、微波、卫星链路;频谱资源(Sub-6GHz, 毫米波)。C4.12xx 节点资源:核心路由器、交换机、基站(gNB)、数据中心服务器。C4.13xx 虚拟化资源:由NFV生成的虚拟网络功能(VNF)、容器、虚拟机和网络切片实例。这是实现智能、灵活运营的核心技术集。C4.21xx 软件定义与虚拟化:软件定义网络 (SDN):控制平面与数据平面分离,实现集中、可编程的网络控制。网络功能虚拟化 (NFV):将传统专用硬件设备的功能以软件形式运行在通用硬件上

weixin_49199313的博客 1450

【信息科学与工程学】【通信工程】第一百五十五篇 网络拓扑学09

聚焦云数据中心(多region多AZ+多边缘DC)与城域网5G/6G网络一体化的拓扑学编号类型领域问题问题的数学分析(拓扑学+其他)参数列表及参数的数值范围关联知识A166图论/组合优化云原生数据湖如何用Apache Hudi的Timeline拓扑优化增量查询?​1. 拓扑学分析(详细): - 拓扑结构:Apache Hudi使用Timeline管理表的历史变更,Timeline是一个时间轴上的DAG。每个Instant(提交、 compaction、 cleaning等)是一个节点,节点之间按时间顺

weixin_49199313的博客 221

Ceph分布式文件系统集群搭建

准备四台虚拟机搭建ceph集群存储,分别安装centos-7-x86_64操作系统,使用的ceph的版本minic版。

weixin_53673876的博客 1721

【信息科学与工程学】【数据中心】 第七篇 智算中心CLOS组网整体设计

区域主要功能网络要求技术选型安全等级可用性要求训练区​大规模AI模型训练,分布式计算超高带宽(100G+),超低延迟(<1ms),无损网络RoCEv2,PFC,DCQCN,多路径P4(最高)99.99%推理区​实时AI推理,模型服务低延迟(<10ms),高可用,弹性扩展智能负载均衡,服务网格,容器网络P3(高)99.999%公共服务区​统一认证,API网关,数据服务多租户隔离,安全防护,弹性带宽VXLAN,EVPN,微隔离P3(高)99.99%存储区​高性能存储,数据湖超高带宽,低延迟,高IOPSNVMe-

weixin_49199313的博客 1371

ceph集群搭建

CRUSH先将数据分解成一组对象,然后根据对象名称、复制级别和系统中的PG数等信息执行散列操作,再将结果生成PG ID。可以将PG看做一个逻辑容器,这个容器包含多个对象,同时这个逻辑对象映射之多个OSD上。如果没有PG,在成千上万个OSD上管理和跟踪数百万计的对象的复制和传播是相当困难的。没有PG这一层,管理海量的对象所消耗的计算资源也是不可想象的。建议每个OSD上配置50~100个PG。如过定义PG数一般的:少于5个OSD则PG数为1285-10个OSD则PG数为512。

L2111533547的博客 2192

【信息科学与工程学】【数据中心】 第十篇 智算中心存储系统的各类、分片方案

简单性原则:在满足需求的前提下,选择最简单的架构和实现可扩展性原则:设计应考虑水平扩展能力,避免单点瓶颈韧性原则:系统应具备故障容忍和自我修复能力安全性原则:安全应内置而非外挂,遵循最小权限原则成本效益原则:在性能和成本之间寻求最佳平衡可观测性原则:系统应提供充分的监控和诊断能力演进性原则:设计应支持平滑演进和技术更新架构先行:设计前瞻性、可扩展的存储网络架构性能与成本平衡:在性能、可靠性和成本之间找到最优平衡点安全合规内嵌:将安全和合规要求融入设计和实施全过程自动化智能化。

weixin_49199313的博客 1144

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04

编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017)

weixin_49199313的博客 399

JuiceFS vs Ceph:分布式存储性能与成本深度对比

你是否正面临分布式存储选型困境?企业级应用既需要Ceph的稳定性,又渴望云原生存储的弹性扩展能力?当数据量突破PB级,传统存储架构如何平衡性能与成本?本文将从架构设计、性能测试、部署成本、功能特性四大维度,为你揭示JuiceFS与Ceph的核心差异,助你做出符合业务需求的技术决策。 读完本文你将获得: - 两种存储系统的架构优劣分析 - 实测性能数据对比(吞吐量/延迟/IOPS) - 三年TCO...

gitblog_00215的博客 864

【信息科学与工程学】【云计算】计算机科学与自动化——第十五篇 云计算10 云计算领域架构

​:作为前端请求的统一入口,负载均衡器基于预设算法(如轮询、最小连接数)动态分配流量至后端服务器集群。​:通过IP哈希或Cookie绑定,保障同一用户请求由同一服务器处理(如电商购物车场景)。​:Nginx(HTTP/HTTPS反向代理)、HAProxy(TCP层负载均衡)。​:实时监控服务器状态(如响应时间、连接数),自动剔除故障节点,确保服务连续性。​:本地资源满载时,将流量分流至公有云(如AWS + 私有云混合架构)。​:LSTM预测流量峰值,强化学习动态调整权重(如阿里云智能负载均衡)。

weixin_49199313的博客 1856

ceph 存储

第1章 概念 1.1 存储概念 总结: 文件存储 设备:FTP、NFS服务器 特点:一个大文件夹,大家都可以获取文件 优点:可以共享 缺点:传输速率低 块存储 设备:cinder,磁盘阵列,硬盘,虚拟硬盘 特点:分区、格式化后,可以使用,与平常主机内置硬盘的方式完全无异 优点:直接挂载使用 缺点:不能共享数据 对象存储 设备:swift,键值存储 特点:具备块存...

weixin_30355437的博客 145

射频工程师必须了解的S参数四项要点

本文围绕单端 6 英寸走线的 S 参数展开深入分析,核心包含四项关键要点:低频下导线电学长度远小于信号波长,S11 呈大负分贝值、S21 接近 0 分贝;端口与走线的阻抗不匹配引发反射叠加,形成 S11 首个峰值(对应传输线四分之一波长频率);S21 相位可作为一致性检查依据,其 90° 相位差与 S11 峰值吻合;理想建模中 S11 峰值随频率上升因损耗下降,实际测量因连接器等阻抗不连续性,S11 会出现振荡上升。分析依托 Keysight ADS 工具与电磁求解器原理,为 S 参数解读提供科学支撑。

一只豌豆象的博客 1284

数据库和BI工程师面试题

 一.数据库 1.Oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的作用? 2.Oracle数据库,有哪几类索引,分别有什么特点? 3.Union与Union All的区别? 4.对游标的理解?游标的分类?使用方法? 5.如何查找和删除表中的重复数据?给出方法或SQL。 6.不借助第三方工具,怎么查看SQL的执行计划? 7.创建索引有哪些需要注意的要点?

web_go_run的专栏 1万+

Kubernetes容器云平台技术方案

在移动互联网时代,新的技术需要新技术支持环境、新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化。容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和...

weixin_38320674的博客 4224

从零到一:树莓派上的YOLO目标检测实战指南

本文详细介绍了如何在树莓派上部署和优化YOLO目标检测模型,从硬件选型到系统配置,再到模型转换与推理优化。通过对比不同树莓派型号的性能差异,提供实用的配置方案和代码示例,帮助开发者快速实现高效的边缘计算视觉系统。特别推荐使用ONNX格式进行模型转换,以提升在树莓派上的推理效率。

weixin_29046035的博客 1063

k8s与caas--容器云caas平台的落地实践

前言 在移动互联网时代,新的技术需要新技术支持环境、新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化。容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施。缩短应用向云端交付的周期,降低运营门槛。加速向互联网技术和业务的双转型。容器云将对接各类代码托管库,实现自动化持续集成和DOCKER...

weixin_33697898的博客 701

Visual Studio Installer下载失败的5种修复方法(含DNS修改/补丁安装)

本文针对Visual Studio Installer下载安装文件失败的问题,提供了从网络层到系统层的深度排查与修复指南。详细介绍了DNS修改、代理配置、防火墙设置、系统服务检查等5种核心修复方法,并包含离线安装与手动补丁等替代方案,帮助开发者彻底解决安装难题。

sprite的博客 1615

告别深度学习!用5个麦克风搞定多说话人分离:ReTM算法保姆级教程

本文详细介绍了ReTM算法,这是一种无需深度学习、仅需5个麦克风即可实现多说话人语音分离的创新信号处理方法。它通过估计相对传递矩阵,利用空间物理信息在混响环境中分离语音,具有数据需求低、计算复杂度小、无需先验几何信息等优势,特别适合嵌入式设备和资源受限场景。

desk3的博客 156

【Docker】

Docker诞生于开发运维环境不一致的痛点,通过“镜像打包+容器隔离”实现应用快速部署与高效资源利用。其核心思想源于集装箱,以轻量级容器替代虚拟机,显著提升性能与可移植性。基于Client-Server架构,Docker由引擎、镜像、容器与仓库构成,支持DevOps全流程。官方推荐在Linux服务器上通过apt源安装Docker Engine,确保稳定与可维护性,适用于生产环境。

athicket 1369

YOLOv8改进 | 主干网络 | 增加网络结构增强小目标检测能力【独家创新——附结构图】

YOLOv8改进,小目标检测,yolov8

kay_545 6019
上一篇: 直播回顾|PostgreSQL 18 六大新特性深度解析
下一篇: 灾难恢复工具内核细节探究与分享
IvorySQL
博客等级 码龄5年 745粉丝 557原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值