Amazon EBS e configurazione RAID - Amazon EBS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Amazon EBS e configurazione RAID

Con Amazon EBS, puoi utilizzare qualsiasi configurazione RAID standard disponibile per un server Bare Metal tradizionale, a condizione che la configurazione RAID specifica sia supportata dal sistema operativo dell'istanza in uso. Ciò è dovuto al fatto che RAID viene implementato a livello di software.

I dati dei volumi Amazon EBS vengono replicati tra più server in una zona di disponibilità per impedire la perdita dei dati in caso di errore di uno qualsiasi dei componenti. Questa replica rende i volumi Amazon EBS dieci volte più affidabili rispetto alle unità disco standard in commercio. Per ulteriori informazioni, consulta l'argomento relativo a disponibilità e durabilità Amazon EBS nelle pagine dei dettagli del prodotto Amazon EBS.

Opzioni di configurazione RAID

La creazione di una matrice RAID 0 consente di ottenere un livello superiore di prestazioni per un file system di cui puoi eseguire il provisioning su un singolo volume Amazon EBS. Utilizza RAID 0 quando le prestazioni I/O sono della massima importanza. Con RAID 0, l'I/O è distribuito tra i volumi in uno Stripe. Se aggiungi un volume, ottieni la semplice aggiunta di throughput e IOPS. Tuttavia, tieni presente che le prestazioni dello stripe sono limitate al volume con prestazioni peggiori nel set e che la perdita di un singolo volume nel set comporta una perdita completa di dati per l'array.

Le dimensioni risultanti di una matrice RAID 0 sono date dalla somma delle dimensioni dei volumi al suo interno, mentre la larghezza di banda è data dalla somma delle larghezze di banda dei volumi disponibili al suo interno. Ad esempio, due volumi io1 da 500 GiB con capacità di IOPS allocata da 4.000 IOPS creano ciascuno una matrice RAID 0 da 1.000 GiB con una larghezza di banda pari a 8.000 IOPS e 1.000 MiB/s di velocità di trasmissione effettiva.

Importante

RAID 5 e RAID 6 non sono consigliati per Amazon EBS perché le operazioni di scrittura della parità di queste modalità RAID consumano parte delle operazioni di I/O al secondo (IOPS) disponibili per i volumi. A seconda della configurazione della matrice RAID, queste modalità RAID forniscono il 20-30% di operazioni di IOPS al secondo usabili in meno rispetto a una configurazione RAID 0. I maggiori costi rappresentano inoltre un'altra caratteristica di queste modalità RAID. A parità di dimensioni e velocità dei volumi, una matrice RAID 0 a due volumi può avere prestazioni superiori a quelle di una matrice RAID 6 A 4 volumi che costa il doppio.

Inoltre, RAID 1 non è raccomandato per l'uso con Amazon EBS. RAID 1 richiede più larghezza di banda da Amazon EC2 a Amazon EBS rispetto alle configurazioni non RAID poiché i dati vengono scritti su più volumi simultaneamente. Inoltre, RAID 1 non fornisce alcun miglioramento delle prestazioni di scrittura.

Crea un array RAID 0

Per creare una matrice RAID 0, utilizza la procedura seguente.

Considerazioni
  • Prima di eseguire questa procedura, è necessario decidere le dimensioni dell'array RAID 0 e il numero di IOPS da fornire.

  • Creare volumi con valori di dimensioni e prestazioni IOPS identici per la matrice. Assicurarsi di non creare una matrice che superi la larghezza di banda disponibile dell'istanza EC2.

  • Ti consigliamo di evitare di eseguire l'avvio da un volume RAID. Se uno dei dispositivi si guasta, potrebbe non essere possibile avviare il sistema operativo.

