diff options
author | Olaf Faaland <[email protected]> | 2017-07-18 18:11:08 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2017-07-25 13:22:03 -0400 |
commit | b9373170e3e346733f5666dd80727cb6e05cd5d3 (patch) | |
tree | 943c2d6f5a409170e7e7cd8b5c129d0b9dcab04f /man | |
parent | ffb195c256f8a74a87c3834258ec90c513d66adb (diff) |
Add zgenhostid utility script
Turning the multihost property on requires that a hostid be set to allow
ZFS to determine when a foreign system is attemping to import a pool.
The error message instructing the user to set a hostid refers to
genhostid(1).
Genhostid(1) is not available on SUSE Linux. This commit adds a script
modeled after genhostid(1) for those users.
Zgenhostid checks for an /etc/hostid file; if it does not exist, it
creates one and stores a value. If the user has provided a hostid as an
argument, that value is used. Otherwise, a random hostid is generated
and stored.
This differs from the CENTOS 6/7 versions of genhostid, which overwrite
the /etc/hostid file even though their manpages state otherwise.
A man page for zgenhostid is added. The one for genhostid is in (1), but
I put zgenhostid in (8) because I believe it's more appropriate.
The mmp tests are modified to use zgenhostid to set the hostid instead
of using the spl_hostid module parameter. zgenhostid will not replace
an existing /etc/hostid file, so new mmp_clear_hostid calls are
required.
Reviewed-by: Giuseppe Di Natale <[email protected]>
Reviewed-by: Andreas Dilger <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Olaf Faaland <[email protected]>
Closes #6358
Closes #6379
Diffstat (limited to 'man')
-rw-r--r-- | man/man8/Makefile.am | 1 | ||||
-rw-r--r-- | man/man8/zgenhostid.8 | 72 | ||||
-rw-r--r-- | man/man8/zpool.8 | 2 |
3 files changed, 74 insertions, 1 deletions
diff --git a/man/man8/Makefile.am b/man/man8/Makefile.am index b89e34dfd..fa58a628d 100644 --- a/man/man8/Makefile.am +++ b/man/man8/Makefile.am @@ -4,6 +4,7 @@ dist_man_MANS = \ vdev_id.8 \ zdb.8 \ zfs.8 \ + zgenhostid.8 zinject.8 \ zpool.8 \ zstreamdump.8 diff --git a/man/man8/zgenhostid.8 b/man/man8/zgenhostid.8 new file mode 100644 index 000000000..2c86b8e28 --- /dev/null +++ b/man/man8/zgenhostid.8 @@ -0,0 +1,72 @@ +.\" +.\" CDDL HEADER START +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.\" CDDL HEADER END +.\" +.\" +.\" Copyright (c) 2017 by Lawrence Livermore National Security, LLC. +.\" +.Dd July 24, 2017 +.Dt ZGENHOSTID 8 SMM +.Os Linux +.Sh NAME +.Nm zgenhostid +.Nd generate and store a hostid in +.Em /etc/hostid +.Sh SYNOPSIS +.Nm +.Op Ar hostid +.Sh DESCRIPTION +If +.Em /etc/hostid +does not exist, create it and store a hostid in it. If the user provides +.Op Ar hostid +on the command line, store that value. Otherwise, randomly generate a +value to store. +.Pp +This emulates the +.Xr genhostid 1 +utility and is provided for use on systems which do not include the utility. +.Pp +.Sh OPTIONS +.Op Ar hostid +Specifies the value to be placed in +.Em /etc/hostid . +It must be a number with a value between 1 and 2^32-1. This value +.Sy must +be unique among your systems. It must be expressed in hexadecimal and be +exactly 8 digits long. +.Sh EXAMPLES +.Bl -tag -width Ds +.It Generate a random hostid and store it +.Bd -literal +# zgenhostid +.Ed +.It Record the libc-generated hostid in Em /etc/hostid +.Bd -literal +# zgenhostid $(hostid) +.Ed +.It Record a custom hostid (0xdeadbeef) in Em etc/hostid +.Bd -literal +# zgenhostid deadbeef +.Ed +.El +.Sh SEE ALSO +.Xr spl-module-parameters 5 , +.Xr genhostid 1 , +.Xr hostid 1 diff --git a/man/man8/zpool.8 b/man/man8/zpool.8 index 02853342c..5814b4125 100644 --- a/man/man8/zpool.8 +++ b/man/man8/zpool.8 @@ -732,7 +732,7 @@ in the man page. In order to enable this property each host must set a unique hostid. See .Xr genhostid 1 -and +.Xr zgenhostid 8 .Xr spl-module-paramters 5 for additional details. The default value is .Sy off . |