Bacula-users

Re: [Bacula-users] vchanger 1.0.1 says "No slots in changer to scan"

2016-05-05 20:30:04
Subject: Re: [Bacula-users] vchanger 1.0.1 says "No slots in changer to scan"
From: Pann Tolk <pann.tolk AT gmail DOT com>
To: bacula-users AT lists.sourceforge DOT net
Date: Fri, 6 May 2016 08:28:11 +0800
Hi Wanderlei,

Thanks for your reply.

>Always you create a volume is necessary to run in bconsole  "update slots" and "label barcodes"
Yes, I created the volumes.  But when I attempt to run "update slots" in bconsole, I get error as mentioned in my original post.

>I understood that you have 4 hard disks ,so you need 4 magazines and 4 Devices in bacula-sd.
Hmmm...I always thought that the "Devices" in bacula-sd.conf are just "virtual" tape drives.  I only need to have 1 device to access the "tapes" in magazines.  And that's the beauty of vchanger simulating a tape library where the physical disk partitions (filesystems) are the magazine.  And the files are the tape volumes.

Am I wrong in this assumption?


Will have a look at the above URL.

Thanks

On Thu, May 5, 2016 at 6:55 PM, Wanderlei Huttel <wanderleihuttel AT gmail DOT com> wrote:
Hello Pan

I tested vchanger some time ago, but I have not tested in production.
Always you create a volume is necessary to run in bconsole  "update slots" and "label barcodes"

I understood that you have 4 hard disks ,so you need 4 magazines and 4 Devices in bacula-sd.

I've wrote a article to configure bacula with vchanger in portuguese brazilian.
I've created a script to create volumes with better labell instead of vchanger default.

You can use google translator.

I gues this can help you.


Best Regards

Wanderlei Hüttel

2016-05-05 5:29 GMT-03:00 Pann Tolk <pann.tolk AT gmail DOT com>:

Hello Guys,

I'm new to Bacula.  And it's my first time trying to config Bacula 7.4.0 with vchanger 1.0.1 for my home network.

I have configured Bacula and vchanger following the vchanger 1.0.1 documentation included in the rpm package (vchangerHowto.html)

My hardware setup is as below:

       |-SATA_Port_1 -| 2-slots |    < Multiple 2TB SATA harddisks, each 
 HOST -|              | hotplug |<== < formated with single ext4 partition
       |-SATA_Port_2 -| dock    |    < (with unique UUID) for the respective
                                     < filesystem to be used as magazines.

The above 2-slots hotplug dock will allow me insert or remove 2 physical SATA drives (and therefore, 2 magazines) at a time.

For each magazine, I intend to make each volume file to be 100GB.


Here is my host system software setup:

- Fedora 23

- Bacula 7.4.0 (installed from Fedora repository)
Both Bacula Director and Bacula Storage Daemon are installed on the same host
(above).  It will be used to backup other clients on the network.

