Date: Mon, 15 Mar 2021 11:35:03 -0400 From: Waitman Gobble <gobble.wa@gmail.com> To: FreeBSD <freebsd-questions@freebsd.org> Subject: Re: Disappearing files in FreeBSD 13.0-R2 Message-ID: <CAFuo_fxBs7AGkT9aaCiQ_pWKuUZEv=2NQXBNfTf_%2Bz6xACzD2Q@mail.gmail.com> In-Reply-To: <dd9b9d46-7334-b4a6-9db4-2f4504c89436@holgerdanske.com> References: <CAFuo_fzQFbap5T9S3OBV-f18FM=UxFXX3YWF5rOq-zP%2B-cuAYQ@mail.gmail.com> <e22f9728-de71-5990-795a-81fd9d91f832@holgerdanske.com> <CAFuo_fz1Mgb7nJ_BewG_2PPuPUQqnWJ7YhebZmLcuLch-00YaA@mail.gmail.com> <CAFuo_fzRtrpkXkrBfPCj5byWNKCtjLKw6sE43puOm2vE%2Bryn_Q@mail.gmail.com> <dd9b9d46-7334-b4a6-9db4-2f4504c89436@holgerdanske.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 15, 2021 at 2:44 AM David Christensen <dpchrist@holgerdanske.com> wrote: > > On 3/14/21 6:22 PM, Waitman Gobble wrote: > > On Sun, Mar 14, 2021 at 9:20 PM Waitman Gobble <gobble.wa@gmail.com> wrote: > >> > >> On Sun, Mar 14, 2021 at 8:00 PM David Christensen > >> <dpchrist@holgerdanske.com> wrote: > >>> > >>> On 3/14/21 4:03 PM, Waitman Gobble wrote: > >>>> I did a fresh install using ZFS with encryption. I copied the files on a > >>>> second drive (UFS) to /usr/home/backup (ZFS). I reformatted the second > >>>> drive ZFS and created a new pool "home" for that drive. It decided to mount > >>>> the drive as /home. AFAIK i never told the system to do that. But /home and > >>>> /usr/home are different, there is no link. > >>>> > >>>> I can only see /usr/home/backup if i boot into single user mode. If i mount > >>>> read write or boot normally then /usr/home is empty. > >>>> > >>>> I copied the files to a usb drive. > >>>> > >>>> How do i delete the backup? Its taking up 100 gb. I can see them read only > >>>> and copy to usb drive, but as soon as i mount read write they disappear. I > >>>> did not import the home pool, it does not show up in the status command. > >>> > >>> > >>> Please run the following commands and post your console session: > >>> > >>> # gpart show > >>> > >>> # zpool list > >>> > >>> # zfs list -d 1 > >>> > >>> # zfs list -r -t all home > >>> > >>> > >>> David > >> > >> Thanks for the reply. > >> > >> Ok, Here's the info from multi-user mode. > >> > >> In single user mode the 'home' pool (second drive) doesn't show up in > >> status or list or anything, which is fine. > >> When I boot into single user mode / read only then /usr/home has 100gb > >> of backup. If I reboot to multi-user or mount read-write in single > >> user then the files in /usr/home disappear. (even if the second drive > >> isn't mounted). The 80 GB avail should be like 180GB I think, it's a > >> 250GB drive. The usage stats don't change if the files in /usr/home > >> appear or not. > >> > >> The home directory for the second drive is /home which isn't a link to > >> /usr/home or vice-versa AFAIK. in multi-user mode /home has my files, > >> /usr/home is empty. in single-user read only , /home is empty and > >> /usr/home has the backup files. > >> > >> root@ayo:/home # gpart show > >> => 40 488397088 ada0 GPT (233G) > >> 40 532480 1 efi (260M) > >> 532520 1024 2 freebsd-boot (512K) > >> 533544 984 - free - (492K) > >> 534528 4194304 3 freebsd-swap (2.0G) > >> 4728832 483667968 4 freebsd-zfs (231G) > >> 488396800 328 - free - (164K) > >> > >> => 40 976773088 ada1 GPT (466G) > >> 40 976773088 1 freebsd-zfs (466G) > >> > >> => 40 976773088 da0 GPT (466G) > >> 40 2008 - free - (1.0M) > >> 2048 976771072 1 freebsd-ufs (466G) > >> 976773120 8 - free - (4.0K) > >> > >> => 40 976773088 da1 GPT (466G) > >> 40 2008 - free - (1.0M) > >> 2048 976771072 1 freebsd-ufs (466G) > >> 976773120 8 - free - (4.0K) > >> > >> root@ayo:/home # zpool list > >> NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP > >> HEALTH ALTROOT > >> home 464G 294G 170G - - 0% 63% 1.00x ONLINE - > >> zroot 230G 142G 87.6G - - 0% 61% 1.00x ONLINE - > >> root@ayo:/home # zfs list -d 1 > >> NAME USED AVAIL REFER MOUNTPOINT > >> home 294G 156G 294G /home > >> zroot 142G 80.4G 96K /zroot > >> zroot/ROOT 140G 80.4G 96K none > >> zroot/tmp 184K 80.4G 184K /tmp > >> zroot/usr 1.38G 80.4G 96K /usr > >> zroot/var 877M 80.4G 96K /var > >> root@ayo:/home # zfs list -r -t all home > >> NAME USED AVAIL REFER MOUNTPOINT > >> home 294G 156G 294G /home > >> root@ayo:/home # ls /usr/home/ > >> [nada] > >> root@ayo:/home # > >> > >> > > > > oops, missed a couple. sorry. > > > > root@ayo:/home # zfs list -r -t all home > > NAME USED AVAIL REFER MOUNTPOINT > > home 294G 156G 294G /home > > > > root@ayo:/home # zfs list -d 1 > > NAME USED AVAIL REFER MOUNTPOINT > > home 294G 156G 294G /home > > zroot 142G 80.4G 96K /zroot > > zroot/ROOT 140G 80.4G 96K none > > zroot/tmp 184K 80.4G 184K /tmp > > zroot/usr 1.38G 80.4G 96K /usr > > zroot/var 877M 80.4G 96K /var > > > It looks like 'ada0' is a 250 GB drive with GPT and your system > partitions. ada0p4 should be your root partition with the ZFS pool > 'zroot', containing the root filesystem. 'zroot/usr/home' should be a > ZFS filesystem mounted at /usr/home. These commands will confirm: > > # zfs list -d 1 zroot/usr > > # zfs list -r -t all zroot/usr/home > > > '/home' should be a symbolic link to '/usr/home'. These commands will > confirm: > > # ls -l /home > > # ls -l /usr > > > It looks like 'ada1' is a 500 GB drive with the ZFS pool 'home'. ZFS > mounts this at '/home' by default. This mount overlays the root > filesystem symbolic link '/home', but I do not understand why > '/usr/home/backup' disappears. > > > I would do the following as root in single-user mode: > > 1. Record your console session with script(1). Exact details will be > useful later; sooner if something goes wrong. > > 2. Take a recursive snapshot of the 'zroot' and 'home' ZFS filesystems. > Pick a meaningful SNAPNAME (I do date/ time strings): > > # zfs snapshot -r zroot@SNAPNAME home@SNAPNAME > > 3. Unmount the ZFS filesystem 'zroot/usr/home', make it read-only, > change its mountpoint, and mount it:: > > # zfs unmount zroot/usr/home > > # zfs set readonly=on zroot/usr/home > > # zfs set mountpoint=/usr/oldhome zroot/usr/home > > # zfs mount zroot/usr/home > > /usr/oldhome and /usr/oldhome/backup should now be visible. > > (If you previously created a ZFS filesystem > 'zroot/usr/home/backup', repeat the first, second, and fourth steps > above; adjusting the filesystem name. The 'mountpoint' property should > be inherited.) > > 4. Set the mountpoint of the ZFS pool 'home' and mount it: > > # zfs set mountpoint=/usr/home home > > # zfs mount home > > /usr/home should now be visible. > > 5. It is recommended practice not to put files and directories into the > base filesystem of a ZFS pool (e.g. '/usr/home') -- it is better to > create ZFS filesystems at the base level of a pool and put files, > directories, and/or additional ZFS filesystems into those. Assuming > '/usr/oldhome/backup' represents your old home directory, create a ZFS > filesystem for your new home directory: > > # zfs create home/username > > Do the same when adding more accounts in the future. > > 6. Assuming '/usr/oldhome/backup' represents one user account, copy its > contents to '/usr/home/username'. > > 7. Reboot and check everything. > > 8. Wait a while (hours, days, weeks). When you are certain everything > is okay, destroy the old home filesystem: > > # zfs destroy -r zroot/usr/home > > This should reclaim space in the 'zroot' pool and filesystem. > > > David > _______________________________________________ > freebsd-questions@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org" Thanks for everyone's help. It seems my problem was that /home was an actual directory. I don't recall creating that, normally I would not do that. This was a fresh install but I rsynched some files from the old drive to the new one, like most of /etc, /root, /usr/local, /var. Anyhow, when I deleted /home and created a symlink, the backup directory magically appeared in /usr/home. So I deleted that and reclaimed 100G of drive space. Then I mounted the home pool and it mounted to /usr/home instead of /home. Everything seems to work. So in summary, for some reason there was a /home directory. and if you create a pool named "home" it does magic stuff like it knows it's supposed to be home i guess. If /home is a directory then it acts crazy. Deleting /home makes it sane again. -- Waitman Gobble
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFuo_fxBs7AGkT9aaCiQ_pWKuUZEv=2NQXBNfTf_%2Bz6xACzD2Q>