Operatore di memoria locale - Blocco

Impostare l'archiviazione persistente usando volumi locali per i cluster IBM Cloud Satellite®. È possibile utilizzare i modelli di archiviazione Satellite per creare configurazioni di archiviazione. Quando si assegna una configurazione di memoria ai cluster, i driver di memorizzazione del provider di memoria selezionato vengono installati nel cluster.

Quando crei una configurazione dell'archiviazione blocchi locale, specifichi i percorsi del dispositivo di archiviazione blocchi locale che vuoi rendere disponibile come volumi persistenti nei tuoi cluster. Dopo aver assegnato la configurazione di archiviazione a un cluster, Satellite distribuisce l'operatore di archiviazione locale che monta i dischi locali specificati nella tua configurazione. L'operatore crea ulteriormente i volumi persistenti locali e crea la classe di archiviazione sat-local-block-gold che è possibile utilizzare per creare richieste di volumi persistenti (PVC). Puoi quindi fare riferimento alle tue PVC nei tuoi carichi di lavoro Kubernetes.

Non è possibile assegnare il servizio di archiviazione Satellite ai gruppi di risorse. Tuttavia, se si stanno assegnando altre risorse, come la posizione e il cluster, ai gruppi di risorse, è necessario aggiungere il ruolo di lettore di Satellite e di amministratore dei collegamenti per tutte le risorse dell'account.

Prerequisiti per l'utilizzo dell'archiviazione blocchi locale

Prima di poter creare una configurazione dell'archiviazione blocchi locale, devi identificare i nodi di lavoro nei tuoi cluster che hanno i dischi disponibili richiesti. Quindi, etichettare questi nodi di lavoro in modo tale che i driver di archiviazione locali siano installati solo su questi nodi di lavoro.

  1. Crea un'ubicazione Satellite.

  2. Assicurati che i nodi di lavoro nel tuo cluster che vuoi utilizzare nella tua configurazione di archiviazione abbiano almeno un disco locale disponibile oltre ai dischi richiesti da Satellite. I dischi supplementari devono essere non formattati.

  3. Ottieni i dettagli del dispositivo dei tuoi nodi di lavoro.

  4. Etichettare i nodi di lavoro che hanno un disco disponibile e che si desidera utilizzare nella configurazione. I driver di archiviazione locali sono installati solo sui nodi di lavoro etichettati.

Ottenimento dei dettagli del dispositivo per la configurazione dell'archiviazione blocchi locale

Quando crei la tua configurazione di archiviazione blocchi locale, devi specificare quali dispositivi vuoi utilizzare. I percorsi del dispositivo che richiami nei seguenti passi sono specificati come parametri quando crei la configurazione.

  1. Accedi al cluster e ottieni un elenco di nodi di lavoro disponibili. Prendi nota dei nodi di lavoro che vuoi utilizzare nella configurazione.

    oc get nodes
    
  2. Accedi a ogni nodo di lavoro che vuoi utilizzare per la configurazione dell'archiviazione locale.

    oc debug node/<node-name>
    
  3. Quando il pod di debug viene distribuito sul nodo di lavoro, immetti i seguenti comandi per visualizzare i dischi disponibili sul nodo di lavoro.

    1. Consenti file binari host.
        chroot /host
        ```
    1. Elenca i tuoi dispositivi.
    
    ```sh {: pre}
        lsblk
        ```
    1. Scopri i dettagli dei tuoi dispositivi. Verificare che le periferiche che si desidera utilizzare siano smontate e non formattate.
    
    ```sh {: pre}
        fdisk -l
        ```
    
    
  4. Elenca i dischi di archiviazione blocchi disponibili sul tuo nodo di lavoro. È necessario utilizzare i dischi smontati per la configurazione di archiviazione locale. Nel seguente output di esempio dal comando lsblk, il disco nvme2n1 è smontato e non ha partizioni.

    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    nvme0n1     259:3    0   100G  0 disk
    |-nvme0n1p1 259:4    0     1M  0 part
    `-nvme0n1p2 259:5    0   100G  0 part /
    nvme1n1     259:0    0    20G  0 disk
    nvme2n1     259:1    0    20G  0 disk
    nvme3n1     259:2    0 139.7G  0 disk /var/data
    
  5. Ripeti i passi precedenti per ogni nodo di lavoro che desideri utilizzare per la configurazione dell'archiviazione blocchi locale.

