Online Backup of Lotus Domino with Arcserve UDP

Since Lotus Domino is an application non-VSS aware, the database’s consistency must be guaranteed during the Arcserve Snapshot of Lotus Domino process.

Using Lotus Domino as corporate messaging system, the database’s consistency is guaranteed running custom quiescing scripts (pre-freeze and post-thaw or Cache Flush) stored in C:\Windows in the Domino Server during the backup job.

See below; Option 1

Create 1 Batch File

This will Drop all connected users & Drop Cache.

Run the following Pre backup Script

Cache-Flush.bat
“C:\Program Files\IBM\Lotus\Domino\nserver.exe” -c “drop all”

timeout /t 5 /nobreak

“C:\Program Files\IBM\Lotus\Domino\nserver.exe” -c “dbcache flush”

timeout /t 5 /nobreak

Net Time \\%computername% >> C:\Arcservebackup.log

Save As .bat

On the backup plan, add this:

backup plan

See below; Option 2

This will stop Domino Services get the DB to a consistent state and then run Snapshot.

After the Snapshot Process it will then start service once again.

You can Add Option 1 to Pre Freeze to speed up the Process.

Create 2 Batch Files

See below Create 2 Batch Files

Run one Pre backup and the other Post backup
 
pre-freeze.bat
Net Time \%computername% >> C:scripts\logs\freeze.log
rem ***************************************
rem creates and inventory of all running Domino processes
rem ***************************************
pslist | findstr /I /C:”nadminp” >>C:scriptslogspid.lst
pslist | findstr /I /C:”naldaemn” >>C:scriptslogspid.lst
pslist | findstr /I /C:”namgr” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ncalconn” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ncatalog” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nchronos” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ncollect” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ncompact” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nconvert” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ndesign” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ndircat” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ndrt” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ndsmgr” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nevent” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nfixup” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nhttp” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nhttpcgi” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nimap” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nimsgcnv” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nisesctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”niseshlr” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nldap” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nlivecs” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nlnotes” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nlogin” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nmtc” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nnntp” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nnsadmin” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nnotesmm” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nobject” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nomsgcnv” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nosesctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”noseshlr” >>C:scriptslogspid.lst
pslist | findstr /I /C:”notes” >>C:scriptslogspid.lst
pslist | findstr /I /C:”npop3c” >>C:scriptslogspid.lst
pslist | findstr /I /C:”npop3″ >>C:scriptslogspid.lst
pslist | findstr /I /C:”nreport” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nrouter” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nreplica” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nsapdmn” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nsmtpmta” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nsmtp” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nstatlog” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nstaddin” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nstats” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nsched” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nservice” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nserver” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ntaskldr” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ntsvinst” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nupdate” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nupdall” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nwrdaemn” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nweb” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nxpcdmn” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccmta” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ncctctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccmctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccttcp” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccbctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccmin” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccmout” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccdctl” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccdin” >>C:scriptslogspid.lst
pslist | findstr /I /C:”nccdout” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ngdsscan” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ngsscan” >>C:scriptslogspid.lst
pslist | findstr /I /C:”ngstmgr” >>C:scriptslogspid.lst
rem ***************************************
rem Stops Dominio daemon in a controller fashion
rem ***************************************
net stop “Lotus Domino Server (LotusDominoData)”
rem ***************************************
rem Wait a fair amount of time for processes to stop
rem ***************************************
Sleep 300
rem ***************************************
rem If some Domino processes are hanged, it kills all of them
rem ***************************************
for /f “tokens=2” %%I in (C:scriptslogspid.lst ) do pskill %%I
Net Time \%computername% >> C:scriptslogsfreeze.log
post-thaw.bat
net start “Lotus Domino Server (LotusDominodata)”

On the backup plan, add this:

backup plan2

5 thoughts on “Online Backup of Lotus Domino with Arcserve UDP

  1. This is interesting, however the Domino Agent for Windows works fine. What I am looking for is a solution to backup Domino (including DAOS) hosted on Virtualised Linux. It seems Arcserve have abandoned the platform which is a surprise since (I am told) 50% of Domino installations are on Linux.

    • Hi Steve Johnson

      Thank you for your comment, This blog Post is about backing up lotus Domino with Arcserve UDP & the possibility of using Agent-less Hypervisor Snapshots to do so whilst guaranteeing Database Consistency. This is compatible with Windows Guests.

      I have a Blog post that will be Published next week around utilizing scripts & Arcserve UDP to backup Lotus Domino Virtual Machines running on a Linux/Unix Guest.

      Please Watch this space http://arcserveafrica.co.za

  2. Thanks Ian, I take your point that it is for UDP (so the agent is not an option). I have now seen your blog post “How to Take Hypervisor Snapshot of Lotus Domino VM with Unix/Linux Guest” and thank you for your efforts in this area. I already use Daniel Nashed’s scripts which are first rate and should be recommended to all Domino Admins. I will pursue this line of attack. Thanks again for a clear and informative resource.

  3. Hi,

    i am wondering how YOU CAN GUARENTEE a 100% consistent backup with these two commands, when there is NO OFFICAL statement from IBM at all, that this is a supported and working solution to make a consistent Backup VIA A SNAPSHOT??

    My Domino admins also told me not to do this, because already immediately or just a few seconds after the command execution, connections could be re-established and cache will be in memory again. The time quiescing the filesystem and taking snapshot will be much higher in 99% of the cases (at least in my environment).

    I am using veeam, but they are suggesting the same commands and both are using the same technology, Snapshot via vmware api, so should not make any difference i think.

    EDIT: Please delete post before, just corrected some grammar >-<

    • Ian Engelbrecht

      Hi Christoph

      Thank you for your comment.
      We do not 100% guarantee consistency there are many factors that can have impact.

      This post is a technical how to on taking software snapshots through hypervisor API that works for domino on guest os of a VM.

      I gave 2 options as one will stop all services or Domino server until snapshot is complete the other allowing online backup and only flushing cache however depending on utilization of the domino server at point of backup what your engineers say can be very true.

      I previously wrote a post off Daniel Nashed scripts for Unix & Linux guest environment here
      http://arcserveafrica.co.za/take-hypervisor-snapshot-lotus-domino-vm-unixlinux-guest/

      You can follow the same concept however just utilse a different script at pre snapshot. Daniel should have a few scripts that might follow a different method that would suit your strategy. Domino is in his area of expertise.

      Hope this helps . Thanks for the post.

Leave a Reply

Your email address will not be published. Required fields are marked *