千家信息网

mkcephfs如何创建集群

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章给大家分享的是有关mkcephfs如何创建集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。$0指的就是mkcephfs1. 校验conf文件,并创建随机的临时目录
千家信息网最后更新 2025年02月05日mkcephfs如何创建集群

这篇文章给大家分享的是有关mkcephfs如何创建集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

$0指的就是mkcephfs

1. 校验conf文件,并创建随机的临时目录:

dir = /tmp/mkcephfs.jYWWOaxaTa

2 .执行 :$0 --prepare-monmap -d $dir -c $conf

1) 得到mon列表、mon的id以及mon的地址 :

mons=`$CCONF -c $conf -l mon | egrep -v '^mon$' | sort`

id=`echo $name | cut -c 4- | sed 's/^\\.//'`

get_conf addr "" "mon addr"

那么args:args = --add 0 192.168.100.61:6789

2) 在$dir/monmap中创建monmap

$BINDIR/monmaptool --create --clobber $args --print $monmap || exit 1

在此之中,生成了fsid,并将 epoch 0 写入 /tmp/mkcephfs.jYWWOaxaTa/monmap

3) 复制ceph.conf文件:

cp $conf $dir/conf

至此,$0 --prepare-monmap -d $dir -c $conf 命令执行结束。

3. 只取出osd_list和mds_lilst组成name_list, 遍历name_llist并执行:

1)如果为远程主机,那么先调用scp推送conf 和monmap 到远程主机的临时目录 $host:$rdir:

rdir=`mktemp -u /tmp/mkfs.ceph.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`

2)do_root_cmd "$0 -d $rdir --init-daemon $name"

s1. 检查/var/run/ceph/$name.pid和/var/run/ceph/$name.asok,并创建相应的目录

s2 .如果$name的$type为osd,则:

$BINDIR/ceph-osd -c $conf --monmap $dir/monmap -i $id --mkfs --mkkey

get_conf osd_data "/var/lib/ceph/osd/ceph-$id" "osd data"

get_conf osd_keyring "$osd_data/keyring" "keyring"

$BINDIR/ceph-authtool -p -n $name $osd_keyring > $dir/key.$name

s3. 如果$type为mds,则:

get_conf mds_data "/var/lib/ceph/mds/ceph-$id" "mds data"

get_conf mds_keyring "$mds_data/keyring" "keyring"

test -d $mds_data || mkdir -p $mds_data

echo "creating private key for $name keyring $mds_keyring"

$BINDIR/ceph-authtool --create-keyring --gen-key -n $name $mds_keyring

$BINDIR/ceph-authtool -p -n $name $mds_keyring > $dir/key.$name

3) 如果带有--mkfs参数,那么同时格式化分区

do_root_cmd "$0 -d $rdir --prepare-osdfs $name"

4)如果为远程主机,从远程节点收集keys

scp -q $host:$rdir/key.$name $dir

4. 准备monitors,执行$0 -d $dir --prepare-mon $moreargs :

此时,moreargs已经包含了更多参数:numosd osdmap crushmapsrc crushmap

1)如果useosdmap不为空,那么使用useosdmap:cp $useosdmap $dir/osdmap,否则根据conf文件创建通用的osdmap:

$BINDIR/osdmaptool --create-from-conf $dir/osdmap -c $conf

2) 得到crushmapsrc :

get_conf crushmapsrc "" "crush map src" mon global

如果$crushmapsrc不为空,则根据crushmapsrc得到一个map文件,保存为$dir/crushmap:

$BINDIR/crushtool -c $crushmapsrc -o $dir/crushmap

3)得到crushmap:

get_conf crushmap "$usecrushmap" "crush map" mon global

如果$crushmap 不为空,则将$crushmap导入到$dir/crushmap:

$BINDIR/osdmaptool --import-crush $crushmap $dir/osdmap

4)产生admin keyring,保存到$dir/keyring.admin:

$BINDIR/ceph-authtool --create-keyring --gen-key -n client.admin $dir/keyring.admin

5)创建初始的monitor keyring:

s1. cp $dir/keyring.admin $dir/keyring.mon

s2. $BINDIR/ceph-authtool -n client.admin --set-uid=0 \

--cap mon 'allow *' \

--cap osd 'allow *' \

--cap mds 'allow' \

$dir/keyring.mon

s3. $BINDIR/ceph-authtool --gen-key -n mon. $dir/keyring.mon --cap mon 'allow *'

6) 遍历$dir/key.*:

如果ktype为osd:

$BINDIR/ceph-authtool -n $kname --add-key $secret $dir/keyring.mon \

--cap mon 'allow rwx' \

--cap osd 'allow *'

如果type为mds:

$BINDIR/ceph-authtool -n $kname --add-key $secret $dir/keyring.mon \

--cap mon "allow rwx" \

--cap osd 'allow *' \

--cap mds 'allow'

5.遍历mon_list,并执行:

1)推送配置文件

如果为远程主机,先推送本地的$dir/* 到$rdir :

rdir=`mktemp -u /tmp/mkfs.ceph.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`

否则如果是本地主机,则cp $dir/conf /etc/ceph/ceph.conf

2)开始启动mon daemon:

do_root_cmd "$0 -d $rdir --init-daemon $name"

s1. 检查/var/run/ceph/$name.pid和/var/run/ceph/$name.asok,并创建相应的目录

s2.此时 $type为mon,则:

get_conf mon_data "/var/lib/ceph/mon/ceph-$id" "mon data"

mkdir -p "$mon_data"

$BINDIR/ceph-mon -c $conf --mkfs -i $id --monmap $dir/monmap --osdmap $dir/osdmap -k $dir/keyring.mon

6 .得到adminkerying:

get_conf adminkeyring "/etc/ceph/keyring" "keyring" global

cp $dir/keyring.admin $adminkeyring

感谢各位的阅读!关于"mkcephfs如何创建集群"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

主机 文件 目录 更多 推送 集群 内容 参数 篇文章 检查 不错 实用 之中 同时 命令 地址 就是 文章 格式 看吧 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 竞价点击软件开发 计算机网络技术学业规划书 代理即时通讯软件开发 郧阳区互联网软件开发统计 承担网络安全的主要部门是 北京第五纬度网络技术有限公司 软件开发风险分析背景 数据库监控主要内容 济南鲁商网络技术有限公司 软件开发专业公务员 数据库的视频教学 传奇mysql数据库源码 手机ipsec服务器地址怎么填 代理服务器 ip 长沙测绘软件开发招聘信息 湖北浩航网络技术有限公司 数据库原理方面的书籍 软件定义 软件开发和 嘉定区网络营销软件开发哪个好 四川前端软件开发哪家可靠 珠海嵌入式软件开发流程多少钱 网络安全需求的具体内容 软件开发用户界面设计 四川出口外贸软件开发 嘉定区网络营销软件开发哪个好 四川前端软件开发哪家可靠 郑州科技学院计算机网络技术女生 数控车床编程数据库实例 博图创建tcp服务器 电脑服务器图标变大
0