< Previous | Next > | |
Product: Storage Foundation Guides | |
Manual: Storage Foundation 4.1 Intelligent Storage Provisioning Administrator's Guide |
Storage Selection RulesThe following sections describe storage selection rules:
See Compound Rules for details of how to limit the scope of interpretation of rules to the components of an application volume, such as its plexes, columns and logs. Multiple arguments to the confineto, exclude and select storage selection rules can be combined using the operators listed in Storage Selection Rule Operators. If an operator is not specified, ISP uses the default operator for the rule. Note The =, !=, <, <=, > and >= comparative operators can be used with the confineto, exclude and select storage selection rules. However, the operand arguments to the <, <=, > and >= operators must be signed or unsigned integers that are capable of being represented by 64 or fewer bits. If the operands are character strings, real numbers, or are integers longer than 64 bits, the result of the comparison may be incorrect. affinityAn affinity rule expresses attraction between VxVM objects. Objects that conform to this rule share as many attribute values as possible. Note The affinity rule does not take any rule operators. The following example demonstrates the application of affinity rules:
confinetoA confineto rule restricts a VxVM object, such as volume or mirror, to being configured from a specific set of LUNs. The scope of the rule determines the VxVM object for which the restrictions apply. When a confineto rule is used at the top level, it usually applies to the volume. Refer to Compound Rules for details on confining a mirror, column or log to a set of LUNs. Note Expressions involving confineto can use the allof, anyof, eachof, noneof and oneof operators to combine multiple arguments. By default, ISP applies the eachof operator. See Storage Selection Rule Operators for more information. The expression argument of a confineto rule usually consists of one or more LUN attributes that can be specified either with or without an accompanying value. The LUN attributes can be auto-discovered or user-defined. A value that is not quoted is interpreted as the name of a variable whose value is to be determined when a VxVM object is created. The following examples demonstrate the application of confineto rules:
confineto "Room" confineto "Room", "VendorName"="EMC" confineto eachof("Room", "VendorName"="EMC") confineto eachof("VendorName"="EMC", "Room"="Room1") confineto eachof("VendorName"=VENDOR_NAME, "Room"=ROOM_NAME) Note VENDOR_NAME and ROOM_NAME are variables that are defined in a capability. Their values are resolved when you enter values for the capability during the creation of a VxVM object. confineto anyof("Enclosure"="EMC1", "Enclosure"="EMC2") Note When the anyof operator is used, ISP takes storage from the operands in the order that they are specified. In this example, ISP first attempts to select LUNs from the enclosure EMC1, and if this is not possible, it selects LUNs from the enclosure EMC2. If this also is not possible, ISP selects LUNs from both EMC1 and EMC2. confineto oneof("VendorName"="EMC", "VendorName"="Hitachi") Note When the oneof operator is used, ISP takes storage from the operands in the order that they are specified. In this example, ISP first attempts to select EMC LUNs, and if this is not possible, it selects Hitachi LUNs. confineto oneof(eachof("Room"="Room1",noneof("VendorName"="Hitachi")), \ eachof("Room"="Room2", noneof("VendorName"="EMC"))) Note In this example, ISP first attempts to select LUNs from Room1, and if this is not possible, it selects LUNs from Room2. confineto noneof("VendorName"="EMC", "Room"="Room1") Note The noneof operator implies the logical union of its operands. confineto allof("Room"="Room1", "Room"="Room2") Note In the absence of a specified operator, the eachof operator is assumed. confineto oneof("VendorName"="EMC", noneof("VendorName"="EMC")) confineto eachof("Columns">"1", "Parity"="0")) excludeAn exclude rule omits a set of LUNs from being allocated to a VxVM object. Note Expressions involving exclude can only use the allof and eachof operators to combine multiple arguments. By default, ISP applies the allof operator. See Storage Selection Rule Operators for more information. The following examples demonstrate the application of exclude rules:
exclude "VendorName"="EMC", "VendorName"="Hitachi" exclude allof("VendorName"="EMC", "VendorName"="Hitachi") exclude eachof("VendorName"="EMC", "Room"="Room1") exclude "VendorName"=VENDOR_NAME Note VENDOR_NAME is a variable that is defined in a capability. Its value is resolved when the VxVM object is created. exclude allof("DeviceName"="Enclr1_1", "DeviceName"="Enclr1_2") multipathA multipath rule specifies how tolerant a VxVM object is to the failure of a number of specified components. The rule defines how many paths a VxVM object should have available through each component. Note The multipath rule does not take any rule operators. The following examples demonstrate the application of multipath rules:
multipath 2 "Controller" multipath 2 "Controller", 2 "Switch" selectA select rule specifies which storage to use for creating VxVM objects. When used outside of a sub clause, this rule is applied to an entire volume. Note Expressions involving select can use the allof, anyof, eachof, noneof and oneof operators to combine multiple arguments. By default, ISP applies the anyof operator. See Storage Selection Rule Operators for more information. The following examples demonstrate the application of select rules:
select "Room"="Room1", "Room"="Room2" select anyof("Room"="Room1", "Room"="Room2") Note When the anyof operator is used, ISP takes storage from the operands in the order that they are specified. select eachof("VendorName"="EMC", "Room"="Room1") Note Here the eachof operator is used rather than the allof operator. The eachof operator implies the logical intersection of its operands. The allof operator implies the logical union of its operands. select "DeviceName"="Enclr1_1","DeviceName"="Enclr1_2" separatebyA separateby rule is used to describe separation between VxVM objects. This is typically used to define failure domains to provide greater reliability by avoiding a single point of failure. For example, a separateby rule can be used to define that the mirrors of a volume should not share a controller. This makes the volume resilient to the failure of a controller. Note The separateby rule does not take any rule operators. The following examples demonstrate the application of separateby rules:
separateby "Enclosure" separateby "VendorName", "Controller" strong separatebyThe strong separateby rule is a more restrictive form of separateby rule, which does not permit any sharing of attributes for the storage that is assigned to VxVM objects. Note The strong separateby rule does not take any rule operators. The following example demonstrates the application of the strong separateby rule:
|
^ Return to Top | < Previous | Next > |
Product: Storage Foundation Guides | |
Manual: Storage Foundation 4.1 Intelligent Storage Provisioning Administrator's Guide | |
VERITAS Software Corporation
www.veritas.com |