Etichettatura dei tuoi nodi di lavoro quando utilizzi l'archiviazione blocchi locale

Dopo che hai richiamato i percorsi del dispositivo per i dischi che vuoi utilizzare nella tua configurazione, etichetta i nodi di lavoro in cui si trovano i dischi.

  1. Ottieni gli indirizzi IP del nodo di lavoro.

    oc get nodes
    
  2. Etichetta i nodi di lavoro che hai richiamato in precedenza. I driver di archiviazione locali vengono distribuiti sui nodi di lavoro con questa etichetta. È possibile utilizzare l'etichetta storage=local-block nel comando di esempio oppure è possibile creare la propria etichetta nel formato key=value.

    oc label nodes <worker-IP> <worker-IP> <worker-IP> "storage=local-block"
    

    Output di esempio

    node/<worker-IP> labeled
    node/<worker-IP> labeled
    node/<worker-IP> labeled
    
  3. Verifica che l'etichetta sia aggiunta ai nodi di lavoro che vuoi utilizzare. Esegui il seguente comando per visualizzare le etichette sui tuoi nodi di lavoro ed evidenziare l'etichetta che hai aggiunto al passo precedente.

    oc get nodes --show-labels | grep --color=always storage=local-block
    

Creazione e assegnazione di una configurazione nella console

  1. Esaminare il riferimento del parametro.

  2. Dalla console Ubicazioni, selezionare l'ubicazione in cui si desidera creare una configurazione di memoria.

  3. Selezionare Memoria > Crea configurazione memoria

  4. Inserisci un nome per la tua configurazione.

  5. Selezionare il tipo di archiviazione.

  6. Selezionare Versione e fare clic su Avanti

  7. Se il Tipo di archiviazione selezionato accetta parametri personalizzati, immetterli nella scheda Parametri.

  8. Se il Tipo di archiviazione selezionato richiede segreti, immetterli nella scheda Segreti.

  9. Sulla scheda Classi di archiviazione, esaminare le classi di memoria distribuite dalla configurazione o creare una classe di memoria personalizzata.

  10. Nella scheda Assegna al servizio, selezionare il servizio a cui si desidera assegnare la configurazione.

  11. Fare clic su Completa per assegnare la configurazione di archiviazione.

Creazione di una configurazione nella CLI

  1. Esaminare il riferimento parametro per la versione del template che si desidera utilizzare.

  2. Accedi alla CLI IBM Cloud.

    ibmcloud login
    
  3. Elenca le tue ubicazioni Satellite e prendi nota della colonna Managed from.

    ibmcloud sat location ls
    
  4. Specifica la regione Managed from della tua ubicazione Satellite. Ad esempio, per wdc target us-east. Per ulteriori informazioni, vedi RegioniSatellite.

    ibmcloud target -r us-east
    
  5. Se si utilizza un gruppo di risorse diverso da default, destinarlo.

    ibmcloud target -g RESOURCE_GROUP
    
  6. Copiare uno dei seguenti comandi di esempio per la versione del modello che si desidera utilizzare. Per ulteriori informazioni sul comando, consultare ibmcloud sat storage config create nel riferimento al comando .

    Comando di esempio per creare una configurazione della versione 4.9.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.9 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES"  --param "label-key=LABEL-KEY"  --param "label-value=LABEL-VALUE"  --param "devicepath=DEVICEPATH"
    

    Comando di esempio per creare una configurazione della versione 4.10.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.10 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES"  --param "label-key=LABEL-KEY"  --param "label-value=LABEL-VALUE"  --param "devicepath=DEVICEPATH"
    

    Comando di esempio per creare una configurazione della versione 4.11.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.11 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES"  --param "label-key=LABEL-KEY"  --param "label-value=LABEL-VALUE"  --param "devicepath=DEVICEPATH"
    

    Comando di esempio per creare una configurazione di versione 4.12.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.12 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES"  --param "label-key=LABEL-KEY"  --param "label-value=LABEL-VALUE"  --param "devicepath=DEVICEPATH"
    

    Comando di esempio per creare una versione 4.13 di configurazione.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.13 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES"  --param "label-key=LABEL-KEY"  --param "label-value=LABEL-VALUE"  --param "devicepath=DEVICEPATH"
    
  7. Personalizzare il comando in base alle impostazioni che si desidera utilizzare.

  8. Esegui il comando per creare una configurazione.

  9. Verificare che la configurazione sia stata creata.

    ibmcloud sat storage config get --config CONFIG
    

