The script scripts/recovery.py
can be used to run recoveries for testing. Diego wrote the script and is most expert on it, but here are some simple instructions:
#!/bin/sh # # This script sets up ssh master mode for all of the machines # in the RAMCloud cluster. if [ $(hostname) == "rcmaster.scs.stanford.edu" ]; then for host in rc{01..36}; do if [ -z "$(pgrep -u $USER -fx "ssh -fMN $host true")" ]; then ssh -fMN $host true 2>/dev/null & fi done fi |
scripts/recovery.py
. To be safe, run this on rcmaster: it is unclear whether it will work on other machines.recovery.py
to change the arguments to the recover
method. For example, if you replace the last line of the script (which is currently pprint.pprint(recover())
with the following:
args = {} args['numBackups'] = 12 args['numPartitions'] = 2 args['objectSize'] = 1024 args['disk'] = 1 args['numObjects'] = 626012 * 600 // 640 args['oldMasterArgs'] = '-m %d' % (800 * args['numPartitions']) args['newMasterArgs'] = '-m 16000' args['replicas'] = 3 pprint.pprint(recover(**args)) |
recovery/latest
. If you run more recoveries, recovery/latest
always refers to the most recent recovery, but log files from old recoveries are retained in other subdirectories of recovery
.scripts/metrics.py
, which will examine the logs in recovery/latest
and produce summary information describing the recovery.