jwrage

Q: Mac OS Server - missing data volume

This error pops up periodically:

Missing Data Volume

Calendar and Contacts service has been disabled because an external data volume ("/Volumes/Storage 1/Library/Server/Calendar and Contacts") is configured but is not currently mounted.

 

Server was originally installed on my main drive and I moved it to an external software RAID volume on a Thunderbolt interface. The current mount point is /Volumes/Storage

 

At some point I believe the mount point became /Volumes/Storage\ 1.

 

Server sees most data correctly, but it seems like services that I'm not using, like Calendar, are somehow stuck on Storage\ 1.

 

Any ideas on how to move/remove the data to /Volumes/Storage or otherwise fix the error?

Mac Pro (Late 2013), OS X Yosemite (10.10.5)

Posted on Sep 25, 2015 6:28 AM

Close

Q: Mac OS Server - missing data volume

  • All replies
  • Helpful answers

  • by MrHoffman,Helpful

    MrHoffman MrHoffman Sep 25, 2015 9:03 AM in response to jwrage
    Level 6 (15,612 points)
    Mac OS X
    Sep 25, 2015 9:03 AM in response to jwrage

    When I see disks disappear, I usually think of hardware failures, but that doesn't seem to be the case here.

     

    There may be a second disk volume or disk partition around with the "wrong" name, or the new volume has the "wrong" volume name — the entries in /Volumes are based on the volume name of the partitions getting mounted.

     

    Have a backup or two prior to making any changes, as trying to fix this might mean breaking things yet worse.

     

    Server.app has an option to select the location of the associated data.  Click around under the host name entry in Server App for the Settings, and look for the Service Data setting.   Change that.   Changing that here, unfortunately, might or might not work out, as this configuration may already be somewhat corrupted.    So do have a backup.  Or two.

     

    Relocating the service data within Server.app is how Server.app renames and relocates its data.  But in this case, I'd tend to expect to export and reimport the service data and entirely rebuild this, and fix any weirdness.   Maybe rebuild the whole Server.app configuration, unfortunately.

  • by Grant Bennet-Alder,

    Grant Bennet-Alder Grant Bennet-Alder Sep 25, 2015 7:49 PM in response to jwrage
    Level 9 (60,692 points)
    Desktops
    Sep 25, 2015 7:49 PM in response to jwrage

    Calendar Server seems to mount its Directory as if it were a Volume. If it goes missing, you get the message that its VOLUME is missing.

     

    Read VOLUME as if it said DIRECTORY and you may more quickly track this one down.

     

    I got that message when the Calendars and Contacts data was messed up and could not be used, .. er.. ¿mounted?

     

    Some of its files have extremely special permissions, being owned by User _calendar and Group _calendar and no access by anyone else. I wonder if this stuff is encrypted as well, maybe that is why it has to be treated as a Volume?

  • by opoet,

    opoet opoet Jan 13, 2016 7:26 AM in response to jwrage
    Level 1 (0 points)
    Jan 13, 2016 7:26 AM in response to jwrage

    I have this problem as well. The issue is that one of the services (looks like Messaging) starts up before the external drive is mounted. It then does not see the mount point and goes ahead and creates the directory /Volumes/[External Volume]/Library/Messages for its data. Then, when the external storage wants to mount, it sees that /Volumes/[External Volume] already exists and it instead mounts on /Volumes/[External Volume] 1/. When this happens, mail and other services cannot find their data directory, so they don't work properly. I have to go in the Terminal, manually remove the /Volume/[External Volume] directory as root and then reboot.

     

    I think this is a bug.

  • by MrHoffman,

    MrHoffman MrHoffman Jan 13, 2016 8:12 AM in response to opoet
    Level 6 (15,612 points)
    Mac OS X
    Jan 13, 2016 8:12 AM in response to opoet

    opoet wrote:

     

    I have this problem as well. The issue is that one of the services (looks like Messaging) starts up before the external drive is mounted. It then does not see the mount point and goes ahead and creates the directory /Volumes/[External Volume]/Library/Messages for its data. Then, when the external storage wants to mount, it sees that /Volumes/[External Volume] already exists and it instead mounts on /Volumes/[External Volume] 1/. When this happens, mail and other services cannot find their data directory, so they don't work properly. I have to go in the Terminal, manually remove the /Volume/[External Volume] directory as root and then reboot.

     

    I think this is a bug.

     

    Reports here probably won't be seen.   Please report this to Apple directly.

  • by opoet,

    opoet opoet Jan 13, 2016 11:01 AM in response to MrHoffman
    Level 1 (0 points)
    Jan 13, 2016 11:01 AM in response to MrHoffman

    Thanks, I reported via the "Provide Server Feedback..." in the Server app, which surprisingly got me a response last time I found a problem. Fingers crossed for the same response this time around!

  • by opoet,

    opoet opoet Feb 6, 2016 1:55 PM in response to jwrage
    Level 1 (0 points)
    Feb 6, 2016 1:55 PM in response to jwrage

    Getting frustrated that this problem persists, I had to find something to stop it. The root of the problem is the jabberd service in the server manager. If it doesn't see it's database path when it starts (or even shuts down it seems), it recreates it. If your storage volume isn't mounted, this is a problem, because it will create a path where your storage wants to mount. In may case, it was /Volumes/Drobo and the drive kept ending up on /Volumes/Drobo 1. I was going to try to find a way for servermgr to wait until the external storage is mounted (as it should) to start jabberd, but instead the easiest thing was to just change the location of where jabberd was storing its data. This is done by using the "serveradmin" utility:

     

    1) Enter: sudo serveradmin settings jabber

    2) Find all the entries for jabber that have the storage path in them: jabber:dataLocation, jabber:jabberdDatabasePath, and jabber:savedChatsLocation

    3) Enter: sudo serveradmin settings  jabber:dataLocation = "/Library/Server/Messages" (or whatever path you want)

    4) Enter: sudo serveradmin settings jabber:jabberdDatabasePath = "/Library/Server/Messages/Data/sqlite/jabberd2.db"

    5) Enter: sudo serveradmin settings jabber:savedChatsLocation = "/Library/Server/Messages/Data/message_archives"

     

      You'll have to reboot and remove the mount location one more time before servermgr actually fixes the jabberd config files. After that, everything should be fine.

     

      I hope Apple fixes this in the next update...

     

    _Tim