Creazione di una configurazione nell'API

  1. Generare una chiave API, quindi richiedere un token di aggiornamento. Per ulteriori informazioni, consultare la sezione " Generazione di un token IAM di IBM Cloud utilizzando una chiave API ".

  2. Esaminare il riferimento parametro per la versione del template che si desidera utilizzare.

  3. Copiare una delle seguenti richieste di esempio e sostituire le variabili che si desidera utilizzare.

    Richiesta di esempio per creare una configurazione della versione 4.9.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-block\", \"storage-template-version\": \"4.9\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }
    

    Richiesta di esempio per creare una configurazione della versione 4.10.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-block\", \"storage-template-version\": \"4.10\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }
    

    Richiesta di esempio per creare una configurazione della versione 4.11.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-block\", \"storage-template-version\": \"4.11\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }
    

    Richiesta di esempio per creare una configurazione della versione 4.12.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-block\", \"storage-template-version\": \"4.12\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }
    

    Richiesta di esempio per creare una configurazione della versione 4.13.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-block\", \"storage-template-version\": \"4.13\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }
    

Creazione di un'attività nella CLI

  1. Elencare le configurazioni di archiviazione e prendere nota della configurazione di archiviazione che si desidera assegnare ai cluster.

    ibmcloud sat storage config ls
    
  2. Ottieni l'ID del cluster, del gruppo di cluster o del servizio a cui vuoi assegnare l'archiviazione.

    Per assicurarti che il tuo cluster sia registrato in Satellite Config o per creare gruppi, consulta Configurazione dei cluster da utilizzare con il file di configurazione di Satellite.

    Comando di esempio per elencare i gruppi di cluster.

    ibmcloud sat group ls
    

    Comando di esempio per elencare i cluster.

    ibmcloud oc cluster ls --provider satellite
    

    Comando di esempio per elencare i servizi Satellite.

    ibmcloud sat service ls --location LOCATION
    
  3. Assegna la tua configurazione di archiviazione al cluster, gruppo o servizio che hai richiamato in precedenza. Per ulteriori informazioni, consultare il comando ibmcloud sat storage assignment create .

    Comando di esempio per assegnare una configurazione a un gruppo di cluster.

    ibmcloud sat storage assignment create --group GROUP --config CONFIG --name NAME
    

    Comando di esempio per assegnare una configurazione a un cluster.

    ibmcloud sat storage assignment create --cluster CLUSTER --config CONFIG --name NAME
    

    Comando di esempio per assegnare una configurazione a un cluster di servizio.

    ibmcloud sat storage assignment create --service-cluster-id CLUSTER --config CONFIG --name NAME
    
  4. Verifica che il tuo compito sia stato creato.

    ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
    

Creazione di un'assegnazione di memoria nell'API

  1. Copiare una delle seguenti richieste di esempio.

    Richiesta di esempio per assegnare una configurazione a un cluster.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignmentByCluster" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"CLUSTER-ID\", \"controller\": \"LOCATION-ID\", \"name\": \"ASSIGNMENT-NAME\"}"
    

    Richiesta di esempio per assegnare la configurazione a un gruppo di cluster.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"string\", \"groups\": [ \"CLUSTER-GROUP\" ], \"name\": \"ASSIGNMENT-NAME\"}"
    
  2. Sostituire le variabili con i propri dettagli ed eseguire la richiesta.

  3. Verificare che l'assegnazione sia stata creata elencando le assegnazioni.

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignments" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

