Chef Server - How to do High Availability?

We’ve decided on Chef and would like to setup a Chef Server at work.
We would also like to have high availability of this server, for
obvious reasons: so that we can still configure if our Chef server
goes down. The tutorials seem to be really lacking in this area and
I’m wondering if I’m missing any or if it’s so simple that no one
bothers. Does anyone know of any good tutorials (or have any tips)
for making Chef Server highly available?
http://wiki.opscode.com/display/chef/Scalability+and+High+Availability
is pretty skimpy. Also, does Chef Server support organizations? Or
is this something only available with the hosted Chef Sever?

Thanks,
Bradford

On HA there were multiple discussions on mailing list, search the archive.
Organizations are only available with hosted chef
On Sep 3, 2012 4:10 AM, "bradford" fingermark@gmail.com wrote:

We've decided on Chef and would like to setup a Chef Server at work.
We would also like to have high availability of this server, for
obvious reasons: so that we can still configure if our Chef server
goes down. The tutorials seem to be really lacking in this area and
I'm wondering if I'm missing any or if it's so simple that no one
bothers. Does anyone know of any good tutorials (or have any tips)
for making Chef Server highly available?
http://wiki.opscode.com/display/chef/Scalability+and+High+Availability
is pretty skimpy. Also, does Chef Server support organizations? Or
is this something only available with the hosted Chef Sever?

Thanks,
Bradford

On 09/02/2012 11:30 PM, Ranjib Dey wrote:

On HA there were multiple discussions on mailing list, search the archive.
Organizations are only available with hosted chef

... and Private Chef.

--
Phil Dibowitz phil@ipom.com
Open Source software and tech docs Insanity Palace of Metallica
http://www.phildev.net/ http://www.ipom.com/

"Be who you are and say what you feel, because those who mind don't matter
and those who matter don't mind."

  • Dr. Seuss

On Sep 2, 2012, at 6:40 PM, bradford fingermark@gmail.com wrote:

We've decided on Chef and would like to setup a Chef Server at work.
We would also like to have high availability of this server, for
obvious reasons: so that we can still configure if our Chef server
goes down. The tutorials seem to be really lacking in this area and
I'm wondering if I'm missing any or if it's so simple that no one
bothers. Does anyone know of any good tutorials (or have any tips)
for making Chef Server highly available?
http://wiki.opscode.com/display/chef/Scalability+and+High+Availability
is pretty skimpy. Also, does Chef Server support organizations? Or
is this something only available with the hosted Chef Sever?

Frankly there's not a turnkey solution for HA using Open Source Chef Server; you kind of need to create your own. (Looks like Private Chef uses some combination of DRBD filesystem and other magic to achieve HA, but this wouldn't work for us in the cloud.)

Right now what we do is just periodically couchdump the CouchDB and store it with a tarball, taken at the same time, of /var/chef. I can restore these to a warm standby Chef server (has all of Chef installed, just with no data) and be back up & running fairly quickly.

I'm hoping that with Chef 11, the data is stored in just one place rather than needing to have a couchdump & cookbook cache that's synchronized.

  • Julian

On Sep 6, 2012, at 9:57 PM, Julian C. Dunn wrote:

I'm hoping that with Chef 11, the data is stored in just one place rather than needing to have a couchdump & cookbook cache that's synchronized.

In Chef 11 all Chef data except for cookbooks are stored in the DB (Postgres or MySQL). Cookbook contents are stored separately on the filesystem named by file content checksum. So you will still need to load dumps of both data stores to restore a Chef server.

  • seth

Hello,

Yes. you can wait for Chef 11. Or check out what I did.

  • Set up multiple chef servers under balancer.
    You cal also separate servers into different data centers

  • Using BigCouch cluster instead of CouchDB.
    BigCouch works well with current chef. And clustering it is not difficult.

  • Using GlusterFS to store cookbooks.
    Chef server will store cookbooks in local disk. It will be a problem if you have more than one chef server under load balancer. So we use GlusterFS to sync cookbook storing.
    (Performance is not a problem)

  • Using SolrCloud instead of Solr as search engine.
    SolrCould is still under development. But current version is stable enough for production.

  • RabbitMQ can also achieve HA by using mirror queue and persistent topic.
    But rabbitmq is not so critical you can just skip it.

That's all.
That what I'm doing in our production environment.
Hope it is helpful.

Regards

Tetsu

On Sep 8, 2012, at 2:07 AM, Seth Falcon seth@opscode.com wrote:

On Sep 6, 2012, at 9:57 PM, Julian C. Dunn wrote:

I'm hoping that with Chef 11, the data is stored in just one place rather than needing to have a couchdump & cookbook cache that's synchronized.

In Chef 11 all Chef data except for cookbooks are stored in the DB (Postgres or MySQL). Cookbook contents are stored separately on the filesystem named by file content checksum. So you will still need to load dumps of both data stores to restore a Chef server.

  • seth