Appendix: Technical Specifications


Last updated September 27, 2014.

The hardware requirements for a Koha server are directly related to the collection size of the libraries using it, as well as the amount of circulation traffic generated by those libraries. CCFLS currently has 35,688 patron records and 306,496 bibliographic records for 326,475 items, with about 440,000 circulation transactions per year. Our current server specs are:

  • 16 gigabytes memory
  • 2 dual-core AMD Opteron 2214 processors
  • 6 500 gigabyte hard drives, configured like so:
    • 2 in a RAID1 array for the Zebra index: since the Zebra index is constantly being written to, we found that giving it its own separate RAID array improved performance significantly. We chose to use RAID for extra reliability, since even though the data stored in the Zebra index is not unique, if the drive storing it goes down, it requires a rebuild of the index that can take many hours, during which catalog searches are not possible.
    • 4 drives with two partitions each, arranged in two RAID1 arrays: 3 are active and one is a live spare. The RAID arrays are:
      • md0 mounted as the /boot directory, using 11% of 228 MB
      • md1 mounted as the / (root) directory, using 70% of 459 GB

We have two servers with those specs: one of which is the main Koha server, and the other is a copy of it utilizing MySQL replication, so that we can use it as a hot spare if the main server goes down. The secondary server is also used for running reports, which can be very demanding on hardware. We also initially configured our server to use https encryption for the staff interface. Since we do not have a WAN, our circ transactions are travelling over the Internet. We found that this slowed down transaction speed significantly, so we developed a hardware-based encryption platform to offload the encryption. For our next server upgrade, we are considering switching to a VPN for circ traffic.

The servers we purchased for our upgrade this fall have the following specs:

  • 32 gigabytes memory
  • 2 AMD Opteron 6212 Interlagos 2.6 ghz 8-core processors
  • 2 120 gigabyte SSD drives for the Zebra index, configured in a RAID1 array
  • 4 1 Terabyte hard drives configured in RAID10 arrays as above, almost doubling our storage capacity

For backups, we have a backup server that utilizes rsnapshot, a backup utility using rsync. We make backups of the raw MySQL database files, perform backups with MySQLdump (which make for easy database restoration), and do a flat backup of the servers’ file systems.