Setting up Redmine on FreeBSD

Posted by: admin  :  Category: FreeBSD, HowTo's, Programming, Utilities

“Redmine is a flexible project management web application. Written using Ruby on Rails framework, it is cross-platform and cross-database.” (

Here’s my short primer on setting up Redmine on FreeBSD.
Read more…

Adding a SCSI disk enclosure to a FreeBSD host in online mode

Posted by: admin  :  Category: FreeBSD, Hardware

Currently playing around with my Netra T1 105 and a Sun StorEdge Multipack enclosure, I wondered if I really could add the whole enclosure while the host is online.

I used to do hot-plugging before, but I’ve never done this with a whole enclosure at once. Well worth a try?
Read more…

Use Sparse Files for FreeBSD jails?

Posted by: admin  :  Category: FreeBSD, jails, Operating Systems, Virtualization

Thinking about FreeBSD jails and an elder post of mine about putting jails within loopback-mounted disk images to enforce disk quota, I asked myself if I should use sparse files or pre-allocated files as virtual disk image for jail-based userland separation.
Read more…

Apache 2.2 pretends on missing IPv6 support in FreeBSD

Posted by: admin  :  Category: FreeBSD

Today I faced a very issue with Apache 2.2 in FreeBSD.

Despite having it compiled with IPV6 support enabled, it pretended in missing IPv6 support, throwing this error message at me.
Read more…

Strange compilation error on MySQL

Posted by: admin  :  Category: FreeBSD, Programming

Yesterday I started digging around for a solution to create per-user or per-database statistics on MySQL, one of the more important peaces I was missing from it for a long time.

Luckily enough, some guys over there had already done some work on this topic, so I wouldn’t have to start over from scratch 🙂

Read more…

Is RAID1 possible on an USB stick?

Posted by: admin  :  Category: FreeBSD, HA

Last week we had a discussion at the office wether it would possible to span a RAID across USB sticks.
That question came up as a joke while I was working on some RAID system for evaluation purposes.
Well, my friend doubted it when I replied that it would definitely work out with a FreeBSD software RAID using gmirror (geom vinum as a matter of fact works, too).

Read more…

ufs_dirbad panic with mangled entries in ufs

Posted by: admin  :  Category: FreeBSD

FreeBSD’s ufs usually does an excellent job in preventing file system corruption. But even the best system happens to mess up once in a while.

One thing you may eventually stumble accross are so called mangled entries, which are usually not fixable with fsck and result in kernel panics upon access.
Read more…

FreeBSD software RAID0: gvinum vs. gstripe

Posted by: admin  :  Category: FreeBSD, HA

Back some time I announced reviewing FreeBSD’s geom software RAID implementations.

Todays article compares geom stripe (gstripe) along with geom gvinum (gvinum) for disk striping (RAID0).

All testing was done on the same hardware as before to get results comparable to previous tests.

Benchmarks were taken using stripe sizes of 64k, 128k and 256k and measured using dd, bonnie++ and rawio as before.

As for the technology gstripe follows the same approach than gmirror which I look at previously.

# rawio benchmark results

rawio was choosen to measure I/O speed during concurrent access. rawio was set to run all tests (random read, seq read, random write, seq write) with eight processes on the /dev/stripe/* and /dev/gvinum/* devices.

Results for the single disk are provided as well to compare performance not only between the different frameworks but also against the native disk performance.

Click the images to see the actual result values and a chart.



# dd benchmark results

dd was choosen to measure raw block access to /dev/mirror/* and /dev/gvinum/* devices. dd was set to run sequential read and write tests using block sizes from 16k to 1024k.

Click the images to see the actual result values and a chart.



# bonnie++ benchmark results

finally, bonnie++ was used get pure file system performance.

Click the images to see the actual result values and a chart.



# conclusion

Looking at raw disk access I must conclude that none of the frameworks beats single disk performance in overall when it comes to blockwise input/output with dd.
gvinum generally performs better than gstripe except when using 256k stripe sizes.

Now since ‘dd’ is very synthetic by it’s nature, rawio is much better to see how the devices would perform under a more “real-life” situation.
Although rawio benchmark results may look low, these numbers where achieved by running 8 processes at once. They’ll reflect best what could be expected in a true multi-user environment with concurrent access.
As from the results there is no absolute winner, as depending on the stripe sizes either of both implementations out-performs the other.

Finally for bonnie++ we see some interesting results. Performance is almost identical for all implementations.
One notable exception was seen with gvinum (64k stripe size) which clearly outperformed its competitors..
One must keep in mind that the first six tests performed by bonnie++ (rand delete/read/create, seq delete/read/create) are limited by I/O performance of both the system bus and the device itself. The hardware I used for testing was capable of about 160 – 170 I/Os per second. I admit that results could be different if the tests are re-run on decent hardware with a higher I/O throughput. It’s possible that modern hardware reveals an I/O barrier for abstracted devices which cannot be seen from my tests.

Personally I prefer using gstripe over gvinum because of it’s more simplistic configuration approach. In terms of performance, gvinum seems to offer superiour performance when it comes to disk striping.

The next article will discuss gvinum and gstripe for RAID10.

FreeBSD’s loader fails with wrong harddisk geometry in BIOS

Posted by: admin  :  Category: FreeBSD

I’s been a while since I last saw issues with FreeBSD’s loader(8).

The error I came along today read like this:

can't load kernel

Read more…

FreeBSD software RAID1: gvinum vs. gmirror

Posted by: admin  :  Category: FreeBSD

Back in January I introduced an upcoming series about FreeBSD software RAID implementations and how they compare to each other.
I know it’s been some time since, but I was kept busy on some other stuff which prevented me in polishing up the results. My appologies for the delay.

Now, in this article I’m going to talk about FreeBSD’s gvinum and gmirror for disk mirroring (aka RAID1).
The benchmark results shown below will illustrate the difference between these two implementations. To get a better idea of their real meaning, I’m providing you with the single disk results as well.
Read more…