块业务
创建存储类
准备存储类配置文件,如本例中的mysc.yaml文件,存储类配置请参考下方示例文件。
执行命令,使用配置文件创建StorageClass。
kubectl apply -f mysc.yaml
执行命令,查看已创建的StorageClass信息。
命令结果示例如下:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
mysc csi.huawei.com Delete Immediate true 8s
块业务存储类配置示例
使用LUN作为存储资源时,且需要格式化文件系统为本地文件系统时,可以参考如下示例。
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: mysc
provisioner: csi.huawei.com
parameters:
backend: lun-181
pool: StoragePool001
volumeType: lun
allocType: thin
fsType: ext4
块业务支持的存储类参数详细说明
表 1 StorageClass配置参数说明
参数 | 说明 | 必选参数 | 默认值 | 纳管卷是否生效 | 备注 |
---|
metadata.name | 自定义的StorageClass对象名称。 | 是 | - | 是 | 以Kubernetes v1.22.1为例,支持数字、小写字母、中划线(-)和点(.)的组合,并且必须以字母数字开头和结尾。 |
provisioner | 制备器名称。 | 是 | csi.huawei.com | 是 | 该字段需要指定为安装华为CSI时设置的驱动名称。 取值和values.yaml文件中driverName一致。 |
reclaimPolicy | 回收策略。支持如下类型: - Delete:自动回收资源。
- Retain:手动回收资源。
| 否 | Delete | 是 | - Delete:删除PV/PVC时会关联删除存储上的资源。
- Retain:删除PV/PVC时不会删除存储上的资源。
|
allowVolumeExpansion | 是否允许卷扩展。参数设置为true 时,使用该StorageClass的PV可以进行扩容操作。 | 否 | false | 是 | 此功能仅可用于扩容PV,不能用于缩容PV。 |
mountOptions | 挂载参数列表,可用于指定主机执行mount命令时-o选项的参数。 | 否 | - | 是 | 常见的mountOptions参数参考表2。 也可自行指定其他挂载参数。 |
parameters.backend | 待创建资源所在的后端名称。如果设置parameters.pool,则必须设置本字段。 | 条件必选 | - | 否 | 如果不设置,华为CSI随机选择一个满足容量要求的后端创建资源。 建议指定后端,确保创建的资源在预期的后端上。 |
parameters.pool | 待创建资源所在的存储资源池名称。 | 否 | - | 否 | 如果不设置,华为CSI会在所选后端上随机选择一个满足容量要求的存储池创建资源。建议指定存储池,确保创建的资源在预期的存储池上。 |
parameters.volumeType | 待创建卷类型。支持如下类型: - lun:存储侧发放的资源是LUN。
- fs:存储侧发放的资源是文件系统。
- dtree:存储侧发放的资源是Dtree类型的卷
| 是 | - | 是 | 此处固定配置为lun。 |
parameters.allocType | 待创建卷的分配类型。支持如下类型: - thin:创建时不会分配所有需要的空间,而是根据使用情况动态分配。
- thick:创建时分配所有需要的空间。
| 否 | thin | 否 | 配置为thin时,创建卷不会立即分配所有需要的空间,而是根据使用情况动态分配。 |
parameters.fsType | 主机文件系统类型。支持类型为: | 否 | ext4 | 否 | 仅当PVC的volumeMode配置为“Filesystem”时生效。 |
parameters.qos | PV在存储侧的LUN/NAS的QoS设置。 配置项值是字典格式的JSON字符串(字符串两边由单引号修饰,字典key由双引号修饰)。如:'{"maxMBPS": 999, "maxIOPS": 999}' | 否 | - | 否 | 支持的QoS配置请参考表3说明。 |
parameters.fsPermission | 挂载到容器内的目录权限。 | 否 | - | 否 | 配置格式参考Linux权限设置,如“777”、“755”等。 |
parameters.disableVerifyCapacity | 是否禁用卷容量校验,禁用后将不校验卷容量是否为扇区大小整数倍。 可选值: - "true": 禁用卷容量校验。
- "false": 开启卷容量校验。
须知:使用Red Hat OpenShift Virtualization对接CSI时,该参数必须设置为"true"。 | 否 | "true" | 是 | OceanStor Pacific SAN的扇区大小为1 MiB。 |
表 2 常用mountOptions参数说明
参数 | 说明 | 必选参数 | 默认值 | 备注 |
---|
mountOptions.discard | 挂载文件系统时自动触发Trim/Discard操作。该操作会通知块设备释放未使用的块。 | 否 | - | 支持xfs、ext4文件系统。 |
表 3 支持的QoS配置
参数名 | 参数描述 | 备注 |
---|
maxMBPS | 最大带宽限制策略。 | 必填。有效值为大于0的整数,单位MB/s。最大值请参考存储设备实际限制,如OceanStor Pacific NAS最大值为1073741824。 |
maxIOPS | 最大IOPS限制策略。 | 必填。有效值为大于0的整数。最大值请参考存储设备实际限制,如OceanStor Pacific NAS最大值为1073741824000。 |