Despliegue de OpenShift Data Foundation en clústeres clásicos

OpenShift Data Foundation es una solución de almacenamiento altamente disponible que puede utilizar para gestionar el almacenamiento persistente para las cargas de trabajo contenerizadas en clústeres de Red Hat® OpenShift® on IBM Cloud®.

La instalación de OpenShift Data Foundation desde OperatorHub no está soportada en clústeres IBM Cloud. Para instalar ODF, siga los pasos siguientes para desplegar el complemento de clúster.

Planificación de la configuración

Antes de instalar ODF en el clúster, debe asegurarse de que se cumplen las siguientes condiciones de requisito previo:

Para instalar OpenShift Data Foundation en clústeres clásicos, hay que habilitar VRF en la cuenta.

  1. Instale o actualice la CLI de oc
  2. Si no ha habilitado el reenvío de rutas virtuales (VRF) en la cuenta, habilítelo.
    1. Después de haber habilitado VRF, habilite Puntos finales de servicio.
  3. Revise los tipos de nodos trabajadores SDS. En las tablas de cada sección de área metropolitana, los sabores SDS están en las pestañas Metal desnudo y terminan con .ssd.
  4. Cree un clúster clásico con un mínimo de un nodo trabajador por zona en tres zonas. Elija nodos trabajadores de tipo mb4c.32x384.3.8tb.ssd o mb4c.20x64.2x1.9tb.ssd que tengan los discos locales necesarios para ODF.
  5. Prepare su clúster clásico.

Opcional: Configuración de una instancia de servicio de IBM Cloud Object Storage

Si desea configurar IBM Cloud Object Storage como el almacén de copia de seguridad predeterminado en el clúster de almacenamiento, cree una instancia de IBM Cloud Object Storage. A continuación, cree un conjunto de credenciales de HMAC y un secreto de Kubernetes que utilice credenciales de HMAC de Object Storage. Si no especifica credenciales de IBM Cloud Object Storage durante la instalación, el almacén de copia de seguridad predeterminado en el clúster de almacenamiento se crea utilizando las PV del clúster. Puede configurar almacenes de copia de seguridad adicionales después de desplegar ODF, pero no puede cambiar el almacén de copia de seguridad predeterminado.

Acceda al clúster de Red Hat OpenShift.

  1. Cree un espacio de nombres openshift-storage en el clúster. Los pods de controlador se despliegan en este espacio de nombres. Copie el siguiente archivo YAML y guárdelo como os-namespace.yaml en la máquina local.
    apiVersion: v1
    kind: Namespace
    metadata:
      labels:
        openshift.io/cluster-monitoring: "true"
      name: openshift-storage
    
  2. Cree el espacio de nombres openshift-storage utilizando el archivo YAML que ha guardado.
    oc create -f os-namespace.yaml
    
  3. Verifique que se ha creado el espacio de nombres.
    oc get namespaces | grep storage
    
  4. Cree una instancia de servicio de IBM Cloud Object Storage.
    ibmcloud resource service-instance-create noobaa-store cloud-object-storage standard global
    
  5. Cree credenciales de HMAC. Anote las credenciales.
    ibmcloud resource service-key-create cos-cred-rw Writer --instance-name noobaa-store --parameters '{"HMAC": true}'
    
  6. Cree el secreto de Kubernetes denominado ibm-cloud-cos-creds en el espacio de nombres openshift-storage que utiliza las credenciales de HMAC de Object Storage. Cuando ejecute el mandato, especifique el ID de clave de acceso de HMAC de Object Storage y la clave de acceso secreta. Tenga en cuenta que el secreto debe denominarse ibm-cloud-cos-creds.
    oc -n 'openshift-storage' create secret generic 'ibm-cloud-cos-creds' --type=Opaque --from-literal=IBM_COS_ACCESS_KEY_ID=<access_key_id> --from-literal=IBM_COS_SECRET_ACCESS_KEY=<secret_access_key>
    
  7. Verifique que se ha creado el secreto.
    oc get secrets -A | grep cos
    

Opcional: Configuración del cifrado utilizando Hyper Protect Crypto Services

Si desea configurar el cifrado, cree una instancia de Hyper Protect Crypto Services o Key Protect. A continuación, crea una clave raíz y un secreto de Kubernetes que utilice tus credenciales de Hyper Protect Crypto Services o Key Protect.