Aggiornamento manuale delle assegnazioni nella CLI

Aggiornare un'assegnazione per utilizzare l'ultima revisione del modello di memoria.

  1. Elenca le tue assegnazioni di memoria Satellite, prendi nota dell'assegnazione Satellite che vuoi aggiornare.

    ibmcloud sat storage assignment ls
    
  2. Elencare i modelli di memorizzazione Satellite per vedere le ultime versioni disponibili.

    ibmcloud sat storage template ls
    
  3. Aggiorna l'assegnazione Satellite.

    Comando di esempio per aggiornare un'assegnazione.

    ibmcloud sat storage assignment upgrade --assignment ASSIGNMENT
    

Abilitazione degli aggiornamenti patch automatici per le configurazioni e le assegnazioni nella CLI

Puoi utilizzare la CLI sat storage assignment autopatch enable per abilitare gli aggiornamenti patch automatici per le tue assegnazioni. L'abilitazione degli aggiornamenti automatici delle patch applica automaticamente le ultime revisioni del modello di memoria (patch). È comunque necessario applicare manualmente gli aggiornamenti principali.

  1. Elenca le configurazioni di archiviazione Satellite. Prendere nota dell'ID configurazione.

    ibmcloud sat storage assignment ls
    
  2. Eseguire uno dei seguenti comandi di esempio per abilitare gli aggiornamenti automatici delle patch per la configurazione e le assegnazioni associate. Inserisci l'ID di configurazione che hai recuperato nel passaggio precedente.

    Comando di esempio per abilitare gli aggiornamenti automatici delle correzioni per un'assegnazione.

    ibmcloud sat storage assignment autopatch enable --config CONFIG  (--all | --assignment ASSIGNMENT-ID [--assignment ASSIGNMENT-ID])
    

    Comando di esempio per abilitare gli aggiornamenti di patch automatici per tutte le assegnazioni di memoria in una determinata configurazione.

    ibmcloud sat storage assignment autopatch enable --config CONFIG --all
    

    Comando di esempio per disabilitare gli aggiornamenti patch automatici per tutte le assegnazioni in una configurazione specifica.

    ibmcloud sat storage assignment autopatch disable --config CONFIG --all
    

    Comando di esempio per disabilitare gli aggiornamenti patch automatici per una singola assegnazione e una specifica configurazione.

    ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID
    

    Comando di esempio per disattivare gli aggiornamenti automatici delle patch per un'assegnazione multipla e una specifica configurazione.

    ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID --assignment ASSIGNMENT-ID
    

Aggiornamento di configurazione e assegnazioni nell'API

È possibile utilizzare l'API /v2/storage/satellite/updateAssignment per aggiornare le assegnazioni con nuovi cluster o gruppi di cluster. Impostare updateConfigVersion su true per applicare l'aggiornamento della revisione.

  1. Copiare la seguente richiesta di esempio e sostituire le variabili per i gruppi di cluster e le assegnazioni che si desidera aggiornare.

    curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/updateAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"groups\": [ \"CLUSTER-GROUPS\" ], \"name\": \"ASSIGNMENT-NAME\", \"updateConfigVersion\": true, \"uuid\": \"ASSIGNMENT-ID\"}"
    
  2. Eseguire la richiesta.

  3. Ottenere i dettagli dell'assegnazione per verificare l'aggiornamento.

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

Distribuzione di una applicazione che utilizza l'archiviazione blocchi locale

Dopo aver creato una configurazione dell'archiviazione blocchi locale e averla assegnata ai tuoi cluster, puoi creare un'applicazione che utilizza la tua archiviazione blocchi locale.

