Comments (4)
For example, here is a case where lsblk shows that the docker pool device is mapped across loopback devices when it should be mapped across logical volumes from the datavg volume group
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 29.3G 0 disk
└─sda1 8:1 0 29.3G 0 part /
sdb 8:16 0 14G 0 disk
└─sdb1 8:17 0 14G 0 part /mnt
sdc 8:32 0 512G 0 disk
├─datavg-spherestack (dm-0) 252:0 0 128G 0 lvm /var/lib/sphere-stack
├─datavg-backups (dm-1) 252:1 0 128G 0 lvm /var/lib/backups
├─datavg-docker--data (dm-2) 252:2 0 128G 0 lvm
└─datavg-docker--meta (dm-3) 252:3 0 4G 0 lvm
sdd 8:48 0 128G 0 disk
└─sdd1 8:49 0 128G 0 part
sr0 11:0 1 1.1M 0 rom
loop0 7:0 0 100G 0 loop
└─docker-8:1-528619-pool (dm-4) 252:4 0 100G 0 dm
loop1 7:1 0 2G 0 loop
└─docker-8:1-528619-pool (dm-4) 252:4 0 100G 0 dm
from docker.ubuntu.
I did some more digging. The issue is not so much that the docker daemon is restarted - it is. The problem is that the thin pool device is not torn down so that when docker restarts with the new storage options, the thin pool device is still bound to the loop back devices.
So:
$ sudo dmsetup table
datavg-spherestack: 0 268435456 linear 8:32 276826112
datavg-docker--data: 0 268435456 linear 8:32 2048
docker-8:1-528625-pool: 0 209715200 thin-pool 7:1 7:0 128 32768 1 skip_block_zeroing
datavg-docker--meta: 0 8388608 linear 8:32 268437504
datavg-backups: 0 268435456 linear 8:32 545261568
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 29.3G 0 disk
└─sda1 8:1 0 29.3G 0 part /
sdb 8:16 0 14G 0 disk
└─sdb1 8:17 0 14G 0 part /mnt
sdc 8:32 0 512G 0 disk
├─datavg-spherestack (dm-0) 252:0 0 128G 0 lvm /var/lib/sphere-stack
├─datavg-backups (dm-1) 252:1 0 128G 0 lvm /var/lib/backups
├─datavg-docker--data (dm-2) 252:2 0 128G 0 lvm
└─datavg-docker--meta (dm-3) 252:3 0 4G 0 lvm
sdd 8:48 0 128G 0 disk
└─sdd1 8:49 0 128G 0 part
sr0 11:0 1 1.1M 0 rom
loop0 7:0 0 100G 0 loop
└─docker-8:1-528625-pool (dm-4) 252:4 0 100G 0 dm
loop1 7:1 0 2G 0 loop
└─docker-8:1-528625-pool (dm-4) 252:4 0 100G 0 dm
from docker.ubuntu.
Ok, the issue in my case is that my host is ubuntu 14.04 and these lines:
- name: Set docker daemon options
copy:
content: "DOCKER_OPTS=\"{{ docker_opts.rstrip('\n') }}\""
dest: /etc/default/docker
owner: root
group: root
mode: 0644
notify:
- Reload docker
when: docker_opts != "" and ansible_distribution_version|version_compare(15.04, '<')
don't actually result in the restart of the docker daemon with the new storage options. That is: "Reload docker" silently fails. "Restart docker" would likely have the desired effect, which I will now test.
*Update: * using "Restart docker" rather than "Reload docker" has the expected effect on Ubuntu 14.04. I have submitted a PR ( #90 ) with this change since "Reload docker" doesn't actually do anything on Ubuntu 14.04.
from docker.ubuntu.
Closed by #90
from docker.ubuntu.
Related Issues (20)
- docker-compose installation fails on Ubuntu 14.04 HOT 7
- Can't install via ansible-galaxy HOT 2
- Python 3: ansible-galaxy install fails HOT 1
- Need bip set before installing in some networking situations
- Ansible Galaxy now lints, and this role fails lints HOT 2
- Need to add tests that run ansible-lint on PRs
- Deprecation warnings in Ansible 2.7 HOT 2
- Install fails with TypeError: object of type 'NoneType' has no len() HOT 1
- Does this module still follow Docker install best practices? HOT 5
- Unable to compare role versions during install HOT 2
- Add support for additional architectures HOT 1
- Keyserver throws error HOT 1
- [Question/Discussion] Handling of "dependency packages" since docker 18.09
- Python3 in Ubuntu 20.04 LTS HOT 2
- docker-compose installation fails on Ubuntu 20.04
- 3.9.0 not released on ansible galaxy? HOT 1
- Maintainers Wanted HOT 1
- Docker process failing at task 'Clean previous docker-py package if installing docker' HOT 2
- Apt keyserver is deprecated HOT 2
- Ubuntu 20 Support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker.ubuntu.