Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jan 2008 10:11:15 +0100
From:      =?ISO-8859-1?Q?Johan_Str=F6m?= <johan@stromnet.se>
To:        Ulrich Spoerlein <uspoerlein@gmail.com>
Cc:        emj@emj.se, freebsd-stable@freebsd.org
Subject:   Re: Backup solution suggestions [ggated]
Message-ID:  <73ED6B7D-49C5-4C69-8BE2-27F0BDAA246E@stromnet.se>
In-Reply-To: <7ad7ddd90801170030l790810b5r5bb156e3cda286b1@mail.gmail.com>
References:  <E6BCC509-6CC8-44F1-98C2-416920A52218@stromnet.se> <39FB5CF3-F2F4-401B-9D6D-7796608152E5@ish.com.au> <4FF9842D-ADC9-4A99-9DC4-E0FE1CC9CDCF@stromnet.se> <20080116222729.GB1529@roadrunner.spoerlein.net> <134BD86C-19CF-42A7-9190-FAD3BB564A06@stromnet.se> <7ad7ddd90801170030l790810b5r5bb156e3cda286b1@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 17, 2008, at 09:30 , Ulrich Spoerlein wrote:

> On Jan 17, 2008 1:31 AM, Johan Str=F6m <johan@stromnet.se> wrote:
>>> Export the disk on the backup server with ggated. Bind it on the
>>> client
>>> with ggatec. Slap a GELI or GBDE encryption on top of it and then
>>> put a
>>> ZFS on top of it.
>>>
>>> You can mount/import this "remote" ZFS at will and do your zfs
>>> send/receive on your local box. Nothing ever leaves your box
>>> unencrypted.
>>
>> Now that is a cool solution! That actually sounds like something =20
>> doable.
>> I tried it out some at home between a 6.2 box (client) and 7.0 box
>> (server), hosting the system in a ZFS "sparse volume" with a
>> predefined size, exported that via ggated and connected ggatec on the
>> client box. I then did some experimentation with just newfs, and it
>> worked great!
>> The only downside with this would be that the size is fixed. So I
>> played around a bit with setting the volsize property in ZFS and it
>> seemd to work just fine. zfs list reported the new, bigger, size.
>> Restarted ggatec and did a growfs, and then remounted.. Yay bigger
>> disk :)
>> Then I went on do do some geli test, geli'ed /dev/ggate0 and
>> newfs'ed, mounted and played around a bit. All fine.. Now came the
>> problem, i unmounetd it, expanded the zfs volume a bit more,
>> restarted ggatec and tried to attach it using geli again (note, I
>> have no idea if this is supposed to work at all, I'm just testing.
>> Havent read such things anywhere). Now I got Invalid argument.
>> Im not realy sure about how GEOM works, but if I recall correct it
>> uses the last sectors of the disk? If I moved X bytes of data from
>> old end of disk to new end of disk, would that make GELI work? If I
>> can get that to work, then this would be a kickass solution (all
>> encryption stuff works great, I don't have to allocate all space
>> immediatly, I can expand it later without destroying data and
>> starting from scratch etc).
>
> I'm pretty certain that GELI cannot handle variable sized disks. But
> you could add GVIRSTOR into the mix. But I'd just allocate the
> necessary space and be done with it. Adding yet another layer is
> asking for trouble, imho.

Okay.

>
>> Some other questions, more related to ggated/c. Is this stable? Good
>> working? how does it handle failure situations? Anyone using it for
>> production systems?
>
> =46rom my personal experience (which is rather limited): No, barely, =20=

> bad, hell no.
>
> There were/are some open PRs about ggate. I had troubles with
> gmirror+ggate in that it would deadlock every other hour on SMP
> systems (try removing option PREEMPTION if that bug hits you).

Your no,barely, bad hell no seems to fit pretty good.. I did some =20
testing during the night with the above (non-production) setup.
What I did was doing some rsyncing over the night:

while true ; do
         echo "`date` Clearing vmail" >> logfile
         rm -rf vmail
         echo "`date` Starting rsync" >> logfile
         rsync -vr /usr/var/vmail . |tee -a logfile
         echo "`date` Rsync finished " >> logfile
done

I started this at ~02.0. The results? A freshly rebooted 6.2 (6.2-=20
RELEASE-p6 FreeBSD 6.2-RELEASE-p6 #0: Fri Jul 27 15:47:50 UTC 2007) =20
box in the morning..
Looking at the messages:

Jan 18 05:33:25 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D8844480512, length=3D4096)]
Jan 18 05:33:25 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D8844484608, length=3D4096)]
Jan 18 05:33:25 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D8844488704, length=3D4096)]
Jan 18 05:33:25 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D8844492800, length=3D4096)]
Jan 18 05:33:25 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D8844517376, length=3D4096)]
... more of the same...
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8844480512, length=3D4096)]error =3D 5
Jan 18 05:33:25 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D8844640256, length=3D32768)]
..more of the same...
Jan 18 05:33:25 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D8844988416, length=3D4096)]
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8844484608, length=3D4096)]error =3D 5
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8844488704, length=3D4096)]error =3D 5
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8844492800, length=3D4096)]error =3D 5
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8844517376, length=3D4096)]error =3D 5
Jan 18 05:33:25 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D8844992512, length=3D4096)]
...more of the same...
Jan 18 05:33:25 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D65536, length=3D4096)]
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8844521472, length=3D4096)]error =3D 5
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8844496896, length=3D4096)]error =3D 5
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8844500992, length=3D4096)]error =3D 5
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8844505088, length=3D4096)]error =3D 5
..and more of those...
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8845176832, length=3D4096)]error =3D 5
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D5636096, length=3D4096)]error =3D 5
Jan 18 05:33:25 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D65536, length=3D4096)]error =3D 5
Jan 18 05:33:43 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D5636096, length=3D4096)]
Jan 18 05:33:43 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D8127250432, length=3D16384)]
Jan 18 05:33:43 phomca kernel: GEOM_ELI: Crypto WRITE request failed =20
(error=3D5). ggate0.eli[WRITE(offset=3D8480587776, length=3D16384)]
...more of those..
Jan 18 05:33:43 phomca kernel: g_vfs_done():ggate0.eli[WRITE=20
(offset=3D8834072576, length=3D16384)]error =3D 5
Jan 18 05:35:42 phomca syslogd: kernel boot file is /boot/kernel/kernel

What I dont have is a coredump, judging from dmesg -a savecore wasnt =20
even run.. running it now, 5 hours later, didnt find any cores.

The other end (7.0 server) wasnt affected at all.

Not realy sure what it had been doing, because looking at my =20
bandwidth graphs from the switch, nothing was done at all.. It didnt =20
even go through one iteration of rsync... ~7.5k files/directorys =20
seems to have been transfered, then the log doesnt say more. But =20
according to the BW graph, after ~03.00 no traffic was sent at all...

Some known bug with 6.2?

>> Yes this is for backup only so minor glitches
>> might be acceptable for me, but I'd rather know about those =20
>> beforehand.
>
> Give it a shot, if your systems stay up and stable, good. If the link
> breaks from time to time, I think ZFS should be able to recover most
> of it. Since it is your backup, I'd try to break it in interessting
> ways first, to get a feel for how robust it is.
>
> Uli
>

So, crashing the backuped box is not a minor glitch. Thus this doesnt =20=

seem to be useable AT ALL :/ Too bad..

--
Johan=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?73ED6B7D-49C5-4C69-8BE2-27F0BDAA246E>