È possibile associare le PVC a volumi persistenti specifici aggiungendo etichette ai volumi persistenti. Per ulteriori informazioni, consultare la documentazione di Kubernetes relativa ai selettori.

  1. Salvare il seguente file YAML PVC sulla macchina locale denominata local-pvc.yaml.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: local-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      volumeMode: Block
      resources:
      requests:
        storage: 20Gi # Important: Ensure that size of your claim is not larger than the local disk.
      storageClassName: sat-local-block-gold
    
  2. Crea la PVC nel tuo cluster.

    oc create -f local-pvc.yaml
    
  3. Verifica che il tuo PVC sia stato creato. Tenere presente che volumeBindingMode per la classe di archiviazione sat-local-block-gold è waitForFirstConsumer.

    oc get pvc | grep local
    

    Per assicurarti che i tuoi pod siano pianificati per i nodi di lavoro con l'archiviazione o per garantire che le applicazioni che richiedono l'archiviazione non siano precedute da altri pod, puoi specificare nodeAffinity e configurare la priorità dei pod. Per ulteriori informazioni, consultare la documentazione di Kubernetes relativa alla priorità e alla prelazione dei pod e all'impostazione dell'affinità dei nodi.

  4. Distribuisci un pod dell'applicazione che utilizza la tua PVC di archiviazione locale. Salva la seguente applicazione di esempio YAML come file sulla tua macchina locale denominata app.yaml. In questo esempio, la specifica nodeAffinity garantisce che questo pod sia pianificato solo per un nodo di lavoro con l'etichetta specificata.

    apiVersion: v1
    kind: Pod
    metadata:
      name: app
    spec:
      affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: storage # Enter the 'key' of the worker node label created earlier.
              operator: In
              values:
              - local-block # Enter the 'value' of the worker label that you created earlier.
      containers:
        - name: nginx
          image: nginx
          volumeDevices:
            - name: data
              devicePath: "/dev/nvme2n1" # Enter the path to your local device.
      volumes:
        - name: data
          persistentVolumeClaim:
          claimName: local-pvc
    
  5. Crea il pod dell'applicazione nel tuo cluster.

    oc create -f app.yaml
    
  6. Accedi al tuo pod dell'applicazione e verifica che puoi scrivere sul disco locale.

    kubectl exec <pod_name> -it bash
    
  7. Passare alla cartella dev.

    cd dev
    
  8. Esegui il comando ls -lR <device-path> per verificare i dettagli del tuo dispositivo e che il tuo pod dell'applicazione possa disporre delle autorizzazioni di lettura e scrittura per il dispositivo a blocchi che è indicato da brw nell'output del comando.

    ls -lR /dev/nvme2n1
    

    Output di esempio

    brw-rw-rw-. 1 root disk 202, 32 Mar  3 21:24 /dev/nvme2n1
    
  9. Facoltativo Esegui i seguenti comandi per scrivere i dati sul dispositivo a blocchi.

    1. Scrivi "block_data" sul dispositivo di archiviazione locale che hai montato nella tua applicazione. Sostituire <device-path> con il percorso della periferica di archiviazione. Esempio: /dev/nvme2n1.
        kubectl exec <pod_name> -- bash -c "echo "block_data" | dd conv=unblock of=<device-path>"
        ```
    2. Verificare che i dati siano scritti sul dispositivo. Sostituire `<device-path>` con il percorso della periferica di archiviazione. Esempio: `/dev/nvme2n1`.
    
    ```sh {: pre}
        kubectl exec <pod_name> -- bash -c "od -An -c -N 10 <device-path>"
        ```
        Output di esempio
    
        ```sh {: screen}
        b   l   o   c   k   _   d   a   t   a
        ```
    
    
    
  10. Elimina il pod " test ".

    oc delete pod <pod_name>
    

Aggiornamento manuale delle configurazioni nella CLI

Puoi aggiornare le tue configurazioni di archiviazione Satellite per ottenere l'ultima revisione del template di archiviazione nella stessa versione principale.

  1. Elenca le configurazioni di archiviazione Satellite, prendi nota della configurazione Satellite che vuoi aggiornare.

    ibmcloud sat storage config ls
    
  2. Aggiorna la configurazione Satellite. Notare che viene aggiornata solo la configurazione. Se si desidera aggiornare le assegnazioni che utilizzano questa configurazione, è possibile specificare l'opzione --include-assignments oppure aggiornare manualmente ciascuna assegnazione utilizzando il comando assignment update.

    Comando di esempio per aggiornare una configurazione all'ultima revisione.

    ibmcloud sat storage config upgrade --config CONFIG [--include-assignments]
    

    Comando di esempio per aggiornare una configurazione e le sue assegnazioni associate all'ultima revisione.

    ibmcloud sat storage config upgrade --config CONFIG --include-assignments
    

Aggiornamento delle assegnazioni di memoria nella console

Puoi utilizzare la consoleSatellite per applicare gli ultimi aggiornamenti di patch alle tue assegnazioni.

  1. Dalla pagina Ubicazioni della consoleSatellite, seleziona la tua ubicazione.

  2. Fare clic sulla scheda Archiviazione per visualizzare le configurazioni.

  3. Fai clic sulla configurazione che desideri aggiornare.

  4. Fare clic sull'icona Informazioni (i) per applicare l'ultima revisione o patch.

  5. Facoltativo: abilita gli aggiornamenti patch automatici per l'assegnazione della tua archiviazione. L'abilitazione degli aggiornamenti automatici delle patch garantisce che l'assegnazione abbia sempre le correzioni di sicurezza più recenti.

Se si abilitano gli aggiornamenti patch automatici, è comunque necessario applicare manualmente gli aggiornamenti principali.

Rimozione della configurazione dell'archiviazione blocchi locale dal tuo cluster

Se non intendi più utilizzare l'archiviazione blocchi locale nel tuo cluster, puoi annullare l'assegnazione del tuo cluster dalla configurazione dell'archiviazione.

Tenere presente che se si rimuove la configurazione di archiviazione, le risorse dell'operatore di archiviazione locale e la classe di archiviazione sat-local-block-gold vengono quindi disinstallate da tutti i cluster assegnati. Le PVC, i PV e i dati non vengono rimossi. Tuttavia, non potrai accedere ai tuoi dati finché non avrai reinstallato il driver nel tuo cluster.

Rimozione della configurazione dell'archiviazione blocchi locale dalla console

Utilizzare la Console per rimuovere una configurazione di archiviazione.

  1. Dal dashboard di archiviazione Satellite, seleziona la configurazione di archiviazione che vuoi eliminare.
  2. Selezionare Azioni > Elimina
  3. Immettere il nome della configurazione di archiviazione.
  4. Seleziona Delete.

Rimozione della configurazione dell'archiviazione blocchi locale dalla riga comandi

  1. Elenca le risorse nello spazio dei nomi local-storage. Quando si elimina l'assegnazione di memoria, queste risorse vengono rimosse.

    oc get all -n local-storage
    

    Output di esempio

    NAME                                         READY   STATUS    RESTARTS   AGE
    pod/local-disk-local-diskmaker-clvg6         1/1     Running   0          29h
    pod/local-disk-local-diskmaker-kqddq         1/1     Running   0          29h
    pod/local-disk-local-diskmaker-p6z9q         1/1     Running   0          29h
    pod/local-disk-local-provisioner-dw5g7       1/1     Running   0          29h
    pod/local-disk-local-provisioner-hxd9n       1/1     Running   0          29h
    pod/local-disk-local-provisioner-tfg95       1/1     Running   0          29h
    pod/local-storage-operator-df4994656-7826l   1/1     Running   0          29h
    NAME                             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)     AGE
    service/local-storage-operator   ClusterIP   172.21.147.17   <none>        60000/TCP   29h
    NAME                                          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    daemonset.apps/local-disk-local-diskmaker     3         3         3       3            3           <none>          29h
    daemonset.apps/local-disk-local-provisioner   3         3         3       3            3           <none>          29h
    NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/local-storage-operator   1/1     1            1           29h
    NAME                                               DESIRED   CURRENT   READY   AGE
    replicaset.apps/local-storage-operator-df4994656   1         1         1       29h
    
  2. Elenca le assegnazioni di archiviazione e trova quella che hai utilizzato per il cluster.

    ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
    
  3. Rimuovere l'assegnazione. Una volta rimossa l'assegnazione, i pod del driver di archiviazione locale e le classi di archiviazione vengono rimossi da tutti i cluster che facevano parte dell'assegnazione di archiviazione.

    ibmcloud sat storage assignment rm --assignment <assignment_ID>
    
  4. Elenca le risorse nello spazio dei nomi local-storage e verifica che i pod del driver di archiviazione locale siano rimossi.

    oc get all -n local-storage
    

    Output di esempio

    No resources found in local-storage namespace.
    
  5. Elenco delle classi di archiviazione nel tuo cluster e verifica che le classi di archiviazione locali vengano rimosse.

    oc get sc
    
  6. Facoltativo: rimuovere la configurazione di archiviazione.

    1. Elencare le configurazioni di memoria.
        ibmcloud sat storage config ls
        ```
    2. Rimuovere la configurazione della memoria.
    
    ```sh {: pre}
        ibmcloud sat storage config rm --config <config_name>
        ```
    
  7. Elenca le tue PVC e prendi nota del nome della PVC che vuoi rimuovere.

    oc get pvc
    
  8. Rimuovere eventuali pod che attualmente montano il PVC.

    1. Elenca tutti i pod che attualmente montano la PVC che vuoi eliminare. Se non viene restituito alcun pod, non hai alcun pod che attualmente utilizza la tua PVC.
        oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
        ```
        Output di esempio
    
        ```sh {: screen}
        app    sat-local-block-gold
        ```
    
    2. Rimuovi il pod che utilizza la PVC. Se il pod fa parte di una distribuzione, rimuovi la distribuzione.
    
    ```sh {: pre}
        oc delete pod <pod_name>
        ```
        ```sh {: pre}
        oc delete deployment <deployment-name>
        ```
    3. Verifica che il pod o la distribuzione siano rimossi.
    
    ```sh {: pre}
        oc get pods
        ```
        ```sh {: pre}
        oc get deployments
        ```
    
  9. Elimina la PVC. Poiché tutte le classi di archiviazione blocchi locali fornite da IBMsono specificate con una politica di recupero Retain, il PV e la PVC non vengono automaticamente eliminati quando elimini la tua applicazione o distribuzione.

    oc delete pvc <pvc-name>
    
  10. Verifica che il PVC sia stato rimosso.

    oc get pvc
    
  11. Elenca i tuoi PV e prendi nota del nome dei PV che vuoi rimuovere.

    oc get pv
    
  12. Eliminare i PV. L'eliminazione dei tuoi PV renderà i dischi disponibili per altri workload.

    oc delete pv <pv-name>
    
  13. Verifica che il PV sia stato rimosso.

    oc get pv
    

Riferimento parametro

Riferimento ai parametri 4.9

Tabella 1. Riferimento dei parametri di 4.9
Nome di visualizzazione opzione CLI Immettere Descrizione Valore predefinito
Rilevamento volume di archiviazione automatico auto-discover-devices Config Impostare su 'true' se si desidera rilevare e utilizzare automaticamente i volumi di archiviazione sui nodi di lavoro. false
Chiave etichetta nodo label-key Config La parte 'key' dell'etichetta 'key=value' del nodo di lavoro. N/D
Valore chiave etichetta nodo label-value Config La parte 'value' dell'etichetta 'key=value' del nodo di lavoro. N/D
Percorso dispositivo devicepath Config Il percorso del dispositivo di memorizzazione locale. Esempio: '/dev/sdc'. Obbligatorio quando 'auto-discover-devices' è impostato su 'false'. N/D

Riferimento al parametro 4.10

Tabella 2. Riferimento del parametro 4.10
Nome di visualizzazione opzione CLI Immettere Descrizione Valore predefinito
Rilevamento volume di archiviazione automatico auto-discover-devices Config Impostare su 'true' se si desidera rilevare e utilizzare automaticamente i volumi di archiviazione sui nodi di lavoro. false
Chiave etichetta nodo label-key Config La parte 'key' dell'etichetta 'key=value' del nodo di lavoro. N/D
Valore chiave etichetta nodo label-value Config La parte 'value' dell'etichetta 'key=value' del nodo di lavoro. N/D
Percorso dispositivo devicepath Config Il percorso del dispositivo di memorizzazione locale. Esempio: '/dev/sdc'. Obbligatorio quando 'auto-discover-devices' è impostato su false. N/D

Riferimento ai parametri 4.11

Tabella 3. Riferimento del parametro 4.11
Nome di visualizzazione opzione CLI Immettere Descrizione Valore predefinito
Rilevamento volume di archiviazione automatico auto-discover-devices Config Impostare su 'true' se si desidera rilevare e utilizzare automaticamente i volumi di archiviazione sui nodi di lavoro. false
Chiave etichetta nodo label-key Config La parte 'key' dell'etichetta 'key=value' del nodo di lavoro. N/D
Valore chiave etichetta nodo label-value Config La parte 'value' dell'etichetta 'key=value' del nodo di lavoro. N/D
Percorso dispositivo devicepath Config Il percorso del dispositivo di memorizzazione locale. Esempio: '/dev/sdc'. Obbligatorio quando 'auto-discover-devices' è impostato su false. N/D

Riferimento al parametro 4.12

Tabella 4. Riferimento del parametro 4.12
Nome di visualizzazione opzione CLI Immettere Descrizione Valore predefinito
Rilevamento volume di archiviazione automatico auto-discover-devices Config Impostare su 'true' se si desidera rilevare e utilizzare automaticamente i volumi di archiviazione sui nodi di lavoro. false
Chiave etichetta nodo label-key Config La parte 'key' dell'etichetta 'key=value' del nodo di lavoro. N/D
Valore chiave etichetta nodo label-value Config La parte 'value' dell'etichetta 'key=value' del nodo di lavoro. N/D
Percorso dispositivo devicepath Config Il percorso del dispositivo di memorizzazione locale. Esempio: '/dev/sdc'. Obbligatorio quando 'auto-discover-devices' è impostato su false. N/D

Riferimento ai parametri 4.13

Tabella 5. Riferimento del parametro 4.13
Nome di visualizzazione opzione CLI Immettere Descrizione Valore predefinito
Rilevamento volume di archiviazione automatico auto-discover-devices Config Impostare su 'true' se si desidera rilevare e utilizzare automaticamente i volumi di archiviazione sui nodi di lavoro. false
Chiave etichetta nodo label-key Config La parte 'key' dell'etichetta 'key=value' del nodo di lavoro. N/D
Valore chiave etichetta nodo label-value Config La parte 'value' dell'etichetta 'key=value' del nodo di lavoro. N/D
Percorso dispositivo devicepath Config Il percorso del dispositivo di memorizzazione locale. Esempio: '/dev/sdc'. Obbligatorio quando 'auto-discover-devices' è impostato su false. N/D

Riferimento della classe di memoria per l'archiviazione blocchi locale

Esaminare le classi di archiviazione Satellite per l'archiviazione a blocchi locale. È possibile descrivere le classi di memoria nella riga comandi con il comando oc describe sc <storage-class-name>.

Riferimento alla classe di archiviazione locale a blocchi
Nome classe di archiviazione Immettere Politica di riacquisizione
sat-local-block-gold Blocca Conserva

Ottenere assistenza e supporto per lo storage a blocchi locale

  1. Esamina le FAQ nella documentazioneRed Hat OpenShift.
  2. Consultare la documentazione per la risoluzione dei problemi per risolvere i problemi comuni.
  3. Controlla lo stato della piattaforma e delle risorse IBM Cloud andando alla pagina Stato.
  4. Esamina Stack Overflow per vedere se altri utenti hanno riscontrato lo stesso problema. Contrassegna con tag qualsiasi domanda con ibm - cloud, in modo che sia vista dai team di sviluppo IBM Cloud.
  5. Se riscontri un problema con il template Local Storage Operator - Block, puoi aprire un problema in Red Hat Customer Portal.