<html><body><p><font size="2">Hi Jaime,</font><br><br><font size="2">When I copy &amp; paste your command to try, this is what I got.</font><br><br><font face="Menlo-Regular">/usr/lpp/mmfs/bin/mmbackup /gpfs/fs1/home -N tapenode3-ib ??tsm?servers TAPENODE3,TAPENODE4 -s /dev/shm --tsm-errorlog $tmpDir/home-tsm-errorlog --scope inodespace -v -a 8 -L 2</font><br><br><font size="2">Regards, The Spectrum Scale (GPFS) team<br><br>------------------------------------------------------------------------------------------------------------------<br>If you feel that your question can benefit other users of  Spectrum Scale (GPFS), then please post it to the public IBM developerWroks Forum at <a href="https://www.ibm.com/developerworks/community/forums/html/forum?id=11111111-0000-0000-0000-000000000479">https://www.ibm.com/developerworks/community/forums/html/forum?id=11111111-0000-0000-0000-000000000479</a>. <br><br>If your query concerns a potential software error in Spectrum Scale (GPFS) and you have an IBM software maintenance contract please contact  1-800-237-5511 in the United States or your local IBM Service Center in other countries. <br><br>The forum is informally monitored as time permits and should not be used for priority messages to the Spectrum Scale (GPFS) team.</font><br><br><img width="16" height="16" src="cid:1__=0ABB0F9FDFD670F68f9e8a93df938690918c0AB@" border="0" alt="Inactive hide details for Jaime Pinto ---02/11/2020 05:26:53 PM---Hi Mark, Just a follow up to your suggestion few months ago."><font size="2" color="#424282">Jaime Pinto ---02/11/2020 05:26:53 PM---Hi Mark, Just a follow up to your suggestion few months ago.</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">Jaime Pinto &lt;pinto@scinet.utoronto.ca&gt;</font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">gpfsug main discussion list &lt;gpfsug-discuss@spectrumscale.org&gt;, Marc A Kaplan &lt;makaplan@us.ibm.com&gt;</font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">02/11/2020 05:26 PM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">[EXTERNAL] Re: [gpfsug-discuss] mmbackup [--tsm-servers TSMServer[, TSMServer...]]</font><br><font size="2" color="#5F5F5F">Sent by:        </font><font size="2">gpfsug-discuss-bounces@spectrumscale.org</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><tt><font size="2">Hi Mark,<br>Just a follow up to your suggestion few months ago.<br><br>I finally got to a point where I do 2 independent backups of the same path to 2 servers, and they are pretty even, finishing within 4 hours each, when <br>serialized.<br><br>I now just would like to use one mmbackup instance to 2 servers at the same time, with the --tsm-servers option, however it's not being <br>accepted/recognized (see below).<br><br>So, what is the proper syntax for this option?<br><br>Thanks<br>Jaime<br><br># /usr/lpp/mmfs/bin/mmbackup /gpfs/fs1/home -N tapenode3-ib \u2010\u2010tsm\u2010servers TAPENODE3,TAPENODE4 -s /dev/shm --tsm-errorlog $tmpDir/home-tsm-errorlog <br>--scope inodespace -v -a 8 -L 2<br>mmbackup: Incorrect extra argument: \u2010\u2010tsm\u2010servers<br>Usage:<br> &nbsp; mmbackup {Device | Directory} [-t {full | incremental}]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-N {Node[,Node...] | NodeFile | NodeClass}]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-g GlobalWorkDirectory] [-s LocalWorkDirectory]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-S SnapshotName] [-f] [-q] [-v] [-d]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-a IscanThreads] [-n DirThreadLevel]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-m ExecThreads | [[--expire-threads ExpireThreads] [--backup-threads BackupThreads]]]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-B MaxFiles | [[--max-backup-count MaxBackupCount] [--max-expire-count MaxExpireCount]]]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[--max-backup-size MaxBackupSize] [--qos QosClass] [--quote | --noquote]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[--rebuild] [--scope {filesystem | inodespace}]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[--backup-migrated | --skip-migrated] [--tsm-servers TSMServer[,TSMServer...]]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[--tsm-errorlog TSMErrorLogFile] [-L n] [-P PolicyFile]<br><br>Changing the order of the options/arguments makes no difference.<br><br>Even when I explicitly specify only one server, mmbackup still doesn't seem to recognize the \u2010\u2010tsm\u2010servers option (it thinks it's some kind of argument):<br><br># /usr/lpp/mmfs/bin/mmbackup /gpfs/fs1/home -N tapenode3-ib \u2010\u2010tsm\u2010servers TAPENODE3 -s /dev/shm --tsm-errorlog $tmpDir/home-tsm-errorlog --scope <br>inodespace -v -a 8 -L 2<br>mmbackup: Incorrect extra argument: \u2010\u2010tsm\u2010servers<br>Usage:<br> &nbsp; mmbackup {Device | Directory} [-t {full | incremental}]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-N {Node[,Node...] | NodeFile | NodeClass}]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-g GlobalWorkDirectory] [-s LocalWorkDirectory]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-S SnapshotName] [-f] [-q] [-v] [-d]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-a IscanThreads] [-n DirThreadLevel]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-m ExecThreads | [[--expire-threads ExpireThreads] [--backup-threads BackupThreads]]]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[-B MaxFiles | [[--max-backup-count MaxBackupCount] [--max-expire-count MaxExpireCount]]]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[--max-backup-size MaxBackupSize] [--qos QosClass] [--quote | --noquote]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[--rebuild] [--scope {filesystem | inodespace}]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[--backup-migrated | --skip-migrated] [--tsm-servers TSMServer[,TSMServer...]]<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[--tsm-errorlog TSMErrorLogFile] [-L n] [-P PolicyFile]<br><br><br><br>I defined the 2 servers stanzas as follows:<br><br># cat dsm.sys<br>SERVERNAME TAPENODE3<br>                 SCHEDMODE                                  PROMPTED<br>                 ERRORLOGRETENTION                  0 D<br>                 TCPSERVERADDRESS                  10.20.205.51<br>                 NODENAME                                  home                 <br>                 COMMMETHOD                                  TCPIP<br>                 TCPPort                                                   1500<br>                 PASSWORDACCESS                                  GENERATE<br>                 TXNBYTELIMIT                                  1048576                 <br>                 <br>SERVERNAME TAPENODE4<br> &nbsp; &nbsp; &nbsp; &nbsp; SCHEDMODE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PROMPTED<br> &nbsp; &nbsp; &nbsp; &nbsp; ERRORLOGRETENTION &nbsp; &nbsp; &nbsp; 0 D<br> &nbsp; &nbsp; &nbsp; &nbsp; TCPSERVERADDRESS &nbsp; &nbsp;                  192.168.94.128<br> &nbsp; &nbsp; &nbsp; &nbsp; NODENAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;home<br> &nbsp; &nbsp; &nbsp; &nbsp; COMMMETHOD &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCPIP<br> &nbsp; &nbsp; &nbsp; &nbsp; TCPPort &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1500<br> &nbsp; &nbsp; &nbsp; &nbsp; PASSWORDACCESS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GENERATE<br> &nbsp; &nbsp; &nbsp; &nbsp; TXNBYTELIMIT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1048576<br>                 TCPBuffsize                                  512<br><br><br><br><br><br><br><br>On 2019-11-03 8:56 p.m., Jaime Pinto wrote:<br>&gt; <br>&gt; <br>&gt; On 11/3/2019 20:24:35, Marc A Kaplan wrote:<br>&gt;&gt; Please show us the 2 or 3 mmbackup commands that you would like to run concurrently.<br>&gt; <br>&gt; Hey Marc,<br>&gt; They would be pretty similar, with the only different being the target TSM server, determined by sourcing a different dsmenv1(2 or 3) prior to the <br>&gt; start of each instance, each with its own dsm.sys (3 wrappers).<br>&gt; (source dsmenv1; /usr/lpp/mmfs/bin/mmbackup /gpfs/fs1/home -N tapenode3-ib -s /dev/shm --tsm-errorlog $tmpDir/home-tsm-errorlog  -g <br>&gt; /gpfs/fs1/home/.mmbackupCfg1  --scope inodespace -v -a 8 -L 2)<br>&gt; (source dsmenv3; /usr/lpp/mmfs/bin/mmbackup /gpfs/fs1/home -N tapenode3-ib -s /dev/shm --tsm-errorlog $tmpDir/home-tsm-errorlog  -g <br>&gt; /gpfs/fs1/home/.mmbackupCfg2  --scope inodespace -v -a 8 -L 2)<br>&gt; (source dsmenv3; /usr/lpp/mmfs/bin/mmbackup /gpfs/fs1/home -N tapenode3-ib -s /dev/shm --tsm-errorlog $tmpDir/home-tsm-errorlog  -g <br>&gt; /gpfs/fs1/home/.mmbackupCfg3  --scope inodespace -v -a 8 -L 2)<br>&gt; <br>&gt; I was playing with the -L (to control the policy), but you bring up a very good point I had not experimented with, such as a single traverse for <br>&gt; multiple target servers. It may be just what I need. I'll try this next.<br>&gt; <br>&gt; Thank you very much,<br>&gt; Jaime<br>&gt; <br>&gt;&gt;<br>&gt;&gt; Peeking into the script, I find:<br>&gt;&gt;<br>&gt;&gt; if [[ $scope == &quot;inode-space&quot; ]]<br>&gt;&gt; then<br>&gt;&gt; deviceSuffix=&quot;${deviceName}.${filesetName}&quot;<br>&gt;&gt; else<br>&gt;&gt; deviceSuffix=&quot;${deviceName}&quot;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; I believe mmbackup is designed to allow concurrent backup of different independent filesets within the same filesystem, Or different filesystems...<br>&gt;&gt;<br>&gt;&gt; And a single mmbackup instance can drive several TSM servers, which can be named with an option or in the dsm.sys file:<br>&gt;&gt;<br>&gt;&gt; # --tsm-servers TSMserver[,TSMserver...]<br>&gt;&gt; # List of TSM servers to use instead of the servers in the dsm.sys file.<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; Inactive hide details for Jaime Pinto ---11/01/2019 07:40:47 PM---How can I force secondary processes to use the folder instrucJaime Pinto <br>&gt;&gt; ---11/01/2019 07:40:47 PM---How can I force secondary processes to use the folder instructed by the -g option? I started a mmbac<br>&gt;&gt;<br>&gt;&gt; From: Jaime Pinto &lt;pinto@scinet.utoronto.ca&gt;<br>&gt;&gt; To: gpfsug main discussion list &lt;gpfsug-discuss@spectrumscale.org&gt;<br>&gt;&gt; Date: 11/01/2019 07:40 PM<br>&gt;&gt; Subject: [EXTERNAL] [gpfsug-discuss] mmbackup \u2010g GlobalWorkDirectory not being followed<br>&gt;&gt; Sent by: gpfsug-discuss-bounces@spectrumscale.org<br>&gt;&gt;<br>&gt;&gt; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ <br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; How can I force secondary processes to use the folder instructed by the -g option?<br>&gt;&gt;<br>&gt;&gt; I started a mmbackup with \u2010g /gpfs/fs1/home/.mmbackupCfg1 and another with \u2010g /gpfs/fs1/home/.mmbackupCfg2 (and another with \u2010g <br>&gt;&gt; /gpfs/fs1/home/.mmbackupCfg3 ...)<br>&gt;&gt;<br>&gt;&gt; However I'm still seeing transient files being worked into a &quot;/gpfs/fs1/home/.mmbackupCfg&quot; folder (created by magic !!!). This absolutely can not <br>&gt;&gt; happen, since it's mixing up workfiles from multiple mmbackup instances for different target TSM servers.<br>&gt;&gt;<br>&gt;&gt; See below the &quot;-f /gpfs/fs1/home/.mmbackupCfg/prepFiles&quot; created by mmapplypolicy (forked by mmbackup):<br>&gt;&gt;<br>&gt;&gt; DEBUGtsbackup33: /usr/lpp/mmfs/bin/mmapplypolicy &quot;/gpfs/fs1/home&quot; -g /gpfs/fs1/home/.mmbackupCfg2 -N tapenode3-ib -s /dev/shm -L 2 --qos maintenance <br>&gt;&gt; -a 8  -P /var/mmfs/mmbackup/.mmbackupRules.fs1.home -I prepare -f /gpfs/fs1/home/.mmbackupCfg/prepFiles --irule0 --sort-buffer-size=5% --scope <br>&gt;&gt; inodespace<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; Basically, I don't want a &quot;/gpfs/fs1/home/.mmbackupCfg&quot; folder to ever exist. Otherwise I'll be forced to serialize these backups, to avoid the <br>&gt;&gt; different mmbackup instances tripping over each other. The serializing is very undesirable.<br>&gt;&gt;<br>&gt;&gt; Thanks<br>&gt;&gt; Jaime<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br><br><br><br><br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;************************************<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TELL US ABOUT YOUR SUCCESS STORIES<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></tt><tt><font size="2"><a href="http://www.scinethpc.ca/testimonials">http://www.scinethpc.ca/testimonials</a></font></tt><tt><font size="2">&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;************************************<br>---<br>Jaime Pinto - Storage Analyst<br>SciNet HPC Consortium - Compute/Calcul Canada<br></font></tt><tt><font size="2">www.scinet.utoronto.ca</font></tt><tt><font size="2">&nbsp;- </font></tt><tt><font size="2">www.computecanada.ca</font></tt><tt><font size="2"><br>University of Toronto<br>661 University Ave. (MaRS), Suite 1140<br>Toronto, ON, M5G1M1<br>P: 416-978-2755<br>C: 416-505-1477<br>_______________________________________________<br>gpfsug-discuss mailing list<br>gpfsug-discuss at spectrumscale.org<br></font></tt><tt><font size="2"><a href="http://gpfsug.org/mailman/listinfo/gpfsug-discuss">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</a></font></tt><tt><font size="2">&nbsp;<br><br></font></tt><br><br><BR>
</body></html>