OPTION(debug_paxos, 0, OPT_INT, 0),
OPTION(debug_tp, 0, OPT_INT, 0),
OPTION(debug_auth, 0, OPT_INT, 1),
- OPTION(keys_file, 'k', OPT_STR, "~/.ceph/keyring.bin, /etc/ceph/keyring.bin"),
+ OPTION(keys_file, 'k', OPT_STR, "~/.ceph/keyring.bin, /etc/ceph/keyring.bin, .ceph_keyring"),
OPTION(supported_auth, 0, OPT_STR, "none"),
OPTION(clock_lock, 0, OPT_BOOL, false),
OPTION(clock_tare, 0, OPT_BOOL, false),
localhost=0
nodaemon=0
overwrite_conf=1
+cephx=0
+
MON_ADDR=""
conf="ceph.conf"
MON_ADDR=$2
shift
;;
+ -x )
+ cephx=1
+ ;;
-k )
overwrite_conf=0
shift
test -d log && rm -f log/*
test -d gmon && $SUDO rm -rf gmon/*
-test -e $keyring_fn && rm $keyring_fn
+[ "$cephx" -eq 1 ] && test -e $keyring_fn && rm $keyring_fn
# figure machine's ip
[ "$CEPH_BIN" = "" ] && CEPH_BIN=.
[ "$CEPH_PORT" = "" ] && CEPH_PORT=6789
-CEPH_ADM="$CEPH_BIN/ceph -k $keyring_fn -I admin"
+
+if [ "$cephx" -eq 1 ]; then
+ CEPH_ADM="$CEPH_BIN/ceph -c $conf -k $keyring_fn"
+else
+ CEPH_ADM="$CEPH_BIN/ceph -c $conf"
+fi
logger dir = log
chdir = ""
pid file = out/\$type\$id.pid
+EOF
+ [ "$cephx" -eq 1 ] && cat<<EOF >> $conf
+ supported auth = cephx
+EOF
+ cat <<EOF >> $conf
[mds]
pid file = out/\$name.pid
$CMDSDEBUG
EOF
fi
- $SUDO $CEPH_BIN/authtool --gen-key --name=mon. $keyring_fn
- $SUDO $CEPH_BIN/authtool --gen-key --name=client.admin --caps=$admin_caps $keyring_fn
+ [ "$cephx" -eq 1 ] && $SUDO $CEPH_BIN/authtool --gen-key --name=mon. $keyring_fn
+ [ "$cephx" -eq 1 ] && $SUDO $CEPH_BIN/authtool --gen-key --name=client.admin --caps=$admin_caps $keyring_fn
# build a fresh fs monmap, mon fs
str="$CEPH_BIN/monmaptool --create --clobber"
for f in `seq 0 $((CEPH_NUM_MON-1))`
do
- echo $CEPH_BIN/mkmonfs -c $conf --clobber --mon-data dev/mon$f -i $f --monmap=$monmap_fn --osdmap=$osdmap_fn --keys-file=$keyring_fn
- $CEPH_BIN/mkmonfs -c $conf --clobber --mon-data=dev/mon$f -i $f --monmap=$monmap_fn --osdmap=$osdmap_fn --keys-file=$keyring_fn
+ cmd="$CEPH_BIN/mkmonfs -c $conf --clobber --mon-data=dev/mon$f -i $f --monmap=$monmap_fn --osdmap=$osdmap_fn"
+ [ "$cephx" -eq 1 ] && cmd="$cmd --keys-file=$keyring_fn"
+ echo $cmd
+ $cmd
done
fi
osd data = dev/osd$osd
osd journal = dev/osd$osd/journal
osd journal size = 100
+EOF
+ [ "$cephx" -eq 1 ] && cat <<EOF >> $conf
keys file = dev/osd$osd/osd$osd.keyring
EOF
fi
echo mkfs osd$osd
- echo $SUDO $CEPH_BIN/cosd -i $osd $ARGS --mkfs # --debug_journal 20 --debug_osd 20 --debug_filestore 20 --debug_ebofs 20
- $SUDO $CEPH_BIN/cosd -i $osd $ARGS --mkfs # --debug_journal 20 --debug_osd 20 --debug_filestore 20 --debug_ebofs 20
- key_fn=dev/osd$osd/osd$osd.keyring
- if [ $overwrite_conf -eq 1 ]; then
+ cmd="$SUDO $CEPH_BIN/cosd -i $osd $ARGS --mkfs"
+ echo $cmd
+ $cmd
+
+ if [ "$cephx" -eq 1 ]; then
+ key_fn=dev/osd$osd/osd$osd.keyring
+ if [ $overwrite_conf -eq 1 ]; then
cat <<EOF > $osd_caps
; generated by vstart.sh on `date`
mon = "allow rwx"
osd = "allow rwx"
EOF
+ fi
+ $SUDO $CEPH_BIN/authtool --gen-key --name=osd.$osd --caps=$osd_caps $key_fn
+ $SUDO $CEPH_ADM -i $key_fn auth add osd.$osd
fi
- $SUDO $CEPH_BIN/authtool --gen-key --name=osd.$osd --caps=$osd_caps $key_fn
- $SUDO $CEPH_ADM -i $key_fn auth add osd.$osd
fi
echo start osd$osd
run 'osd' $SUDO $CEPH_BIN/cosd -i $osd $ARGS $COSD_ARGS
mds=0
for name in a b c d e f g h i j k l m n o p
do
- key_fn=dev/mds.$name.keyring
+ [ "$cephx" -eq 1 ] && key_fn=dev/mds.$name.keyring
if [ "$new" -eq 1 ]; then
- if [ $overwrite_conf -eq 1 ]; then
+ if [ "$cephx" -eq 1 ] &&[ $overwrite_conf -eq 1 ]; then
cat <<EOF >> $conf
[mds.$name]
keys file = $key_fn
osd = "allow rwx"
mds = "allow"
EOF
+ $SUDO $CEPH_BIN/authtool --gen-key --name=mds.$name --caps=$mds_caps $key_fn
+ $SUDO $CEPH_ADM -i $key_fn auth add mds.$name
fi
- $SUDO $CEPH_BIN/authtool --gen-key --name=mds.$name --caps=$mds_caps $key_fn
- $SUDO $CEPH_ADM -i $key_fn auth add mds.$name
fi
run 'mds' $CEPH_BIN/cmds -i $name $ARGS $CMDS_ARGS
#$CEPH_BIN/cmds -d $ARGS --mds_thrash_fragments 0 --mds_thrash_exports 0 #--debug_ms 20
#$CEPH_ADM mds set_max_mds 2
done
- echo $CEPH_ADM mds set_max_mds $CEPH_NUM_MDS
- $CEPH_ADM mds set_max_mds $CEPH_NUM_MDS
+ cmd="$CEPH_ADM mds set_max_mds $CEPH_NUM_MDS"
+ echo $cmd
+ $cmd
fi
echo "started. stop.sh to stop. see out/* (e.g. 'tail -f out/????') for debug output."