|
|
35732a |
commit 75934649b85259d1559eabca40be820095643239
|
|
|
35732a |
Author: Andrew Price <anprice@redhat.com>
|
|
|
35732a |
Date: Tue Feb 12 09:58:11 2019 +0000
|
|
|
35732a |
|
|
|
35732a |
gfs2.5: General updates and layout improvements
|
|
|
35732a |
|
|
|
35732a |
- Update the manpage to mention lvmlockd and don't mention gfs2_quota
|
|
|
35732a |
or gfs_controld (both obsolete).
|
|
|
35732a |
- Simplify the setup instructions and refer to distribution-specific
|
|
|
35732a |
docs and support requirements.
|
|
|
35732a |
- Rearrange the "See also" section for relevance and incorporate the
|
|
|
35732a |
references from the setup section.
|
|
|
35732a |
|
|
|
35732a |
Signed-off-by: Andrew Price <anprice@redhat.com>
|
|
|
35732a |
|
|
|
35732a |
diff --git a/gfs2/man/gfs2.5 b/gfs2/man/gfs2.5
|
|
|
35732a |
index 56d1a008..436abc09 100644
|
|
|
35732a |
--- a/gfs2/man/gfs2.5
|
|
|
35732a |
+++ b/gfs2/man/gfs2.5
|
|
|
35732a |
@@ -21,6 +21,20 @@ mounts which are equivalent to mounting a read-only block device and as
|
|
|
35732a |
such can neither recover a journal or write to the filesystem, so do not
|
|
|
35732a |
require a journal assigned to them.
|
|
|
35732a |
|
|
|
35732a |
+The GFS2 documentation has been split into a number of sections:
|
|
|
35732a |
+
|
|
|
35732a |
+\fBmkfs.gfs2\fP(8) Create a GFS2 filesystem
|
|
|
35732a |
+.br
|
|
|
35732a |
+\fBfsck.gfs2\fP(8) The GFS2 filesystem checker
|
|
|
35732a |
+.br
|
|
|
35732a |
+\fBgfs2_grow\fP(8) Growing a GFS2 filesystem
|
|
|
35732a |
+.br
|
|
|
35732a |
+\fBgfs2_jadd\fP(8) Adding a journal to a GFS2 filesystem
|
|
|
35732a |
+.br
|
|
|
35732a |
+\fBtunegfs2\fP(8) Tool to manipulate GFS2 superblocks
|
|
|
35732a |
+.br
|
|
|
35732a |
+\fBgfs2_edit\fP(8) A GFS2 debug tool (use with caution)
|
|
|
35732a |
+
|
|
|
35732a |
.SH MOUNT OPTIONS
|
|
|
35732a |
|
|
|
35732a |
.TP
|
|
|
35732a |
@@ -200,220 +214,55 @@ versa. Finally, when first enabling this option on a filesystem that had been
|
|
|
35732a |
previously mounted without it, you must make sure that there are no outstanding
|
|
|
35732a |
cookies being cached by other software, such as NFS.
|
|
|
35732a |
|
|
|
35732a |
-.SH BUGS
|
|
|
35732a |
-
|
|
|
35732a |
-GFS2 doesn't support \fBerrors=\fP\fIremount-ro\fR or \fBdata=\fP\fIjournal\fR.
|
|
|
35732a |
-It is not possible to switch support for user and group quotas on and
|
|
|
35732a |
-off independently of each other. Some of the error messages are rather
|
|
|
35732a |
-cryptic, if you encounter one of these messages check firstly that gfs_controld
|
|
|
35732a |
-is running and secondly that you have enough journals on the filesystem
|
|
|
35732a |
-for the number of nodes in use.
|
|
|
35732a |
-
|
|
|
35732a |
-.SH SEE ALSO
|
|
|
35732a |
-
|
|
|
35732a |
-\fBmount\fP(8) for general mount options,
|
|
|
35732a |
-\fBchmod\fP(1) and \fBchmod\fP(2) for access permission flags,
|
|
|
35732a |
-\fBacl\fP(5) for access control lists,
|
|
|
35732a |
-\fBlvm\fP(8) for volume management,
|
|
|
35732a |
-\fBccs\fP(7) for cluster management,
|
|
|
35732a |
-\fBumount\fP(8),
|
|
|
35732a |
-\fBinitrd\fP(4).
|
|
|
35732a |
-
|
|
|
35732a |
-The GFS2 documentation has been split into a number of sections:
|
|
|
35732a |
-
|
|
|
35732a |
-\fBgfs2_edit\fP(8) A GFS2 debug tool (use with caution)
|
|
|
35732a |
-\fBfsck.gfs2\fP(8) The GFS2 file system checker
|
|
|
35732a |
-\fBgfs2_grow\fP(8) Growing a GFS2 file system
|
|
|
35732a |
-\fBgfs2_jadd\fP(8) Adding a journal to a GFS2 file system
|
|
|
35732a |
-\fBmkfs.gfs2\fP(8) Make a GFS2 file system
|
|
|
35732a |
-\fBgfs2_quota\fP(8) Manipulate GFS2 disk quotas
|
|
|
35732a |
-\fBgfs2_tool\fP(8) Tool to manipulate a GFS2 file system (obsolete)
|
|
|
35732a |
-\fBtunegfs2\fP(8) Tool to manipulate GFS2 superblocks
|
|
|
35732a |
-
|
|
|
35732a |
.SH SETUP
|
|
|
35732a |
|
|
|
35732a |
-GFS2 clustering is driven by the dlm, which depends on dlm_controld to
|
|
|
35732a |
-provide clustering from userspace. dlm_controld clustering is built on
|
|
|
35732a |
-corosync cluster/group membership and messaging.
|
|
|
35732a |
-
|
|
|
35732a |
-Follow these steps to manually configure and run gfs2/dlm/corosync.
|
|
|
35732a |
-
|
|
|
35732a |
-.B 1. create /etc/corosync/corosync.conf and copy to all nodes
|
|
|
35732a |
-
|
|
|
35732a |
-In this sample, replace cluster_name and IP addresses, and add nodes as
|
|
|
35732a |
-needed. If using only two nodes, uncomment the two_node line.
|
|
|
35732a |
-See corosync.conf(5) for more information.
|
|
|
35732a |
-
|
|
|
35732a |
-.nf
|
|
|
35732a |
-totem {
|
|
|
35732a |
- version: 2
|
|
|
35732a |
- secauth: off
|
|
|
35732a |
- cluster_name: abc
|
|
|
35732a |
-}
|
|
|
35732a |
-
|
|
|
35732a |
-nodelist {
|
|
|
35732a |
- node {
|
|
|
35732a |
- ring0_addr: 10.10.10.1
|
|
|
35732a |
- nodeid: 1
|
|
|
35732a |
- }
|
|
|
35732a |
- node {
|
|
|
35732a |
- ring0_addr: 10.10.10.2
|
|
|
35732a |
- nodeid: 2
|
|
|
35732a |
- }
|
|
|
35732a |
- node {
|
|
|
35732a |
- ring0_addr: 10.10.10.3
|
|
|
35732a |
- nodeid: 3
|
|
|
35732a |
- }
|
|
|
35732a |
-}
|
|
|
35732a |
-
|
|
|
35732a |
-quorum {
|
|
|
35732a |
- provider: corosync_votequorum
|
|
|
35732a |
-# two_node: 1
|
|
|
35732a |
-}
|
|
|
35732a |
-
|
|
|
35732a |
-logging {
|
|
|
35732a |
- to_syslog: yes
|
|
|
35732a |
-}
|
|
|
35732a |
-.fi
|
|
|
35732a |
-
|
|
|
35732a |
-.PP
|
|
|
35732a |
-
|
|
|
35732a |
-.B 2. start corosync on all nodes
|
|
|
35732a |
-
|
|
|
35732a |
-.nf
|
|
|
35732a |
-systemctl start corosync
|
|
|
35732a |
-.fi
|
|
|
35732a |
-
|
|
|
35732a |
-Run corosync-quorumtool to verify that all nodes are listed.
|
|
|
35732a |
-
|
|
|
35732a |
-.PP
|
|
|
35732a |
-
|
|
|
35732a |
-.B 3. create /etc/dlm/dlm.conf and copy to all nodes
|
|
|
35732a |
-
|
|
|
35732a |
-.B *
|
|
|
35732a |
-To use no fencing, use this line:
|
|
|
35732a |
+GFS2 clustering is driven by the dlm, which depends on dlm_controld to provide
|
|
|
35732a |
+clustering from userspace. dlm_controld clustering is built on corosync
|
|
|
35732a |
+cluster/group membership and messaging. GFS2 also requires clustered lvm which
|
|
|
35732a |
+is provided by lvmlockd or, previously, clvmd. Refer to the documentation for
|
|
|
35732a |
+each of these components and ensure that they are configured before setting up
|
|
|
35732a |
+a GFS2 filesystem. Also refer to your distribution's documentation for any
|
|
|
35732a |
+specific support requirements.
|
|
|
35732a |
|
|
|
35732a |
-.nf
|
|
|
35732a |
-enable_fencing=0
|
|
|
35732a |
-.fi
|
|
|
35732a |
+Ensure that gfs2-utils is installed on all nodes which mount the filesystem as
|
|
|
35732a |
+it provides scripts required for correct withdraw event response.
|
|
|
35732a |
|
|
|
35732a |
-.B *
|
|
|
35732a |
-To use no fencing, but exercise fencing functions, use this line:
|
|
|
35732a |
-
|
|
|
35732a |
-.nf
|
|
|
35732a |
-fence_all /bin/true
|
|
|
35732a |
-.fi
|
|
|
35732a |
-
|
|
|
35732a |
-The "true" binary will be executed for all nodes and will succeed (exit 0)
|
|
|
35732a |
-immediately.
|
|
|
35732a |
-
|
|
|
35732a |
-.B *
|
|
|
35732a |
-To use manual fencing, use this line:
|
|
|
35732a |
-
|
|
|
35732a |
-.nf
|
|
|
35732a |
-fence_all /bin/false
|
|
|
35732a |
-.fi
|
|
|
35732a |
-
|
|
|
35732a |
-The "false" binary will be executed for all nodes and will fail (exit 1)
|
|
|
35732a |
-immediately.
|
|
|
35732a |
-
|
|
|
35732a |
-When a node fails, manually run: dlm_tool fence_ack <nodeid>
|
|
|
35732a |
-
|
|
|
35732a |
-.B *
|
|
|
35732a |
-To use stonith/pacemaker for fencing, use this line:
|
|
|
35732a |
-
|
|
|
35732a |
-.nf
|
|
|
35732a |
-fence_all /usr/sbin/dlm_stonith
|
|
|
35732a |
-.fi
|
|
|
35732a |
-
|
|
|
35732a |
-The "dlm_stonith" binary will be executed for all nodes. If
|
|
|
35732a |
-stonith/pacemaker systems are not available, dlm_stonith will fail and
|
|
|
35732a |
-this config becomes the equivalent of the previous /bin/false config.
|
|
|
35732a |
-
|
|
|
35732a |
-.B *
|
|
|
35732a |
-To use an APC power switch, use these lines:
|
|
|
35732a |
-
|
|
|
35732a |
-.nf
|
|
|
35732a |
-device apc /usr/sbin/fence_apc ipaddr=1.1.1.1 login=admin password=pw
|
|
|
35732a |
-connect apc node=1 port=1
|
|
|
35732a |
-connect apc node=2 port=2
|
|
|
35732a |
-connect apc node=3 port=3
|
|
|
35732a |
-.fi
|
|
|
35732a |
-
|
|
|
35732a |
-Other network switch based agents are configured similarly.
|
|
|
35732a |
-
|
|
|
35732a |
-.B *
|
|
|
35732a |
-To use sanlock/watchdog fencing, use these lines:
|
|
|
35732a |
-
|
|
|
35732a |
-.nf
|
|
|
35732a |
-device wd /usr/sbin/fence_sanlock path=/dev/fence/leases
|
|
|
35732a |
-connect wd node=1 host_id=1
|
|
|
35732a |
-connect wd node=2 host_id=2
|
|
|
35732a |
-unfence wd
|
|
|
35732a |
-.fi
|
|
|
35732a |
-
|
|
|
35732a |
-See fence_sanlock(8) for more information.
|
|
|
35732a |
-
|
|
|
35732a |
-.B *
|
|
|
35732a |
-For other fencing configurations see dlm.conf(5) man page.
|
|
|
35732a |
-
|
|
|
35732a |
-.PP
|
|
|
35732a |
-
|
|
|
35732a |
-.B 4. start dlm_controld on all nodes
|
|
|
35732a |
-
|
|
|
35732a |
-.nf
|
|
|
35732a |
-systemctl start dlm
|
|
|
35732a |
-.fi
|
|
|
35732a |
-
|
|
|
35732a |
-Run "dlm_tool status" to verify that all nodes are listed.
|
|
|
35732a |
-
|
|
|
35732a |
-.PP
|
|
|
35732a |
-
|
|
|
35732a |
-.B 5. if using clvm, start clvmd on all nodes
|
|
|
35732a |
-
|
|
|
35732a |
-systemctl clvmd start
|
|
|
35732a |
-
|
|
|
35732a |
-.PP
|
|
|
35732a |
-
|
|
|
35732a |
-.B 6. make new gfs2 file systems
|
|
|
35732a |
+.B 1. Create the gfs2 filesystem
|
|
|
35732a |
|
|
|
35732a |
mkfs.gfs2 -p lock_dlm -t cluster_name:fs_name -j num /path/to/storage
|
|
|
35732a |
|
|
|
35732a |
-The cluster_name must match the name used in step 1 above.
|
|
|
35732a |
-The fs_name must be a unique name in the cluster.
|
|
|
35732a |
-The -j option is the number of journals to create, there must
|
|
|
35732a |
-be one for each node that will mount the fs.
|
|
|
35732a |
+The cluster_name must match the name configured in corosync (and thus dlm).
|
|
|
35732a |
+The fs_name must be a unique name for the filesystem in the cluster.
|
|
|
35732a |
+The -j option is the number of journals to create; there must
|
|
|
35732a |
+be one for each node that will mount the filesystem.
|
|
|
35732a |
|
|
|
35732a |
.PP
|
|
|
35732a |
+.B 2. Mount the gfs2 filesystem
|
|
|
35732a |
|
|
|
35732a |
-.B 7. mount gfs2 file systems
|
|
|
35732a |
+If you are using a clustered resource manager, see its documentation for
|
|
|
35732a |
+enabling a gfs2 filesystem resource. Otherwise, run:
|
|
|
35732a |
|
|
|
35732a |
mount /path/to/storage /mountpoint
|
|
|
35732a |
|
|
|
35732a |
Run "dlm_tool ls" to verify the nodes that have each fs mounted.
|
|
|
35732a |
|
|
|
35732a |
.PP
|
|
|
35732a |
+.B 3. Shut down
|
|
|
35732a |
|
|
|
35732a |
-.B 8. shut down
|
|
|
35732a |
+If you are using a clustered resource manager, see its documentation for
|
|
|
35732a |
+disabling a gfs2 filesystem resource. Otherwise, run:
|
|
|
35732a |
|
|
|
35732a |
-.nf
|
|
|
35732a |
umount -a -t gfs2
|
|
|
35732a |
-systemctl clvmd stop
|
|
|
35732a |
-systemctl dlm stop
|
|
|
35732a |
-systemctl corosync stop
|
|
|
35732a |
-.fi
|
|
|
35732a |
|
|
|
35732a |
.PP
|
|
|
35732a |
+.SH SEE ALSO
|
|
|
35732a |
|
|
|
35732a |
-.B More setup information:
|
|
|
35732a |
-.br
|
|
|
35732a |
-.BR dlm_controld (8),
|
|
|
35732a |
-.br
|
|
|
35732a |
-.BR dlm_tool (8),
|
|
|
35732a |
-.br
|
|
|
35732a |
-.BR dlm.conf (5),
|
|
|
35732a |
-.br
|
|
|
35732a |
-.BR corosync (8),
|
|
|
35732a |
-.br
|
|
|
35732a |
-.BR corosync.conf (5)
|
|
|
35732a |
-.br
|
|
|
35732a |
+\fBmount\fP(8) and \fBumount\fP(8) for general mount information,
|
|
|
35732a |
+\fBchmod\fP(1) and \fBchmod\fP(2) for access permission flags,
|
|
|
35732a |
+\fBacl\fP(5) for access control lists,
|
|
|
35732a |
+\fBlvm\fP(8) for volume management,
|
|
|
35732a |
+\fBdlm_controld\fP(8),
|
|
|
35732a |
+\fBdlm_tool\fP(8),
|
|
|
35732a |
+\fBdlm.conf\fP(5),
|
|
|
35732a |
+\fBcorosync\fP(8),
|
|
|
35732a |
+\fBcorosync.conf\fP(5),
|