NEWS:

PGCon 2011 is just two weeks away

May 2nd, 2011

PGCon is just two weeks away. Based on previous years, half of you register between today and the conference. I don’t know why… it just happens that way. Yes, it means our attendance will double in the next two weeks.

PGCon 2011 will be on 19-20 May 2011 at University of Ottawa, with two days of tutorials on 17-18 May 2011.

PGCon is the place to meet, discuss, build relationships, learn valuable insights, and generally chat about the work you are doing with PostgreSQL. If you want to learn why so many people are moving to PostgreSQL, PGCon will be the place to find out why. Whether you are a casual user or you’ve been working with PostgreSQL for years, PGCon will have something for you.

Come to PGCon and see how the community rallies together and works together. It is an amazing sight to behold.

Follow us on:

PGCon 2011 update

April 19th, 2011

PGCon is an annual conference for users and developers of PostgreSQL, a leading relational database, which just happens to be open source. PGCon is the place to meet, discuss, build relationships, learn valuable insights, and generally chat about the work you are doing with PostgreSQL. If you want to learn why so many people are moving to PostgreSQL, PGCon will be the place to find out why. Whether you are a casual user or you’ve been working with PostgreSQL for years, PGCon will have something for you.

PGCon 2011 will be on 19-20 May 2011 at University of Ottawa, with two days of tutorials on 17-18 May 2011.

It is with great pleasure that I can announce that a great PGCon tradition continues. Once again, we will have a stellar social outing. If you’ve been to PGCon in previous years, you know first hand how great this gathering is. And if you have not had the good fortune to attend the foremost PostgreSQL conference, no doubt you’ve heard the stories from the attendees.

In any case, it’s not too late to register for PGCon 2011. Check out our list of talks and I’m sure you’ll see that we continue to provide fantastic value for a great price.

Register today and book your accommodation.

You don’t want to miss out on PGCon 2011. You want to tell the stories instead of just listen to them.

Follow us on:

Differential backup didn’t use scratch pool

April 10th, 2011

Today is the first Sunday since I started using a scratch pool with Bacula. I was disappointed to see an email asking for a tape to be mounted. Why? With four tapes in the scratch pool, I shouldn’t be asked for a tape. Something is wrong. But there is no directive on a pool to say use the scratch pool. Bacula just uses the scratch pool if one is defined.

However, I checked the bacula-dir.conf file, searching for ’scratch’. It occurred only once. OK. So, what’s up with that?

What tape is it asking for? ETU026. I check my magical website and see it is in the Differential. And in slot 1. So, why was I seeing all this:

10-Apr 09:40 kraken-sd JobId 58291: Ready to read from volume "DiffAuto-1409" on device "MegaFile" (/storage/compressed/bacula/volumes).
10-Apr 09:40 kraken-sd JobId 58291: 3301 Issuing autochanger "loaded? drive 0" command.
10-Apr 09:40 kraken-sd JobId 58291: 3302 Autochanger "loaded? drive 0", result: nothing loaded.
10-Apr 09:40 kraken-sd JobId 58291: 3304 Issuing autochanger "load slot 1, drive 0" command.
10-Apr 09:42 kraken-sd JobId 58291: 3305 Autochanger "load slot 1, drive 0", status is OK.
10-Apr 09:42 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Input/output error

10-Apr 09:42 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Input/output error

10-Apr 09:42 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Input/output error

10-Apr 09:42 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Input/output error

10-Apr 09:42 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Input/output error

10-Apr 09:42 kraken-sd JobId 58291: Please mount Volume "ETU026" or label a new one for:
    Job:          CopyToTape-Diff.2011-04-10_09.32.05_42
    Storage:      "DTL01" (/dev/nsa0)
    Pool:         Differentials
    Media type:   DLT
10-Apr 09:47 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 09:52 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 09:57 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:02 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:07 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:12 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:17 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:22 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:27 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:32 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:37 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:42 kraken-sd JobId 58291: Please mount Volume "ETU026" or label a new one for:
    Job:          CopyToTape-Diff.2011-04-10_09.32.05_42
    Storage:      "DTL01" (/dev/nsa0)
    Pool:         Differentials
    Media type:   DLT
10-Apr 10:47 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:52 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 10:57 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:02 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:07 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:12 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:17 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:22 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:27 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:32 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:37 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:42 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:47 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:52 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 11:57 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 12:02 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 12:07 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 12:12 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 12:17 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 12:22 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 12:27 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 12:32 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 12:37 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

