Highlighted

Location of CdbsMutex file on Linux (RHEL)

Is the location of where beremote creates the CdbsMutex file configurable? I've noticed that it gets created in the current working directory where the process was started. At boot time through the /etc/rc.d/init.d/VRTSralus.init file, it is created as /CdbsMutex. I were to log in as root and execute "/etc/rc.d/init.d/VRTSralus.init start" it is created as /root/CdbsMutex. I would think that this should be configurable somewhere in the /etc/VRTSralus/ralus.cfg file, but it seems there is no document that contains *complete* information on what is and could be in that file.

I would like to have the process always create CdbsMutex in /var/run, /var/run/VRTSralus, or somewhere down the /var/VRTSralus directory tree. As a matter of fact, a best practice would be to not have it be created in whichever directory you happen to be in when starting beremote.

Thanks in advance for any information.

- Bruce S.

3 Replies

I don't think this can be

I don't think this can be changed (definitely not via ralus.cfg) as this is a system call which is responsible for memory allocation.

Additionally, the options which can be edited via ralus.cfg are as follows (Taken from http://www.symantec.com/business/support/index?page=content&id=HOWTO99149)

  • The port to which the Linux Agent must send publishing messages.

  • The logging level for Oracle database operations that use the Backup Exec Linux Agent Utility, and for NDMP information.

  • The settings to allow the Linux Agent to publish to one or more Backup Exec servers.

  • The files and directories on Linux servers that you want to exclude from backups.

  • The setting for a Target Service Agent File System backup for Novell OES.

  • The setting to disable OFO.

Not configurable, and it

Not configurable, and it could be anywhere depending on what your CWD is at the time of starting the process. Does that sound like a Linux/Unix best practice to you? If it not's configurable, it should at least always be created in a consistent location.

As for the document at http://www.symantec.com/business/support/index?page=content&id=HOWTO99149, I would definitely not call that a comprehensive document. No where on Symantec's site have I found a listing that describes every line in the ralus.cfg as delivered, and if there are more options that are not included in the file as installed.

Sad state of affairs. First

Sad state of affairs.

First tech support tries to tell me that a file is a system call.

"Cdbsmutex file is a system call for the memory allocation of the backup exec  remote agent  for linux. and it cannot be modified by any of the files like ralus.cfg."

Then they point me to a web page that contains very sparse information about the ralus.cfg file (I think at least one or two others in these forums has complained about the lack of documentation on this file).

My response:

"> Cdbsmutex file is a system call for the memory allocation of the 
> backup exec remote agent for linux. and it cannot be modified by
> any of the files like ralus.cfg.

Seriously?! No, it's a file.

# file /CdbsMutex
/CdbsMutex: data

# od -x /CdbsMutex
0000000 0000 0000 0000 0000 0000 0000 0000 0000
0000020 0080 0000 0000 0000 0000 0000 0000 0000
0000040 0000 0000 0000 0000
0000050

It is *not* a system call, it's not special block or character file.
It's not a shared memory object. Perhaps it's used later on in an mmap
call, but it is opened and/or created as a normal file when beremote is
started.

Running strace on the beremote process shows me this:

4586 open("CdbsMutex", O_RDWR|O_CREAT|O_EXCL, 0644) = 3
4586 ftruncate(3, 40) = 0
4586 mmap(NULL, 40, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) =
0x7fddfb3b2000
4586 close(3)

Since the open call has no qualified path, the file is created in the
current working directory just as I said. Also looks like the file
descriptor is then used as an argument to the succeeding mmap call.
Still, no reason that the location of "CdbsMutex" should not be
configurable, or at the very least opened in a consistent location
regardless of the CWD at time of program start. As I suggested before,
"/var/run" or "/var/VRTSralus" would be much better than just the
current working directory (which could be *anywhere* although usually
just / when started at boot time by the init process).

> You can configure only the limited features using the ralus.cfg.

> Please find the link below to get more information

http://www.symantec.com/docs/howto99149

Yes, I found this page and others. Like I said, I was looking for a
comprehensive document. If the ralus.cfg file contains lines that
shouldn't be changed, or are ignored, they shouldn't even be in the
file! I don't think I've ever come across a Linux/Unix app configuration
that contained settings that should not or could not change (aside from
the obvious comments). I hate to sound like a Linux/Unix snob, but it's
obvious that the code was ported by people more familiar with Windows
OS... Actually some sites with SELinux configured to be highly secure
may actually have issues with this as the application attempts to create
a file at the base of the root filesystem"

SMH

Sadly I did suggest NetBackup and the OpenSource Amanda as backup solutions for this customer, but I was overruled.