ubuntu 安装ceph(ubuntu镜像安装)
大家好,今天给各位分享ubuntu 安装ceph的一些知识,其中也会对ubuntu镜像安装进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
Ceph—Ubuntu使用源码手动部署Ceph
搭建Ceph环境,需准备200G磁盘空间,其中60G分配给操作系统,剩余用于OSD,每个OSD分配10G。
首先,从gitee平台克隆Ceph源码库,确保代码库的最新版本。
在指定目录下,利用终端执行一系列命令,实现依赖库的下载与配置。采用代理优化下载速度,并确保构建过程稳定无误。
构建Ceph时,通过cmake工具实现自动化编译过程。进入源码目录,执行一系列构建命令:首先使用autogen.sh+configure生成配置文件,然后执行make命令进行编译与安装。
在配置阶段,设置单节点环境,包括一个monitor节点、三个OSD以及一个manager节点。完成时间同步、主机名设置与hosts解析。
在Monitor节点上生成集群唯一UUID,配置ceph.conf文件,包含集群ID、监视器主机名与IP、网络段、认证方式、数据复制份数与副本数量等关键参数,确保配置统一性与数据安全性。
为集群创建多个密钥环与用户,包括monitor密钥、administrator密钥及bootstrap-osd密钥,用于权限管理与数据访问控制。
生成monitor map,根据节点信息生成并存储,准备用于后续monitor守护程序的初始化。在多节点环境部署中,还需同步monitor map、密钥文件至其他节点。
创建并初始化monitor数据目录,使用monitor map与keyring填充monitor守护程序,启动monitor服务。监控集群状态,处理可能的health告警,确保系统运行正常。
在Manger节点上启用Manger服务,实现监控与管理功能。OSD节点选取指定磁盘(如sdc的1、2、3分区)作为存储空间,使用ceph-volume工具准备OSD环境,启动OSD服务。
在最后阶段,确保所有Ceph进程已关闭,执行删除集群操作,清理资源与配置,完成整个Ceph环境的搭建与部署过程。
如何在Ubuntu 16.04中安装Ceph存储集群
第 1步-配置所有节点
这次安装,我将配置所有的 6个节点来准备安装 Ceph集群软件。所以你必须在所有节点运行下面的命令。然后确保所有节点都安装了 ssh-server。
创建 Ceph用户
在所有节点创建一个名为 cephuser的新用户
useradd-m-s/bin/bash cephuserpasswd cephuser
创建完新用户后,我们需要给 cephuser配置无密码的 sudo权限。这意味着 cephuser可以不先输入密码而获取到 sudo权限运行。
运行下面的命令来完成配置。
echo"cephuser ALL=(root) NOPASSWD:ALL"| sudo tee/etc/sudoers.d/cephuserchmod 0440/etc/sudoers.d/cephusersed-i s'/Defaults requiretty/#Defaults requiretty'/g/etc/sudoers
安装和配置 NTP
安装 NTP来同步所有节点的日期和时间。先运行 ntpdate命令通过 NTP设置日期。我们将使用 US池的 NTP服务器。然后开启并使 NTP服务在开机时启动。
sudo apt-get install-y ntp ntpdate ntp-docntpdate 0.us.pool.ntp.orghwclock--systohcsystemctl enable ntpsystemctl start ntp
安装 Open-vm-tools
ceph 块存储rbd的使用,使用普通户创建和挂载rbd
ceph@ceph-deploy:~/ceph-cluster$ ceph osd pool create rbd1-data 32 32
pool'rbd1-data' created
ceph@ceph-deploy:~/ceph-cluster$ ceph osd pool ls
device_health_metrics
mypool
.rgw.root
default.rgw.log
default.rgw.control
default.rgw.meta
myrbd1
cephfs-metadata
cephfs-data
rbd1-data
在存储池启用rbd:
ceph@ceph-deploy:~/ceph-cluster$ ceph osd pool application enable rbd1-data rbd
enabled application'rbd' on pool'rbd1-data'
初始化存储池:
ceph@ceph-deploy:~/ceph-cluster$ rbd pool init-p rbd1-data
创建存储池映像文件:
映像文件的管理都是rbd命令来执行,rbd可对映像执行创建,查看,删除,以及创建快照,克隆映像,删除快照,查看快照,快照回滚等管理操作
ceph@ceph-deploy:~/ceph-cluster$ rbd create data-img1--size 3G--pool rbd1-data--image-format 2--image-feature layering
ceph@ceph-deploy:~/ceph-cluster$ rbd create data-img2--size 5G--pool rbd1-data--image-format 2--image-feature layering
查看存储池映像文件
ceph@ceph-deploy:~/ceph-cluster$ rbd list--pool rbd1-data
data-img1
data-img2
列出映像更多信息
ceph@ceph-deploy:~/ceph-cluster$ rbd list--pool rbd1-data-l
NAME SIZE PARENT FMT PROT LOCK
data-img1 3 GiB 2
data-img2 5 GiB 2
ceph@ceph-deploy:~/ceph-cluster$ rbd--image data-img1--pool rbd1-data info
rbd image'data-img1':
size 3 GiB in 768 objects
order 22(4 MiB objects)
snapshot_count: 0
id: 3ab91c6a62f5
block_name_prefix: rbd_data.3ab91c6a62f5
format: 2
features: layering
op_features:
flags:
create_timestamp: Thu Sep 2 06:48:11 2021
access_timestamp: Thu Sep 2 06:48:11 2021
modify_timestamp: Thu Sep 2 06:48:11 2021
ceph@ceph-deploy:~/ceph-cluster$ rbd--image data-img1--pool rbd1-data info--format json--pretty-format
{
"name":"data-img1",
"id":"3ab91c6a62f5",
"size": 3221225472,
"objects": 768,
"order": 22,
"object_size": 4194304,
"snapshot_count": 0,
"block_name_prefix":"rbd_data.3ab91c6a62f5",
"format": 2,
"features": [
"layering"
],
"op_features": [],
"flags": [],
"create_timestamp":"Thu Sep 2 06:48:11 2021",
"access_timestamp":"Thu Sep 2 06:48:11 2021",
"modify_timestamp":"Thu Sep 2 06:48:11 2021"
}
镜像(映像)特性的启用和禁用
特性包括:
layering支持分层快照特性 默认开启
striping条带化
exclusive-lock:支持独占锁 默认开启
object-map支持对象映射,加速数据导入导出及已用空间特性统计等 默认开启
fast-diff快速计算对象和快找数据差异对比 默认开启
deep-flatten 支持快照扁平化操作 默认开启
journaling 是否记录日志
开启:
ceph@ceph-deploy:~/ceph-cluster$ rbd feature enable object-map--pool rbd1-data--image data-img1
ceph@ceph-deploy:~/ceph-cluster$ rbd feature enable fast-diff--pool rbd1-data--image data-img1
ceph@ceph-deploy:~/ceph-cluster$ rbd feature enable exclusive-lock--pool rbd1-data--image data-img1
禁止:
ceph@ceph-deploy:~/ceph-cluster$ rbd feature disable object-map--pool rbd1-data--image data-img1
ceph@ceph-deploy:~/ceph-cluster$ rbd feature disable fast-diff--pool rbd1-data--image data-img1
ceph@ceph-deploy:~/ceph-cluster$ rbd feature disable exclusive-lock--pool rbd1-data--image data-img1
客户端使用块设备:
首先要安装ceph-comman,配置授权
[root@ceph-client1 ceph_data]# yum install-y
[root@ceph-client1 ceph_data]# yum install ceph-common-y
授权,
ceph@ceph-deploy:/etc/ceph$ sudo-i
root@ceph-deploy:~# cd/etc/ceph/
root@ceph-deploy:/etc/ceph# scp ceph.conf ceph.client.admin.keyring root@192.168.241.21:/etc/ceph
ubuntu系统:
root@ceph-client2:/var/lib/ceph# apt install-y ceph-common
root@ceph-deploy:/etc/ceph# sudo scp ceph.conf ceph.client.admin.keyring ceph@192.168.241.22:/tmp
ceph@192.168.241.22's password:
ceph.conf 100% 270 117.7KB/s 00:00
ceph.client.admin.keyring
root@ceph-client2:/var/lib/ceph# cd/etc/ceph/
root@ceph-client2:/etc/ceph# cp/tmp/ceph.c*/etc/ceph/
root@ceph-client2:/etc/ceph# ll/etc/ceph/
total 20
drwxr-xr-x 2 root root 4096 Aug 26 07:58./
drwxr-xr-x 84 root root 4096 Aug 26 07:49../
-rw------- 1 root root 151 Sep 2 07:24 ceph.client.admin.keyring
-rw-r--r-- 1 root root 270 Sep 2 07:24 ceph.conf
-rw-r--r-- 1 root root 92 Jul 8 07:17 rbdmap
-rw------- 1 root root 0 Aug 26 07:58 tmpmhFvZ7
客户端映射镜像
root@ceph-client2:/etc/ceph# rbd-p rbd1-data map data-img1
rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with"rbd feature disable rbd1-data/data-img1 object-map fast-diff".
In some cases useful info is found in syslog- try"dmesg| tail".
rbd: map failed:(6) No such device or address
root@ceph-client2:/etc/ceph# rbd feature disable rbd1-data/data-img1 object-map fast-diff
root@ceph-client2:/etc/ceph# rbd-p rbd1-data map data-img1
/dev/rbd0
root@ceph-client2:/etc/ceph# rbd-p rbd1-data map data-img2
格式化块设备admin映射映像文件
查看块设备
root@ceph-client2:/etc/ceph# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
└─sda1 8:1 0 20G 0 part/
sr0 11:0 1 1024M 0 rom
rbd0 252:0 0 3G 0 disk
rbd1 252:16 0 5G 0 disk
root@ceph-client2:/etc/ceph# mkfs.ext4/dev/rbd1
mke2fs 1.44.1(24-Mar-2018)
Discarding device blocks: done
Creating filesystem with 1310720 4k blocks and 327680 inodes
Filesystem UUID: 168b99e6-a3d7-4dc6-9c69-76ce8b42f636
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal(16384 blocks): done
Writing superblocks and filesystem accounting information: done
挂在挂设备
root@ceph-client2:/etc/ceph# mkdir/data/data1-p
root@ceph-client2:/etc/ceph# mount/dev/rbd1/data/data1/
验证写入数据:
root@ceph-client2:/etc/ceph# cd/data/data1/
root@ceph-client2:/data/data1# cp/var/log/.-r
root@ceph-client2:/data/data1# ceph df
--- RAW STORAGE---
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 220 GiB 213 GiB 7.4 GiB 7.4 GiB 3.37
TOTAL 220 GiB 213 GiB 7.4 GiB 7.4 GiB 3.37
--- POOLS---
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
device_health_metrics 1 1 0 B 0 0 B 0 66 GiB
mypool 2 32 1.2 MiB 1 3.5 MiB 0 66 GiB
.rgw.root 3 32 1.3 KiB 4 48 KiB 0 66 GiB
default.rgw.log 4 32 3.6 KiB 209 408 KiB 0 66 GiB
default.rgw.control 5 32 0 B 8 0 B 0 66 GiB
default.rgw.meta 6 8 0 B 0 0 B 0 66 GiB
myrbd1 7 64 829 MiB 223 2.4 GiB 1.20 66 GiB
cephfs-metadata 8 32 563 KiB 23 1.7 MiB 0 66 GiB
cephfs-data 9 64 455 MiB 129 1.3 GiB 0.66 66 GiB
rbd1-data 10 32 124 MiB 51 373 MiB 0.18 66 GiB
创建普通用户并授权
root@ceph-deploy:/etc/ceph# ceph auth add client.huahualin mon"allow rw" osd"allow rwx pool=rbd1-data"
added key for client.huahualin
root@ceph-deploy:/etc/ceph# ceph-authtool--create-keyring ceph.client.huahualin.keyring
creating ceph.client.huahualin.keyring
root@ceph-deploy:/etc/ceph# ceph auth get client.huahualin-o ceph.client.huahualin.keyring
exported keyring for client.huahualin
使用普通用户创建rbd
root@ceph-deploy:/etc/ceph# scp ceph.conf ceph.client.huahualin.keyring root@192.168.241.21:/etc/ceph/
普通用户映射镜像
[root@ceph-client1~]# rbd--user huahualin--pool rbd1-data map data-img2
/dev/rbd0
使用普通用户挂载rbd
[root@ceph-client1~]# mkfs.ext4/dev/rbd0
[root@ceph-client1~]# fdisk-l/dev/rbd0
[root@ceph-client1~]# mkdir/data
[root@ceph-client1~]# mount /dev/rbd0/data
[root@ceph-client1~]# df-Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 475M 0 475M 0%/dev
tmpfs tmpfs 487M 0 487M 0%/dev/shm
tmpfs tmpfs 487M 7.7M 479M 2%/run
tmpfs tmpfs 487M 0 487M 0%/sys/fs/cgroup
/dev/mapper/centos-root xfs 37G 1.7G 36G 5%/
/dev/sda1 xfs 1014M 138M 877M 14%/boot
tmpfs tmpfs 98M 0 98M 0%/run/user/0
192.168.241.12:6789:/ ceph 67G 456M 67G 1%/ceph_data
/dev/rbd0 ext4 4.8G 20M 4.6G 1%/data
挂载rbd后会自动加载模块libceph.ko
[root@ceph-client1~]# lsmod|grep ceph
ceph 363016 1
libceph 306750 2 rbd,ceph
dns_resolver 13140 1 libceph
libcrc32c 12644 4 xfs,libceph,nf_nat,nf_conntrack
[root@ceph-client1~]# modinfo libceph
filename: /lib/modules/3.10.0-1160.el7.x86_64/kernel/net/ceph/libceph.ko.xz
license: GPL
description: Ceph core library
author: Patience Warnick<patience@newdream.net>
author: Yehuda Sadeh<yehuda@hq.newdream.net>
author: Sage Weil<sage@newdream.net>
retpoline: Y
rhelversion: 7.9
srcversion: D4ABB648AE8130ECF90AA3F
depends: libcrc32c,dns_resolver
intree: Y
vermagic: 3.10.0-1160.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: E1:FD:B0:E2:A7:E8:61:A1:D1:CA:80:A2:3D:CF:0D:BA:3A:A4:AD:F5
sig_hashalgo: sha256
如果镜像空间不够用了,我们可以做镜像空间的拉伸,一般不建议减小
查看rdb1-data存储池的镜像
[root@ceph-client1~]# rbd ls-p rbd1-data-l
NAME SIZE PARENT FMT PROT LOCK
data-img1 3 GiB 2
data-img2 5 GiB 2
比如data-img2空间不够了,需要拉伸,将data-img2扩展到8G
[root@ceph-client1~]# rbd resize--pool rbd1-data--image data-img2--size 8G
Resizing image: 100% complete...done.
可以通过fdisk-l查看镜像空间大小,但是通过df-h就看不到
[root@ceph-client1~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part/boot
└─sda2 8:2 0 39G 0 part
├─centos-root 253:0 0 37G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
rbd0 252:0 0 8G 0 disk/data
[root@ceph-client1~]# fdisk-l/dev/rbd0
Disk/dev/rbd0: 8589 MB, 8589934592 bytes, 16777216 sectors
Units= sectors of 1* 512= 512 bytes
Sector size(logical/physical): 512 bytes/ 512 bytes
I/O size(minimum/optimal): 4194304 bytes/ 4194304 bytes
将挂载设置开机启动
[root@ceph-client1~]# vi/etc/rc.d/rc.local
rbd--user huahualin--pool rbd1-data map data-img2
mount/dev/rbd0/data
[root@ceph-client1~]# chmod a+x /etc/rc.d/rc.local
[root@ceph-client1~]# reboot