Date: Fri, 22 Jun 2012 10:51:47 +0300 From: icameto icameto <icameto@gmail.com> To: freebsd-fs@freebsd.org Subject: Re: ZFS Encryption with GELI for only /opt partition Message-ID: <CAMve_NPs2bYEH3u2cm9AMNVO7f3=EmP9fdqdKaHFe3O=QP0UKA@mail.gmail.com> In-Reply-To: <20120621131443.59eb24f3@fabiankeil.de> References: <CAMve_NNwowTXS0m58AhQvFvDyg4W-pAoEj72zUMAARhfgStUBw@mail.gmail.com> <20120621131443.59eb24f3@fabiankeil.de>
next in thread | previous in thread | raw e-mail | index | archive | help
So much thanks Fabian, especially for yours quick answer and concern. I run "zpool export opt" and I would like to explain it clearly. There will be one disk which will be used for /opt partition as encrypted. Previously in UFS I was able to detach the opt partition by using GEOM BDE module via these steps. * # kldload geom_bde # mkdir /etc/gbde # gbde init /dev/ad0s1e -i -L /etc/gbde/ad0s1e.lock # gbde attach /dev/ad0s1e -l /etc/gbde/ad0s1e.lock # newfs -U -O2 /dev/ad0s1e.bde # mkdir /encryptedfs # mount /dev/ad0s1e.bde /encryptedfs # gbde detach /dev/ad0s1e # umount /encyrptedfs* Briefly I want to be able to unmount and mount capabilities without harming the datasets in pool of ZFS while using ZFS with GELI for encyptioning purpose. And you know i m capable of unmount the disk(da1.bde etc. ) from /opt mount point while I was using GEOM BDE. When I unmounted this disk(da1.bde), I could use da1 for /opt mount point without any data or dataset loosing . Dear Fabian, I have tried to exporting pool from ZFS, and you right that now i can detach from pool. But when I tried to import the old "opt" pool,I'm getting a warn "cannot import 'opt': no such pool available" about importing process. # geli status Name Status Components da1.eli ACTIVE da1 You said that ZFS and GELI are not thigtly integrated. But is that possible detaching and making inaccessible da1.eli device or making offline ZFS pool temporarily until attached properly with entering passphrase again for making accessible on mount point /opt (ZFS Pool) for this case ? Finally, I can create a script which will be working like a charm. I'm really curios about creating encrypted ZFS pool(for opt) with attaching and detaching capabilities. I guess that I'm doing an error on steps or logical mistake. Could you please help me to handle this issue or steps ? Thanks in advance Sincerely 2012/6/21 Fabian Keil <freebsd-listen@fabiankeil.de> > icameto icameto <icameto@gmail.com> wrote: > > > I have some problems with ZFS encryption and GELI. I used ZFS for /opt > > partition(da1.eli which is encrypted form of seperate da1 disk ). And I > > want to encrypt the /opt partition by using GELI. My disks states' like > > below > > > > *# kldstat* > > Id Refs Address Size Name > > 1 15 0xffffffff80100000 c9fe20 kernel > > 2 1 0xffffffff80da0000 1ad0e0 zfs.ko > > 3 2 0xffffffff80f4e000 3a68 opensolaris.ko > > 4 1 0xffffffff80f52000 1cdc0 geom_eli.ko > > 5 2 0xffffffff80f6f000 2b0b8 crypto.ko > > 6 2 0xffffffff80f9b000 dc40 zlib.ko > > > > > > *# cat /etc/rc.conf | grep geli * > > geli_devices="da1" > > geli_da1_flags="-k /root/da1.key" > > #geli_detach="NO" > > > > > > *# zpool status* > > pool: opt > > state: ONLINE > > scrub: none requested > > config: > > > > NAME STATE READ WRITE CKSUM > > opt ONLINE 0 0 0 > > da1.eli ONLINE 0 0 0 > > > > errors: No known data errors > > > > *# geli status* > > Name Status Components > > da1.eli ACTIVE da1 > > > > *# df -h* > > Filesystem Size Used Avail Capacity Mounted on > > /dev/da0s1a 9.7G 280M 8.6G 3% / > > devfs 1.0K 1.0K 0B 100% /dev > > /dev/da0s1d 15G 734M 14G 5% /usr > > opt 7.8G 120K 7.8G 0% /opt > > > > > > *# geli detach da1.eli* > > geli: Cannot destroy device da1.eli (error=16). > > > > *# zfs unmount -a* > > > > *# df -h* > > Filesystem Size Used Avail Capacity Mounted on > > /dev/da0s1a 9.7G 280M 8.6G 3% / > > devfs 1.0K 1.0K 0B 100% /dev > > /dev/da0s1d 15G 734M 14G 5% /usr > > > > *# geli detach da1.eli* > > geli: Cannot destroy device da1.eli (error=16). > > This doesn't work because the pool is still imported. > Try running "zpool export opt" first, it will automatically > unmount the datasets so you can skip the "zfs unmount -a". > > > When I use "zfs mount -a" command there must be prompted for entering > > passphrase, but it immediately mounted by zfs without prompting anything. > > As the pool hasn't been exported, that's the expected behaviour. > > Also note that ZFS and geli are not tightly integrated so > "zfs mount -a" will never setup the geli provider for you. > > > *# zfs mount -a* > > > > *# df -h* > > Filesystem Size Used Avail Capacity Mounted on > > /dev/da0s1a 9.7G 280M 8.6G 3% / > > devfs 1.0K 1.0K 0B 100% /dev > > /dev/da0s1d 15G 734M 14G 5% /usr > > opt 7.8G 120K 7.8G 0% /opt > > > > > > But i want to be able to detach encrypted device and remove that from > > zpool as cannot access by anyone. But I got an error when i try to > > detach the device (opt partition) . And I can still access the disk on > > ZFS pool. Isn't it strange buddies ? > > > > Briefly, Is there any solution to detach and unmount encrypted disk for > > only /opt partition(which is in ZFS Pool). Could you please give me > > advice on this progress ? > > I'm not aware of a mechanism in FreeBSD's base system that does > this automatically, but doing it manually (or with a script) should > work. > > Fabian >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAMve_NPs2bYEH3u2cm9AMNVO7f3=EmP9fdqdKaHFe3O=QP0UKA>