<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Aug 13, 2016 at 12:36 PM, Michael Mounteney <span dir="ltr"><<a href="mailto:gate03@landcroft.co.uk" target="_blank">gate03@landcroft.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">On Sat, 13 Aug 2016 12:59:52 +0200<br>
Krzysztof Grzempa <<a href="mailto:grzempek@gmail.com">grzempek@gmail.com</a>> wrote:<br>
<br>
> Correct me if I'm wrong..There is no way to setup raidz on rpool.<br>
> Right ?<br>
<br>
</span>In the simple case, that's so because when you first boot the computer,<br>
the BIOS or boot firmware (of whatever type) has to read boot data of<br>
some sort; either a boot loader (GRUB/LILO on x86, LILO on others) or<br>
the kernel itself directly.<br>
<br>
On a raidz system, the data are spread across all disks and don't exist<br>
in entirety on any one disk.  So unless the firmware can read from<br>
multiple disks and re-assemble the boot loader or kernel, it can't boot<br>
the OS.  Since raidz can be in a variety of configurations, it would be<br>
very hard to give the firmware the necessary information.<br></blockquote><div><br></div><div>Not exactly. The firmware reads the bootloader, currently in our case grub.<br></div><div>The bootloader isn't accessed through the filesystem at all, so you could in<br></div><div>theory put grub onto the disks in a raidz pool and the firmware would read it<br>just fine.<br><br></div><div>However, grub has a fairly rudimentary understanding of zfs, as it has its own<br></div><div>implementation of a basic zfs reader:<br><br> <a href="https://github.com/illumos/illumos-gate/blob/master/usr/src/grub/grub-0.97/stage2/fsys_zfs.c">https://github.com/illumos/illumos-gate/blob/master/usr/src/grub/grub-0.97/stage2/fsys_zfs.c</a><br></div></div><br></div><div class="gmail_extra">This can basically walk a single disk. Which allows mirrors (because the other<br></div><div class="gmail_extra">disks are the same), but anything beyond that won't work. So no log devices,<br></div><div class="gmail_extra">no stripes, no raidz.<br><br></div><div class="gmail_extra">It's not a fundamental architectural limitation, just that the actual grub<br>implementation only covers the simplest possible case.<br><br></div><div class="gmail_extra">-- <br><div class="gmail_signature" data-smartmail="gmail_signature">-Peter Tribble<br><a href="http://www.petertribble.co.uk/" target="_blank">http://www.petertribble.co.uk/</a> - <a href="http://ptribble.blogspot.com/" target="_blank">http://ptribble.blogspot.com/</a></div>
</div></div>