ACS - Automatic Class Selection
Automatic Class Selection (ACS) is a critical component of **DFSMS (Data Facility Storage Management Subsystem)** on z/OS that automates the assignment of storage attributes (Storage Class, Data Class, Management Class, and Storage Group) to datasets. It uses predefined rules, often implemented as **ACS routines**, to ensure that data is placed on appropriate storage based on performance, availability, and management policies.
Key Characteristics
-
- Rule-Based Automation: ACS relies on ACS routines, which are programs (typically written in REXX or ISPF DSL) that contain logic to evaluate dataset attributes and assign the correct storage classes.
- Policy Enforcement: It is the primary mechanism for enforcing DFSMS storage management policies, ensuring that datasets meet predefined service levels and management requirements.
- Dynamic Assignment: ACS routines are invoked during dataset allocation or other storage-related events, dynamically determining and assigning the appropriate
STORCLAS,DATACLAS,MGMTCLAS, andSTORAGEGROUP. - Centralized Control: Provides a centralized way to manage storage attributes across the z/OS enterprise, reducing manual intervention and potential errors.
- Hierarchical Structure: ACS routines can be defined at various levels (e.g., system-wide, for specific SMS groups) to provide flexibility and granularity in policy application.
- Testing and Validation: Includes tools for testing and validating ACS routine logic before deployment to production, ensuring correct policy application.
Use Cases
-
- New Dataset Allocation: Automatically assigns appropriate storage attributes when a new dataset is created, ensuring it meets performance, availability, and retention requirements from inception.
- Application-Specific Storage: Directs datasets belonging to critical applications to high-performance, highly available storage classes, while less critical data might go to more cost-effective tiers.
- Data Migration and Archiving: Applies
Management Classrules to datasets, dictating when they should be migrated to cheaper storage, backed up, or eventually deleted. - Disaster Recovery Planning: Ensures that critical data is placed in specific
Storage Groupsthat are part of a disaster recovery strategy, facilitating quicker recovery. - Standardization: Enforces naming conventions or other dataset characteristics by assigning specific
Data Classesbased on dataset names or other criteria.
Related Concepts
ACS is the engine that drives the implementation of DFSMS policies. It works in conjunction with Storage Classes (SC), Data Classes (DC), and Management Classes (MC), which define the goals and characteristics for data. While JCL can specify STORCLAS, DATACLAS, and MGMTCLAS parameters, ACS routines can override or supplement these specifications, ensuring that corporate storage policies are consistently applied, even if JCL is incomplete or incorrect. It also interacts with Storage Groups (SG) to determine the physical volumes where data resides.
- Thorough Testing: Always test ACS routines rigorously in a non-production environment using the ACS Test facility to validate logic and prevent unintended consequences.
- Clear Documentation: Maintain comprehensive documentation for all ACS routines, including their purpose, logic, and the criteria used for assigning classes, to aid in troubleshooting and future modifications.
- Granular Design: Design ACS routines with sufficient granularity to address diverse application requirements, but avoid excessive complexity that can make maintenance difficult.
- Robust Default Handling: Implement robust default assignments within ACS routines to ensure that all datasets receive appropriate classes, even if they don't explicitly match a specific rule.
- Regular Review and Updates: Periodically review and update ACS routines to reflect changes in business requirements, application landscapes, and available storage technologies.
- Performance Monitoring: Monitor the impact of ACS assignments on storage performance and utilization, making adjustments as needed to optimize resource usage.