[unRAID 6 beta14+] Unassigned Devices [former Auto Mount USB]


Recommended Posts

In my case, the drive doesn't show up in /dev/disk/by-id, or even in /dev.  Also, lsblk doesn't show it either.

 

I know that I used to connect drives in this way in order to preclear them.

 

If I connect the esata to another machine (running Arch Linux), then the drive does appear in /dev and lsblk.

 

I have a suspicion that the new drive limitation in unRAID is preventing the drive from being shown.

Link to comment

In my case, the drive doesn't show up in /dev/disk/by-id, or even in /dev.  Also, lsblk doesn't show it either.

 

I know that I used to connect drives in this way in order to preclear them.

 

If I connect the esata to another machine (running Arch Linux), then the drive does appear in /dev and lsblk.

 

I have a suspicion that the new drive limitation in unRAID is preventing the drive from being shown.

 

Have you tried to run this?

 

udevadm trigger --action=change

Link to comment

In my case, the drive doesn't show up in /dev/disk/by-id, or even in /dev.  Also, lsblk doesn't show it either.

 

I know that I used to connect drives in this way in order to preclear them.

 

If I connect the esata to another machine (running Arch Linux), then the drive does appear in /dev and lsblk.

 

I have a suspicion that the new drive limitation in unRAID is preventing the drive from being shown.

The limitation now applies to connected devices, not just unRAID configured devices, so that may be. What license and how many devices are you trying to use?
Link to comment

Have you tried to run this?

 

udevadm trigger --action=change

 

Okay, that made the drive appear - both in unassigned devices list and preclear devices list.

 

It's an UDEV problem; or a rule is bugged or your HBA is not issuing an ADD action.

 

Try this and see if a ACTION=add is triggered:

 

udevadm test --action=add $(udevadm info -q path -n /dev/SDX )

Link to comment

after gfjardim fixed the esata problem i have a new one:

this plugin is initializing to late, so my sabnzbd is already expecting /mnt/downloads/… directories to work with it. like resuming the downloads. is it possible to mount the drive faster before every other plugin? as fast as in the go file?

Link to comment

after gfjardim fixed the esata problem i have a new one:

this plugin is initializing to late, so my sabnzbd is already expecting /mnt/downloads/… directories to work with it. like resuming the downloads. is it possible to mount the drive faster before every other plugin? as fast as in the go file?

 

Simple answer: migrate to Docker or ask your plugin maintainer to delay it's startup to a latter event.

Link to comment

Have you tried to run this?

 

udevadm trigger --action=change

 

Okay, that made the drive appear - both in unassigned devices list and preclear devices list.

 

It's an UDEV problem; or a rule is bugged or your HBA is not issuing an ADD action.

 

Try this and see if a ACTION=add is triggered:

 

udevadm test --action=add $(udevadm info -q path -n /dev/SDX )

 

Like this?:

root@Tower:~# udevadm test --action=add $(udevadm info -q path -n /dev/sdk )
run_command: calling: test
adm_test: version 182
This program is for debugging only, it does not run any program,
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

