mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-24 03:08:51 +03:00
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 <dinatale2@llnl.gov> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Olaf Faaland <faaland1@llnl.gov> Closes #6358 Closes #6379
This commit is contained in:
committed by
Brian Behlendorf
parent
ffb195c256
commit
b9373170e3
@@ -4,6 +4,7 @@ dist_man_MANS = \
|
||||
vdev_id.8 \
|
||||
zdb.8 \
|
||||
zfs.8 \
|
||||
zgenhostid.8
|
||||
zinject.8 \
|
||||
zpool.8 \
|
||||
zstreamdump.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
|
||||
+1
-1
@@ -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 .
|
||||
|
||||
Reference in New Issue
Block a user