Problems with the Distributed Persistent Memory Engine

DPME does not start

The DPME service, mvmallocd, fails to start.

Cause: DPME is already running

The DPME service is already running on the system.

Only one mvmallocd process is allowed to run at a time.

Remedy: Check for a running DPME service

Procedure

  1. Check for a running mvmallocd process on the system:
    # systemctl status mvmallocd

    The system shows a running process:

    # systemctl status mvmallocd
    ● mvmallocd.service - MemVerge Memory Engine
       Loaded: loaded (/etc/systemd/system/mvmallocd.service; disabled; vendor preset: disabled)
       Active: active (running) since Wed 2020-09-23 11:25:41 PDT; 3h 46min ago
      Process: 22672 ExecStart=/usr/bin/bash /usr/libexec/mvmallocd_daemon_start.sh (code=exited, status=0>
      Process: 22650 ExecStartPre=/usr/bin/bash /usr/libexec/mvmallocd_pre_check.sh (code=exited, status=0>
     Main PID: 22684 (mvmallocd)
        Tasks: 2 (limit: 26213)
       Memory: 3.7M
       CGroup: /system.slice/mvmallocd.service
               └─22684 /opt/memverge/sbin/mvmallocd --config=/etc/memverge/mvmallocd.yml
    
  2. Do one of the following:

Cause: Domain socket already exists

Attempting to run the DPME service, the following message is logged in the DPME log:

cat /var/log/memverge/mvmallocd_log
-----NEW MVMLOG FILE 2020-12-29 21:05:40
2020-12-29 21:05:40 -0800 [29153:29153]: License loaded successfully.
2020-12-29 21:05:40 -0800 [29153:29153]: Chunk Usage: (3014 / 64508)
2020-12-29 21:05:40 -0800 [29153:29153]: domain socket /tmp/dpme_daemon.0 already exists

In this example, the /tmp/dpme_daemon.0 socket path already exists.

Remedy: Remove the socket and restart the DPME service

Procedure

  1. Verify that the socket path exists:
    # ls /tmp/dpme_daemon.0
    /tmp/dpme_daemon.0
    # rm /tmp/dpme_daemon.0
    # rm: remove socket '/tmp/dpme_daemon.0'? y
    # ls /tmp/dpme_daemon.0
    ls: cannot access '/tmp/dpme_daemon.0': No such file or directory
  2. Remove the socket path:
    # rm -rf /tmp/dpme_daemon.0
  3. Restart the DPME service:
    # systemctl start mvmallocd