10-Apr 12:42 kraken-sd JobId 58291: Please mount Volume "ETU026" or label a new one for:
    Job:          CopyToTape-Diff.2011-04-10_09.32.05_42
    Storage:      "DTL01" (/dev/nsa0)
    Pool:         Differentials
    Media type:   DLT
10-Apr 12:47 kraken-sd JobId 58291: Warning: mount.c:217 Open device "DTL01" (/dev/nsa0) Volume "ETU026" failed:
 ERR=dev.c:491 Unable to open device "DTL01" (/dev/nsa0): ERR=Device not configured

That’s rather, disturbing.

I logged into the bacula-sd machine and changed:

# /usr/local/sbin/mtx-changer /dev/pass11 loaded 1 /dev/sa0 0
1

OK, tape 1 is loaded, why can’t it use it?

What’s in each slot?

# /usr/local/sbin/mtx-changer /dev/pass11 list
2:ETU047
3:ETU057
4:ETU058
5:ETU056
6:ETU045
7:ETU075
8:ETU076
9:ETU077
10:ETU078
1:

Oh, I know. See the empty label in slot 1? That’s a cleaning tape.

Earlier this week, I noticed my tape library asking for a cleaning tape. I pulled out the tape magazine, popped out a tape, and put in a cleaning tape. Then I used mtx-changer to load the tape, which automatically ran the cleaning tape. Then I unloaded that tape and left it there in slot 1.

But I did not run update slots, as I should have. So:

*update slots storage=DigitalTapeLibrary
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
Connecting to Storage daemon DigitalTapeLibrary at kraken.unixathome.org:9103 ...
3306 Issuing autochanger "slots" command.
Device "DTL01" has 10 slots.
Connecting to Storage daemon DigitalTapeLibrary at kraken.unixathome.org:9103 ...
3306 Issuing autochanger "list" command.
Catalog record for Volume "ETU047" updated to reference slot 2.
Catalog record for Volume "ETU057" updated to reference slot 3.
Catalog record for Volume "ETU058" updated to reference slot 4.
Catalog record for Volume "ETU056" updated to reference slot 5.
Catalog record for Volume "ETU045" updated to reference slot 6.
Catalog record for Volume "ETU075" updated to reference slot 7.
Catalog record for Volume "ETU076" updated to reference slot 8.
Catalog record for Volume "ETU077" updated to reference slot 9.
Catalog record for Volume "ETU078" updated to reference slot 10.
*m
10-Apr 12:52 bacula-dir JobId 58291: Using Volume "ETU058" from 'Scratch' pool.
10-Apr 12:52 kraken-sd JobId 58291: 3307 Issuing autochanger "unload slot 1, drive 0" command.
*m
10-Apr 12:53 kraken-sd JobId 58291: 3304 Issuing autochanger "load slot 4, drive 0" command.
10-Apr 12:54 kraken-sd JobId 58291: 3305 Autochanger "load slot 4, drive 0", status is OK.
10-Apr 12:55 kraken-sd JobId 58291: Wrote label to prelabeled Volume "ETU058" on device "DTL01" (/dev/nsa0)
10-Apr 12:55 kraken-sd JobId 58291: Forward spacing Volume "DiffAuto-1409" to file:block 0:2923854090.
10-Apr 12:55 kraken-sd JobId 58291: Sending spooled attrs to the Director. Despooling 15,563 bytes ...
10-Apr 12:55 bacula-dir JobId 58291: Bacula bacula-dir 5.0.3 (04Aug10): 10-Apr-2011 12:55:15
  Build OS:               i386-portbld-freebsd8.1 freebsd 8.1-STABLE
  Prev Backup JobId:      58243
  Prev Backup Job:        wocker.2011-04-10_05.55.00_28
.... and so on

Lesson: ALWAYS run update slots after exchanging tapes in the magazine. Even if it’s just a cleaning tape.

INQUIRY command Failed

April 6th, 2011

I hate it when this happens:

[root@kraken /usr/home/dan]# /usr/local/sbin/mtx-changer /dev/pass10 list
mtx: Request Sense: Long Report=yes
mtx: Request Sense: Valid Residual=no
mtx: Request Sense: Error Code=0 (Unknown?!)
mtx: Request Sense: Sense Key=No Sense
mtx: Request Sense: FileMark=no
mtx: Request Sense: EOM=no
mtx: Request Sense: ILI=no
mtx: Request Sense: Additional Sense Code = 00
mtx: Request Sense: Additional Sense Qualifier = 00
mtx: Request Sense: BPV=no
mtx: Request Sense: Error in CDB=no
mtx: Request Sense: SKSV=no
INQUIRY command Failed
[root@kraken /usr/home/dan]#

