Date: Wed, 21 Nov 2018 13:16:04 +0100 From: Matthias Petermann <matthias@petermann-it.de> To: freebsd-questions@freebsd.org Subject: Re: GPT partitions on whole disk gmirror - questions about the metadata issue Message-ID: <fbae46cf-62bf-1e82-6325-736641d0a676@petermann-it.de> In-Reply-To: <0524022a-8776-1152-b136-e5b49897aff6@petermann-it.de> References: <0524022a-8776-1152-b136-e5b49897aff6@petermann-it.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, in the meantime I did some further research and found out that newfs has a parameter to reserve some space at the end of the to be formatted device. The manpage newfs(8) states: "-r reserved The size, in sectors, of reserved space at the end of the partition specified in special. This space will not be occupied by the file system; it can be used by other consumers such as geom(4). Defaults to 0. " Anyway, I did not see anyone using the -r parameter using for formatting a filesystem in a gmirror based device[1], and wondering at the same time as the default of "0" would mean to me that at some point - maybe only after the filesystem has filled up - it would touch the very last block on the disc and overwrite the gmirror meta data. Especially in the case of the illustrated workaround for GPT partitioned devices: +---------------------------------------------------------------------+ |+-------------------------------------------------------------------+| ||+-----------------------------------------------------------------+|| |||+---------------------------------------------------+-----------+||| |||| UFS Filesystem | gmirror |||| |||| | meta |||| |||| | data |||| |||+---------------------------------------------------+-----------+||| ||| /dev/mirror/data ||| ||+-----------------------------------------------------------------+|| || /dev/gpt/data1 || |+-------------------------------------------------------------------+| | /dev/ada0 | +---------------------------------------------------------------------+ So what is the general advice to deal with that? Is it safe to use newfs without -r and why? Kind regards, Matthias [1] http://www.wonkity.com/~wblock/docs/html/gmirror.html [2] https://forums.freebsd.org/threads/freebsd-10-2-install-with-gpt-and-gmirror.55400/ [3] https://www.ateamsystems.com/tech-blog/installing-freebsd-9-gmirror-gpt-partitions-raid-1/ Am 21.11.2018 um 05:47 schrieb Matthias Petermann: > Hello, > > in section 18.3 of the FreeBSD handbook[1] there is a warning regarding > using whole disc mirroring with gmirror together with GPT: > > "gmirror(8) stores one block of metadata at the end of the disk. Because > GPT partition schemes also store metadata at the end of the disk, > mirroring entire GPT disks with gmirror(8) is not recommended. MBR > partitioning is used here because it only stores a partition table at > the start of the disk and does not conflict with the mirror metadata." > > Why is it that gmirror does not represent the mirrored device for the > levels above it in a way that does not allow access to the last block > containing the metadata? Would it be enough to simply mimic a smaller > device, one block less than the underlying providers? > > In the case mentioned above, the workaround is to first partition both > providers using GPT and then form gmirrors from two GPT partitions each. > In this case, the metadata problem should not be critical because > gmirror exists within the partition itself. Here is my further question: > how does the file system (UFS) ensure that e.g. newfs does not overwrite > the last block of a gmirror in this setting? > > Best regards, > Matthias > > [1] https://www.freebsd.org/doc/handbook/geom-mirror.html > -- Matthias Petermann <matthias@petermann-it.de> | www.petermann-it.de GnuPG: 0x5C3E6D75 | 5930 86EF 7965 2BBA 6572 C3D7 7B1D A3C3 5C3E 6D75
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?fbae46cf-62bf-1e82-6325-736641d0a676>