千家信息网

mkcephfs如何创建集群

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关mkcephfs如何创建集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。$0指的就是mkcephfs1. 校验conf文件,并创建随机的临时目录
千家信息网最后更新 2026年11月01日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安全错误 数据库的锁怎样保障安全 互联网科技作文 互联网科技缩写 恒生科技互联网指数分析 北京三清互联网科技 互联网企业和科技型企业 现代互联网科技股 南山科技园互联网公司有哪些 贵州叶脉互联网科技有限公司所属行业 互联网还是高科技吗 注册互联网科技公司经营范围大全 洛阳共同富裕互联网科技有限公司 中和天地互联网科技有限公司 怎样加入科技互联网 互联网企业科技类企业如何做账 半导体是互联网高科技吗 广州互联网高科技取餐柜 福仕德教育科技互联网 互联网企业和网络科技有限公司 利用互联网等科技手段 颐高云石互联网科技 中智农互联网科技 互联网科技活动banner 互联网下的科技发展 以房互联网科技 无锡溥仪互联网科技有限公司 佩信高科技互联网 民营互联网公司国防科技 朱啸虎曾投资哪些互联网科技企业 南博望互联网科技有限公司 北京军民互联网科技公司
0