t221006 (2/3)
From
Fleuger@21:1/5 to
All on Thu Oct 6 19:30:36 2022
[continued from previous message]
Backups should be always be performed on a regular basis and
before modifying any RAID set using these commands.
The following is a list of appleRAID sub-verbs with their
descriptions and individual arguments.
list [-plist | UUID]
Display AppleRAID volumes with current status and
associated member disks. If UUID is specified,
only list the RAID set with that AppleRAID Set
UUID. If -plist is specified, then a property list
will be emitted instead of user-formatted output.
The -plist and UUID arguments may not both be spec-
ified. diskutil listRAID and diskutil checkRAID
are deprecated synonyms for diskutil appleRAID
list.
create mirror | stripe | concat setName format devices ...
Create a new RAID set consisting of multiple disks
and/or RAID sets. setName is used for both the
name of the created RAID volume and the RAID set
itself (as displayed in list). e.g. 'diskutil cre-
ateRAID stripe MyArray JHFS+ disk1 disk2 disk3
disk4'. Ownership of the affected disks is
required. diskutil createRAID is a deprecated syn-
onym for diskutil appleRAID create.
delete raidVolume
Destroy an existing RAID set. If the RAID set is a
mirror with a resizable file system, delete will
attempt to convert each of the member partitions
back into a non-RAID volume while retaining the
contained file system. For concatenated RAID sets
with a resizable file system, delete will attempt
to shrink the file system to fit on the first mem-
ber partition and convert that to a non-RAID vol-
ume. Ownership of the affected disks is required.
diskutil destroyRAID is a deprecated synonym for
diskutil appleRAID delete.
repairMirror raidVolume newDevice
Repair a degraded mirror by adding a "new" disk
given as newDevice to the RAID mirror set whose
exported disk device or set UUID is given as
raidVolume. The new disk must be the same size or
larger than the existing disks in the RAID set.
After running this command, you should manually
remove the old (orphaned, failed) member(s) with
diskutil appleRAID remove. Ownership of the
affected disk is required. diskutil repairMirror
is a deprecated synonym for diskutil appleRAID
repairMirror.
add type newDevice raidVolume
Add a new member or hot spare to an existing RAID
set. Type can be either member or spare. New
disks are added live, the RAID volume does not need
to be unmounted. Mirrored volumes support adding
both members and hot spares, concatenated volumes
only support adding members. When adding to a mir-
rored RAID set, the new disk must be the same size
or larger than the existing disks in the RAID set.
Adding a hot spare to a mirror will enable autore-
building for that mirror. Adding a new member to a
concatenated RAID set appends the member and
expands the RAID volume. Ownership of the affected
disk is required. diskutil addToRAID is a depre-
cated synonym for diskutil appleRAID add.
remove oldDevice raidVolume
Remove a member or spare from an existing RAID set.
Old disks are removed live; the RAID volume does
not need to be unmounted. For missing devices,
oldDevice must be the device's UUID. Online mirror
members with a resizable file system will be con-
verted to non-RAID volumes, spare and offline mem-
bers will be marked free. For concatenated RAID
sets, only the last member can be removed. For
resizable file systems remove will first attempt to
shrink the concatenated RAID set so that the file
system fits on the remaining disks. Ownership of
the affected disk is required. diskutil
removeFromRAID is a deprecated synonym for diskutil
appleRAID remove.
enable mirror | concat device
Convert a non-RAID disk partition containing a
resizable file system (such as JHFS+) into an
unpaired mirror or single disk concatenated RAID
set. Disks that were originally partitioned on Mac
OS X 10.2 Jaguar or earlier or were partitioned to
be Mac OS 9 compatible may not be resizable. Own-
ership of the affected disk is required. diskutil
enableRAID is a deprecated synonym for diskutil
appleRAID enable.
update key value raidVolume
Update the key value parameters of an existing RAID
set. Valid keys are:
+ AutoRebuild - If true, the system
attempts to rebuild degraded mirrored
volumes automatically. When looking for
devices for rebuild, AppleRAID first
looks for hot spares and then degraded
members. Use a value of "1" for true and
"0" for false.
+ SetTimeout - Controls how long the system
waits (in seconds) for a missing device
before degrading a mirrored raid set.
Also controls the amount of time you have
to disconnect all devices from an
unmounted mirror without degrading it.
Ownership of the affected disk is required.
diskutil updateRAID is a deprecated synonym for
diskutil appleRAID update.
coreStorage | cs coreStorageVerb [...]
CoreStorage verbs can be used to create, manipulate and
destroy CoreStorage volumes.
CoreStorage maintains a world of virtual disks, somewhat like
RAID, in which one can easily add or remove imported backing
store disks, as well as exported usable volumes, to or from a
pool (or several pools). This provides the user with flexibil-
ity in allocating their hardware; user or operating system
data can span multiple physical disks seamlessly, for example.
Apple CoreStorage defines four types of objects, instances of
which are uniquely represented by a UUID:
+ Logical Volume Group (LVG)
+ Physical Volume (PV)
+ Logical Volume Family (LVF)
+ Logical Volume (LV)
The Logical Volume Group (LVG) is the top or "pool" level;
zero or more may exist during any OS boot time session.
An LVG imports one or more Physical Volumes (PVs). A PV repre-
sents a device that feeds the LVG storage space; a PV is nor-
mally real media but it can be a disk image or even an
AppleRAID Set. A disk offered to be a PV must be a partition
and the encompassing scheme must be GPT.
An LVG exports zero or more Logical Volume Families (LVFs). An
LVF contains properties which govern and bind together all of
its descendant Logical Volumes (LVs). These properties provide
settings for Full Disk Encryption (FDE) (such as whether the
LVG is encrypted, which users have access, etc) and other ser-
vices. However, at the present time, for new LVF creation,
only zero or one LVF per LVG is supported.
A Logical Volume Family (LVF) exports one or more Logical Vol-
umes (LVs). However, at the present time, only and exactly
one LV per LVF is supported.
A Logical Volume (LV) exports a dev node, upon which a file
system (such as Journaled HFS+) resides.
For more information on specifying device arguments, see the
DEVICES section below.
CoreStorage is not a replacement for backing up your data.
Backups should be always be performed on a regular basis and
before modifying any CoreStorage volumes using these commands.
The following is a list of coreStorage sub-verbs with their
descriptions and individual arguments.
list [-plist | UUID]
Display a tree view of the CoreStorage world for
all current logical volume groups (LVGs) with mem-
ber disks (PVs) and exported volumes (LVFs and
LVs), with properties and status for each level.
If -plist is specified then a property list will be
emitted instead of the formatted tree output; the
UUIDs can be used with the diskutil coreStorage
information verb to get properties for the object
represented by that UUID. If UUID is specified
then an attempt is made to list only that UUID
(whatever type of CoreStorage object it may repre-
sent). The -plist and UUID arguments may not both
be specified.
info | information [-plist] UUID | device
Display properties of the CoreStorage object (LVG,
PV, LVF, or LV) associated with the given CoreStor-
age UUID or disk.
convert device [-stdinpassphrase | -passphrase [passphrase]]
Convert a regular Journaled HFS+ or Case-sensitive
Journaled HFS+ volume (must be on a partition and
within a GPT partitioning scheme) into a CoreStor-
age logical volume.
If -passphrase is specified, the on-disk bytes will
be encrypted. You will be prompted for a new
passphrase interactively, or you can specify the
passphrase on the command line. Alternatively, if
you specify -stdinpassphrase the standard input is
read for the passphrase so that a program could
execute diskutil and send the passphrase through a
pipe without having to expose it as a command-line
parameter.
The volume must be resizable (the above types are)
and also mounted. Conversion is done live and in-
place; targeting the boot volume is supported; as
much of the conversion as possible is done before
an eject or reboot is necessary.
After slightly shrinking the source volume to make
room for CoreStorage data structures at the end,
its partition type is changed to Apple_CoreStorage
and it becomes a CoreStorage Physical Volume. A
new CoreStorage Logical Volume Group is then cre-
ated with this Physical Volume as the backing
store, followed by the creation of a Logical Volume
Family and Logical Volume pair.
At this point, the new CoreStorage PV/LVG/LVF/LV
stack is ready for use, although the "old" mount-
point must first be unmounted; yet it might not be
unmountable. This will occur if the target (now the
PV) is the current boot volume.
Just before exiting, diskutil coreStorage convert
will try to unmount the target disk (which is now
the "old" mount point and the new PV). If success-
ful (target is not the boot disk), the volume now
becomes mounted from the LV. If unsuccessful (tar-
get is the boot disk), a reboot is necessary.
At this point, if no encryption was specified, all
is done. Otherwise, the bytes-on-disk will begin to
be encrypted in-place by CoreStorage automatically
"in the background" while the PV/LVG/LVF/LV stack
continues to be usable. Encryption progress may be
monitored with diskutil coreStorage list.
When encryption is finished, a passphrase will be
required the next time the LV is ejected and re-
attached. If the LV is hosting the boot volume,
this passphrase requirement will thus occur at the
next reboot.
Note that all on-disk data is not secured immedi-
ately; it is a deliberate process of encrypting all
on-disk bytes while the CoreStorage driver keeps
publishing the (usable) LVG/LV.
Ownership of the affected disk is required.
revert device | lvUUID [-stdinpassphrase] | [-passphrase
passphrase] | [-recoverykeychain file]
Convert a CoreStorage logical volume back to its
native type. The volume must have been created by
means of conversion, e.g. with diskutil coreStorage
convert.
If the volume was not created with a passphrase,
then simple ownership of the affected disk is
required; otherwise, a passphrase must be supplied,
either interactively or via one of the parameters
or a keychain file in the same manner as diskutil
coreStorage unlockVolume.
create | createLVG lvgName devices ...
Create a CoreStorage logical volume group. The
disks specified will become the (initial) set of
physical volumes; more than one may be specified.
You can specify partitions (which will be re-typed
to be Apple_CoreStorage) or whole-disks (which will
be partitioned as GPT and will contain an
Apple_CoreStorage partition). The resulting LVG
UUID can then be used with createVolume below. All
existing data on the drive(s) will be lost. Owner-
ship of the affected disk is required.
delete | deleteLVG lvgUUID | lvgName
Delete a CoreStorage logical volume group. All log-
ical volume families with their logical volumes are
removed, the logical volume group is destroyed, and
the now-orphaned physical volumes are erased and
partition-typed as Journaled HFS+.
rename | renameLVG lvgUUID | lvgName newName
Rename a CoreStorage logical volume group. Do not
confuse this name with the LV name or the volume
name of the file system volume on the LV.
createVolume | createLV lvgUUID | lvgName type name size
[-stdinpassphrase | -passphrase [passphrase]]
Export a new logical volume family, with a new log-
ical volume under it, out of a CoreStorage logical
volume group. Type is the file system personality
to initialize on the new logical volume. Valid
types are Journaled HFS+ or Case-sensitive Jour-
naled HFS+ or their aliases. Size is the amount of
space to allocate from the parent LVG. It is given
in the same manner as the triplet description for
the partitionDisk verb, and you can also specify
with % a percentage of the currently remaining
unallocated space in the LVG.
If -passphrase or -stdinpassphrase is specified, in
the same manner as with diskutil coreStorage
convert above, on-disk data will be stored in an
encrypted form as the Logical Volume is filled;
otherwise, the data will remain plain.
deleteVolume | deleteLV lvUUID | device
Remove an exported logical volume (and its logical
volume family as appropriate) from a CoreStorage
logical volume group. Any data on that logical vol-
ume will be lost. This operation will thus result
in an increase in free space in the logical volume
group.
It is assumed that the logical volume is used as a
backing store for a file system; therefore, an
unmount attempt is made which must succeed before
the removal of the logical volume is done.
encryptVolume | encryptLV lvUUID | device [-stdinpassphrase] |
[-passphrase passphrase]
Begin a live background process of encrypting the
on-disk backing bytes of an existing plain
CoreStorage logical volume (LV).
That is, the on-disk bytes that are backing the
user data are all visited, read, and re-written in
an encrypted form; this process can take a long
time (minutes to hours). This process continues
seamlessly across reboots. The logical volume
remains usable at all times. When this command
returns, the operation will be ongoing; you can
check progress with diskutil coreStorage list.
The entire logical volume family (LVF) is affected
since all LVs in an LVF share the same encryption
settings.
Any new user data written while this background
operation is in progress will be in encrypted form.
Specifying -passphrase or -stdinpassphrase or
interactively entering a passphrase is mandatory;
you do so in the same manner as with diskutil
coreStorage convert above.
decryptVolume | decryptLV lvUUID | device [-stdinpassphrase] |
[-passphrase passphrase]
Begin a live background process of decrypting the
on-disk backing bytes of an existing encrypted
CoreStorage logical volume (LV). Bytes are read,
decrypted, and written back to disk in plain form.
The LV must be unlocked before beginning this oper-
ation.
Like as in diskutil coreStorage encryptVolume
above, all on-disk bytes are visited and converted,
the process is seamless across reboots, the logical
volume remains usable at all times, the entire log-
ical volume family (LVF) is affected, any new user
data written will be in plain form, and the opera-
tion will be ongoing when this command returns.
Credentials must be supplied; you can use
-passphrase or -stdinpassphrase or specify that a
recovery keychain file be used, in the same manner
as diskutil coreStorage unlockVolume.
unlockVolume | unlockLV lvUUID [-stdinpassphrase] |
[-passphrase passphrase] | [-recoverykeychain file]
Unlock a logical volume and file system, causing it
to be attached and mounted.
Data is then accessible in plain form to the file
system and applications, while the on-physical-disk
backing bytes remain in encrypted form.
The locked state means that the CoreStorage driver
has not been given authentication information (a
passphrase) to interpret the encrypted bytes on
disk and thus export a dev node. This verb unlocks
a logical volume family (LVF) and its logical vol-
umes (LVs) by providing that authentication; as the
LVs thus appear as dev nodes, any file systems upon
them are automatically mounted.
To "re-lock" the volume, make it offline again by
ejecting it, e.g. with diskutil eject.
Credentials must be supplied. You must either enter
a passphrase interactively, specify one of the
-passphrase or -stdinpassphrase parameters in the
same manner as with diskutil coreStorage convert
above, or specify that a recovery keychain file be
used.
You can specify -recoverykeychain with a path to a
keychain file. The keychain must be unlocked; see
security(1) for more information.
changeVolumePassphrase | passwd lvUUID [-recoverykeychain
file] [-oldpassphrase oldpassphrase]
[-newpassphrase newpassphrase] [-stdinpassphrase]
Change the passphrase of an existing encrypted vol-
ume. It need not be unlocked nor mounted. The
parameters, while variously optional, must be given
in the above order.
You must authenticate either via the -oldpassphrase
parameter, via the -stdinpassphrase parameter (with
newline or eof-terminated data given to stdin), or
via an interactive prompt (if no parameters are
given), in the same manner as diskutil coreStorage
convert above. Alternatively, you can authenticate
by specifying -recoverykeychain with a path to a
keychain file.
A new passphrase must be supplied, again via one of
the three methods above (interactive,
-newpassphrase, or -stdinpassphrase).
If you are supplying both the old and new
passphrases via stdin, they must be separated with
a newline character.
resizeVolume | resizeLV lvUUID | device size
Resize a logical volume (LV). If you shrink an LV,
more space becomes available in its logical volume
group (LVG); if you grow an LV, less space becomes
available. You can check the free space with
diskutil coreStorage list. The file system volume
which resides inside the LV is grown or shrunk as
needed.
You can specify a size of zero (0) to fill up all
remaining space in the parent LVG with the given
LV.
resizeDisk | resizePV pvUUID size [part1Format part1Name
part1Size part2Format part2Name part2Size
part3Format part3Name part3Size ...]
Resize a physical volume (PV). If you shrink a PV,
less space becomes available in its logical volume
group (LVG); if you grow a PV, more space becomes
available. The partition in which the PV resides is
changed to accommodate, and the associated booter
partition, if present, is automatically moved.
Note that you cannot ordinarily grow a PV unless
there is free space in the partition map beyond it;
note also that you cannot ordinarily shrink a PV
unless the LVG has some free space in it (e.g. by
shrinking an overlying LV first).
When decreasing the size (shrinking), new parti-
tions may optionally be created to fill the newly-
freed space. To do this, specify the format, name,
and size parameters in the same manner as the
triplet description for the partitionDisk verb.
You can specify a size of zero (0) to fill up all
remaining space to the next partition or the end of
the partition map, if possible.
resizeStack lvUUID | device [pvUUID] size [part1Format
part1Name part1Size part2Format part2Name part2Size
part3Format part3Name part3Size ...]
Combine the actions of diskutil coreStorage
resizePV and diskutil coreStorage resizeLV in the
correct sequence in order to effect a shrink or a
grow in an entire LVG setup.
This is done by making a change to the size of a
logical volume (LV), after or before which (one of
its) physical volume(s) (PV) also changes its size
accordingly. The (HFS) file system "on top of" the
LV and the disk partition "below" the PV, as well
as the location of the PV's associated booter par-
tition, are automatically adjusted.
When decreasing the size (shrinking), new parti-
tions may optionally be created to fill the newly-
freed space. To do this, specify the format, name,
and size parameters in the same manner as the
triplet description for the partitionDisk verb.
Since an LVG might have one (e.g. Full Disk Encryp-
tion (FDE), aka FileVault), two (e.g. Fusion), or
even three (certain Boot Camp configurations) PVs,
a specific PV must be chosen. You can have this
command choose one for you, or you can specify the
PV UUID directly. If you do not specify a PV, the
one which has previously been marked for this pur-
pose is used; if no mark, a policy algorithm is
applied.
If your new LV size represents a grow of the exist-
ing LV size, then the PV size will take up more
space on disk, thus creating a larger LVG for the
larger LV to live in. If your new LV size repre-
sents a shrink, then the PV size will take up less
space on disk, thus creating a smaller LVG, which
is enough for the smaller LV to live in. The magni-
tude of the size change you specify (which is for
the LV) causes an exact size change in the PV if
you conform to partition rounding (alignment)
restrictions; the corresponding LV change may be
greater because it is under additional alignment
restrictions imposed by CoreStorage and HFS.
The "spilling over" of size change effects from one
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)