ceph手动添加osd

简单版ceph-disk:

ceph-disk prepare /dev/sdb

ceph-disk activate --mark-init systemd --mount /dev/sdb

详细

生成uuid

uuidgen
4c0a02e2-e577-4778-b775-8b636926bb2d

创建OSD

ceph osd create 4c0a02e2-e577-4778-b775-8b636926bb2d

创建OSD目录

mkdir -p /var/lib/ceph/osd/ceph-0

改权限

chown ceph.ceph /var/lib/ceph/osd/ceph-0

格式化OSD磁盘

mkfs -t xfs /dev/vdb

挂载OSD磁盘

mount /dev/vdb /var/lib/ceph/osd/ceph-0/

初始化OSD

ceph-osd -i 0 --mkfs --mkkey --osd-uuid 4c0a02e2-e577-4778-b775-8b636926bb2d
如果报错: WARNING: max attr value size (1024) is smaller than osd_max_object_name_len (2048). Your backend filesystem appears to not support attrs large enough to handle the configured max rados name size. You may get unexpected ENAMETOOLONG errors on rados operations or buggy behavior

在ceph.conf加:

osd max object name len = 256 
osd max object namespace len = 64

注册OSD keyring

ceph auth add osd.0 osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-0/keyring

把此节点加入 CRUSH 图

ceph [--cluster {
    
    cluster-name}] osd crush add-bucket {
    
    hostname} host
ceph osd crush add-bucket node1 host

把此 Ceph 节点放入 default 根下

ceph osd crush move node1 root=default

把此 OSD 加入 CRUSH 图之后,它就能接收数据了。你也可以反编译 CRUSH 图、把此 OSD 加入设备列表、对应主机作为桶加入(如果它还不在 CRUSH 图里)、然后此设备作为主机的一个条目、分配权重、重新编译、注入集群

ceph [--cluster {
    
    cluster-name}] osd crush add {
    
    id-or-name} {
    
    weight} [{
    
    bucket-type}={
    
    bucket-name} ...]
ceph osd crush add osd.0 1.0 host=node1

要让守护进程开机自启,必须创建一个空文件

sudo touch /var/lib/ceph/osd/ceph-0/sysvinit

启动osd

ceph-osd --id 0

参考
https://www.jianshu.com/p/ea126909457e
http://docs.ceph.org.cn/install/manual-deployment/

猜你喜欢

转载自blog.csdn.net/wuxingge/article/details/107897353
今日推荐