DC/OS installation on /opt/mesosphere

Scenario: your considering installing DC/OS on an LVM

A lot of DC/OS services "break" if /opt/mesosphere is on an LVM... (cannot do any of the normal health checks after node reboot or run the log bundle). To remedy this you have to start services manually.

The source of the problem is how systemd handles unit files. We put all of the DC/OS service unit files in /opt/mesosphere, and then symlink them to /etc/systemd/system. Systemd requires that any service that need to start on boot have their unit files available when the system changes from initrd to the actual host.

Most distributions only have / and /usr mounted in initrd, and then later mount other filesystem. This is the problem with having /opt/mesosphere on a different logical volume than /, as /opt would be mounted after systemd checks /etc/systemd/system and finds the broken symlinks as /opt/mesosphere hasn't been mounted yet. You would run into the same problem if you weren't using LVM and instead had one partition for / and another partition for /opt/mesosphere.

From the systemd mailing list: https://lists.freedesktop.org/archives/systemd-devel/2016-May/036646.html

So there's two options to go from here:
A. Make sure /opt/mesosphere is on the same mount point as /, which is the easiest.
B. Modify your initrd to mount /opt/mesosphere before it transitions to the host kernel, which is a bit of a pain, and will probably need to be modified each time you update your initrd.

Have more questions? Submit a request

Comments

Powered by Zendesk