aboutsummaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorOlaf Faaland <[email protected]>2017-07-18 18:11:08 -0700
committerBrian Behlendorf <[email protected]>2017-07-25 13:22:03 -0400
commitb9373170e3e346733f5666dd80727cb6e05cd5d3 (patch)
tree943c2d6f5a409170e7e7cd8b5c129d0b9dcab04f /man
parentffb195c256f8a74a87c3834258ec90c513d66adb (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.am1
-rw-r--r--man/man8/zgenhostid.872
-rw-r--r--man/man8/zpool.82
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 .