How to mount a LOFS in Solaris that doesn’t cross mountpoints

1

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?

jcea

Posted 2010-05-05T23:17:42.827

Reputation: 255

Answers

1

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.)

jrg

Posted 2010-05-05T23:17:42.827

Reputation: 745

1Good suggestion!.

Too late to solve my immediate problem, but it should work. I know positively that NFS doesn't cross mount points. – jcea – 2010-05-19T18:12:08.490

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 – 2010-09-30T00:39:10.737

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 – 2010-09-30T00:52:18.057

0

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

Thanks.

jcea

Posted 2010-05-05T23:17:42.827

Reputation: 255