-
Notifications
You must be signed in to change notification settings - Fork 654
zfs datasets won't get mounted after reboot #2256
Comments
The current situation is that the user-docker does not wait for zfs to finish mounting. I will consider enhancing the logic here. |
@Jason-ZW I didn't find a good way to reproduce it, there is a complicated way. You can try When you manually enable zfs again, you will see the docker logs:
This is because we have lost the zfs mounting:
And zfs mount can not work:
This can be enabled after doing this:
Then docker can work again. |
I cannot reproduce this issue in either cloud-config.yml
After reboot
|
@Jason-ZW : I've seen this issue consistently during Rancher OS upgrades (see #2256 (comment)) |
Tested with rancher/os:v1.5.2-rc1 from May 27 I reproduced this issue on versions 1.5.1 and 1.2.0
I can see the same error message with this comment. Test: Result:
|
RancherOS Version: (ros os version)
1.2.0
Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)
baremetal
cloud-config.yml
So I've been trying to set my user-dockers root to a zfs dataset, just like described within the RancherOS docs.
The problem is, after a reboot, it seems like docker gets started before the zfs service, so it tries to create some files under /mnt/space/docker before the zfs datasets are mounted, resulting in an error that the filesystem is wrong. And since docker already created files under /mnt/space/docker, I can't mount the datasets unless I remove the existing files from the mountpoint.
Does anyone know a fix for this issue? I looked at the service config of the zfs service here https://github.com/rancher/os-services/blob/master/z/zfs.yml but it seems the label io.rancher.os.before: "docker" is correctly set, so why does the docker container still create files before all zfs datasets are mounted?
Edit Alright after several reboots I've found out that it actually works kinda, if I just wait for docker to be started. But if I execute docker info immediately after rebooting, it just unmounts all zfs datasets and still tries to start docker unter /mnt/space/docker.
The text was updated successfully, but these errors were encountered: