Drobo FS unit has 5 disks of 2TB each. Due to redundancy it has effectively 7.2 TB for data. To administer the unit, one needs to use Drobo Dashboard, which is available only for Windows and Mac. I have installed Drobo Dashboard on machine #22 in the lab, one of the Windows boxes in the lab assistant cubicle. Since the Dashboard host has to be on the same subnet as the Drobo, I moved this machine to the dsm net. It is now at 150.108.64.122, which used to be used for the exploras. Some instructions for configuring autofs are at: http://www.howtoforge.com/accessing_windows_or_samba_shares_using_autofs Need: # yum install autofs cifs-utils samba-client (This provides automounting, /sbin/mount.cifs and /bin/smbclient rsptly.) Host name, e.g. drobo-lc, needs to be in /etc/hosts or NIS hosts map. Make sure you can ping it using the domain-unqualified name. Create credentials file with name of drobo host, e.g. /etc/auto.smb.drobo-lc Contents: username=Admin password=******** Set permission 400 or 600 (readable only by root). As a test, do a manual mount: # mount drobo-lc:Public /mnt -t cifs \ -o user,rw,suid,credentials=/etc/auto.smb.drobo-lc On F18+ hosts it is necessary to use a Windows-style share name: # mount //drobo-lc/Public /mnt -t cifs \ -o user,rw,suid,credentials=/etc/auto.smb.drobo-lc (I have not yet determined whether this is a function of samba configuration on the host or a difference between Fedora 17 and later releases.) To configure automounting: Create /etc/auto.cifs from the above URL, making the indicated customizations. Or copy from a host that already has it. A copy is appended below. Make sure it is executable (e.g. mode 755). Some hosts have an unexplained difficulty using auto.cifs. A method that is less flexible but works on all hosts so far is to create an automount file for each share to be mounted. For instance, auto.drobo-rh: drobo-lc -fstype=cifs,rw,user,suid,credentials=/etc/auto.smb.drobo-rh ://drobo-rh/drobo-lc auto.drobo-lc: drobo-rh -fstype=cifs,rw,user,suid,credentials=/etc/auto.smb.drobo-lc ://drobo-lc/drobo-rh These create automount points /drobo-rh/drobo-lc (for LC hosts to use on the RH drobo) and /drobo-lc/drobo-rh (for RH hosts to use on the LC drobo) respectively. Unlike auto.cifs (which is a script), these can be distributed by NIS. #### following for non-NIS setups: #### Create /etc/auto.master.d/cifs.autofs: Contents: /cifs auto.cifs --timeout=60 /drobo-lc auto.drobo-lc --timeout=60 /drobo-rh auto.drobo-rh --timeout=60 Create /etc/auto.drobo-lc and /etc/auto.drobo-rh as above. #### end non-NIS setups #### #### following for NIS setups: #### On NIS master, add these lines to /etc/auto.master /cifs auto.cifs --timeout=60 /drobo-lc auto.drobo-lc --timeout=60 /drobo-rh auto.drobo-rh --timeout=60 Create /etc/auto.drobo-lc and auto.drobo-rh as above. Add appropriate entries for them to /var/yp/Makefile . then # make -C /var/yp #### end NIS setups #### If automount is not already enabled, do # systemctl enable autofs.service Start or restart autofs: # systemctl start autofs.service or # systemctl restart autofs.service Now you should be able to: # ls /cifs/drobo-lc Ordinary users can see the top-level but not inside subdirectories. To set up cross-campus backups: install this script. # cp ~moniot/src/sysadmin/scripts/drobo-backup.pl /usr/local/sbin/drobo-backup (Actually, at least while the script is still undergoing improvements, it is only installed on dsm, and accessed via /usr/local.dsm on other hosts.) This script takes two arguments: -v verbose mode prints extra info like name of config file and tar command being executed -c configfile specifies the name of the config file, default is /etc/drobo-backup.conf Edit the file /etc/drobo-backup.conf to specify the directories to be backed up and optionally also override the default drobo path and default tar arguments. Directives are lines of the form keyword = string Leading space and space around the = sign are optional. Recognized directives are: drobo=path/to/drobo Specifies path where backup directory goes. Default is /cifs/drobo-lc/drobo-rh for cis machines, and /cifs/drobo-rh/drobo-lc for dsm machines. tarargs=arg [arg ...] Specifies arguments to be passed to tar for every backup. Default is --atime-preserve --one-file-system. The first prevents changing access times, which is important for determining, e.g. how long an account has been idle. The second prevents following symbolic links to other filesystems. For any filesystem with user home dirs best to specify --exclude=.gvfs . (This is a dynamic directory used for accessing samba shares and suchlike, so it should not be backed up anyway. It is unreadable by root and so will cause tar to return an error status if it is not skipped.) backup=/path/to/back/up This is the only required directive, and more than one can be given. (If no backup directive is given nothing will be done.) The string value consists of the path to be given to tar to be backed up. It can be followed by per-backup arguments such as --exclude=pattern. If the path contains spaces it needs to be enclosed in single or double quotes. The path cannot contain wildcard characters or other shell expansions. The tar arguments can. The config file can contain blank lines and comment lines, which are lines on which the first non-blank character is a #. These are ignored. Comments cannot be put on the directive lines. Sample drobo-backup.conf files are appended at the end of this writeup. Here is a typical cron command: # Cross-campus backups of local filesystems to RH drobo storage unit 00 05 * * * /usr/local/sbin/drobo-backup ___________________________________________________________ Backing up Windows systems at RH: The scheme is to use Windows Backup to back up user data over the network to the user's account on storm, which is in turn backed up cross-campus to LC. On storm, samba service must be installed and running. There must be a [homes] stanza in /etc/samba/smb.conf. The default config works fine. For each user, e.g. bovik: 1. As root@storm, use system-config-samba to create a samba user for the user. Specify the user's storm username (e.g. bovik) and Windows login name (e.g. Harold Bovik). The samba password need not be the same as the user's account password. Note that it is not sufficient to simply add the user to /etc/samba/smbusers. The password is stored in a database file elsewhere that is not manually editable. (Not tried: according to the smbpasswd man page, root can use # smbpasswd -a bovik to add the user manually and set the password.) 2. As bovik@storm, $ mkdir .winbackup-bovik $ chmod 700 .winbackup-bovik 3. On the user's Windows machine, open the Windows Backup dialog. Set up network backups to the destination \\storm.cis.fordham.edu\homes\.winbackup-bovik For credentials supply the username bovik and samba password defined in step 1. UNCHECK the box for backing up a system image but otherwise you can use the default settings. (Our thinking is that if the user's whole system is trashed we will do a fresh install anyway, so the overhead of ~30GB for a system image is not justified.) ___________________________________________________________ ___________________________________________________________ Here are the steps that could be used to back up a Windows 7 system at RH directly to the drobo at LC. THIS METHOD IS NOT IN USE. One should not use the Admin drobo user for access since this would allow the machine to access all folders on the drobo. Instead, use the Drobo Dashboard to create a unique user for the machine. For instance, the user name can be the office number, e.g. jmh340a. Give the user a unique password. Use the Drobo Dashboard to create a share for that user. It can have the same name as the user, e.g. jmh340a. Grant the user read/write access to the share. In Control Panel, under System and Security, click on Back up your computer. Go to Set up backup. Select Save on a network... and specify the share created in Drobo Dashboard. For instance \\150.108.64.99\jmh340a Authenticate with the username and password created for this share. Set up backup properties according to preference. ___________________________________________________________ The following are example config files. =======================/etc/auto.cifs======================= #!/bin/bash # Automount config file for drobo network storage device # # This file must be executable to work! chmod 755! key="$1" # Note: create a cred file for each windows/Samba-Server in your network # which requires password authentification. The file should contain # exactly two lines: # username=user # password=***** # Please don't use blank spaces to separate the equal sign from the # user account name or password. credfile="/etc/auto.smb.$key" # Note: Use cifs instead of smbfs: mountopts="-fstype=cifs,file_mode=0600,dir_mode=0700,uid=root,gid=root" smbclientopts="" for P in /bin /sbin /usr/bin /usr/sbin do if [ -x $P/smbclient ] then SMBCLIENT=$P/smbclient break fi done [ -x $SMBCLIENT ] || exit 1 if [ -e "$credfile" ] then mountopts=$mountopts",credentials=$credfile" smbclientopts="-A "$credfile else smbclientopts="-N" fi $SMBCLIENT $smbclientopts -gL $key 2>>/var/log/autofs.log \ | awk -v key="$key" -v opts="$mountopts" -F'|' -- ' BEGIN { ORS=""; first=1 } /Disk/ { if (first) { print opts; first=0 }; gsub(/ /, "\\ ", $2); sub(/\$/, "\\$", $2); print " \\\n\t /" $2, "://" key "/" $2 } END { if (!first) print "\n"; else exit 1 } ' =======================END /etc/auto.cifs======================= Config file for a host without disk quotas. This one is from mandelbrot. =======================/etc/drobo-backup.conf======================= # Define path to drobo backup directory. Space around "drobo" and "=" allowed. # Only one can be given per config file. Example: # drobo=/cifs/drobo-lc/drobo-rh # Change default tar arguments if desired. By default these are: # tarargs=--atime-preserve --one-file-system # List paths to be backed up. These may be followed by tar arguments, # which will supplement or override the global arguments. # Space around "backup" and "=" allowed. Subsequent spaces are treated as literal. # As many as desired can be listed, and they will be done in order. # If path contains spaces, it must be quoted. Examples: # backup=/usr/local # backup=/home/users --exclude=aquota.user #backup=/home #backup="/home/moniot/My Documents" --exclude=Cache backup= /home --exclude=.gvfs backup= /etc backup= /root backup= /usr/local =======================END /etc/drobo-backup.conf======================= Config file for a host with disk quotas. The comments explain the issue that requires special treatment. =======================/etc/drobo-backup.conf======================= # Config file for drobo-backup script. # Define path to drobo backup directory. Space around "drobo" and "=" allowed. # Only one can be given per config file. Example: # drobo=/cifs/drobo-lc/drobo-rh # Change default tar arguments if desired. By default these are: #tarargs=--atime-preserve --one-file-system # Because aquota.user cannot have its atime reset, tar will give # an error status=2 if --atime-preserve is used when backing it up. # We don't want to lose the backup of this file but we also don't # want to routinely ignore tar status=2. Solution is to make # --atime-preserve a per-backup argument and omit it when backing # up aquota.user separately. tarargs= --one-file-system # List paths to be backed up. These may be followed by tar arguments, # which will supplement or override the global arguments. # Space around "backup" and "=" allowed. Subsequent spaces are treated as literal. # As many as desired can be listed, and they will be done in order. # If path contains spaces, it must be quoted. Examples: # backup=/usr/local # backup="/home/joeuser/My Documents" --exclude=Cache # IMPORTANT: include --atime-preserve on all of these except aquota.user backup = /home/users --atime-preserve --exclude=aquota.user --exclude=.gvfs backup = /home/users/aquota.user backup = /home --atime-preserve --exclude=.gvfs backup = /etc --atime-preserve backup = /root --atime-preserve backup = /usr/local --atime-preserve backup = /var/lib --atime-preserve --exclude=/var/lib/rpm --exclude=/var/lib/yum backup = /var/backup/ --atime-preserve backup = /var/log/ --atime-preserve backup = /var/spool/ --atime-preserve backup = /var/www/ --atime-preserve backup = /var/yp/ --atime-preserve =======================END /etc/drobo-backup.conf=======================