2011-12-19 16:58, Pawel Jakub Dawidek wrote:
On Mon, Dec 19, 2011 at 10:18:05AM +0000, Darren J Moffat wrote:
For those of us not familiar with how FreeBSD is installed and boots can
you explain how boot works (ie do you use GRUB at all and if so which
version and where the early boot ZFS code is).
We don't use GRUB, no. We use three stages for booting. Stage 0 is
bascially 512 byte of very simple MBR boot loader installed at the
begining of the disk that is used to launch stage 1 boot loader. Stage 1
is where we interpret all ZFS (or UFS) structure and read real files.
When you use GPT, there is dedicated partition (of type freebsd-boot)
where you install gptzfsboot binary (stage 0 looks for GPT partition of
type freebsd-boot, loads it and starts the code in there). This
partition doesn't contain file system of course, boot0 is too simple to
read any file system. The gptzfsboot is where we handle all ZFS-related
operations. gptzfsboot is mostly used to find root dataset and load
zfsloader from there. The zfsloader is the last stage in booting. It
shares the same ZFS-related code as gptzfsboot (but compiled into
separate binary), it loads modules and the kernel and starts it.
The zfsloader is stored in /boot/ directory on the root dataset.
Hmm... and is the freebsd-boot partition redundant somehow?
Is it mirrored or can be striped over several disks?
I was educated that the core problem lies in the system's
required ability to boot off any single device (including
volumes of several disks singularly presented by HWRAIDs).
This "BIOS boot device" should hold everything that is
required and sufficient to go on booting the OS and using
disk sets of some more sophisticated redundancy.
I gather that in FreeBSD's case this "self-sufficient"
bootloader is small and incurs a small storage overhead,
even if cloned to a dozen disks in your array?
In this case Solaris's problem with only-mirrored ZFS
on root pools is that the "self-sufficient" quantum
of required data is much larger; but otherwise the
situation is the same?
Thanks for clarifying,
zfs-discuss mailing list