Category Archives: Technical Stuff

Seagate Exos disks in TrueNAS Core: Disable parking of heads

My NAS (TrueNAS Core) is running with Seagate Exos X16 drives. Those were considerably cheaper than any other drive at the time of purchase (September 2020) here in Germany. From what I gathered  since then, this is often still the case, also in other countries.

But there is one aspect about these drives that needs attention. Being marketed for data center use, they have a very small timeout for parking their heads. So, if an Exos drive is idle for only a very short time, it will move its heads into a parking position. That is a reasonable setting for data centers, where drives are hardly ever idle. But for a small business or home use it is less than ideal.

Fortunately, this setting can be changed and TrueNAS Core, or rather the underlying FreeBSD, has the right program for this already installed. Below you find the command that I am using. You will need to adjust the device, but otherwise you can just run it.

camcontrol epc /dev/??? -c state -d -p Idle_b -s

In terms of the ATA level, this disables the Idle_b power condition and saves it to the drive to survive a reboot. For more details, please check out the extensive man page of the camcontrol command.

In addition I recommend that you configure your system to issue this command on every startup. Under normal conditions that is not necessary. But what if you need to replace a disk drive? If you have a case with hot-swappable drive bays, this will of course not help. In that case I would think about a cron job.

Jens Schauder: Domain-Driven Design with Relational Databases Using Spring Data JDBC

Interesting video about the real-world challenges when using an ORM (object-relational mapper) like Hibernate or JPA in general.

You should also check out the following articles mentioned in the talk:

Steve Jobs President & CEO, NeXT Computer Corp and Apple. MIT Sloan Distinguished Speaker Series

This is a truly remarkable video. I sometimes wish, and I am not a fanboy, that Steve Jobs would have moved into academia at some point and preserved much more of his experience and knowledge.

It is fascinating to hear Steve talk about strategy, corporate culture, marketing, and many other subjects. The video is from early 1992 and in my opinion many points are still bleeding edge today.

Compiling Git on CentOS 6

I recently had the need to compile Git on a CentOS 6 system, because the available version (v1.7.1) did not support the ls-remote command used  by the Jenkins Git plugin. The various posts I found via Google were missing a crucial prerequisite, hence this short post.

  • Uninstall old Git with
    yum remove git
  • Install required packages (for me!) with
    sudo yum install libcurl-devel zlib-devel asciidoc openssl-devel xmlto
    
  • Download source code from https://www.kernel.org/pub/software/scm/git
  • Extract source with
    gzip -dc <FILE> | tar -xvf -
  • Compilation and installation
    make configure
    ./configure --prefix=/usr
    make all
    sudo make install install-doc install-html

And that should be it.