IBM Cloud está cambiando los servicios de gestión de claves dedicados de Hyper Protect Crypto Services a Key Protect Dedicated.

La clave de API para Hyper Protect Crypto Services o Key Protect debe tener los permisos mínimos necesarios siguientes:
Reader
Reader Plus
Si está utilizando el cifrado a nivel de clúster y el cifrado de clase de almacenamiento, la clave de API debe tener los siguientes permisos necesarios:
Reader
Reader Plus
Writer
  1. Cree una instancia de servicio de Hyper Protect Crypto Services o Key Protect.

  2. Crear clave raíz

  3. Una vez creada la instancia y la clave raíz, anota el nombre de la instancia de Hyper Protect Crypto Services o Key Protect, el ID de la instancia, el ID de la clave raíz y el punto de conexión público.

  4. Cree un ID de servicio, clave de API y política de acceso que permita el acceso a Hyper Protect Crypto Services y Red Hat OpenShift on IBM Cloud o Key Protect y Red Hat OpenShift on IBM Cloud. Anote la API que ha creado.

Acceda al clúster de Red Hat OpenShift.

  1. Liste los espacios de nombres para determinar si tiene un espacio de nombres de openshift-storage. Si no tiene un espacio de nombres de openshift-storage, créelo.
    oc get namespaces | grep openshift-storage
    
    1. Cree un espacio de nombres openshift-storage en el clúster. Los pods de controlador se despliegan en este espacio de nombres. Copie el siguiente archivo YAML y guárdelo como os-namespace.yaml en la máquina local.
        apiVersion: v1
        kind: Namespace
        metadata:
          labels:
            openshift.io/cluster-monitoring: "true"
          name: openshift-storage
        ```
    1. Cree el espacio de nombres `openshift-storage` utilizando el archivo YAML que ha guardado.
    ```sh {: pre}
        oc create -f os-namespace.yaml
        ```
    1. Verifique que se ha creado el espacio de nombres.
    ```sh {: pre}
        oc get namespaces | grep storage
        ```
    
  2. Codifique el ID de la clave raíz y la clave de API del ID de servicio que ha creado en base64.
    printf "ROOT-KEY-ID" | base64
    
    printf "SERVICE-ID-API-KEY" | base64
    
  3. Cree el secreto de Kubernetes en el espacio de nombres de openshift-storage que utiliza las credenciales de Hyper Protect Crypto Services.
    1. Guarde el siguiente secreto como un archivo YAML llamado ibm-hpcs-secret.yaml.
        apiVersion: v1
        data:
          IBM_KP_CUSTOMER_ROOT_KEY: AaAAAaZAAAAy11AAAyAAkaAaQtAAk0AAA2AzY5AjYaaa67aa # your base64 encoded root key ID
          IBM_KP_SERVICE_API_KEY: AAAaaajAAAAAncmAAaaaaAAAAdAAId1AtVjBJRU1aAAaAeTh1aEw=AaaaA # your base64 encoded API
        kind: Secret
        metadata:
          name: ibm-hpcs-secret
          namespace: openshift-storage
        type: Opaque
        ```
    1. Cree el secreto en el clúster.
    ```sh {: pre}
        oc apply -f ibm-hpcs-secret.yaml
        ```
    
  4. Verifique que se ha creado el secreto.
    oc get secrets -A | grep ibm-hpcs-secret
    

Preparación del clúster para una instalación de OpenShift Data Foundation

Antes de instalar OpenShift Data Foundation, prepare el clúster.

