37 lines
1.1 KiB
Bash
Executable File
37 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
#
|
|
# This is a template script which can be used to migrate the GlusterFS
|
|
# storage infrastructure from 'cluster/unify' to 'cluster/distribute'
|
|
|
|
# This script needs to be executed on the machine where namespace volume
|
|
# of 'cluster/unify' translator resides. And also, one need to mount the
|
|
# new 'cluster/distribute' volume with "option lookup-unhashed yes" on
|
|
# the same machine.
|
|
# If the namespace volume was replicated (ie, afr'ed), then this can be
|
|
# executed just on one of the namespace machines..
|
|
|
|
# Only the variables defined below needs to be changed to appropriate path
|
|
|
|
# This is export from old 'cluster/unify' volume's namespace volume.
|
|
namespace_export=/exports/export-ns
|
|
namespace_host=localhost
|
|
|
|
# This is the new mount point with 'cluster/distribute' volume
|
|
distribute_mount=/mnt/glusterfs
|
|
|
|
function execute_on()
|
|
{
|
|
local node="$1"
|
|
local cmd="$2"
|
|
|
|
if [ "$node" = "localhost" ]; then
|
|
$cmd
|
|
else
|
|
ssh "$node" sh -c "$cmd"
|
|
fi
|
|
}
|
|
|
|
execute_on $namespace_host "cd ${namespace_export} && find ." |
|
|
(cd ${distribute_mount} && xargs -d '\n' stat -c '%n')
|