All tape jobs failed overnight. I suspect this may have something to do with not power cycling the tape library when the server was powered down.

The problem is: /dev/pass10 is no longer a tape library. It moved to /dev/pass11. I hate it when that happens.

# /usr/local/sbin/mtx-changer /dev/pass11 list
mtx: Request Sense: Long Report=yes
mtx: Request Sense: Valid Residual=no
mtx: Request Sense: Error Code=70 (Current)
mtx: Request Sense: Sense Key=Unit Attention
mtx: Request Sense: FileMark=no
mtx: Request Sense: EOM=no
mtx: Request Sense: ILI=no
mtx: Request Sense: Additional Sense Code = 28
mtx: Request Sense: Additional Sense Qualifier = 00
mtx: Request Sense: BPV=no
mtx: Request Sense: Error in CDB=no
mtx: Request Sense: SKSV=no
Mode sense (0x1A) for Page 0x1D failed
1:
2:ETU047
3:ETU057
4:ETU058
5:ETU056
6:ETU045
7:ETU075
8:ETU076
9:ETU077
10:ETU078

This happened because I added a new HDD to the system.

I then had to adjust /etc/devfs.conf:

# so bacula can access the autochanger via the operator group
#perm    ch0     0660
perm    pass10  0660
perm    pass11  0660

NOTE: you need a return on that last line. It’s a bit like cron in that regard.

Before I restarted devfs:

# ls -l /dev/pass*
crw-------  1 root  operator    0,  87 Apr  5 19:50 /dev/pass0
crw-------  1 root  operator    0,  88 Apr  5 19:50 /dev/pass1
crw-rw----  1 root  operator    0,  97 Apr  5 19:50 /dev/pass10
crw-------  1 root  operator    0,  98 Apr  5 19:50 /dev/pass11
crw-------  1 root  operator    0,  99 Apr  5 19:50 /dev/pass12
crw-------  1 root  operator    0,  89 Apr  5 19:50 /dev/pass2
crw-------  1 root  operator    0,  90 Apr  5 19:50 /dev/pass3
crw-------  1 root  operator    0,  91 Apr  5 19:50 /dev/pass4
crw-------  1 root  operator    0,  92 Apr  5 19:50 /dev/pass5
crw-------  1 root  operator    0,  93 Apr  5 19:50 /dev/pass6
crw-------  1 root  operator    0,  94 Apr  5 19:50 /dev/pass7
crw-------  1 root  operator    0,  95 Apr  5 19:50 /dev/pass8
crw-------  1 root  operator    0,  96 Apr  5 19:50 /dev/pass9

After restarting:

[root@kraken /usr/home/dan]# /etc/rc.d/devfs restart
[root@kraken /usr/home/dan]# ls -l /dev/pass*
crw-------  1 root  operator    0,  87 Apr  5 19:50 /dev/pass0
crw-------  1 root  operator    0,  88 Apr  5 19:50 /dev/pass1
crw-rw----  1 root  operator    0,  97 Apr  5 19:50 /dev/pass10
crw-rw----  1 root  operator    0,  98 Apr  5 19:50 /dev/pass11
crw-------  1 root  operator    0,  99 Apr  5 19:50 /dev/pass12
crw-------  1 root  operator    0,  89 Apr  5 19:50 /dev/pass2
crw-------  1 root  operator    0,  90 Apr  5 19:50 /dev/pass3
crw-------  1 root  operator    0,  91 Apr  5 19:50 /dev/pass4
crw-------  1 root  operator    0,  92 Apr  5 19:50 /dev/pass5
crw-------  1 root  operator    0,  93 Apr  5 19:50 /dev/pass6
crw-------  1 root  operator    0,  94 Apr  5 19:50 /dev/pass7
crw-------  1 root  operator    0,  95 Apr  5 19:50 /dev/pass8
crw-------  1 root  operator    0,  96 Apr  5 19:50 /dev/pass9
[root@kraken /usr/home/dan]#

I also had to modify sudoers, /usr/local/etc/bacula-sd.conf, and ~/bin/dlt-stats

ZFS benchmarking ideas

April 5th, 2011

I’m about to double the RAM in my ZFS system. It will go from 4GB to 8GB.

Right now, I have:

real memory  = 4294967296 (4096 MB)
avail memory = 4100382720 (3910 MB)

I’m not interested in any big extensive benchmarks. I just want something simple. Hence:

