首页 > 解决方案 > 如何找到正确的 devicePaths 以用于 Openshift 持久卷的本地存储?

问题描述

我看过为本地存储创建自定义资源的文档:https ://docs.openshift.com/container-platform/4.5/storage/persistent_storage/persistent-storage-local.html#local-volume-cr_persistent-storage-当地的

但不确定如何填充该spec.storageClassDevices.devicePaths字段。

我已经lsblk在我的一个节点中尝试了该命令并得到了以下响应:

sh-4.4# lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
vda                          252:0    0   250G  0 disk 
|-vda1                       252:1    0   384M  0 part /boot
|-vda2                       252:2    0   127M  0 part /boot/efi
|-vda3                       252:3    0     1M  0 part 
`-vda4                       252:4    0 249.5G  0 part 
  `-coreos-luks-root-nocrypt 253:0    0 249.5G  0 dm   /sysroot
vdb                          252:16   0   200G  0 disk 
vdc                          252:32   0   200G  0 disk 

标签: kubernetesopenshiftcloud-storage

解决方案


Linux和其他类 Unix系统上,您的块设备在文件系统中表示为文件,因此每个块设备都有其唯一的路径,与常规文件相同。

lsblk您可以运行命令而不是运行df,该命令将向您显示这些路径,但它只会向您显示已安装的设备。

系统上的所有块设备都以开头,vd因此您可以简单地运行:

ls -l /dev/vd*

将它们全部列出。

所以如果你想挂载你的vdbvdc磁盘,值spec.storageClassDevices.devicePaths将是/dev/vdb/dev/vdc

spec:
  ... 
  storageClassDevices:
    - storageClassName: "local-sc"
      volumeMode: Filesystem 
      fsType: xfs 
      devicePaths: 
        - /dev/vdb 
        - /dev/vdc

推荐阅读