Storage class is the abstraction of underlying storage by Kubernetes. The storage class must be specified while provisioning the pods for each of the volumes. PowerFlex CSI driver performs the persistent volume claim for all the pods by mounting them to the PowerFlex based storage volumes.
Each SQL MI has data, log, and backup persistent volumes (PV). The storage class for each of these persistent volumes must be specified at the time of SQL MI deployment. The parameters that are listed in the following table are used to set the storage classes for each PV.
Table 10. Storage class
Switch | Description | CLI Access Modes |
--storage-class-data | SQL data .mdf files | RWO |
--storage-class-datalogs | SQL log .ldf files | RWO |
--storage-class-backups | SQL Server backup files. Full, Diff, T-log | RWX |
--storage-class-logs | SQL agent, error log, trace files, health logs, and so on | RWO |
Four storage class access modes can be configured to access container persistent storage volumes as listed in the below table. The data, log, and backup storage classes referenced in the scale-up scenario section use RWP and RWX access modes as mentioned in the table 10.
Table 11. Kubernetes access modes
CLI Abbreviation | Description |
RWO | Read Write Once |
ROX | Read Only Many |
RWX | Read Write Many |
RWOP | Read Write Once Pod |
Note: Microsoft recommends using Read Write Many (RWX) capable storage classes for SQL backups for both General Purpose and business critical service tiers. By default, if we do not specify the backup storage class then the data storage class will be used for backups. For more information, see Create an SQL Managed Instance. In the lab data storage class with RWO is used for SQL backup, because PowerFlex OS 3.6 does not support shared file storage.