- vchanger-1.0.1-1.el7.x86_64.rpm (downloaded from Sourceforge: https://sourceforge.net/projects/vchanger/files/RPM/)



I have the following questions and problem:

1.  With regards to using 2 magazines simultaneously, are the following correct?

/etc/bacula/bacula-sd.conf:
===========================

[root@deneb ~]# cat /etc/bacula/bacula-sd.conf | grep -v  "^[#]"

Storage {                        # definition of myself
  Name = bacula-sd
  SDPort = 9103                  # Director's port
  WorkingDirectory = "/var/spool/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
}

Director {
  Name = bacula-dir
  Password = "xxxxxxxxxxxxxxxx"
}

Autochanger {
  Name = SATA-vchanger01
  Device = SATA-vchanger01-drive-0
  Changer Command = "vchanger %c %o %S %a %d"
  Changer Device = "/etc/vchanger/vchanger01.conf"
}

Device {
  Name = SATA-vchanger01-drive-0
  Drive Index = 0
  Autochanger = yes
  Device Type = File
  Media Type = File
  Removable Media = no
  Random Access = yes
  Maximum Concurrent Jobs = 1
  Archive Device = "/var/spool/vchanger/vchanger01/drive0"
}

Messages {
  Name = Standard
  director = bacula-dir = all
}
[root@deneb ~]#



/etc/vchanger/vchanger01.conf:
==============================

[root@deneb ~]# cat /etc/vchanger/vchanger01.conf | grep -v  "^[#]"

Storage Resource = "vchanger01"
User = bacula
group = tape
work dir = "/var/spool/vchanger/vchanger01"
logfile = "/var/log/vchanger/vchanger01.log"
log level = 3
bconsole = "/usr/sbin/bconsole"
bconsole config = /etc/bacula/bconsole.conf
default pool = "Scratch"

magazine = UUID:1fde15be-83a4-4b67-accc-378d5fa10ea7
magazine = UUID:412060d2-7be4-4719-8089-2ee6cfd28624
magazine = UUID:20d986c1-9391-467e-9f73-232b53fba377
magazine = UUID:fa48ed8d-2e63-4c27-8670-c943822d2cd0




2.  I followed the vchanger documentation (vchangerHowto.html) to setup vchanger.

I have successfully configured udev and autofs.  udev is able to mount the filesystems when I insert the drives.  And, autofs is able to mount it to the mountpoint /mnt/vchanger

I have also successfully created volumes in the first 2 magazines.


[root@deneb ~]# vchanger /etc/vchanger/vchanger01.conf listmags
device-enumerator: scan all dirs
  device-enumerator: scanning /sys/bus
  device-enumerator: scanning /sys/class
device-enumerator: scan all dirs
  device-enumerator: scanning /sys/bus
  device-enumerator: scanning /sys/class
device-enumerator: scan all dirs
  device-enumerator: scanning /sys/bus
  device-enumerator: scanning /sys/class
device-enumerator: scan all dirs
  device-enumerator: scanning /sys/bus
  device-enumerator: scanning /sys/class
0:18:1:/mnt/vchanger/1fde15be-83a4-4b67-accc-378d5fa10ea7
1:18:19:/mnt/vchanger/412060d2-7be4-4719-8089-2ee6cfd28624
2:::
3:::

[root@deneb ~]# vchanger /etc/vchanger/vchanger01.conf list
device-enumerator: scan all dirs
  device-enumerator: scanning /sys/bus
  device-enumerator: scanning /sys/class
device-enumerator: scan all dirs
  device-enumerator: scanning /sys/bus
  device-enumerator: scanning /sys/class
device-enumerator: scan all dirs
  device-enumerator: scanning /sys/bus
  device-enumerator: scanning /sys/class
device-enumerator: scan all dirs
  device-enumerator: scanning /sys/bus
  device-enumerator: scanning /sys/class
1:vchanger01_0_0
2:vchanger01_0_1
3:vchanger01_0_10
4:vchanger01_0_11
5:vchanger01_0_12
6:vchanger01_0_13
7:vchanger01_0_14
8:vchanger01_0_15
9:vchanger01_0_16
10:vchanger01_0_17
11:vchanger01_0_2
12:vchanger01_0_3
13:vchanger01_0_4
14:vchanger01_0_5
15:vchanger01_0_6
16:vchanger01_0_7
17:vchanger01_0_8
18:vchanger01_0_9
19:vchanger01_1_0
20:vchanger01_1_1
21:vchanger01_1_10
22:vchanger01_1_11
23:vchanger01_1_12
24:vchanger01_1_13
25:vchanger01_1_14
26:vchanger01_1_15
27:vchanger01_1_16
28:vchanger01_1_17
29:vchanger01_1_2
30:vchanger01_1_3
31:vchanger01_1_4
32:vchanger01_1_5
33:vchanger01_1_6
34:vchanger01_1_7
35:vchanger01_1_8
36:vchanger01_1_9
37:


[root@deneb ~]#  echo "status slots storage=vchanger01 drive=0" | bconsole
Connecting to Director deneb.pt.local:9101
1000 OK: 102 bacula-dir Version: 7.4.0 (16 January 2016)
Enter a period to cancel a command.
status slots storage=vchanger01 drive=0
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
Connecting to Storage daemon vchanger01 at deneb.pt.local:9103 ...
3306 Issuing autochanger "slots" command.
Device "SATA-vchanger01" has 0 slots.
No slots in changer to scan.



Questions:
==========
2a.  Why did vchanger list and listmags spits out "device-enumerator" lines?

2b.  bconsole throws out the lines below when I issue "status slots".  Did I misconfigured something?

Device "SATA-vchanger01" has 0 slots.
No slots in changer to scan.



2c.  Also, when I issue "status storage" in bconsole, I get following:

*status storage
...
...
Device status:
Autochanger "SATA-vchanger01" with devices:
   "SATA-vchanger01-drive-0" (/var/spool/vchanger/vchanger01/drive0)

Device file: "SATA-vchanger01-drive-0" (/var/spool/vchanger/vchanger01/drive0) is not open.
    Drive 0 is not loaded.




I have searched Google and still not able to find out why / what's wrong with my setup.  Appreciate if someone can help me out.

Thanks in advance.
PanTor





=====================================================================
Below are my settings and config files
=====================================================================

--------------------------------
SELINUX Setting
--------------------------------
[root@deneb ~]# /usr/sbin/sestatus
SELinux status:                 disabled


[root@deneb ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

-----------------------------------
Bacula Director and SD Running As
-----------------------------------

[root@deneb ~]# ps -aux | grep bacula
bacula   12628  0.0  0.5 365132 11124 ?        Ssl  14:10   0:00 /usr/sbin/bacula-dir -f -c /etc/bacula/bacula-dir.conf -u bacula -g bacula
bacula   12640  0.0  0.3 327868  7764 ?        Ssl  14:10   0:00 /usr/sbin/bacula-sd -f -c /etc/bacula/bacula-sd.conf -u bacula -g tape

-----------------------------------
Config for Bacula
-----------------------------------

[root@deneb ~]# ls -l /etc/bacula/
total 36
-rw-r--r-- 1 bacula bacula 9419 May  3 13:56 bacula-dir.conf
-rw-r--r-- 1 bacula bacula 8944 May  5 09:58 bacula-sd.conf
-rw-r--r-- 1 bacula bacula  254 Apr 26 11:54 bconsole.conf
-rw-r----- 1 bacula bacula  312 Jan 26 04:26 query.sql

--------------------------------
/etc/bacula/bacula-dir.conf
--------------------------------
[root@deneb ~]# cat /etc/bacula/bacula-dir.conf | grep -v  "^[#]"

Director {                            # define myself
  Name = bacula-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/etc/bacula/query.sql"
  WorkingDirectory = "/var/spool/bacula"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 20
  Password = "xxxxxxxxxxxxxxxx"         # Console password
  Messages = Daemon
}

JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  Client = bacula-fd
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = vchanger01
  Messages = Standard
  Pool = File
  SpoolAttributes = yes
  Priority = 10
  Write Bootstrap = "/var/spool/bacula/%c.bsr"
}

Job {
  Name = "BackupClient1"
  JobDefs = "DefaultJob"
}

Job {
  Name = "BackupCatalog"
  JobDefs = "DefaultJob"
  Level = Full
  FileSet="Catalog"
  Schedule = "WeeklyCycleAfterBackup"
  # This creates an ASCII copy of the catalog
  # Arguments to make_catalog_backup.pl are:
  #  make_catalog_backup.pl <catalog-name>
  RunBeforeJob = "/usr/libexec/bacula/make_catalog_backup.pl MyCatalog"
  # This deletes the copy of the catalog
  RunAfterJob  = "/usr/libexec/bacula/delete_catalog_backup"
  Write Bootstrap = "/var/spool/bacula/%n.bsr"
  Priority = 11                   # run after main backup
}

Job {
  Name = "RestoreFiles"
  Type = Restore
  Client=bacula-fd
  FileSet="Full Set"
  Storage = vchanger01
  Pool = File
  Messages = Standard
  Where = /tmp/bacula-restores
}

FileSet {
  Name = "Full Set"
  Include {
    Options {
      signature = MD5
    }
     File = /usr/sbin
  }

  Exclude {
    File = /var/spool/bacula
    File = /tmp
    File = /proc
    File = /tmp
    File = /sys
    File = /.journal
    File = /.fsck
  }
}

Schedule {
  Name = "WeeklyCycle"
  Run = Full 1st sun at 23:05
  Run = Differential 2nd-5th sun at 23:05
  Run = Incremental mon-sat at 23:05
}

Schedule {
  Name = "WeeklyCycleAfterBackup"
  Run = Full sun-sat at 23:10
}

FileSet {
  Name = "Catalog"
  Include {
    Options {
      signature = MD5
    }
    File = "/var/spool/bacula/bacula.sql"
  }
}

Client {
  Name = bacula-fd
  Address = episilon.pt.local
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xxxxxxxxxxxxxxxx"          # password for FileDaemon
  File Retention = 60 days            # 60 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Storage {
  Name = vchanger01
  Address = deneb.pt.local        # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "xxxxxxxxxxxxxxxx"
  Device = SATA-vchanger01
  Media Type = File
  Autochanger = yes
  Maximum Concurrent Jobs = 10        # run up to 10 jobs a the same time
}

Catalog {
  Name = MyCatalog
  dbname = "bacula"; dbuser = "bacula"; dbpassword = "xxxxxxxxxxxxxxxx"
}

Messages {
  Name = Standard
  mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r"
  mail = root@localhost = all, !skipped
  operator = root@localhost = mount
  console = all, !skipped, !saved
  append = "/var/log/bacula/bacula.log" = all, !skipped
  catalog = all
}

Messages {
  Name = Daemon
  mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
  mail = root@localhost = all, !skipped
  console = all, !skipped, !saved
  append = "/var/log/bacula/bacula.log" = all, !skipped
}

Pool {
  Name = Default
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 100G         # Limit Volume size to something reasonable
  Maximum Volumes = 100               # Limit number of Volumes in Pool
}

Pool {
  Name = File
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 100G         # Limit Volume size to something reasonable
  Maximum Volumes = 100               # Limit number of Volumes in Pool
  Label Format = "Vol-"               # Auto label
}

Pool {
  Name = Scratch
  Pool Type = Backup
}


--------------------------------
/etc/bacula/bacula-sd.conf
--------------------------------

[root@deneb ~]# cat /etc/bacula/bacula-sd.conf | grep -v  "^[#]"

Storage {                        # definition of myself
  Name = bacula-sd
  SDPort = 9103                  # Director's port
  WorkingDirectory = "/var/spool/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
}

Director {
  Name = bacula-dir
  Password = "xxxxxxxxxxxxxxxx"
}

Autochanger {
  Name = SATA-vchanger01
  Device = SATA-vchanger01-drive-0
  Changer Command = "vchanger %c %o %S %a %d"
  Changer Device = "/etc/vchanger/vchanger01.conf"
}

Device {
  Name = SATA-vchanger01-drive-0
  Drive Index = 0
  Autochanger = yes
  Device Type = File
  Media Type = File
  Removable Media = no
  Random Access = yes
  Maximum Concurrent Jobs = 1
  Archive Device = "/var/spool/vchanger/vchanger01/drive0"
}

Messages {
  Name = Standard
  director = bacula-dir = all
}


--------------------------------
/etc/bacula/bconsole.conf
--------------------------------

[root@deneb ~]# cat /etc/bacula/bconsole.conf | grep -v  "^[#]"

Director {
  Name = bacula-dir
  DIRport = 9101
  address = deneb.pt.local
  Password = "xxxxxxxxxxxxxxxx"


--------------------------------
/etc/vchanger/vchanger01.conf
--------------------------------

[root@deneb ~]# cat /etc/vchanger/vchanger01.conf | grep -v  "^[#]"

Storage Resource = "vchanger01"
User = bacula
group = tape
work dir = "/var/spool/vchanger/vchanger01"
logfile = "/var/log/vchanger/vchanger01.log"
log level = 3
bconsole = "/usr/sbin/bconsole"
bconsole config = /etc/bacula/bconsole.conf
default pool = "Scratch"

magazine = UUID:1fde15be-83a4-4b67-accc-378d5fa10ea7
magazine = UUID:412060d2-7be4-4719-8089-2ee6cfd28624
magazine = UUID:20d986c1-9391-467e-9f73-232b53fba377
magazine = UUID:fa48ed8d-2e63-4c27-8670-c943822d2cd0


--------------------------------
Files Ownership and Permissions
--------------------------------
[root@deneb ~]# ls -l /mnt/vchanger/
total 8
drwxr-x--- 3 bacula tape 4096 May  4 19:34 1fde15be-83a4-4b67-accc-378d5fa10ea7
drwxr-x--- 3 bacula tape 4096 May  4 19:34 412060d2-7be4-4719-8089-2ee6cfd28624

[root@deneb ~]# ls -l /mnt/vchanger/1fde15be-83a4-4b67-accc-378d5fa10ea7/
total 16
drwxr-x--- 2 bacula tape 16384 Apr 27 13:57 lost+found
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_0
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_1
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_10
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_11
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_12
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_13
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_14
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_15
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_16
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_17
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_2
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_3
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_4
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_5
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_6
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_7
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_8
-rw-r--r-- 1 bacula tape     0 May  4 19:34 vchanger01_0_9

[root@deneb ~]# ls -l /etc/vchanger
total 4
-rw-r--r-- 1 root root 3754 May  5 10:12 vchanger01.conf

[root@deneb ~]# ls -l /etc/vchanger/vchanger01.conf
-rw-r--r-- 1 root root 3754 May  5 10:12 /etc/vchanger/vchanger01.conf

[root@deneb ~]# ls -l /var/spool/bacula
total 8
-rw-r----- 1 bacula bacula 196 May  5 14:10 bacula-dir.9101.state
-rw------- 1 bacula bacula   0 May  4 14:22 bacula-dir.conmsg
-rw-r----- 1 bacula tape   196 May  5 14:10 bacula-sd.9103.state

[root@deneb ~]# ls -l /var/spool/vchanger
total 4
drwxr-x--- 2 bacula tape 4096 May  5 15:17 vchanger01

[root@deneb ~]# ls -l /var/spool/vchanger/vchanger01
total 12
-rw-r----- 1 bacula tape 47 May  5 15:17 bay_state-0
-rw-r----- 1 bacula tape 48 May  5 15:17 bay_state-1
-rw-r----- 1 bacula tape 17 May  5 15:17 dynamic.conf




------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users



------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users