making a predictable passX name

Alfred Bartsch bartsch at dssgmbh.de
Fri Jun 24 16:30:03 UTC 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 24.06.2011 16:57, schrieb G. Paul Ziemba:
> Is there a way to set up a constant name for a /dev/passX
> device? (Or maybe there is a better way to solve the problem)
> 
>     % uname -r
>     8.2-PRERELEASE
> 
>     % pkg_info | grep amanda-server
>     amanda-server-3.2.1,1 The Advanced Maryland Automatic Network Disk Archiver (serv)
> 
> I'm setting up a Dell Powervault 122T with LTO2 drive to operate
> with amanda. I seems to me that chg-robot is the best choice of
> changer.
> 
> chg-robot uses mtx, which seems to require the name of the /dev/passX
> device corresponding to the changer (attached as /dev/ch0).
> Therefore, I'm trying to create a link with a constant name
> that points to the arbitrary /dev/passX name. I plan to use this
> constant name in the amanda config file.
> 
> I can manually run "camcontrol periphlist ch0" and obtain the
> matching pass device name, so in theory I can write a small
> script to create a link such as /dev/ch0.pass -> /dev/passX
> and then specify /dev/ch0.pass in the amanda config file.
> 
> I wrote the following in /etc/devd.conf:
> 
>     attach 100 {
> 	device-name "ch[0-9]+";
> 	action "camcontrol periphlist $device-name|grep pass|sed -e 's/:.*\$//'|xargs -I PASS ln -s /dev/PASS /dev/$device-name.pass; logger added ch pass link";
>     };
> 
>     detach 100 {
> 	device-name "ch[0-9]+";
> 	action "rm /dev/$device-name.pass; logger removed ch pass link";
>     };
> 
> I also tried the above with just the "logger" parts in the actions.
> 
> However, the actions do not seem to be invoked when the ch0 device
> is attached (power-on + camcontrol rescan + messages in /var/log/messages).
> Maybe devd does not get an "attach" event when ch attaches?
> 
> Is there another way to trigger on the attach/detach events for /dev/chX?
> Or a way to hard-wire assignment of the /dev/passX names?
> 

You can achieve this behaviour via editing /boot/device.hints:

...
# SCSI tape peripherals
#
hint.scbus.0.at="mpt0"
hint.scbus.0.bus="0"
#
# Drive
hint.sa.0.at="scbus0"
hint.sa.0.target="4"
hint.sa.0.lun="0"
hint.pass.0.at="scbus0"
hint.pass.0.target="4"
hint.pass.0.lun="0"
# Changer
hint.ch.0.at="scbus0"
hint.ch.0.target="4"
hint.ch.0.lun="1"
hint.pass.1.at="scbus0"
hint.pass.1.target="4"
hint.pass.1.lun="1"
#

all You have to know is:
- - the SCSI driver (in our case mpt) with its associated bus number (0)
- - target and lun of drive and changer
it is then possible to freely choose a pass device number, in this example:

SCSI_ID 0:4:0 gets pass0 (drive), SCSI_ID 0:4:1 gets pass1 (changer)

changes take effect after reboot, HTH.

- -- 
Alfred Bartsch
Data-Service GmbH
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk4Et7wACgkQ5QGe2JdVf3gsrwCguAGB3JaOB2OQA6BQbstwgnaE
K8YAn0F+m+S1UN6SR6WlMuPqxQmtktyi
=WyTG
-----END PGP SIGNATURE-----


More information about the freebsd-scsi mailing list