$ cd /storage/bonnie/
[dan@kraken:/storage/bonnie] $ ls -l
total 0
[dan@kraken:/storage/bonnie] $ bonnie++
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
kraken.unixathom 8G   169  93 150412  31 71803  17   412  89 148010  18 236.5   6
Latency             96786us    4806ms    2496ms   80945us     577ms     814ms
Version  1.96       ------Sequential Create------ --------Random Create--------
kraken.unixathome.o -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 15656  46 +++++ +++ 30184  90 30238  90 +++++ +++ 29699  89
Latency              8586us      57us     163us   17230us      36us      57us
1.96,1.96,kraken.unixathome.org,1,1302020236,8G,,169,93,150412,31,71803,17,412,89,148010,18,236.5,6,16,,,,,
15656,46,+++++,+++,30184,90,30238,90,+++++,+++,29699,89,96786us,4806ms,2496ms,80945us,577ms,814ms,8586us,57us,163us,17230us,36us,57us

After installing the new HDD and the 4GB of RAM:

real memory  = 8589934592 (8192 MB)
avail memory = 8252592128 (7870 MB)

I also noticed this:

GEOM: mirror/gm0s1: geometry does not match label (16h,63s != 255h,63s).

But everything appears find:

$ gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  ada8
                      ada9

Drives have been renumbered. I used to have ad0..adad8. My gmirror was previously ada7 and ada8.

Here’s the new bonnie++ output:

 $ bonnienie++
