I need to access my "root" ZFS dataset to delete a file under "/var". But "/var" is overlayed by another ZFS dataset. Since these are system datasets I can't "umount" them while the machine is running. And I want to avoid to reboot the system in "failsafe" mode, since this is a production machine.

Teorically ZFS would refuse to mount "/var" dataset over the underlying "/var", because it is not empty. But it works, possibly because they are system datasets mounted early in the boot process.

But having the underlying "/var" not empty is preventing me to create an ABE (Alternate Boot Environment), so patching is risky, and I can't upgrade my system using Live Upgrade.

The machine is remote. I have an IP KVM, but I rather prefer to avoid booting this machine in "failsafe" mode, if I can.

I know there is a file in "/var/" because I can snapshot the "root" dataset and check it. But snapshots are read-only, so I can't get rid of the file.

I tried "mkdir /tmp/zzz; mount -F lofs / /tmp/zzz", but when I go to "/tmp/zzz/var", I see the "/var" dataset, not the underlying "root" dataset. That is, the LOFS is crossing mountpoints. I would usually like it, but not this time!.

Any suggestion, beside rebooting the machine in "failsafe" and mess with it thru the IP KVM?

link|improve this question

50% accept rate
feedback

2 Answers

up vote 0 down vote accepted

An old-school trick is to export the filesystem underneath via NFS (I see you tried a similar thing with lofs, slightly surprised at the result so I make no guarantees that it would work in your case of the filesystem being ZFS.)

link|improve this answer
Good suggestion!. Too late to solve my immediate problem, but it should work. I know positively that NFS doesn't cross mount points. – jcea May 19 '10 at 18:12
I had the same issue with OTHER server.The NFS trick works if you export it via "share" instead of "zfs sharenfs", and if you import it especifying version 3. Version 4 does strange things with mountpoints, and doesn't work. I haven't experimented more. – jcea Sep 30 '10 at 0:39
Next problem, enable "root" access. To do so, export like "share -F nfs -o rw,root=127.0.0.1,anon=0 /". When done, stop the share with "unmount" and "unshare /". – jcea Sep 30 '10 at 0:52
feedback

I just rebooted the machine in single user mode. Seems not to be any other way.

Thanks.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.