builtin_kmod_init: load module index
add_matching_files: unable to open '/run/udev/rules.d': No such file or directory
parse_file: reading '/lib/udev/rules.d/10-dm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/11-dm-lvm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/13-dm-disk.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-slackware.rules' as rules file
parse_file: reading '/lib/udev/rules.d/42-usb-hid-pm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
parse_file: reading '/lib/udev/rules.d/59-non-libata-devices.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-floppy.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-alsa.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-serial.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-accelerometer.rules' as rules file
parse_file: reading '/lib/udev/rules.d/65-kvm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/65-permissions.rules' as rules file
udev_rules_new: ignore empty '/etc/udev/rules.d/70-persistent-cd.rules'
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-net-description.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-probe_mtd.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-tty-description.rules' as rules file
parse_file: reading '/lib/udev/rules.d/78-sound-card.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-dm-notify.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-keyboard-force-release.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-keymap.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/lib/udev/rules.d/99-fuse.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99_persistent_unassigned.rules' as rules file
udev_rules_new: rules use 24144 bytes tokens (2012 * 12 bytes), 15288 bytes buffer
udev_rules_new: temporary index used 15680 bytes (784 * 20 bytes)
udev_device_new_from_syspath: device 0x6276b0 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0/7:0:0:0/block/sdk'
udev_device_new_from_syspath: device 0x62d530 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0/7:0:0:0/block/sdk'
udev_device_read_db: no db file to read /run/udev/data/b8:160: No such file or directory
udev_rules_apply_to_event: GROUP 6 /lib/udev/rules.d/50-udev-default.rules:67
udev_device_new_from_syspath: device 0x62ea40 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0/7:0:0:0'
udev_device_new_from_syspath: device 0x62f110 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0'
udev_device_new_from_syspath: device 0x62ad60 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6/host7'
udev_device_new_from_syspath: device 0x62b210 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6'
udev_device_new_from_syspath: device 0x62b660 has devpath '/devices/pci0000:00/0000:00:1f.2'
udev_device_new_from_syspath: device 0x62bb10 has devpath '/devices/pci0000:00'
udev_rules_apply_to_event: IMPORT 'ata_id --export /dev/sdk' /lib/udev/rules.d/60-persistent-storage.rules:32
udev_event_spawn: starting 'ata_id --export /dev/sdk'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_TYPE=disk'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_BUS=ata'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_MODEL=WDC_WD10EARS-00Y5B1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_MODEL_ENC=WDC\x20WD10EARS-00Y5B1\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_REVISION=80.00A80'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_SERIAL=WDC_WD10EARS-00Y5B1_WD-WCAV56040419'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_SERIAL_SHORT=WD-WCAV56040419'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_WRITE_CACHE=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_WRITE_CACHE_ENABLED=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_HPA=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_HPA_ENABLED=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_PM=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_PM_ENABLED=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SECURITY=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SECURITY_ENABLED=0'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=204'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN=204'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SMART=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SMART_ENABLED=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_AAM=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_AAM_ENABLED=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_AAM_VENDOR_RECOMMENDED_VALUE=128'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_AAM_CURRENT_VALUE=128'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_PUIS=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_PUIS_ENABLED=0'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_DOWNLOAD_MICROCODE=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_SATA=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_SATA_SIGNAL_RATE_GEN2=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_SATA_SIGNAL_RATE_GEN1=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_WWN=0x50014ee203cca9b8'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_WWN_WITH_EXTENSION=0x50014ee203cca9b8'
spawn_wait: 'ata_id --export /dev/sdk' [8628] exit with return code 0
udev_rules_apply_to_event: LINK 'disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WCAV56040419' /lib/udev/rules.d/60-persistent-storage.rules:44
udev_rules_apply_to_event: IMPORT builtin 'path_id' /lib/udev/rules.d/60-persistent-storage.rules:57
udev_rules_apply_to_event: IMPORT builtin 'path_id' returned non-zero
udev_rules_apply_to_event: IMPORT builtin 'blkid' /lib/udev/rules.d/60-persistent-storage.rules:72
builtin_blkid: probe /dev/sdk raid offset=0
[*****Long pause here*****]
udev_rules_apply_to_event: LINK 'disk/by-id/wwn-0x50014ee203cca9b8' /lib/udev/rules.d/60-persistent-storage.rules:82
udev_rules_apply_to_event: GROUP 6 /lib/udev/rules.d/65-permissions.rules:13
udev_node_add: handling device node '/dev/sdk', devnum=b8:160, mode=0660, uid=0, gid=6
node_fixup: preserve permissions /dev/sdk, 060660, uid=0, gid=6
node_symlink: preserve already existing symlink '/dev/block/8:160' to '../sdk'
link_find_prioritized: found 'b8:160' claiming '/run/udev/links/disk\x2fby-id\x2fata-WDC_WD10EARS-00Y5B1_WD-WCAV56040419'
link_update: creating link '/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WCAV56040419' to '/dev/sdk'
node_symlink: preserve already existing symlink '/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WCAV56040419' to '../../sdk'
link_find_prioritized: found 'b8:160' claiming '/run/udev/links/disk\x2fby-id\x2fwwn-0x50014ee203cca9b8'
link_update: creating link '/dev/disk/by-id/wwn-0x50014ee203cca9b8' to '/dev/sdk'
node_symlink: preserve already existing symlink '/dev/disk/by-id/wwn-0x50014ee203cca9b8' to '../../sdk'
udev_device_update_db: created db file '/run/udev/data/b8:160' for '/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0/7:0:0:0/block/sdk'
ACTION=add
DEVLINKS=/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WCAV56040419 /dev/disk/by-id/wwn-0x50014ee203cca9b8
DEVNAME=/dev/sdk
DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0/7:0:0:0/block/sdk
DEVTYPE=disk
ID_ATA=1
ID_ATA_DOWNLOAD_MICROCODE=1
ID_ATA_FEATURE_SET_AAM=1
ID_ATA_FEATURE_SET_AAM_CURRENT_VALUE=128
ID_ATA_FEATURE_SET_AAM_ENABLED=1
ID_ATA_FEATURE_SET_AAM_VENDOR_RECOMMENDED_VALUE=128
ID_ATA_FEATURE_SET_HPA=1
ID_ATA_FEATURE_SET_HPA_ENABLED=1
ID_ATA_FEATURE_SET_PM=1
ID_ATA_FEATURE_SET_PM_ENABLED=1
ID_ATA_FEATURE_SET_PUIS=1
ID_ATA_FEATURE_SET_PUIS_ENABLED=0
ID_ATA_FEATURE_SET_SECURITY=1
ID_ATA_FEATURE_SET_SECURITY_ENABLED=0
ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN=204
ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=204
ID_ATA_FEATURE_SET_SMART=1
ID_ATA_FEATURE_SET_SMART_ENABLED=1
ID_ATA_SATA=1
ID_ATA_SATA_SIGNAL_RATE_GEN1=1
ID_ATA_SATA_SIGNAL_RATE_GEN2=1
ID_ATA_WRITE_CACHE=1
ID_ATA_WRITE_CACHE_ENABLED=1
ID_BUS=ata
ID_MODEL=WDC_WD10EARS-00Y5B1
ID_MODEL_ENC=WDC\x20WD10EARS-00Y5B1\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
ID_REVISION=80.00A80
ID_SERIAL=WDC_WD10EARS-00Y5B1_WD-WCAV56040419
ID_SERIAL_SHORT=WD-WCAV56040419
ID_TYPE=disk
ID_WWN=0x50014ee203cca9b8
ID_WWN_WITH_EXTENSION=0x50014ee203cca9b8
MAJOR=8
MINOR=160
SUBSYSTEM=block
UDEV_LOG=6
USEC_INITIALIZED=96505629495
builtin_kmod_exit: unload module index
root@Tower:~# 

 

I've inserted 'Long pause here' text in the output above - it took many seconds, maybe more than a minute, but after that the drive did appear in the gui.

Link to comment
The output seems correct. I have no clue about your problem.

 

I wonder whether I was simply being too impatient and not waiting long enough.  I didn't time the delay above, but it was in the order of a couple of minutes.

 

Edit to add:

I do notice that while the 'new' esata-connected drive is attached, another 'unassigned' drive (my docker drive) gets accessed very heavily.  I wonder whether this is the reason for the delay in the esata drive being recognised.

 

At present, I'm still mounting the docker drive in my 'go' script - I haven't yet got around to setting it to automount with the new plugin.

Link to comment

I'm so late to this party, mainly because I've never had any need to SNAP any usb drives in the past... but now I'm looking for faster/bigger/more drives than the single cache drive available by the system and have finally found this. Well done gfjardim, such a fine plugin!

IMHO though, the name is an understatement. Sure it's factual and correct... but unassigned devices are like a pool of disks in waiting... like purgatory. What if we want to give a more permanent role of these disks? Just my 2 cents :)

 

Btw, can we raid a few disks together via btrfs and make it available through this plugin? I already have a btrfs mirorred cache drive, looking to add 3 drives in raid-5 config if possible.

Link to comment

IMHO though, the name is an understatement. Sure it's factual and correct... but unassigned devices are like a pool of disks in waiting... like purgatory. What if we want to give a more permanent role of these disks? Just my 2 cents :)

 

Btw, can we raid a few disks together via btrfs and make it available through this plugin? I already have a btrfs mirorred cache drive, looking to add 3 drives in raid-5 config if possible.

 

They are unassigned disks from the main array. They are not in the purgatory, they just find a nice "Unassigned Devices" home.  ;D

 

About btrfs, I think if you mount any of the disks in the btrfs pool, the pool itself get's mounted, but I cannot test this.

 

 

Link to comment

I suppose I would suggest asking if you can absorb the SNAP name. dlandon has said this works better in v6 and he's going to minimally maintain SNAP from now on.

 

There is a new plugin that has the functionality of SNAP that integrates better with unRAID V6.  The plugin is here: http://lime-technology.com/forum/index.php?topic=38635.0  I recommend you convert to this plugin.  I will maintain SNAP as long as I can with my limited time to work on it, but I won't make any enhancements.

 

Maybe call this SNAP2.0 .. or PANS ;-)

 

SUDS: Sharing Unassigned Devices Simply / Simple Unassigned Device Sharing

MUD: Mounting Unassigned Devices

Link to comment

[hangs head]

 

Why?  WHY!?!?!?!

 

Stop trying to make un[insert anything] happen, its not going to happen  8):P

 

Will call it unDAMN (unRAID Disk Auto Mount for Nimrods).  ::)

 

That's perfect! Actually I really like that it uses a current tab, why add extra tabs???

Link to comment
  • Squid locked this topic
Guest
This topic is now closed to further replies.