Acceda al clúster de Red Hat OpenShift.

  1. Inicie una sesión en cada nodo trabajador del clúster utilizando el mandato oc debug y complete los pasos siguientes.

    • Inicie la sesión en el nodo trabajador. Sustituye por <worker_node_IP> el nombre de tu nodo de trabajo. Para obtener los nombres de tus nodos de trabajo, ejecuta el comando oc get nodes.
        oc debug node/<node name> -- chroot /host rm -rvf /var/lib/rook /mnt/local-storage
        ```
    - Para cada partición de disco, borre el sistema de archivos de `xfs` en el nodo de trabajador. Si no borra el sistema de archivos, no se crea el OSD.
    ```sh {: pre}
        file -sL /dev/<partition>
        wipefs -a /dev/<partition>
        ```
    - Edite el archivo `/etc/kubernetes/kubelet.conf` y cambie el valor del parámetro `EnableControllerAttachDetach` a `true`.
    ```sh {: pre}
        nano /etc/kubernetes/kubelet.conf
        ```
    - Guarde y salga utilizando `ctrl + X`.
    
    - Reinicie el kubelet.
    ```sh {: pre}
        systemctl restart kubelet
        ```
    - Cierre la sesión del nodo de trabajador.
    ```sh
        exit
        ```
    
    
  2. Repita los pasos anteriores para borrar el sistema de archivos para cada nodo de trabajador que desee utilizar en el despliegue de ODF.

Cómo obtener los detalles del dispositivo

Puede utilizar el descubrimiento de disco automático para buscar los dispositivos disponibles para ODF. Sin embargo, si desea especificar manualmente dispositivos de almacenamiento para ODF, siga estos pasos para recuperar los detalles del dispositivo de almacenamiento.

Antes de instalar ODF, obtenga los detalles de los discos locales en los nodos trabajadores.

  1. Inicie una sesión en el clúster y obtenga una lista de los nodos trabajadores disponibles. Anote los nodos trabajadores que desea utilizar en el despliegue de OCS.

    oc get nodes
    
  2. Inicie sesión en cada nodo trabajador que desee utilizar para el ODF.

    oc debug node/<node-name>
    
  3. Después de desplegar el pod de depuración en el nodo trabajador, ejecute el mandato siguiente para permitir los binarios de host.

    chroot /host
    
  4. Liste los discos disponibles en el nodo trabajador.

    lsblk
    
  5. Revise la salida del mandato para los discos disponibles. Sólo puede utilizar discos no montados para despliegues de ODF como, por ejemplo, discos sdc en el ejemplo siguiente. Tenga en cuenta que la capacidad de almacenamiento inicial del despliegue de ODF es igual al tamaño del disco que especifique como osd-device-path. En este ejemplo, el disco sdc está desmontado y tiene dos particiones disponibles: sdc1 y sdc2.

    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   931G  0 disk
    |-sda1   8:1    0   256M  0 part /boot
    |-sda2   8:2    0     1G  0 part
     -sda3   8:3    0 929.8G  0 part /
    sdb      8:16   0 744.7G  0 disk
     -sdb1   8:17   0 744.7G  0 part /disk1
    sdc      8:32   0 744.7G  0 disk
    |-sdc1   8:33   0  18.6G  0 part
     -sdc2   8:34   0 260.8G  0 part
    
  6. Para cada disco no montado que desea utilizar en el despliegue, busque el ID de disco. En el siguiente ejemplo, el ID para la partición sdc1 es scsi-3600605b00d87b43027b3bc310a64c6c9-part1 y el ID para la partición sdc2 es scsi-3600605b00d87b43027b3bc310a64c6c9-part2.

    ls -l /dev/disk/by-id/
    

    Salida de ejemplo

    total 0
    lrwxrwxrwx. 1 root root  9 Feb  9 04:15 scsi-3600605b00d87b43027b3bbb603150cc6 -> ../../sda
    lrwxrwxrwx. 1 root root 10 Feb  9 04:15 scsi-3600605b00d87b43027b3bbb603150cc6-part1 -> ../../sda1
    lrwxrwxrwx. 1 root root 10 Feb  9 04:15 scsi-3600605b00d87b43027b3bbb603150cc6-part2 -> ../../sda2
    lrwxrwxrwx. 1 root root 10 Feb  9 04:15 scsi-3600605b00d87b43027b3bbb603150cc6-part3 -> ../../sda3
    lrwxrwxrwx. 1 root root  9 Feb  9 04:15 scsi-3600605b00d87b43027b3bbf306bc28a7 -> ../../sdb
    lrwxrwxrwx. 1 root root 10 Feb  9 04:15 scsi-3600605b00d87b43027b3bbf306bc28a7-part1 -> ../../sdb1
    lrwxrwxrwx. 1 root root  9 Feb  9 04:17 scsi-3600605b00d87b43027b3bc310a64c6c9 -> ../../sdc
    lrwxrwxrwx. 1 root root 10 Feb 11 03:14 scsi-3600605b00d87b43027b3bc310a64c6c9-part1 -> ../../sdc1
    lrwxrwxrwx. 1 root root 10 Feb 11 03:15 scsi-3600605b00d87b43027b3bc310a64c6c9-part2 -> ../../sdc2
    
  7. Repita los pasos anteriores para cada nodo trabajador que desee utilizar para el despliegue de OpenShift Data Foundation.

  8. Instale ODF en el clúster.

Instalación del complemento desde la CLI

Puedes instalar el complemento utilizando el ibmcloud oc cluster addon enable comando.

Si desea utilizar una instancia de servicio de IBM Cloud Object Storage como almacenamiento de copia de seguridad predeterminado, asegúrese de que ha creado la instancia de servicio y que ha creado el secreto de Kubernetes en el clúster. Cuando crea el CRD de ODF en el clúster, ODF busca un secreto denominado ibm-cloud-cos-creds para configurar el almacén de copia de seguridad predeterminado que utiliza las credenciales de Object Storage HMAC.

  1. Revise la referencia de parámetro. Al habilitar el complemento, puede anular los valores predeterminados especificando la opción --param "key=value" correspondiente para cada parámetro que desee anular.

  2. Antes de habilitar el complemento, revise el registro de cambios para obtener la información de versiones más reciente. Tenga en cuenta que el complemento da soporte a las versiones de clúster n+1. Por ejemplo, puede implementar la versión 4.10.0 del complemento en un clúster OCP 4.9 o 4.11. Si tienes una versión de clúster distinta de la predeterminada, debes especificar la opción --version al habilitar el complemento.

    1. Revise las opciones de complemento para la versión del complemento que desee desplegar.
    ibmcloud oc cluster addon options --addon openshift-data-foundation --version 4.15.0
    

    Para obtener el mejor rendimiento, se recomienda incluir la opción resourceProfile especificada como performance. Esta opción ayuda a obtener niveles de rendimiento mejorados en función de la disponibilidad de recursos durante el despliegue. Para obtener más información sobre la opción « resourceProfile », consulta la sección «Perfiles de rendimiento» en la documentación de ODF de Red Hat OpenShift.

    Observe que las clases de almacenamiento predeterminadas de monStorageClassName y osdStorageClassName son clases de almacenamiento de Block Storage for VPC.

    Ejemplo de opciones adicionales para la versión 4.15.0

    Add-on Options
    Option                            Default Value
    osdStorageClassName               ibmc-vpc-block-metro-10iops-tier
    ocsUpgrade                        false
    billingType                       advanced
    autoDiscoverDevices               false
    hpcsBaseUrl                       <Please provide the KMS Base (public) URL>
    taintNodes                        false
    enableNFS                         false
    resourceProfile                   performance
    useCephRBDAsDefaultStorageClass   false
    clusterEncryption                 false
    hpcsEncryption                    false
    hpcsSecretName                    <Please provide the KMS secret name>
    encryptionInTransit               false
    disableNoobaaLB                   false
    osdSize                           512Gi
    numOfOsd                          1
    ignoreNoobaa                      true
    addSingleReplicaPool              false
    prepareForDisasterRecovery        false
    workerPool                        -
    odfDeploy                         true
    osdDevicePaths                    <Please provide IDs of the disks to be used for OSD pods if using local disks or standard classic cluster>
    workerNodes                       all
    hpcsServiceName                   <Please provide the KMS Service instance name>
    hpcsInstanceId                    <Please provide the KMS Service instance ID>
    hpcsTokenUrl                      <Please provide the KMS token URL>
    
  3. Habilite el complemento openshift-data-foundation. Si solo quieres implementar el complemento ODF, puedes especificar la opción "odfDeploy=false". Si desea anular alguno de los parámetros predeterminados, especifique la opción --param "key=value" correspondiente para cada parámetro que desee anular. Si no desea crear el clúster de almacenamiento cuando habilite el complemento, puede habilitar el complemento primero y, a continuación, crear el clúster de almacenamiento más adelante creando una CRD.

    Comando de ejemplo para habilitar el complemento y descubrir automáticamente volúmenes locales, habilitando el performance opción de perfil de recurso y habilitar el cifrado con Hyper Protect Crypto Services o Key Protect.

    ibmcloud oc cluster addon enable openshift-data-foundation -c CLUSTER_NAME --version VERSION --param "odfDeploy=true"  --param "resourceProfile=performance" --param "osdSize=250" --param "autoDiscoverDevices=true" --param "hpcsTokenUrl=https://iam.cloud.ibm.com/identity/token" --param "hpcsEncryption=true" --param "hpcsBaseUrl=HPCS_INSTANCE_PUBLIC_ENDPOINT" --param "hpcsInstanceId=HPCS_INSTANCE_ID" --param "hpcsServiceName=HPCS_INSTANCE_NAME" --param "hpcsSecretName=HPCS_SECRET_NAME"
    
  4. Verifique que el complemento esté en un estado Ready.

    ibmcloud oc cluster addon ls -c CLUSTER_NAME
    
  5. Verifique que el pod de ibm-ocs-operator-controller-manager-***** se está ejecutando en el espacio de nombres kube-system.

    oc get pods -A | grep ibm-ocs-operator-controller-manager
    
  6. Si ha habilitado el complemento y ha establecido la opción odfDeploy=false, siga los pasos para crear un recurso personalizado ODF.

Instalación del complemento OpenShift Data Foundation desde la consola

Para instalar ODF en el clúster, realice los pasos siguientes.

La versión 4.11 sólo está disponible actualmente para los nuevos clusters. No se puede actualizar una implantación de 4.10 a 4.11. No obstante, puede seguir utilizando la versión de ODF 4.10.

  1. Antes de habilitar el complemento, revise el registro de cambios para obtener la información de versiones más reciente. Tenga en cuenta que el complemento da soporte a las versiones de clúster n+1.
  2. Revise la referencia de parámetro.
  3. Desde la consola, selecciona el clúster en el que deseas instalar el complemento.
  4. En la tarjeta OpenShift Data Foundation, pulse Instalar. Se abrirá el panel Instalar ODF.
  5. En el panel Instalar ODF, especifique los parámetros de configuración que desee usar en el despliegue de ODF.
  6. Seleccione Conceptos básicos o Avanzado como plan de facturación.
  7. Para los clústeres clásicos, seleccione Almacenamiento local para utilizar volúmenes locales en los nodos de trabajador.
  8. Si desea descubrir automáticamente los dispositivos de almacenamiento disponibles en los nodos de trabajador y utilizarlos en ODF, seleccione Descubrimiento de disco local.
  9. Si desea especificar manualmente los dispositivos de almacenamiento en los nodos de trabajador que desea utilizar en ODF, especifique una lista separada por comas de los ID de disco que desee utilizar. Para encontrar estos ID de disco, consulte Recopilación de los detalles del dispositivo.
  10. En el campo Nodos de trabajador, especifique los nombres de los nodos de trabajador en los que desea desplegar ODF. Debe especificar al menos 3 nombres de nodo de trabajador. Para encontrar los nombres de nodo, ejecute el mandato oc get nodes en el clúster. Deje este campo en blanco para desplegar ODF en todos los nodos de trabajador. Los nombres de Node deben estar separados por comas sin espacios entre nombres. Por ejemplo: 10.240.0.24,10.240.0.26,10.240.0.25.
  11. En el campo Número de discos de OSD necesarios, especifique el número de discos de OSD (almacenamiento de aplicaciones) que se suministran en cada nodo de trabajador.
  12. Si está volviendo a habilitar el complemento para actualizar la versión del complemento, seleccione la opción Actualizar ODF.
  13. Si desea cifrar los volúmenes utilizados por los pods del sistema ODF, seleccione Habilitar el cifrado de clúster.
  14. Si desea habilitar el cifrado en los volúmenes de OSD (almacenamiento de aplicaciones), seleccione Habilitar el cifrado de volúmenes.
    1. En el campo Nombre de la instancia, introduce el nombre de tu instancia de Hyper Protect Crypto Services o Key Protect. Por ejemplo: Hyper-Protect-Crypto-Services-eugb.
    2. En el campo ID de instancia, introduce el ID de tu instancia de Hyper Protect Crypto Services o Key Protect. Por ejemplo: d11a1a43-aa0a-40a3-aaa9-5aaa63147aaa.
    3. En el campo Nombre del secreto, introduce el nombre del secreto que has creado utilizando tus credenciales de Hyper Protect Crypto Services o Key Protect. Por ejemplo: ibm-hpcs-secret.
    4. En el campo Base URL, introduce el punto final público de tu instancia de Hyper Protect Crypto Services o Key Protect. Por ejemplo: https://api.eu-gb.hs-crypto.cloud.ibm.com:8389.
    5. En el campo URL de señal, escriba https://iam.cloud.ibm.com/identity/token.

Creación del clúster de almacenamiento

Para desplegar ODF en el clúster clásico, puede crear una definición de recurso personalizada para especificar los detalles del dispositivo de almacenamiento.

Si desea utilizar una instancia de servicio de IBM Cloud Object Storage como almacenamiento de copia de seguridad predeterminado, asegúrese de que ha creado la instancia de servicio y que ha creado el secreto de Kubernetes en el clúster. Cuando crea el CRD de ODF en el clúster, ODF busca un secreto denominado ibm-cloud-cos-creds para configurar el almacén de copia de seguridad predeterminado que utiliza las credenciales de Object Storage HMAC.

  1. Cree un recurso personalizado denominado OcsCluster. Guarde y edite la siguiente definición de recurso personalizado para incluir las vías de acceso de dispositivo para los discos locales que ha recuperado anteriormente. Si no especifica el parámetro opcional workerNodes, todos los nodos trabajadores del clúster se utilizan para el despliegue de ODF. Asegúrese de incluir la vía de acceso /dev/disk/by-id/ al especificar los dispositivos de almacenamiento.

    • En cada nodo trabajador que tenga discos en bruto con particiones, hará falta una partición para el OSD y otra para el MON. Una buena práctica, que además maximiza la capacidad de almacenamiento de los discos particionados, consiste en especificar la partición o disco de menor tamaño para el MON y la partición o disco de mayor tamaño para el OSD. Tenga en cuenta que la capacidad de almacenamiento inicial de la configuración ODF es igual al tamaño del disco que se especifica en osd-device-path cuando se crea la configuración.
    • Si los dispositivos no están particionados, hay que especificar un disco en bruto para el MON y otro para el OSD en cada nodo trabajador que se desee usar.

    Recurso personalizado de ejemplo para instalar ODF en todos los nodos de trabajador de un clúster de la versión 4.8 utilizando el descubrimiento de disco automático.

    apiVersion: ocs.ibm.io/v1
    kind: OcsCluster
    metadata:
      name: ocscluster-classic
    spec:
      osdStorageClassName: localblock
      osdSize: "1"
      autoDiscoverDevices: true
    

    Recurso personalizado de ejemplo para instalar ODF en todos los nodos de trabajador de un clúster de la versión 4.8 con discos particionados.

    apiVersion: ocs.ibm.io/v1
    kind: OcsCluster
    metadata:
      name: ocscluster # Kubernetes resource names can't contain capital letters or special characters. Specify a name for your resource that uses only lowercase letters, numbers, `-` or `.`
    spec:
      osdStorageClassName: localblock
      osdSize: "1"
      numOfOsd: 1
      billingType: advanced
      ocsUpgrade: false
      osdDevicePaths:
        - <device-by-id> # Example: /dev/disk/by-id/scsi-0000000a00a00a00000a0aa000a00a0a0-part2
        - <device-by-id> # Example: /dev/disk/by-id/scsi-1111111a11a11a11111a1aa111a11a1a1-part2
        - <device-by-id> # Example: dev/disk/by-id/scsi-2222222a22a22a22222a2aa222a22a2a2-part2
    
  2. Guarde el archivo y cree el recurso personalizado OcsCluster en el clúster.

    oc create -f <ocs_cluster_filename>
    
  3. Verifique que el recurso personalizado OcsCluster está en ejecución.

    oc describe OcsCluster ocscluster
    
  4. Despliegue una aplicación que use ODF

Limitaciones

No puede utilizar tanto el complemento ibmcloud-block-storage-plugin como el complemento ODF al mismo tiempo. Para instalar ODF, primero debe editar el archivo /etc/kubernetes/kubelet.conf y cambiar el valor del parámetro EnableControllerAttachDetach a true que cambia el comportamiento de conexión de volumen predeterminado para el clúster. Esto significa que no puede suministrar volúmenes dinámicamente utilizando las clases de almacenamiento ibmc-block-*. En su lugar, debe crear volúmenes utilizando las clases de almacenamiento ODF.