Здравствуйте. Вдруг кому сгодится... Имеется ленточная библиотека Quantum Scalar i500 и желание зафиксировать соответствие логических устройств в /dev физическим стримерам, промаркированным от 1 до 4.
По мотивам http://reactivated.net/writing_udev_rules.html http://www.listware.net/201004/bacula-users/96528-bacula-users-label-barcodes-on-quantum-scalar-i500.html нарисованы следующие правила: --- /etc/udev/rules.d/80-persistent-streamers.rules # Autochanger #BUS=="scsi", KERNEL=="sch0", KERNELS=="7:0:0:1", NAME="%k", SYMLINK="changer" #BUS=="scsi", KERNEL=="sg7", KERNELS=="9:0:0:1", NAME="%k", SYMLINK="changer" BUS=="scsi", KERNEL=="sg7", ATTRS{vendor}=="ADIC ", NAME="%k", SYMLINK="changer" # tape drives don't show up with serials or such, # and two reboots with these rules resulted in different layouts # so for the time being we have to: # mtx -f /dev/changer status | head # mtx load 1 0 # and then figure out which /dev/nst it is: # mt -f /dev/nst0 status # if it's the drive 0 (and rewound tape), then output should end with: # BOT ONLINE IM_REP_EN # if it's not (still empty), then: # DR_OPEN IM_REP_EN # -- mike on 20100822, see also # http://sourceforge.net/mailarchive/forum.php?thread_name=1272470577.m2f.333703%40www.backupcentral.com&forum_name=bacula-users # Tape Drive 1 BUS=="scsi", KERNEL=="nst*", ENV{ID_SERIAL}=="35001234567893090", NAME="%k", SYMLINK="tape1" # Tape Drive 2 BUS=="scsi", KERNEL=="nst*", ENV{ID_SERIAL}=="35001234567893094", NAME="%k", SYMLINK="tape2" # Tape Drive 3 BUS=="scsi", KERNEL=="nst*", ENV{ID_SERIAL}=="35001234567893000", NAME="%k", SYMLINK="tape3" # Tape Drive 4 BUS=="scsi", KERNEL=="nst*", ENV{ID_SERIAL}=="35001234567893004", NAME="%k", SYMLINK="tape4" # in case of a bit different udev... #BUS=="scsi", KERNEL=="nst*", ATTRS{serial}=="35001234567893004", NAME="%k", SYMLINK="tape4" --- Серийные номера получены следующим образом: # udevadm info --query=env -p `udevadm info -q path -n /dev/nst0` Тестирование: # udevadm test /sys/class/scsi_tape/nst0 2>&1 | less # udevadm trigger # ls -l /dev/tape? lrwxrwxrwx 1 root root 4 Dec 11 22:16 /dev/tape1 -> nst1 lrwxrwxrwx 1 root root 4 Dec 11 22:16 /dev/tape2 -> nst0 lrwxrwxrwx 1 root root 4 Dec 11 22:16 /dev/tape3 -> nst3 lrwxrwxrwx 1 root root 4 Dec 11 22:16 /dev/tape4 -> nst2 PS: можно было воспользоваться /dev/tape/by-id/*, которые создаёт /lib/udev/rules.d/60-persistent-storage-tape.rules -- но выходит не так ясно в эксплуатации :) -- ---- WBR, Michael Shigorin <[email protected]> ------ Linux.Kiev http://www.linux.kiev.ua/ _______________________________________________ Sysadmins mailing list [email protected] https://lists.altlinux.org/mailman/listinfo/sysadmins
