From ad0ab3afe864f9fb2d5ab028b166ebe247f10cb6 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 8 Oct 2008 22:06:24 -0700 Subject: [PATCH] dstart.sh: replace dstartnew.sh -n will create new fs, otherwise it will start up using existing data. --- src/dstart.sh | 95 ++++++++++++++++++++++++++++++++++++++++++++++++ src/dstartnew.sh | 72 ------------------------------------ src/dstop.sh | 2 +- 3 files changed, 96 insertions(+), 73 deletions(-) create mode 100755 src/dstart.sh delete mode 100755 src/dstartnew.sh diff --git a/src/dstart.sh b/src/dstart.sh new file mode 100755 index 0000000000000..de7d014cb9cb6 --- /dev/null +++ b/src/dstart.sh @@ -0,0 +1,95 @@ +#!/bin/sh + +let new=0 + +while [ $# -ge 1 ]; do + case $1 in + --new | -n ) + new=1 + esac + shift +done + +./dstop.sh +rm -f core* + +test -d out || mkdir out +rm -f out/* + +# mkmonfs +if [ $new -eq 1 ]; then + # figure machine's ip + HOSTNAME=`hostname` + IP=`host $HOSTNAME | grep $HOSTNAME | cut -d ' ' -f 4` + [ "$CEPH_BIN" == "" ] && CEPH_BIN=. + + echo hostname $HOSTNAME + echo "ip $IP" + if [ `echo $IP | grep '^127\\.'` ] + then + echo + echo "WARNING: hostname resolves to loopback; remote hosts will not be able to" + echo " connect. either adjust /etc/hosts, or edit this script to use your" + echo " machine's real IP." + echo + fi + + # build a fresh fs monmap, mon fs + ./monmaptool --create --clobber --add $IP:12345 --print .ceph_monmap + ./mkmonfs --clobber mondata/mon0 --mon 0 --monmap .ceph_monmap +fi + +# monitor +./cmon -d mondata/mon0 --debug_mon 20 --debug_ms 1 + +if [ $new -eq 1 ]; then + # build and inject an initial osd map + ./osdmaptool --clobber --createsimple .ceph_monmap 16 --num_dom 4 .ceph_osdmap + + # use custom crush map to separate data from metadata + ./crushtool -c cm.txt -o cm + ./osdmaptool --clobber --import-crush cm .ceph_osdmap + + ./cmonctl osd setmap -i .ceph_osdmap +fi + + +# osds +for host in `cd dev/hosts ; ls` +do + ssh root@cosd$host killall cosd + + test -d devm && ssh root@cosd$host modprobe crc32c \; insmod $HOME/src/btrfs/kernel/btrfs.ko + + for osd in `cd dev/hosts/$host ; ls` + do + dev="dev/hosts/$host/$osd" + echo "---- host $host osd $osd dev $dev ----" + devm="$dev" + + # btrfs? + if [ -d devm ]; then + devm="devm/osd$osd" + echo "---- dev mount $devm ----" + test -d $devm || mkdir -p $devm + if [ $new -eq 1 ]; then + ssh root@cosd$host cd $HOME/ceph/src \; umount $devm \; \ + $HOME/src/btrfs/progs/mkfs.btrfs $dev \; \ + mount $dev $devm + else + ssh root@cosd$host cd $HOME/ceph/src \; mount $dev $devm + fi + fi + + if [ $new -eq 1 ]; then + ssh root@cosd$host cd $HOME/ceph/src \; ./cosd --mkfs_for_osd $osd $devm # --osd_auto_weight 1 + fi + ssh root@cosd$host cd $HOME/ceph/src \; ulimit -c unlimited \; ./cosd $devm -d --debug_ms 1 --debug_osd 10 # --debug_filestore 10 --debug_ebofs 30 --osd_heartbeat_grace 300 + + done +done + +# mds +./cmds -d --debug_ms 1 --debug_mds 20 --mds_thrash_fragments 0 --mds_thrash_exports 0 #--debug_ms 20 + + diff --git a/src/dstartnew.sh b/src/dstartnew.sh deleted file mode 100755 index 5ae4832e520ba..0000000000000 --- a/src/dstartnew.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh - -./dstop.sh -rm -f core* - -test -d out || mkdir out -rm -f out/* - -# figure machine's ip -HOSTNAME=`hostname` -IP=`host $HOSTNAME | grep $HOSTNAME | cut -d ' ' -f 4` -[ "$CEPH_BIN" == "" ] && CEPH_BIN=. - -echo hostname $HOSTNAME -echo "ip $IP" -if [ `echo $IP | grep '^127\\.'` ] -then - echo - echo "WARNING: hostname resolves to loopback; remote hosts will not be able to" - echo " connect. either adjust /etc/hosts, or edit this script to use your" - echo " machine's real IP." - echo -fi - -# build a fresh fs monmap, mon fs -./monmaptool --create --clobber --add $IP:12345 --print .ceph_monmap -./mkmonfs --clobber mondata/mon0 --mon 0 --monmap .ceph_monmap - -# monitor -./cmon -d mondata/mon0 --debug_mon 20 --debug_ms 1 - -# build and inject an initial osd map -./osdmaptool --clobber --createsimple .ceph_monmap 16 --num_dom 4 .ceph_osdmap - -# use custom crush map to separate data from metadata -./crushtool -c cm.txt -o cm -./osdmaptool --clobber --import-crush cm .ceph_osdmap - -./cmonctl osd setmap -i .ceph_osdmap - -#ARGS="-m $IP:12345" - -for host in `cd dev/hosts ; ls` -do - ssh root@cosd$host killall cosd - - test -d devm && ssh root@cosd$host modprobe crc32c \; rmmod btrfs \; insmod $HOME/src/btrfs/kernel/btrfs.ko - - for osd in `cd dev/hosts/$host ; ls` - do - dev="dev/hosts/$host/$osd" - echo "---- host $host osd $osd dev $dev ----" - devm="$dev" - - # btrfs? - test -d devm && devm="devm/osd$osd" && ( \ - echo "---- dev mount $devm ----" ; \ - test -d $devm || mkdir -p $devm ; \ - ssh root@cosd$host cd $HOME/ceph/src \; umount $devm \; $HOME/src/btrfs/progs/mkfs.btrfs $dev \; mount $dev $devm ) - - ssh root@cosd$host cd $HOME/ceph/src \; ./cosd --mkfs_for_osd $osd $devm # --osd_auto_weight 1 - ssh root@cosd$host cd $HOME/ceph/src \; ulimit -c unlimited \; ./cosd $devm -d --debug_ms 1 --debug_osd 10 # --debug_filestore 10 --debug_ebofs 30 --osd_heartbeat_grace 300 - -# ssh cosd$host cd ceph/src \; valgrind --leak-check-full --show-reachable-yes ./cosd $dev --debug_ms 1 --debug_osd 20 --debug_filestore 10 1>out/o$osd \& - done -done - -# mds -./cmds -d --debug_ms 1 --debug_mds 20 --mds_thrash_fragments 0 --mds_thrash_exports 0 #--debug_ms 20 - -#echo "started. stop.sh to stop. see out/* (e.g. 'tail -f out/????') for debug output." - diff --git a/src/dstop.sh b/src/dstop.sh index c00a561abfdc2..254c496f4f7e0 100755 --- a/src/dstop.sh +++ b/src/dstop.sh @@ -4,5 +4,5 @@ killall cmon cmds for host in `cd dev/hosts ; ls` do - ssh root@cosd$host killall cosd \; cd $HOME/ceph/src \; for f in devm/\* \; do umount \$f \; rmmod btrfs \; done + ssh root@cosd$host killall cosd \; cd $HOME/ceph/src/dev/hosts/$host \; for f in \* \; do umount $HOME/ceph/src/devm/osd\$f \; done \; rmmod btrfs done \ No newline at end of file -- 2.39.5