Writing a byte at a time...done
Writing intelligently... done
Rewriting...^[[Adone
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
kraken.unixatho 16G   143  87 148600  30 94052  19   441  99 285410  32 245.4   6
Latency               610ms   16814ms    5382ms   34023us     352ms     475ms
Version  1.96       ------Sequential Create------ --------Random Create--------
kraken.unixathome.o -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 28985  86 +++++ +++ 29240  95 28926  88 +++++ +++ 29696  92
Latency             13516us      92us     631us   24762us      84us      58us
1.96,1.96,kraken.unixathome.org,1,1302051801,16G,,143,87,148600,30,94052,19,441,99,285410,32,245.4,6,16,,,,,
28985,86,+++++,+++,29240,95,28926,88,+++++,+++,29696,92,610ms,16814ms,5382ms,34023us,352ms,475ms,13516us,92us,631us,24762us,84us,58us

Getting Bacula running on my MacBook

April 2nd, 2011

I recently acquired a MacBook Pro. Things are going well. I’m using Time Capsule, but I also want to use Bacula. I went with MacPorts:

sudo port install bacula +client_only

The install looked something like this:

[dan@dent:~] $ sudo port uninstall bacula
--->  Deactivating bacula @5.0.3_2+client_only
--->  Cleaning bacula
--->  Uninstalling bacula @5.0.3_2+client_only
--->  Cleaning bacula
[dan@dent:~] $ sudo port install bacula +client_only
--->  Computing dependencies for bacula
--->  Fetching bacula
--->  Verifying checksum(s) for bacula
--->  Extracting bacula
--->  Applying patches to bacula
--->  Configuring bacula
--->  Building bacula
--->  Staging bacula into destroot
--->  Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting bacula with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo port load bacula
###########################################################
--->  Installing bacula @5.0.3_2+client_only
--->  Activating bacula @5.0.3_2+client_only
--->  Cleaning bacula
[dan@dent:~] $

So… I ran the command mentioned above:

sudo port load bacula

And I could see something running:

[dan@dent:~] $ ps auwx | grep bacula
dan      70072   0.0  0.0  2435120    508 s003  R+    8:06PM   0:00.00 grep bacula
root     70067   0.0  0.0  2454604   1076   ??  Ss    8:05PM   0:00.00 /opt/local/bin/daemondo
--label=bacula --start-cmd /opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper start ;
--stop-cmd /opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper stop ; --restart-cmd
/opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper restart ; --pid=none
[dan@dent:~] $

But this didn’t make sense… I could not connect via status client. After several attempts via:

sudo launchctl stop org.macports.bacula

I decided to unload things and try running the startup command manually:

sudo launchctl unload /Library/LaunchDaemons/org.macports.bacula.plist

And running the manual startup:

[dan@dent:~] $ sudo /opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper start
02-Apr 20:40 dent-fd: ERROR TERMINATION at util.c:867
Working Directory: "/var/db/bacula" not found. Cannot continue.

Ahh, easily fixed:

[dan@dent:~] $ sudo mkdir /var/db/bacula

And starting it again:

[dan@dent:~] $ sudo /opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper start
[dan@dent:~] $ ps auwx | grep bacula
dan      70364   0.0  0.0  2435120    556 s003  R+    8:40PM   0:00.00 grep bacula
root     70362   0.0  0.0  2444520    456   ??  Ss    8:40PM   0:00.00 /opt/local/sbin/bacula-fd -c /opt/local/etc/bacula/bacula-fd.conf

Ahh, good, it is running. And, I can connect:

*status client=dent-fd
Connecting to Client dent-fd at dent.example.org:9102

dent-fd Version: 5.0.3 (04 August 2010)  i386-apple-darwin10.7.3 osx 10.7.3
Daemon started 02-Apr-11 20:40. Jobs: run=0 running=0.
 Heap: heap=0 smbytes=12,747 max_bytes=12,894 bufs=45 max_bufs=46
 Sizeof: boffset_t=8 size_t=8 debug=0 trace=0

Running Jobs:
Director connected at: 02-Apr-11 20:40
No Jobs running.
====

Terminated Jobs:
====
*

I found I could not stop bacula:

sudo /opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper stop

So I started looking at /opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper and found a problem with this line:

PID=/opt/local/var/run/bacula-fd.*.pid

Which I changed to this:

PID=/var/run/bacula-fd.9102.pid

Then I could start and stop bacula-fd at will using /opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper

Next, let’s load that up into launchctl:

sudo launchctl load /Library/LaunchDaemons/org.macports.bacula.plist

And verify that bacula-fd is running:

[dan@dent:~] $ ps auwx | grep bacula
root     70443   0.0  0.0  2445888   1056   ??  Ss    9:01PM   0:00.00 /opt/local/bin/daemondo
--label=bacula --start-cmd /opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper start ;
--stop-cmd /opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper stop ; --restart-cmd
/opt/local/etc/LaunchDaemons/org.macports.bacula/bacula.wrapper restart ; --pid=none
dan      70452   0.0  0.0  2435120    560 s003  R+    9:01PM   0:00.00 grep bacula
root     70447   0.0  0.0  2467268    632   ??  Ss    9:01PM   0:00.00 /opt/local/sbin/bacula-fd -c /opt/local/etc/bacula/bacula-fd.conf
[dan@dent:~] $

Now it's running... We'll see if it's running after I reboot the laptop...

Speakers and travel

March 14th, 2011

The following query pulls back the speakers and their travel:

SELECT distinct S.name, S.email, CP.conference_person_id, arrival_from,
                arrival_to, arrival_number, arrival_date, arrival_time,
                departure_from, departure_to, departure_number, departure_date, departure_time
  FROM event E, view_event_person P, view_mail_all_speaker S,
       conference_person CP, conference_person_travel CPT
 WHERE E.event_id = P.event_id
   AND P.person_id = S.person_id
   AND E.conference_id = 7
   AND CP.conference_id = E.conference_id
   AND E.event_state = 'accepted'
   AND E.event_state_progress NOT IN ('rejected', 'canceled')
   AND P.event_role_name = 'Speaker'
   AND S.person_id = CP.person_id
   AND CPT.conference_person_id = CP.conference_person_id
  ORDER BY 1;

PGCon - keynote… made your travel bookings yet?

March 14th, 2011

Although PGCon 2011 is just 9 weeks away, that time will fly past. People will start gathering in Ottawa early in the week for the two days of tutorials followed by two days of talks. PGCon is also a social event, so there will be many opportunities to mingle and meet other members of your PostgreSQL community.

We’ve already started booking the travel and accommodation for some of our speakers. From its initial conference in 2007, PGCon has always worked to bring together various facets of the PostgreSQL community: users & developers gather together with members from the core team and other major contributors.

This year, the keynote will be given by Paul Ramsey. If you’re doing anything with GIS, you’ll know Paul.

Be sure to start booking your travel and accommodation soon. And register for PGCon today.

PGCon 2011 - registration now open

March 9th, 2011

Registration for PGCon 2011 has opened. The list of talks is impressive. You’ll find something there for everyone. Again this year, as every year, we bring together developers and users from all over the world to meet and to learn from each other. PGCon has a consistent history of providing high quality for low cost. You’ll be sure to come away with amazing ideas for your projects. You will meet people you don’t get to meet anywhere else and form working relationships that will benefit everyone. And all the while, having more fun than you thought possible. Start making your travel and accommodation plans today.

SSD

March 9th, 2011

This looks interesting for an SSD. A co-worker was saying: SandForce is the way to go.