Following the hint on: https://gitlab.bacula.org/bacula-community-edition/bacula-community/-/issues/2683
i (re)post here, seeking feedback. Situation: bacula 9.4 (debian buster), using RDX cassette/disks for backup, using the wonderful 'vchanger' virtual autochanger script. Following the vchanger doc: https://vchanger.sourceforge.io/ https://sourceforge.net/projects/vchanger/files/vchangerHowto.html/download it is needed to create a virtual changer device for every 'media' in the 'media pool'; so my SD configuration is: Autochanger { Name = RDXAutochanger Description = "RDX Virtual Autochanger on ODPVE2" Device = RDXStorage0 Device = RDXStorage1 Device = RDXStorage2 Changer Command = "/usr/bin/vchanger %c %o %S %a %d" Changer Device = "/etc/vchanger/ODPVE2RDX.conf" } Device { Name = RDXStorage0 Description = "RDX 0 File Storage on ODPVE2" Drive Index = 0 Device Type = File Media Type = RDX RemovableMedia = no RandomAccess = yes Maximum Concurrent Jobs = 1 Archive Device = "/var/spool/vchanger/ODPVE2RDX/0" } Device { Name = RDXStorage1 Description = "RDX 1 File Storage on ODPVE2" Drive Index = 1 Device Type = File Media Type = RDX RemovableMedia = no RandomAccess = yes Maximum Concurrent Jobs = 1 Archive Device = "/var/spool/vchanger/ODPVE2RDX/1" } Device { Name = RDXStorage2 Description = "RDX 2 File Storage on ODPVE2" Drive Index = 2 Device Type = File Media Type = RDX RemovableMedia = no RandomAccess = yes Maximum Concurrent Jobs = 1 Archive Device = "/var/spool/vchanger/ODPVE2RDX/2" } every 'media' in 'media pool' have some volumes in the pool, more or less like inserting in an (real) autochanger a set of tapes. So when i insert a cartdrige, i get: root@odpve2:~# bconsole Connecting to Director bacula.lnf.it:9101 1000 OK: 103 lnfbacula-dir Version: 9.4.2 (04 February 2019) Enter a period to cancel a command. *list media pool=VEN-OD-ODPVE2RDXPool Automatically selected Catalog: BaculaLNF Using Catalog "BaculaLNF" +---------+---------------------+-----------+---------+-----------------+----------+--------------+---------+------+-----------+-----------+---------+----------+---------------------+-----------+ | mediaid | volumename | volstatus | enabled | volbytes | volfiles | volretention | recycle | slot | inchanger | mediatype | voltype | volparts | lastwritten | expiresin | +---------+---------------------+-----------+---------+-----------------+----------+--------------+---------+------+-----------+-----------+---------+----------+---------------------+-----------+ | 25 | ODPVE2RDX_0000_0000 | Used | 1 | 15,258,511,119 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-04 23:09:08 | 798,842 | | 26 | ODPVE2RDX_0000_0001 | Used | 1 | 17,769,884,030 | 4 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-06 23:11:49 | 971,803 | | 27 | ODPVE2RDX_0000_0002 | Used | 1 | 65,296,705,760 | 15 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-03 02:09:00 | 636,834 | | 28 | ODPVE2RDX_0000_0003 | Used | 1 | 14,995,402,621 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-02 23:09:13 | 626,047 | | 29 | ODPVE2RDX_0000_0004 | Used | 1 | 16,099,504,717 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-05 23:12:59 | 885,473 | | 30 | ODPVE2RDX_0000_0005 | Used | 1 | 15,067,862,578 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-03 23:11:20 | 712,574 | | 31 | ODPVE2RDX_0000_0006 | Used | 1 | 15,359,960,121 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-08 09:55:38 | 1,096,832 | | 32 | ODPVE2RDX_0000_0007 | Used | 1 | 259,203,030,230 | 60 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-01 23:35:29 | 541,223 | | 55 | ODPVE2RDX_0001_0000 | Used | 1 | 16,354,496,268 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-12 23:10:10 | 1,486,504 | | 56 | ODPVE2RDX_0001_0001 | Used | 1 | 15,253,608,839 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-10 23:11:32 | 1,317,386 | | 57 | ODPVE2RDX_0001_0002 | Used | 1 | 65,139,795,652 | 15 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-10 02:09:59 | 1,241,693 | | 58 | ODPVE2RDX_0001_0003 | Used | 1 | 16,239,231,609 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-11 23:10:35 | 1,400,129 | | 59 | ODPVE2RDX_0001_0004 | Used | 1 | 15,986,423,895 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-14 23:13:56 | 1,659,530 | | 60 | ODPVE2RDX_0001_0005 | Used | 1 | 16,833,801,705 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-13 23:10:37 | 1,572,931 | | 61 | ODPVE2RDX_0001_0006 | Used | 1 | 261,299,430,776 | 60 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-08 23:34:25 | 1,145,959 | | 62 | ODPVE2RDX_0001_0007 | Used | 1 | 15,131,374,566 | 3 | 1,728,000 | 1 | 0 | 0 | RDX | 1 | 0 | 2024-03-09 23:08:44 | 1,230,818 | | 155 | ODPVE2RDX_0002_0000 | Used | 1 | 14,852,213,967 | 3 | 1,728,000 | 1 | 1 | 1 | RDX | 1 | 0 | 2024-02-24 23:08:03 | 21,177 | | 156 | ODPVE2RDX_0002_0001 | Used | 1 | 64,919,242,574 | 15 | 1,728,000 | 1 | 2 | 1 | RDX | 1 | 0 | 2024-02-25 02:08:49 | 32,023 | | 157 | ODPVE2RDX_0002_0002 | Used | 1 | 16,368,880,451 | 3 | 1,728,000 | 1 | 3 | 1 | RDX | 1 | 0 | 2024-02-28 23:08:56 | 366,830 | | 158 | ODPVE2RDX_0002_0003 | Used | 1 | 15,087,137,850 | 3 | 1,728,000 | 1 | 4 | 1 | RDX | 1 | 0 | 2024-02-26 23:10:05 | 194,099 | | 159 | ODPVE2RDX_0002_0004 | Used | 1 | 15,186,796,386 | 3 | 1,728,000 | 1 | 5 | 1 | RDX | 1 | 0 | 2024-02-29 23:12:01 | 453,415 | | 160 | ODPVE2RDX_0002_0005 | Used | 1 | 15,193,122,988 | 3 | 1,728,000 | 1 | 6 | 1 | RDX | 1 | 0 | 2024-02-25 23:10:58 | 107,752 | | 161 | ODPVE2RDX_0002_0006 | Used | 1 | 258,282,781,991 | 60 | 1,728,000 | 1 | 7 | 1 | RDX | 1 | 0 | 2024-02-23 23:36:59 | 0 | | 162 | ODPVE2RDX_0002_0007 | Used | 1 | 15,144,882,105 | 3 | 1,728,000 | 1 | 8 | 1 | RDX | 1 | 0 | 2024-02-27 23:09:10 | 280,444 | +---------+---------------------+-----------+---------+-----------------+----------+--------------+---------+------+-----------+-----------+---------+----------+---------------------+-----------+ note the 'inchanger' and 'slot' property. In this way, alla works as expected BUT if ALL volumes in a 'media' are unavailable (typically because of some incorrect cycling of 'media'; we cannot kill every collegues that insert the wrong cartdrige, because will run quickly out of collegues ;-) bacula try to mount 'available' volumes even on non-mounted 'media', eg, for volumes without the inchanger=1 property. Some logs: 07-Mar 23:00 lnfbacula-dir JobId 18015: There are no more Jobs associated with Volume "ODPVE2RDX_0000_0006". Marking it purged. 07-Mar 23:00 lnfbacula-dir JobId 18015: All records pruned from Volume "ODPVE2RDX_0000_0006"; marking it "Purged" 07-Mar 23:00 lnfbacula-dir JobId 18015: Recycled volume "ODPVE2RDX_0000_0006" 07-Mar 23:00 lnfbacula-dir JobId 18015: Using Device "RDXStorage1" to write. 07-Mar 23:03 odpve2-sd JobId 18015: Warning: mount.c:215 Open of File device "RDXStorage1" (/var/spool/vchanger/ODPVE2RDX/1) Volume "ODPVE2RDX_0000_0006" failed: ERR=file_dev.c:190 Could not open(/var/spool/vchanger/ODPVE2RDX/1,OPEN_READ_WRITE,0640): ERR=No such file or directory 07-Mar 23:03 odpve2-sd JobId 18015: Marking Volume "ODPVE2RDX_0000_0006" in Error in Catalog. so, bacula find a volume in pool that can purge, purge it, and try to mount it even if it is not 'inchanger', cannot access it, and put the volume in 'Error' state. I've solve this for now with a simple script that lookup for volumes that are in Error state with expiresin=0, and (if the related 'media' is mounted) i reenable purging it. But is strange... -- Complimenti a Focus. Una rivista da comprizzare e letturizzare, per intelligentizzarci, culturizzarci e conoscizzare l'italiano. (Biggo) _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users