mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
doc: Improve raid-device-mapping documentation.
* doc/guix.texi (Mapped Devices): Move examples into the mapping defvars. Add how to load kernel modules for raid. Add RAID cindex. Change-Id: If2d3f3c48940d2428b36bdd85d31c8288db35f3b Signed-off-by: Ludovic Courtès <ludo@gnu.org> Modified-by: Ludovic Courtès <ludo@gnu.org> Merges: #6512
This commit is contained in:
committed by
Ludovic Courtès
parent
ccce417a6c
commit
f333fb810d
@@ -18968,7 +18968,7 @@ RAID devices are obtained by @dfn{assembling} several other devices, such
|
||||
as hard disks or partitions, into a new one that behaves as one partition.
|
||||
|
||||
Mapped devices are declared using the @code{mapped-device} form,
|
||||
defined as follows; for examples, see below.
|
||||
defined as follows.
|
||||
|
||||
@deftp {Data Type} mapped-device
|
||||
Objects of this type represent device mappings that will be made when
|
||||
@@ -19064,23 +19064,6 @@ options, along with @option{--allow-discards}:
|
||||
@end lisp
|
||||
|
||||
@end table
|
||||
@end defvar
|
||||
|
||||
@defvar raid-device-mapping
|
||||
This defines a RAID device, which is assembled using the @code{mdadm}
|
||||
command from the package with the same name. It requires a Linux kernel
|
||||
module for the appropriate RAID level to be loaded, such as @code{raid456}
|
||||
for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10.
|
||||
@end defvar
|
||||
|
||||
@cindex LVM, logical volume manager
|
||||
@defvar lvm-device-mapping
|
||||
This defines one or more logical volumes for the Linux
|
||||
@uref{https://www.sourceware.org/lvm2/, Logical Volume Manager (LVM)}.
|
||||
The volume group is activated by the @command{vgchange} command from the
|
||||
@code{lvm2} package.
|
||||
@end defvar
|
||||
|
||||
@cindex disk encryption
|
||||
@cindex LUKS
|
||||
The following example specifies a mapping from @file{/dev/sda3} to
|
||||
@@ -19123,6 +19106,23 @@ swap file is encrypted because the entire device is encrypted.
|
||||
@xref{Swap Space}, or @xref{Preparing for Installation,,Disk
|
||||
Partitioning}, for an example.
|
||||
|
||||
|
||||
@end defvar
|
||||
|
||||
@defvar raid-device-mapping
|
||||
@cindex RAID
|
||||
This defines a RAID device, which is assembled using the @code{mdadm}
|
||||
command from the package with the same name. It requires a Linux kernel
|
||||
module for the appropriate RAID level to be loaded, such as @code{raid1} for
|
||||
RAID-1 (mirroring), @code{raid456} for RAID-4, RAID-5 or RAID-6, or
|
||||
@code{raid10} for RAID-10 (@pxref{Initial RAM Disk}).
|
||||
|
||||
For example, RAID-1 (mirroring) support can be added with:
|
||||
|
||||
@lisp
|
||||
(initrd-modules (cons* "raid1" %base-initrd-modules))
|
||||
@end lisp
|
||||
|
||||
A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1}
|
||||
may be declared as follows:
|
||||
|
||||
@@ -19137,7 +19137,22 @@ The @file{/dev/md0} device can then be used as the @code{device} of a
|
||||
@code{file-system} declaration (@pxref{File Systems}).
|
||||
Note that the RAID level need not be given; it is chosen during the
|
||||
initial creation and formatting of the RAID device and is determined
|
||||
automatically later.
|
||||
automatically later, assuming the correct Linux modules have been loaded.
|
||||
|
||||
Not having the right kernel modules loaded might result in an error message
|
||||
like this at boot:
|
||||
|
||||
@example
|
||||
mdadm: failed to RUN_ARRAY /dev/md0: Invalid argument
|
||||
@end example
|
||||
@end defvar
|
||||
|
||||
@cindex LVM, logical volume manager
|
||||
@defvar lvm-device-mapping
|
||||
This defines one or more logical volumes for the Linux
|
||||
@uref{https://www.sourceware.org/lvm2/, Logical Volume Manager (LVM)}.
|
||||
The volume group is activated by the @command{vgchange} command from the
|
||||
@code{lvm2} package.
|
||||
|
||||
LVM logical volumes ``alpha'' and ``beta'' from volume group ``vg0'' can
|
||||
be declared as follows:
|
||||
@@ -19152,6 +19167,7 @@ be declared as follows:
|
||||
Devices @file{/dev/mapper/vg0-alpha} and @file{/dev/mapper/vg0-beta} can
|
||||
then be used as the @code{device} of a @code{file-system} declaration
|
||||
(@pxref{File Systems}).
|
||||
@end defvar
|
||||
|
||||
@node Swap Space
|
||||
@section Swap Space
|
||||
@@ -47267,6 +47283,10 @@ file system, you would write:
|
||||
(initrd-modules (cons "megaraid_sas" %base-initrd-modules)))
|
||||
@end lisp
|
||||
|
||||
Other useful kernel modules include those necessary for a
|
||||
@code{raid-device-mapping}, e.g. @code{raid1}, @code{raid456} and
|
||||
@code{raid10} (@pxref{Mapped Devices}).
|
||||
|
||||
@defvar %base-initrd-modules
|
||||
This is the list of kernel modules included in the initrd by default.
|
||||
@end defvar
|
||||
|
||||
Reference in New Issue
Block a user