创建对象网关服务脚本

#!/bin/bash

#判断用户的存在性
function is_exist()
{
 local name="$1"
 ceph auth get $name > /dev/null 2>&1
 if [ $? -eq 0 ]
 then
  return 1
 fi
 return 0
}

echo "start create gateway..."

if [ $# -eq 0 ]
then
 echo  "please input param, eg:node1"
 echo "please input param, eg:node1"
 exit 1
fi

#判断用户client.bootstrap-rgw是否存在,不存在创建
is_exist "client.bootstrap-rgw"
if [ $? -eq 1 ]
then
 ceph auth caps client.bootstrap-rgw mon 'allow rwx' osd 'allow rwx'
 if [ ! -f /etc/ceph/ceph.bootstrap-rgw.keyring ]
 then
  ceph --cluster ceph --name client.admin --keyring /etc/ceph/ceph.client.admin.keyring auth get-or-create client.bootstrap-rgw osd 'allow rwx' mon 'allow rwx' -o /etc/ceph/ceph.bootstrap-rgw.keyring
  if [ $? -ne 0 ]
  then
   echo "create ceph.bootstrap-rgw.keyring fail"
   exit 2
  fi
  echo "create ceph.bootstrap-rgw.keyring fail success"
 fi
else
 ceph --cluster ceph --name client.admin --keyring /etc/ceph/ceph.client.admin.keyring auth get-or-create client.bootstrap-rgw osd 'allow rwx' mon 'allow rwx' -o /etc/ceph/ceph.bootstrap-rgw.keyring
 if [ $? -ne 0 ]
 then
  echo "create user client.bootstrap-rgw fail"
  exit 3
 fi
 echo "create user client.bootstrap-rgw success"
fi

#拷贝rgw的keyring,为创建ceph-rgw.$1的keyring做准备
if [ ! -f /var/lib/ceph/bootstrap-rgw/ceph.keyring ]
then
 cp /etc/ceph/ceph.bootstrap-rgw.keyring  /var/lib/ceph/bootstrap-rgw/ceph.keyring
fi

#创建用于存放ceph-rgw.$1的keyring的目录
mkdir -p /var/lib/ceph/radosgw/ceph-rgw.$1/

#判断用户client.rgw.$1是否存在,不存在创建
is_exist "client.rgw.$1"
if [ $? -eq 1 ]
then
 ceph auth caps client.rgw.$1 osd 'allow rwx' mon 'allow rw'
 if [ ! -f /var/lib/ceph/radosgw/ceph-rgw.$1/keyring ]
 then
  ceph --cluster ceph --name client.bootstrap-rgw --keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring auth get-or-create client.rgw.$1 osd 'allow rwx' mon 'allow rw' -o /var/lib/ceph/radosgw/ceph-rgw.$1/keyring
  if [ $? -ne 0 ]
  then
   echo "create ceph.bootstrap-rgw.keyring fail"
   exit 2
  fi
  echo "create ceph.bootstrap-rgw.keyring success"
 fi
else
 ceph --cluster ceph --name client.bootstrap-rgw --keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring auth get-or-create client.rgw.$1 osd 'allow rwx' mon 'allow rw' -o /var/lib/ceph/radosgw/ceph-rgw.$1/keyring
 if [ $? -ne 0 ]
 then
  echo "create user client.bootstrap-rgw fail"
  exit 3
 fi
 echo "create user client.bootstrap-rgw success"
fi

systemctl enable ceph-radosgw@rgw.$1
systemctl start ceph-radosgw@rgw.$1

/usr/bin/chown -R ceph:ceph /var/lib/ceph/radosgw

echo "create gateway end"

exit 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值