利用 CurveAdm 快速部署一个单机集群 CurveBS.

Curve 是云原生计算基金会 (CNCF) Sandbox 项目,是网易自研和开源的高性能、易运维、云原生的分布式存储系统,由块存储 CurveBS 和文件系统 CurveFS 两部分组成。

# 软硬件准备

操作系统:Ubuntu22.04

# 环境准备

CurveBS 客户端依赖内核 nbd 模块

需要加载 nbd 模块

modprobe nbd

并且检测一下

sudo lsmod | grep nbd

image-20230714001141641

nbd 是什么?Network Block Device,让用户通过网络访问到某个块设备,或者镜像设备。nfs (Network File System) 可以实现通过网络挂在各种文件系统并进行访问,nbd 可以进行分区,管理到块设备层。

# 安装依赖

CurveBS/CurveFS 所有服务都运行在 Docker 容器内,运行以下命令来检测,确保 Docker Daemon 已经运行:

sudo docker run --rm hello-world

这个命令会下载一个测试映像,并在容器中运行它。当容器运行时,它打印一条消息并退出。

image-20230714001830404

# 安装 CurveAdm

安装在用户主目录下的 .curveadm 目录,即~/.curveadm

image-20230714001900772

# 启动 playground 集群

操作容器并且有挂卸载的操作需要 root 权限,否则命令将一直在等待权限认证,通过运行以下命令来验证当前用户是否有 sudo 权限:

sudo ls

在这里执行原教程指令

curveadm playground run --kind curvebs

遇到了 630001 的问题,原因是访问了私有库,需要重新定向公开仓库。

curveadm playground run --kind curvebs -i opencurvedocker/curvebs:playground

执行以下命令可一键启动一个 CurveBS 的 playground,该命令可能需要几十秒的耗时,可以通过换源 docker 等加快速度

lsblk | grep nbd
sudo mkfs.ext4 /dev/nbd0

image-20230714002629888

# 使用 playground

image-20230714002641430

可以像使用本地磁盘一样去使用它,在这里我们将它格式化成 ext4 文件系统,并挂载到指定目录:

sudo mkfs.ext4 /dev/nbd0  # 这里我们假定映射的是 nbd0 设备sudo mount /dev/nbd0 /path/to/mount

image-20230714002651049