Storage di file persistente per le applicazioni in hosting

Conserva i file delle applicazioni nei riavvio e nelle ridistribuzioni dei container con lo storage di file gestito dal servizio in OCI Generative AI.

Collegare lo storage di file a un'applicazione hosted e specificare un percorso contenitore assoluto in cui il servizio esegue il MOUNT. I file scritti in quel percorso rimangono disponibili per i riavvii e le ridistribuzioni. Utilizza file persistenti per gli artifact del modello, i risultati intermedi, i checkpoint e lo stato dell'applicazione di cui il carico di lavoro ha bisogno in questi eventi.

Ogni applicazione riceve un file system separato, anche quando le applicazioni utilizzano la stessa risorsa di storage gestito. Il riutilizzo di una configurazione di storage non condivide i file tra le applicazioni. Le applicazioni accedono ai propri file tramite il percorso di attivazione configurato.

Importante

Lo storage di file persistente supporta una replica in questa release. Impostare il numero minimo e massimo di repliche dell'applicazione su 1.
  • Un'applicazione può avere un accesso allo storage di file e una risorsa di storage collegata di ogni tipo di storage.
  • Ogni allegato di storage dei file ha una quota fissa di 50 GB (50.000.000.000 di byte).
  • È necessario specificare il percorso di accesso quando si crea l'applicazione. Non è possibile modificarla in seguito.
  • I file scritti al di fuori del percorso di accesso non ottengono persistenza da questo allegato. Usare /tmp per i file temporanei.

Puoi configurare lo storage di file tramite la console o l'API AI generativa. Per il workflow della Console, vedere Memorizzazione.

Selezione di un percorso di accesso

Il percorso di attivazione consigliato è /mnt/persistent/data. È possibile specificare un altro percorso valido, ad esempio /data, /app/storage o /mount. Configurare l'applicazione per leggere e scrivere i file persistenti nel percorso selezionato.

Il percorso deve soddisfare i seguenti requisiti:

  • Utilizzare un percorso assoluto in formato canonico UTF-8, con al massimo 4.096 byte in totale e 255 byte per componente di percorso.
  • Non includere componenti vuoti, componenti . o .., caratteri di controllo o una barra finale.
  • Non utilizzare il percorso root (/) o un percorso che si sovrappone a un'altra attivazione del volume contenitore.
  • Non utilizzare un percorso che si sovrapponga a una directory di sistema riservata o a un'attivazione della piattaforma.

I seguenti percorsi sono riservati:

  • /bin, /boot, /dev, /etc, /lib, /lib64, /proc, /sbin e /sys
  • /run, /tmp e /var/run
  • /usr/bin, /usr/sbin, /usr/lib e /usr/lib64
  • /usr/local/bin, /usr/local/sbin, /usr/local/lib e /usr/local/lib64

Lo storage di file richiede un percorso di accesso esplicito. I percorsi di accesso generati e la configurazione environmentVariableKey non sono supportati per questo tipo di storage.

Creazione dello storage di file con l'API

Assicurarsi di disporre dell'autorizzazione per creare storage gestito e applicazioni hosted. Vedere Autorizzazioni a livello di API per la memorizzazione delle applicazioni e Autorizzazioni per la distribuzione delle applicazioni.

Configurare l'applicazione con il numero minimo e massimo di repliche 1. Lo storage di file persistente supporta una replica in questa release.

Utilizzare l'API del piano di controllo AI generativa per creare una risorsa di storage gestita, quindi fare riferimento alla risorsa nella configurazione di storage dell'applicazione.

  1. Creare la risorsa di storage con CreateHostedApplicationStorage.

    Inviare una richiesta POST a /20231130/hostedApplicationStorages con un corpo della richiesta CreateHostedApplicationStorageDetails. Fornire l'OCID compartimento, un nome visualizzato e FILE_STORAGE come tipo di storage.

    {
      "compartmentId": "<compartment-ocid>",
      "displayName": "application-files",
      "storageType": "FILE_STORAGE"
    }

    È inoltre possibile fornire una descrizione facoltativa, tag definite e tag in formato libero.

  2. Registrare l'OCID della risorsa HostedApplicationStorage creata. Se si utilizza lo storage di file esistente, utilizzare l'OCID della risorsa di storage gestito.
  3. Includere una voce di memorizzazione file in storageConfigs quando si crea l'applicazione ospitata.

    Nella voce StorageConfig, impostare storageId sull'OCID della risorsa di storage gestita e mountPath sul percorso del contenitore selezionato. Omettere environmentVariableKey.

    Il frammento seguente mostra solo la configurazione del collegamento. Includere le altre proprietà obbligatorie per l'operazione di creazione dell'applicazione utilizzata.

    {
      "storageConfigs": [
        {
          "storageId": "<hosted-application-storage-ocid>",
          "mountPath": "/mnt/persistent/data"
        }
      ]
    }

    L'applicazione supporta fino a quattro configurazioni di storage, con un collegamento per tipo di storage. Per ADB, PostgreSQL e storage cache, fornire environmentVariableKey e omettere mountPath.

  4. Controllare il valore restituito dall'applicazione storageConfigs[].fileStorageDetails.mountState prima di utilizzare il mount.

    READY indica che la revisione dell'applicazione attiva può utilizzare il percorso di accesso configurato. Vedere Controllo dello stato dell'allegato.

Controllo dello stato dell'allegato

La voce storageConfigs dell'applicazione include fileStorageDetails con stato allegato. Vedere FileStorageDetails nel riferimento API. Questi campi riportano lo stato gestito dal servizio.

Stato collegamento storage file
CampoDescrizione
mountStateREADY indica che il servizio ha riconciliato l'allegato e che la revisione attiva dell'applicazione può utilizzare il percorso di accesso configurato. Altri valori sono CREATING, NEEDS_ATTENTION, DELETING, DELETED e FAILED. In questi stati, non è possibile ripristinare lo storage locale o un'attivazione NFS diretta.
lifecycleDetailsQuando specificato, descrive un collegamento o un errore di installazione e l'azione che è possibile eseguire.
quotaLimitInGigabytesQuota di allegati fissa di 50 GB.

Controllo dell'uso dello storage

Utilizzare i campi di utilizzo in fileStorageDetails per esaminare il consumo osservato più di recente. I valori di utilizzo sono advisory. Lo storage di file applica la quota assoluta.

Uso archiviazione file
CampoDescrizione
usageStateCURRENT indica un campione corrente. STALE indica un campione più vecchio dell'obiettivo di freschezza del servizio. UNAVAILABLE indica che non è disponibile alcun esempio di utilizzo.
usageInBytesL'uso più recente osservato in byte.
usagePercentageLa percentuale più recente osservata della quota di 50 GB in uso.
timeUsageObservedL'ora dell'osservazione dell'uso, in formato RFC 3339.

I valori di utilizzo e il tempo di osservazione vengono restituiti solo se usageState è CURRENT o STALE. Quando si tratta di UNAVAILABLE, questi campi vengono omessi. I valori mancanti non indicano che non è in uso alcuno storage.