# Chef Server - How to do High Availability?

**URL:** <https://discourse.chef.io/t/chef-server-how-to-do-high-availability/3097>\
**Category:** Chef Infra (archive)\
**Created:** [September 2, 2012, 10:40pm UTC](https://discourse.chef.io/t/chef-server-how-to-do-high-availability/3097 "2012-09-02T22:40:13Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bradford](https://avatars.discourse-cdn.com/v4/letter/b/bc8723/32.png) [@bradford](https://discourse.chef.io/u/bradford)\
**Post date:** [September 2, 2012, 10:40pm UTC](https://discourse.chef.io/t/chef-server-how-to-do-high-availability/3097/1 "2012-09-02T22:40:13Z")

</div>

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](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

---

<div class="post-metadata">

**Author:** ![Ranjib\_Dey](https://avatars.discourse-cdn.com/v4/letter/r/8e8cbc/32.png) [@Ranjib\_Dey](https://discourse.chef.io/u/Ranjib_Dey)\
**Post date:** [September 3, 2012, 6:30am UTC](https://discourse.chef.io/t/chef-server-how-to-do-high-availability/3097/2 "2012-09-03T06:30:58Z")

</div>

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](mailto: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](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

---

<div class="post-metadata">

**Author:** ![Phil\_Dibowitz](https://avatars.discourse-cdn.com/v4/letter/p/a88e4f/32.png) [@Phil\_Dibowitz](https://discourse.chef.io/u/Phil_Dibowitz)\
**Post date:** [September 3, 2012, 9:21pm UTC](https://discourse.chef.io/t/chef-server-how-to-do-high-availability/3097/3 "2012-09-03T21:21:02Z")

</div>

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](mailto:phil@ipom.com)  
Open Source software and tech docs Insanity Palace of Metallica  
[http://www.phildev.net/](http://www.phildev.net/)[http://www.ipom.com/](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

---

<div class="post-metadata">

**Author:** ![Julian\_C\_Dunn1](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/julian_c_dunn1/32/672_2.png) [@Julian\_C\_Dunn1](https://discourse.chef.io/u/Julian_C_Dunn1)\
**Post date:** [September 7, 2012, 4:57am UTC](https://discourse.chef.io/t/chef-server-how-to-do-high-availability/3097/4 "2012-09-07T04:57:09Z")

</div>

On Sep 2, 2012, at 6:40 PM, bradford [fingermark@gmail.com](mailto: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](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

---

<div class="post-metadata">

**Author:** ![Seth\_Falcon\_01](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/seth_falcon_01/32/429_2.png) [@Seth\_Falcon\_01](https://discourse.chef.io/u/Seth_Falcon_01)\
**Post date:** [September 7, 2012, 5:07pm UTC](https://discourse.chef.io/t/chef-server-how-to-do-high-availability/3097/5 "2012-09-07T17:07:21Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tetsu\_soh](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@tetsu\_soh](https://discourse.chef.io/u/tetsu_soh)\
**Post date:** [September 8, 2012, 3:51am UTC](https://discourse.chef.io/t/chef-server-how-to-do-high-availability/3097/6 "2012-09-08T03:51:23Z")

</div>

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](mailto: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
