Help moving library metadata

Thanks for all your help Chuck! It should not have taken us days to figure this out, but the SNAP was the main issue.

ChuckPA One thing did not work correctly. The drobo still does not mount on boot. It’s not a big deal since I also learned the basics of rsync and will hopefully have the drobo empty soon enough, so I can repurpose those drives.

Thanks again Chuck. You’re quite possibly the most helpful support person I’ve ever worked with.

look through the systemctl list-units | less output for the one mentioning the drobo.

By name, specifically systemctl enable it. It might make a difference.

Also, should we need PMS to wait until after that service starts, we can add the After qualifier to the PMS override.conf file we created. This will guarantee it waits for the service to start.

We have had to add After clauses on Intel NUC systems because they would often start PMS before the network was initialized. (Imagine that chaos)

This is what I see with the list-units command.

sys-devices-pci0000:00-0000:00:14.0-usb2-2\x2d2-2\x2d2:1.0-host7-target7:0:0-7:0:0:0-block-sdh-sdh1.device loaded active plugged 5D Microsoft\x20reserved\x20partition
sys-devices-pci0000:00-0000:00:14.0-usb2-2\x2d2-2\x2d2:1.0-host7-target7:0:0-7:0:0:0-block-sdh-sdh2.device loaded active plugged 5D Big_Drobo
sys-devices-pci0000:00-0000:00:14.0-usb2-2\x2d2-2\x2d2:1.0-host7-target7:0:0-7:0:0:0-block-sdh.device loaded active plugged 5D

The middle one reporting sdh2 is the correct one. I’m unsure of what you mean by “By name” enable it. Is the name 5D Big_Drobo? I tried the following but am probably noobing it up…

systemctl enable sys-devices-pci0000:00-0000:00:14.0-usb2-2\x2d2-2\x2d2:1.0-host7-target7:0:0-7:0:0:0-block-sdh-sdh2.device

and

systemctl enable “5D Big_Drobo”

Regarding the After qualifier, this makes it sound like PMS may be the cause of the drobo not mounting. Am I understanding that right?

PMS isn’t the cause. The drobo driver service isn’t starting up fast enough. PMS gets started and starts looking for the drobo (it doesn’t know better) too soon.

We simply delay PMS start until after we know the drobo is ready.

As for the units to look for, you want the “mount” references. they look like these.

  -.mount                                       loaded active mounted   Root Mount               
  backup.mount                                  loaded active mounted   /backup                  
  boot.mount                                    loaded active mounted   /boot                    
  chuck.mount                                   loaded active mounted   /chuck                   
  dev-hugepages.mount                           loaded active mounted   Huge Pages File System   
  dev-mqueue.mount                              loaded active mounted   POSIX Message Queue File >
  home-chuck-git.mount                          loaded active mounted   /home/chuck/git          
  home.mount                                    loaded active mounted   /home                    
  proc-sys-fs-binfmt_misc.mount                 loaded active mounted   Arbitrary Executable File>
  run-user-1026-gvfs.mount                      loaded active mounted   /run/user/1026/gvfs      
  run-user-1026.mount                           loaded active mounted   /run/user/1026           
  run-user-42.mount   

On my system, these are part of the cgroup. This means they get setup with normal startup.
It makes me wonder if Ubuntu 18 is doing cgroups differently than the driver app expects
(wouldn’t be the first time)

my cgroup mounts

[chuck@lizum ~.280]$ sudo find /sys /etc -name chuck.mount
/sys/fs/cgroup/pids/system.slice/chuck.mount
/sys/fs/cgroup/devices/system.slice/chuck.mount
/sys/fs/cgroup/memory/system.slice/chuck.mount
/sys/fs/cgroup/systemd/system.slice/chuck.mount
/sys/fs/cgroup/unified/system.slice/chuck.mount
[chuck@lizum ~.281]$ 

Here we go.

From systemctl list-units | less
drobo.mount loaded active mounted /drobo

Output from systemctl enable drobo.mount
Failed to enable unit: Unit /run/systemd/generator/drobo.mount is transient or generated.

So it knows it’s mounted and auto generating.

Now we adjust for maximum smoke :smiling_imp:

sudo gedit /etc/systemd/system/plexmediaserver.service.d/override.conf

At the bottom, add the line:

After=drobo.mount

Save the file

sudo systemctl daemon-reload

Now PMS will not start until the drobo is mounted

(possible alternative name drobo-mount.service)

The drobo did not auto-mount. PMS started anyway. This is my override.conf

[Service]
Environment="PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/plex/Library/Application Support"
#
#
# done

After=drobo.mount

Should I try After=drobo-mount.service?

Yep… one of the two.

Ubuntu implemented the dynamic naming differently than Fedora.

One of two.

Had a thought… (DUCK!)

journalctl | less

Slowly and carefully look at the system log for startup events.

Example, In my journal output is my latest boot

Dec 13 18:48:50 localhost.localdomain systemd[1]: Mounted Huge Pages File System.
Dec 13 18:48:50 localhost.localdomain systemd[1]: Activated swap /dev/disk/by-uuid/d893a19b-7073-4f3f-9ba0-a4006f699173.
Dec 13 18:48:50 localhost.localdomain systemd[1]: Mounted POSIX Message Queue File System.
Dec 13 18:48:50 localhost.localdomain systemd[1]: Started Remount Root and Kernel File Systems.
Dec 13 18:48:50 localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-remount
-fs comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Dec 13 18:48:50 localhost.localdomain systemd[1]: Started LVM2 metadata daemon.
Dec 13 18:48:50 localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lvm2-lvmetad co
mm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Dec 13 18:48:50 localhost.localdomain systemd[1]: Starting Load/Save Random Seed...
Dec 13 18:48:50 localhost.localdomain systemd[1]: Reached target Swap.
Dec 13 18:48:50 localhost.localdomain systemd[1]: tmp.mount: Directory /tmp to mount over is not empty, mounting anyway.
Dec 13 18:48:50 localhost.localdomain systemd[1]: Mounting Temporary Directory (/tmp)...

Also, Is the drobo presenting itself as an iSCSI device ?

If that’s the case, we’re waiting for the wrong service to finish.

We need to wait for the iscsid.service

iscsid makes the device available to mount.

Also check systemctl enable iscsid.service - It should already autostart but given we’re not getting automount, it probably isn’t.

Well…

eckomega@eckomega-mediaserver:~$ systemctl enable iscsid.service
Failed to enable unit: Unit file iscsid.service does not exist.

This is a line from http://drobo-utils.sourceforge.net/ I’ve been weary of adding any addition variables to this project so I haven’t installed this program.

Linux drivers make disk, cdrom, and other peripherals, look like SCSI peripherals to applications. Regardless of the physical connection, it is a normal part of the linux kernel to make the device appear as a so-called “generic SCSI” one.

Is there any guide to mounting an external filesystem for Snap-installed Plex out there? I’ve seen talk of bind mounting or symlinking inside the snap environment FS, but that talk seems to always end with ‘that didn’t work’…

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.