Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zram_tmp.service breaks my system #4

Closed
morfikov opened this issue Jan 26, 2015 · 6 comments
Closed

zram_tmp.service breaks my system #4

morfikov opened this issue Jan 26, 2015 · 6 comments

Comments

@morfikov
Copy link

I just wanted to test zram_tmp.service and zram_swap.service in my systemd box, but only the zram_swap.service works well. The other breaks my system from the start for some reason. I don't know what I did wrong -- I masked the tmp.mount via:

 # systemctl mask tmp.mount

and enabled zram_tmp.service:

# systemctl enable zram_tmp.service

When I boot, it looks like it didn't start with the system:

● zram_tmp.service - Mount /tmp as zram. Mask tmp.mount if you use this
   Loaded: loaded (/etc/systemd/system/zram_tmp.service; enabled; vendor preset: enabled)
   Active: inactive (dead)

So there's no /tmp mount, and that's my system went RO, and some services were broken.

Surprisingly, when I start the service manually, it works.

@vaeth
Copy link
Owner

vaeth commented Jan 27, 2015

It works here without any problem.

Check whether "systemctl enable zram_tmp.service" actually created the correct symlink in /etc/systemd/system/local-fs-pre.target.wants

Since you use /etc/systemd/system/zram_tmp.service, I suppose that you modified it. Note that the default option -d1 requires that you set num_devices=2 (or larger) in /etc/modprobe.d/zram.conf

Perhaps journalctl _SYSTEMD_UNIT=zram_tmp.service will show you another cause of failure.

@morfikov
Copy link
Author

Hmm

# cat /etc/modprobe.d/zram.conf
options zram num_devices=3

# systemctl mask tmp.mount
Created symlink from /etc/systemd/system/tmp.mount to /dev/null.

# systemctl enable zram_tmp.service
Created symlink from /etc/systemd/system/local-fs-pre.target.wants/zram_tmp.service to /etc/systemd/system/zram_tmp.service.

# ls -al /etc/systemd/system/local-fs-pre.target.wants/zram_tmp.service
lrwxrwxrwx 1 root root 36 2015-01-27 09:14:04 /etc/systemd/system/local-fs-pre.target.wants/zram_tmp.service -> /etc/systemd/system/zram_tmp.service

And it doesn't work. There's no log in journalctl _SYSTEMD_UNIT=zram_tmp.service .
It looks as if the service was invisible.

@morfikov
Copy link
Author

Do I have to mask the tmp.mount ?/ I just did a small test, and I left tmp.mount unmasked, and it worked:

# mount | grep -i tmp
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=236995,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,relatime,size=383388k,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
/dev/zram1 on /tmp type ext4 (rw,discard)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=191696k,mode=700,uid=1000,gid=1000)

@vaeth
Copy link
Owner

vaeth commented Jan 27, 2015

Are you using the current systemd-218? IIRC some older version did not support local-fs-pre.target
No idea why it works for you if you don't mask: I would expect that tmp.mount overmounts your /tmp with a tmpfs - after all, this is the purpose of tmp.mount.

@morfikov
Copy link
Author

I was using 215, but I thought maybe it's not enough, so I upgraded it to 218.

@morfikov
Copy link
Author

I know where the problem was, and I have no idea how this could happened, but somehow I left /tmp entry in the /etc/fstab file uncommented . When I commented that out and masked tmp.service, and then I enabled zram_tmp.service, everything was just fine after reboot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants