Storage pool naming rules and conventions.
A storage pool label may be one of the following types:
- A base name, which is the name that the storage pool or file system was given when it was created. All copies of a storage pool have the same base name. All copies of a file system have the same base name unless you decide to rename one or more copies. Storage pool labels are not case sensitive, but they do preserve case (labels will be kept as entered, in any combination of upper and lower case characters). Also, storage pool labels may not contain spaces or any of the following special characters:
- Double quote (")
- Single quote (')
- Ampersand (&)
- Asterisk (*)
- Slash (/)
- Backslash (\)
- Colon (:)
- Semicolon (;)
- Greater than (>)
- Less than (<)
- Question mark (?)
- Vertical bar/pipe (|)
Guidelines for choosing a good storage pool label include:- The label should reflect the contents of the storage pool. Reasonably short, but distinctive and descriptive labels will help to guard against mistakes.
- Storage pool labels should be unique across the entire site, not just on the local cluster. If you move storage between servers or clusters, duplicate names will cause needless difficulty. Also, generic labels such as 'SAS_POOL_0' are best avoided, because they are not mnemonic and they are more likely to be duplicated among the clusters at a site. See the man page or the Command Line Reference for the storage- based-snapshot-label command for an explanation of rules and the various name types and interactions.
- A storage pool label should not be the same as a file system label.
- The storage pool label should not resemble a device ID (it should not be just a sequence of 1-4 digits).
- A snapshot name (or snap name), which identifies a single copy of the data. When you place a storage pool into snapshot mode, and every time you add a new snapshot, you specify a new snap name. Every snapshot of a given storage pool must have a unique snap name, although snapshots of different storage pools may have the same snapshot name.
Note: A snapshot name follows the same rules for special characters as a storage pool or filesystem base name, but snap name also cannot contain a dash (-).
- An instance name, which is automatically constructed from the base name and the snapshot name, if snapshots are used. The instance name identifies a single copy of a storage pool or file system.
For example, if a storage pool labelled 'Accounts' has a snapshot called 'Wednesday', the instance name of this snapshot is 'Accounts-Wednesday'. If the storage pool has a file system called 'External' then the instance name of this snapshot of the filesystem is 'External-Wednesday'. Most storage pool commands and file system commands expect instance names.
Note: When the server creates or loads a file system, file system details are stored in the server's registry, where they can be displayed by the
filesystem-list-stored command. The server compares these labels as follows:
- Case-insensitive: a storage pool called 'AAA' cannot be loaded at the same time as a storage pool or file system called 'aaa'.
- Objects of the same type. For example, you cannot have two file systems with the same name, even if they are in different storage pools.
- Objects of different types. For example, if you have snapshotted storage pools with instance names 'Accounts-Main' and 'Accounts-DataMine', you cannot then create a new unsnapshotted storage pool or a file system with a label of Accounts'.
When labelling a storage pool, no storage pool may have the same "base name" or "instance name" as the base or instance name of any other loaded storage pool or file system.