# Upgrade and rebuild reporting I need to use Aufs instead of Devicemapper (on CentOS)

**URL:** https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197
**Category:** Support
**Created:** [8. Juni 2017 um 22:59 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197 "2017-06-08T22:59:36Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [8. Juni 2017 um 22:59 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/1 "2017-06-08T22:59:36Z")

</div>

But there seems to be contradictory information elsewhere. Docker themselves, for their enterprise edition [say](https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/) Devicemapper _must_ be used:

> If you use Docker EE on RHEL, CentOS, or Oracle Linux, you must use the devicemapper storage driver.

And this [comment](https://serverfault.com/questions/650208/how-to-make-docker-use-aufs-in-centos-7) on SO says _not_ to use Aufs:

> You don’t. (And you don’t _want_ to use aufs.) Just use devicemapper. But set it up for real instead of these testing-grade loopback files. – Michael Hampton

I haven’t changed anything with docker or anything else on the server - is there any reason why this warning is appearing now?

- Should I change to Aufs?
- Will it affect the rest of the server? (There are other sites including non-docker ones on the server).
- Or shall I proceed with devicemapper?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [8. Juni 2017 um 23:02 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/2 "2017-06-08T23:02:17Z")

</div>

I don’t care what anyone else says, devicemapper is a bag of pain. It _might_ work on Red Hat, I dunno, but my advice there is just to switch to Ubuntu.

---

<div class="post-metadata">

### Author: ![robbyoconnor](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/robbyoconnor/32/120330_2.png) [@robbyoconnor](https://meta.discourse.org/u/robbyoconnor)
#### Post date: [8. Juni 2017 um 23:12 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/3 "2017-06-08T23:12:57Z")

</div>

> [@AstonJ](#):
>
> Or shall I proceed with devicemapper?

No, you should switch to a saner distro.

---

<div class="post-metadata">

### Author: ![mpalmer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mpalmer/32/45740_2.png) [@mpalmer](https://meta.discourse.org/u/mpalmer)
#### Post date: [8. Juni 2017 um 23:28 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/4 "2017-06-08T23:28:53Z")

</div>

The reason why we have historically been so completely and utterly down on devicemapper as a storage driver is because it has, historically, been appallingly bad. So many support requests from people saying their sites were slow, blew up, or what-have-you. It is entirely likely that many of those problems are gone now, on the latest versions of various distros, but here’s the thing: we don’t know that, we don’t have the time or inclination to find out, and even if we did, there’s still puh-_lenty_ of people out there running the older, buggy distros that will blow up if they use devicemapper. So, we don’t want to take the risk of saying “yep, devicemapper is now fine and dandy” because it’ll end up being a near-guaranteed pain in our rumps.

If you are a suitably advanced user, who is capable of dealing with making sure that devicemapper works fine in your specific environment (and potentially dealing with the fallout if it doesn’t), neutering the storage driver check in `launcher` should be easy peasy lemon squeezy. For everyone else, there’s ~~mastercard~~ aufs, which we know works (it’s what we use for all our hosting).

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [8. Juni 2017 um 23:50 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/5 "2017-06-08T23:50:36Z")

</div>

Thanks for the replies all.

Unfortunately Ubuntu is not really an option - the server is running CentOS with a number of sites on it (non-docker). I’m also used to it as I’ve used it for over a decade and I love how rock solid it has been for us. Changing a whole OS just to use Discourse/Docker seems a bit drastic tbh 😐 particularly one that is known for being extremely reliable.

With regards to this warning, if I ignore it, will Discourse just run as it always have? (Which has been fine to date - apart from once when uploaded images to a thread just disappeared - would this have been related?)

Is there anything else I can do to make it ‘less-bad’? Such as update other packages etc?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [9. Juni 2017 um 00:12 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/6 "2017-06-09T00:12:19Z")

</div>

> [@AstonJ](#):
>
> With regards to this warning, if I ignore it, will Discourse just run as it always have?

If that was the case, we wouldn’t go out of our way to put the warning in the first place, right?

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [9. Juni 2017 um 00:14 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/7 "2017-06-09T00:14:28Z")

</div>

Well I don’t know that’s why I am asking (I thought I read somewhere that the warning is only showing now because the check for it wasn’t properly working before).

If it is a no-go then I guess this means I am locked in to my current version for the foreseeable future 😢 (unless I can use an alternative to devicemapper without it creating issues for everything else on the server/not requiring a reinstall of OS etc).

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [9. Juni 2017 um 00:23 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/9 "2017-06-09T00:23:35Z")

</div>

Consider me confused… I thought `aufs` was the driver _inside_ the docker container? Why does it matter what OS the docker container is running in to switch the container storage driver?

---

<div class="post-metadata">

### Author: ![robbyoconnor](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/robbyoconnor/32/120330_2.png) [@robbyoconnor](https://meta.discourse.org/u/robbyoconnor)
#### Post date: [9. Juni 2017 um 00:25 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/10 "2017-06-09T00:25:53Z")

</div>

> [@jomaxro](#):
>
> Consider me confused… I thought aufs was the driver inside the docker container? Why does it matter what OS the docker container is running in to switch the container storage driver?

`aufs` is the storage driver. There are [others](https://docs.docker.com/engine/userguide/storagedriver/selectadriver/). I personally use `overlay2`.

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [9. Juni 2017 um 00:27 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/11 "2017-06-09T00:27:34Z")

</div>

I see…which storage drivers are supported depend on both the 'nix distro and the kernel. I’m unconfused!

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [9. Juni 2017 um 00:28 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/12 "2017-06-09T00:28:59Z")

</div>

It’s very confusing! Docker themselves recommend Devicemapper for their enterprise edition on CentOS.

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [9. Juni 2017 um 00:29 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/13 "2017-06-09T00:29:42Z")

</div>

But they recommend `aufs` for the non-enterprise one:

> If `aufs` is available, default to it, because it is the oldest storage driver. However, it is not universally available.

---

<div class="post-metadata">

### Author: ![mpalmer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mpalmer/32/45740_2.png) [@mpalmer](https://meta.discourse.org/u/mpalmer)
#### Post date: [9. Juni 2017 um 01:42 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/16 "2017-06-09T01:42:55Z")

</div>

> [@AstonJ](#):
>
> With regards to this warning, if I ignore it, will Discourse just run as it always have?

If you haven’t had problems so far, then you’ll _probably_ be fine – although the issues with devicemapper have, in the past, tended to be of the “delayed fusing” variety, so you maybe have just been lucky to date. It all depends on whether the version of CentOS you’re running is sufficiently “fixed” or not.

Oh, and to answer your original question:

> [@AstonJ](#):
>
> is there any reason why this warning is appearing now?

That’s because the check was buggy (so it never actually showed up for anyone), and I fixed it.

---

<div class="post-metadata">

### Author: ![fefrei](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fefrei/32/119538_2.png) [@fefrei](https://meta.discourse.org/u/fefrei)
#### Post date: [9. Juni 2017 um 06:13 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/17 "2017-06-09T06:13:23Z")

</div>

> [@AstonJ](#):
>
> If it is a no-go then I guess this means I am locked in to my current version for the foreseeable future 😢

Note that staying on an old version of Discourse won’t help you – the problem with devicemapper is not a specific incompatibility with the latest version of Discourse, but an unspecific “when you use it, things tend to go wrong eventually”.  
Staying on an old version will only get you into more trouble because of unfixed security issues.

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [9. Juni 2017 um 12:14 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/18 "2017-06-09T12:14:01Z")

</div>

😞

What are my options with CentOS 7 then?

Can I add/change the storage driver without it breaking anything else on the server?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [9. Juni 2017 um 12:31 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/19 "2017-06-09T12:31:35Z")

</div>

Can you get overlayfs to work?

> **[Is the Overlay Storage Driver now the default with CentOS 7 & Docker 1.13?](https://forums.docker.com/t/is-the-overlay-storage-driver-now-the-default-with-centos-7-docker-1-13/28146)**
>
> I just installed Docker 1.13.0 from yum.dockerproject.org onto some CentOS 7.3 hosts. I was surprised to see that the default Storage Driver has changed from devicemapper to overlay: docker01 # docker info | less Server Version: 1.13.0 Storage...

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [9. Juni 2017 um 13:47 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/20 "2017-06-09T13:47:15Z")

</div>

I’m not sure Sam - I am currently on CentOS 7 with the 3.10 kernel, and it [looks like](https://adminswerk.de/overlayfs-docker-storage-driver-centos-7/) I need to upgrade the kernel to 3.18 for overlayfs.

However what’s a more pressing concern is whether I can do this and just ‘switch’ as is without having to reformat the whole machine and reinstall everything. Would you know the implications of changing the storage driver with this regard in a server already in production?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [9. Juni 2017 um 13:56 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/21 "2017-06-09T13:56:10Z")

</div>

Switching is easy from our perspective. We keep **zero** critical data in docker containers, your database and images all live outside the container on the local filesystem.

Switching storage engines will nuke every container and image you currently have, but a `./launcher rebuild app` will bring Discourse back just fine. Depends if you are using docker for anything else except for Discourse.

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [9. Juni 2017 um 14:03 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/22 "2017-06-09T14:03:20Z")

</div>

I’m not using Docker for anything other than Discourse… but the server itself runs lots of other software/sites (PHP, Ruby, static sites etc).

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [9. Juni 2017 um 16:38 UTC](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197/23 "2017-06-09T16:38:38Z")

</div>

btrfs Is already installed on my server - so shall I try that instead?

> btrfs-progs.x86\_64 3.19.1-1.el7 @base

It’s mentioned in the error:

> 

aufs is the recommended storage driver, although zfs/btrfs/overlay and overlay2 may work as well.  
Other storage drivers are known to be problematic.

[Nächste Seite](https://meta.discourse.org/t/upgrade-and-rebuild-reporting-i-need-to-use-aufs-instead-of-devicemapper-on-centos/64197.md?page=2)