Come creare una matrice RAID 0 su Linux
  1. Creare i volumi Amazon EBS per la matrice. Per ulteriori informazioni, consulta Crea un EBS volume Amazon.

  2. Collegare i volumi Amazon EBS all'istanza in cui si desidera ospitare la matrice. Per ulteriori informazioni, consulta Collega un EBS volume Amazon a un'istanza.

  3. Utilizzare il comando mdadm per creare un dispositivo RAID logico dai volumi Amazon EBS appena collegati. Sostituire il numero di volumi nella matrice definito dall'argomento number_of_volumes e i nomi di dispositivo per ciascun volume nella matrice, ad esempio /dev/xvdf, definiti dall'argomento device_name. È anche possibile sostituire MY_RAID con il nome univoco della matrice.

    Nota

    È possibile elencare i dispositivi presenti nell'istanza mediante il comando lsblk per trovare i nomi dei dispositivi.

    Per creare una matrice RAID 0, emetti il seguente comando (nota l'opzione --level=0 per lo striping della matrice):

    [ec2-user ~]$ sudo mdadm --create --verbose /dev/md0 --level=0 --name=MY_RAID --raid-devices=number_of_volumes device_name1 device_name2
    Suggerimento

    Se ricevi l'errore mdadm: command not found, usa il seguente comando per installare mdadm: sudo yum install mdadm.

  4. Attendere l'inizializzazione e la sincronizzazione della matrice RAID. È possibile tenere traccia dell'avanzamento di queste operazioni con il comando seguente:

    [ec2-user ~]$ sudo cat /proc/mdstat

    Di seguito è riportato un output di esempio:

    Personalities : [raid0] md0 : active raid0 xvdc[1] xvdb[0] 41910272 blocks super 1.2 512k chunks unused devices: <none>

    In generale, è possibile visualizzare informazioni dettagliate sulla matrice RAID con il seguente comando:

    [ec2-user ~]$ sudo mdadm --detail /dev/md0

    Di seguito è riportato un output di esempio:

    /dev/md0: Version : 1.2 Creation Time : Wed May 19 11:12:56 2021 Raid Level : raid0 Array Size : 41910272 (39.97 GiB 42.92 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Wed May 19 11:12:56 2021 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Chunk Size : 512K Consistency Policy : none Name : MY_RAID UUID : 646aa723:db31bbc7:13c43daf:d5c51e0c Events : 0 Number Major Minor RaidDevice State 0 202 16 0 active sync /dev/sdb 1 202 32 1 active sync /dev/sdc
  5. Creare un file system sulla matrice RAID e associare a tale file system un'etichetta da utilizzare quando viene montato in un secondo momento. Ad esempio, per creare un file system ext4 con l'etichetta MY_RAID, eseguire il seguente comando:

    [ec2-user ~]$ sudo mkfs.ext4 -L MY_RAID /dev/md0

    A seconda dei requisiti dell'applicazione o dei limiti del sistema operativo in uso, è possibile utilizzare un tipo di file system diverso, ad esempio ext3 o XFS (consultare la documentazione del file system in uso per informazioni sul comando di creazione del file system corrispondente).

  6. Per garantire il riassemblaggio automatico dell'array RAID all'avvio, creare un file di configurazione contenente le informazioni RAID:

    [ec2-user ~]$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf
    Nota

    Se si utilizza una distribuzione Linux diversa da Amazon Linux, potrebbe essere necessario modificare questo comando. Ad esempio, potresti dover posizionare il file in una posizione diversa, oppure potresti dover aggiungere il parametro --examine. Per ulteriori informazioni, esegui man mdadm.conf sulla tua istanza Linux.

  7. Creare una nuova immagine ramdisk per precaricare correttamente i moduli del dispositivo a blocchi per la nuova configurazione RAID:

    [ec2-user ~]$ sudo dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
  8. Creare un punto di montaggio per la matrice RAID.

    [ec2-user ~]$ sudo mkdir -p /mnt/raid
  9. Montare infine il dispositivo RAID sul punto di montaggio creato:

    [ec2-user ~]$ sudo mount LABEL=MY_RAID /mnt/raid

    A questo punto il dispositivo RAID è pronto all'uso.

  10. (Opzionale) Per montare questo volume Amazon EBS a ogni riavvio del sistema, aggiungere una voce per il dispositivo al file /etc/fstab.

    1. Creare una copia di backup del file /etc/fstab che sarà possibile utilizzare in caso di eliminazione definitiva o cancellazione per errore di questo file durante la sua modifica.

      [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
    2. Aprire il file /etc/fstab utilizzando l'editor di testo preferito (ad esempio nano o vim).

    3. Commentare le righe che iniziano con "UUID=" e alla fine del file aggiungere una nuova riga per il volume RAID in uso utilizzando il formato seguente:

      device_label mount_point file_system_type fs_mntops fs_freq fs_passno

      Gli ultimi tre campi su questa riga fanno riferimento alle opzioni di montaggio del file system, alla frequenza di dumping del file system e all'ordine dei controlli del file system eseguiti in fase di avvio. Se non sai quali dovrebbero essere questi valori, usa i valori riportati nell'esempio seguente (defaults,nofail 0 2). Per ulteriori informazioni sui valori /etc/fstab, consulta la pagina di manuale fstab (inserendo man fstab nella riga di comando). Ad esempio, per montare il file system ext4 sul dispositivo con etichetta MY_RAID nel punto di montaggio /mnt/raid, aggiungere la seguente voce a /etc/fstab.

      Nota

      Se si intende avviare l'istanza senza questo volume collegato (ad esempio, se questo volume si sposta tra istanze diverse), è consigliabile aggiungere l'opzione di montaggio nofail, che consente l'avvio dell'istanza anche in presenza di errori durante il montaggio del volume. Per le distribuzioni derivate Debian, ad esempio Ubuntu, è necessario aggiungere anche l'opzione di montaggio nobootwait.

      LABEL=MY_RAID /mnt/raid ext4 defaults,nofail 0 2
    4. Dopo aver aggiunto una nuova voce a /etc/fstab, è necessario verificarne il corretto funzionamento. Eseguire il comando sudo mount -a per montare tutti i file system in /etc/fstab.

      [ec2-user ~]$ sudo mount -a

      Se il precedente comando non genera un errore, significa che il file /etc/fstab funziona correttamente e che il file system verrà montato automaticamente al successivo avvio. Se invece il comando restituisce errori, esaminare gli errori e cercare di correggere il file /etc/fstab.

      avvertimento

      Gli errori del file /etc/fstab potrebbero rendere non avviabile un sistema. Non arrestare un sistema contenente errori nel file /etc/fstab.

    5. (Opzionale) In caso di dubbi sulle modalità di correzione degli errori del file /etc/fstab, è sempre possibile procedere al ripristino della copia di backup del file /etc/fstab utilizzando il seguente comando.

      [ec2-user ~]$ sudo mv /etc/fstab.orig /etc/fstab
Per creare una matrice RAID 0 su Windows
  1. Creare i volumi Amazon EBS per la matrice. Per ulteriori informazioni, consulta Crea un EBS volume Amazon.

  2. Collegare i volumi Amazon EBS all'istanza in cui si desidera ospitare la matrice. Per ulteriori informazioni, consulta Collega un EBS volume Amazon a un'istanza.

  3. Connettersi all'istanza Windows. Per ulteriori informazioni, consulta Connessione all'istanza Windows.

  4. Aprire un prompt dei comandi e digitare il comando diskpart.

    diskpart Microsoft DiskPart version 6.1.7601 Copyright (C) 1999-2008 Microsoft Corporation. On computer: WIN-BM6QPPL51CO
  5. Al prompt DISKPART visualizzare l'elenco di dischi disponibili utilizzando il seguente comando.

    DISKPART> list disk Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 30 GB 0 B Disk 1 Online 8 GB 0 B Disk 2 Online 8 GB 0 B

    Individuare i dischi che si desidera utilizzare nella matrice e annotare il relativo numero.

  6. Ogni disco che si desidera utilizzare nella matrice deve essere un disco dinamico online non contenente volumi esistenti. Utilizzare le fasi seguenti per convertire i dischi di base in dischi dinamici ed eliminare i volumi esistenti.

    1. Selezionare un disco da utilizzare nella matrice utilizzando il seguente comando e sostituendo n con il numero di disco.

      DISKPART> select disk n Disk n is now the selected disk.
    2. Se il disco selezionato è visualizzato come disco con stato Offline, portarlo online eseguendo il comando online disk.

    3. Se il disco selezionato non è associato a un asterisco nella colonna Dyn nell'output del precedente comando list disk, è necessario convertirlo in un disco dinamico.

      DISKPART> convert dynamic
      Nota

      Se viene visualizzato un errore indicante che il disco è protetto da scrittura, è possibile cancellare il flag di sola lettura con il comando ATTRIBUTE DISK CLEAR READONLY e quindi tentare di nuovo la conversione in disco dinamico.

    4. Utilizzare il comando detail disk per verificare la presenza di volumi esistenti sul disco selezionato.

      DISKPART> detail disk XENSRC PVDISK SCSI Disk Device Disk ID: 2D8BF659 Type : SCSI Status : Online Path : 0 Target : 1 LUN ID : 0 Location Path : PCIROOT(0)#PCI(0300)#SCSI(P00T01L00) Current Read-only State : No Read-only : No Boot Disk : No Pagefile Disk : No Hibernation File Disk : No Crashdump Disk : No Clustered Disk : No Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 2 D NEW VOLUME FAT32 Simple 8189 MB Healthy

      Annotare i numeri di volume sul disco. In questo esempio, il numero di volume è 2. Se non sono presenti volumi, è possibile ignorare questa fase.

    5. (Obbligatorio solo se i volumi sono stati identificati nella fase precedente) Selezionare ed eliminare eventuali volumi esistenti su disco identificati nella fase precedente.

      avvertimento

      In questo modo verranno eliminati definitivamente i dati esistenti sul volume.

      1. Selezionare il volume, sostituendo n con il numero di volume desiderato.

        DISKPART> select volume n Volume n is the selected volume.
      2. Eliminare il volume.

        DISKPART> delete volume DiskPart successfully deleted the volume.
      3. Ripetere queste fasi secondarie per ogni volume da eliminare sul disco selezionato.

    6. Ripetere Passo 6 per ogni disco che si desidera utilizzare nella matrice.

  7. Verificare che i dischi che si desidera utilizzare ora siano dischi dinamici. In questo caso, stiamo usando i dischi 1 e 2 per il volume RAID.

    DISKPART> list disk Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 30 GB 0 B Disk 1 Online 8 GB 0 B * Disk 2 Online 8 GB 0 B *
  8. Creare la matrice RAID. Su Windows, un volume RAID 0 viene definito volume con striping.

    Per creare una matrice di volumi con striping sui dischi 1 e 2, utilizza il seguente comando (nota l'opzione stripe per eseguire lo striping della matrice):

    DISKPART> create volume stripe disk=1,2 DiskPart successfully created the volume.
  9. Verificare il nuovo volume.

    DISKPART> list volume DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 C NTFS Partition 29 GB Healthy System Volume 1 RAW Stripe 15 GB Healthy

    Nota che la colonna Type ora indica che il volume 1 è un volume stripe.

  10. Selezionare e formattare il volume in modo da iniziare a utilizzarlo ora.

    1. Selezionare il volume che si desidera formattare, sostituendo n con il numero di volume desiderato.

      DISKPART> select volume n Volume n is the selected volume.
    2. Formattare il volume.

      Nota

      Per eseguire una formattazione completa, omettere l'opzione quick.

      DISKPART> format quick recommended label="My new volume" 100 percent completed DiskPart successfully formatted the volume.
    3. Assegnare una lettera di unità disponibile al volume.

      DISKPART> assign letter f DiskPart successfully assigned the drive letter or mount point.

    Il nuovo volume è ora pronto per l'uso.

Creazione di snapshot di volumi in una matrice RAID

Per eseguire il backup dei dati dei volumi EBS in una matrice RAID utilizzando gli snapshot, devi assicurarti che gli snapshot siano coerenti. Ciò è necessario perché gli snapshot di questi volumi vengono creati in modo indipendente. Il ripristino di volumi EBS in una matrice RAID utilizzando snapshot non sincronizzati potrebbe compromettere l'integrità della matrice stessa.

Per creare un set coerente di snapshot per la matrice RAID, utilizzare Snapshot a più volumi EBS. Le istantanee a più volumi consentono di scattare point-in-time istantanee coordinate con i dati e coerenti con gli arresti anomali su più volumi EBS collegati a un'istanza EC2. Non è più necessario interrompere l'istanza per coordinare le operazioni tra i volumi in modo da garantire la coerenza, perché gli snapshot vengono generati automaticamente tra più volumi EBS. Per ulteriori informazioni, consulta le fasi per la creazione di snapshot a più volumi in Creazione di snapshot Amazon EBS.