Rule file format

When you create rules, you do not define them in the /etc/default/vxassist file. You create the rules in another file and add the path information to /etc/default/vxassist. By default, a rule file is loaded from /etc/default/vxsf_rules. You can override this location in /etc/default/vxassist with the attribute rulefile=/path/rule_file_name. You can also specify additional rule files on the command line.

A rule file uses the following conventions:

Within the rule file, a volume allocation rule has the following format:

volume rule rulename vxassist_attributes

This syntax defines a rule named rulename which is a short-hand for the listed vxassist attributes. Rules can reference other rules using an attribute of rule=rulename[,rulename,...], which adds all the attributes from that rule into the rule currently being defined. The attributes you specify in a rule definition override any conflicting attributes that are in a rule that you specify by reference. You can add a description to a rule with the attribute description=description_text.

The following is a basic rule file. The first rule in the file, base, defines the logtype and persist attributes. The remaining rules in the file - tier0, tier1, and tier2 - reference this rule and also define their own tier-specific attributes. Referencing a rule lets you define attributes in one place and reuse them in other rules.

# Create tier 1 volumes mirrored between disk arrays, tier 0 on SSD, 
# and tier 2 as unmirrored. Always use FMR DCO objects.
volume rule base { logtype=dco persist=yes }
volume rule tier0 { rule=base mediatype:ssd tier=tier0 }
volume rule tier1 { rule=base mirror=enclosure tier=tier1 }
volume rule tier2 { rule=base tier=tier2 }

The following rule file contains a more complex definition which runs across several lines.

volume rule appXdb_storage {
    description="Create storage for the database of Application X"
    rule=base	
    siteconsistent=yes	 
    mirror=enclosure
}

By default, a rule file is loaded from /etc/default/vxsf_rules. You can override this location in /etc/default/vxassist. You can also specify additional rule files on the command line.