Creare array RAID

Come creare array RAID con mdadm su Ubuntu 22.04

L’utility mdadmpuò essere utilizzata per creare e gestire array di archiviazione utilizzando le funzionalità RAID del software Linux. Gli amministratori hanno una grande flessibilità nel coordinare i propri dispositivi di storage individuali e nel creare dispositivi di storage logici con maggiori prestazioni o caratteristiche di ridondanza.

In questa guida eseguirai diverse configurazioni RAID che possono essere configurate utilizzando un server Ubuntu 22.04.

Per seguire i passaggi di questa guida, avrai bisogno di:

  • Un utente non root con privilegi sudo su un server Ubuntu 22.04.
  • Una conoscenza di base della terminologia e dei concetti RAID. Per saperne di più sul RAID e sul livello RAID adatto a te, leggi l’articolo introduzione alla terminologia e ai concetti.
  • Più dispositivi di archiviazione raw disponibili sul tuo server. Gli esempi in questo tutorial dimostrano come configurare vari tipi di array sul server. Pertanto, avrai bisogno di alcune unità da configurare.
  • A seconda del tipo di array, saranno necessari da due a quattro dispositivi di archiviazione . Non è necessario formattare queste unità prima di seguire questa guida.

Puoi saltare questa sezione per ora se non hai ancora configurato alcun array. Questa guida introdurrà una serie di diversi livelli RAID. Se desideri seguire e completare ogni livello RAID per i tuoi dispositivi, probabilmente vorrai riutilizzare i dispositivi di archiviazione dopo ogni sezione. È possibile fare riferimento a questa sezione specifica Reimpostazione dei dispositivi RAID esistenti per reimpostare i dispositivi di archiviazione prima di testare un nuovo livello RAID.

Inizia trovando gli array attivi nel file /proc/mdstatfile:

cat /proc/mdstat

Output
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid0 sdc[1] sdd[0]
      209584128 blocks super 1.2 512k chunks
            
            unused devices: <none>

Quindi smonta l’array dal filesystem:

sudo umount /dev/md0

Ora termina e rimuovi l’array:

sudo mdadm --stop /dev/md0

Trova i dispositivi utilizzati per costruire l’array con il seguente comando:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Output
NAME     SIZE FSTYPE            TYPE MOUNTPOINT
sda      100G linux_raid_member disk 
sdb      100G linux_raid_member disk 
sdc      100G                   disk 
sdd      100G                   disk 
vda       25G                   disk 
├─vda1  24.9G ext4              part /
├─vda14    4M                   part 
└─vda15  106M vfat              part /boot/efi
vdb      466K iso9660           disk

Dopo aver scoperto i dispositivi utilizzati per creare un array, azzera il loro superblocco per ripristinarli alla normalità

sudo mdadm --zero-superblock /dev/sdc
sudo mdadm --zero-superblock /dev/sdd

Dovresti rimuovere tutti i riferimenti persistenti all’array. Modifica il file /etc/fstabe commenta o rimuovi il riferimento al tuo array:

sudo nano /etc/fstab

. . .
# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0

Inoltre, commenta o rimuovi la definizione dell’array dal file /etc/mdadm/mdadm.conf:

sudo nano /etc/mdadm/mdadm.conf

. . .
# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91

Infine aggiorna ancora il initramfs:

sudo update-initramfs -u

A questo punto dovresti essere pronto per riutilizzare i dispositivi di archiviazione singolarmente o come componenti di un array diverso.

L’array RAID 0 funziona suddividendo i dati in blocchi e distribuendoli sui dischi disponibili. Ciò significa che ogni disco contiene una parte dei dati e che durante il recupero delle informazioni verrà fatto riferimento a più dischi.

  • Requisiti: minimo 2 dispositivi di archiviazione
  • Vantaggio principale: prestazioni
  • Cose da tenere a mente: assicurati di disporre di backup funzionali. Un singolo guasto del dispositivo distruggerà tutti i dati nell’array.

Identificare i dispositivi

Per iniziare, trova gli identificatori per i dischi raw che utilizzerai:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Output
NAME     SIZE FSTYPE   TYPE MOUNTPOINT
sda      100G          disk
sdb      100G          disk
vda       25G          disk 
├─vda1  24.9G ext4     part /
├─vda14    4M          part 
└─vda15  106M vfat     part /boot/efi
vdb      466K iso9660  disk 

In questo esempio, hai due dischi senza filesystem, ciascuno di 100 GB. A questi dispositivi sono stati assegnati gli identificatori /dev/sdaE /dev/sdb per questa sessione e saranno i componenti raw utilizzati per costruire l’array.

Creazione dell’array

Per creare un array RAID 0 con questi componenti, passali al comando mdadm --create. Dovrai specificare il nome del dispositivo che desideri creare, il livello RAID e il numero di dispositivi. In questo esempio di comando, nominerai il dispositivo /dev/md0 e includerai i due dischi che costruiranno l’array:

sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb

Conferma che il RAID è stato creato correttamente controllando il file /proc/mdstat:

cat /proc/mdstat

Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid0 sdb[1] sda[0]
      209584128 blocks super 1.2 512k chunks
            
            unused devices: <none>

Questo output rivela che il dispositivo /dev/md0 è stato creato nella configurazione RAID 0 utilizzando i dispositivi /dev/sda e /dev/sdb.

Creazione e montaggio del filesystem

Successivamente, crea un filesystem sull’array:

sudo mkfs.ext4 -F /dev/md0

Quindi, crea un punto di montaggio per collegare il nuovo filesystem:

sudo mkdir -p /mnt/md0

Puoi montare il filesystem con il seguente comando:

sudo mount /dev/md0 /mnt/md0

Successivamente, controlla se il nuovo spazio è disponibile:

df -h -x devtmpfs -x tmpfs

Output
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G  1.4G   23G   6% /
/dev/vda15      105M  3.4M  102M   4% /boot/efi
/dev/md0        196G   61M  186G   1% /mnt/md0

Il nuovo filesystem è ora montato e accessibile.

Salvataggio del layout dell’array

Per assicurarti che l’array venga riassemblato automaticamente all’avvio, dovrai modificare il file /etc/mdadm/mdadm.conf. È possibile eseguire automaticamente la scansione dell’array attivo e aggiungere il file con quanto segue:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Successivamente è possibile aggiornare il file initramfso file system RAM iniziale, in modo che l’array sia disponibile durante il processo di avvio:

sudo update-initramfs -u

Aggiungi le nuove opzioni di montaggio del filesystem al file /etc/fstabper il montaggio automatico all’avvio:

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Il tuo array RAID 0 ora assemblerà e monterà automaticamente ogni avvio.

Ora hai finito con la configurazione del RAID. Se desideri provare un RAID diverso, segui le istruzioni di ripristino all’inizio di questo tutorial per procedere con la creazione di un nuovo tipo di array RAID.

Il tipo di array RAID 1 viene implementato eseguendo il mirroring dei dati su tutti i dischi disponibili. Ogni disco in un array RAID 1 riceve una copia completa dei dati, fornendo ridondanza in caso di guasto del dispositivo.

  • Requisiti: minimo 2 dispositivi di archiviazione .
  • Vantaggio principale: ridondanza tra due dispositivi di archiviazione.
  • Cose da tenere a mente: poiché vengono conservate due copie dei dati, solo la metà dello spazio su disco sarà utilizzabile.

Identificazione dei dispositivi

Per iniziare, trova gli identificatori per i dischi raw che utilizzerai:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Output
NAME     SIZE FSTYPE   TYPE MOUNTPOINT
sda      100G          disk 
sdb      100G          disk 
vda       25G          disk 
├─vda1  24.9G ext4     part /
├─vda14    4M          part 
└─vda15  106M vfat     part /boot/efi
vdb      466K iso9660  disk 

In questo esempio, hai due dischi senza filesystem, ciascuno di 100 GB. A questi dispositivi è stato assegnato gli identificatori /dev/sdaE /dev/sdb per questa sessione e saranno i componenti raw utilizzati per creare l’array.

Creazione dell’array

Per creare un array RAID 1 con questi componenti, passali al comando mdadm --create. Dovrai specificare il nome del dispositivo che desideri creare, il livello RAID e il numero di dispositivi. In questo esempio di comando, nominerai il dispositivo /dev/md0e includerai i dischi che costruiranno l’array:

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

Se i dispositivi che stai utilizzando non sono partizioni con il flagbootabilitato, probabilmente riceverai il seguente avviso. È sicuro rispondere con ye continua:

Output
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 104792064K
Continue creating array? y

Il tool mdadm inizierà a eseguire il mirroring delle unità. Il completamento dell’operazione può richiedere del tempo, ma durante questo periodo è possibile utilizzare l’array. È possibile monitorare l’avanzamento del mirroring controllando il file /proc/mdstat:

cat /proc/mdstat

Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdb[1] sda[0]
      104792064 blocks super 1.2 [2/2] [UU]
      [====>................]  resync = 20.2% (21233216/104792064) finish=6.9min speed=199507K/sec
      
unused devices: <none>

Nella prima riga evidenziata, il dispositivo /dev/md0 è stato creato nella configurazione RAID 1 utilizzando i dispositivi /dev/sdae /dev/sdb. La seconda riga evidenziata rivela lo stato di avanzamento del mirroring. Puoi continuare con il passaggio successivo mentre il processo viene completato.

Creazione e montaggio del filesystem

Successivamente, crea un filesystem sull’array:

sudo mkfs.ext4 -F /dev/md0

Quindi, crea un punto di montaggio per collegare il nuovo filesystem:

sudo mkdir -p /mnt/md0

È possibile montare il filesystem eseguendo quanto segue:

sudo mount /dev/md0 /mnt/md0

Verifica se il nuovo spazio è disponibile:

df -h -x devtmpfs -x tmpfs

Output
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G  1.4G   23G   6% /
/dev/vda15      105M  3.4M  102M   4% /boot/efi
/dev/md0         99G   60M   94G   1% /mnt/md0

Il nuovo filesystem è montato e accessibile.

Salvataggio del layout dell’array

Per assicurarti che l’array venga riassemblato automaticamente all’avvio, devi modificare il file /etc/mdadm/mdadm.conf. È possibile eseguire automaticamente la scansione dell’array attivo e aggiungere il file con quanto segue:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Successivamente è possibile aggiornare il file initramfso file system RAM iniziale, in modo che l’array sia disponibile durante il processo di avvio:

sudo update-initramfs -u

Aggiungi le nuove opzioni di montaggio del filesystem al file /etc/fstab per il montaggio automatico all’avvio:

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

L’array RAID 1 ora assemblerà e monterà automaticamente ogni avvio.

Ora hai finito con la configurazione del RAID. Se desideri provare un RAID diverso, segui le istruzioni di ripristino all’inizio di questo tutorial per procedere con la creazione di un nuovo tipo di array RAID.

Il tipo di array RAID 5 viene implementato eseguendo lo striping dei dati sui dispositivi disponibili. Un componente di ciascun stripe è un blocco di parità calcolato. Se un dispositivo si guasta, il blocco di parità e i blocchi rimanenti possono essere utilizzati per calcolare i dati mancanti. Il dispositivo che riceve il blocco di parità viene ruotato in modo che ciascun dispositivo disponga di una quantità bilanciata di informazioni sulla parità.

  • Requisiti: minimo 3 dispositivi di archiviazione .
  • Vantaggio principale: ridondanza con maggiore capacità utilizzabile.
  • Cose da tenere a mente: mentre le informazioni sulla parità vengono distribuite, per la parità verrà utilizzata la capacità di un disco. RAID 5 può presentare prestazioni molto scarse quando si trova in uno stato degradato.

Identificazione dei dispositivi

Per iniziare, trova gli identificatori per i dischi raw che utilizzerai:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Output
NAME     SIZE FSTYPE   TYPE MOUNTPOINT
sda      100G          disk 
sdb      100G          disk 
sdc      100G          disk 
vda       25G          disk 
├─vda1  24.9G ext4     part /
├─vda14    4M          part 
└─vda15  106M vfat     part /boot/efi
vdb      466K iso9660  disk

Hai tre dischi senza filesystem, ciascuno di 100 GB. A questi dispositivi sono stati assegnato gli identificatori /dev/sda, /dev/sdb e /dev/sdc per questa sessione e saranno i componenti raw utilizzati per creare l’array.

Creazione dell’array

Per creare un array RAID 5 con questi componenti, passali al comando mdadm --create. Dovrai specificare il nome del dispositivo che desideri creare, il livello RAID e il numero di dispositivi. In questo esempio di comando, nominerai il dispositivo /dev/md0e includerai i dischi che costruiranno l’array:

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

Il tool mdadm inizierà a configurare l’array. Utilizza il processo di ripristino per creare l’array per motivi di prestazioni. Il completamento dell’operazione può richiedere del tempo, ma durante questo periodo è possibile utilizzare l’array. È possibile monitorare l’avanzamento del mirroring controllando il file /proc/mdstat:

cat /proc/mdstat

Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sdc[3] sdb[1] sda[0]
      209582080 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [>....................]  recovery =  0.9% (957244/104791040) finish=18.0min speed=95724K/sec
      
unused devices: <none>

Nella prima riga evidenziata, il dispositivo /dev/md0è stato creato nella configurazione RAID 5 utilizzando i dispositivi/dev/sda, /dev/sdbe /dev/sdc. La seconda riga evidenziata mostra l’avanzamento della compilazione.

Avvertenza: a causa del modo in cui mdadm crea gli array RAID 5, mentre l’array è ancora in fase di creazione, il numero di unità di riserva nell’array verrà riportato in modo impreciso. Ciò significa che è necessario attendere il completamento dell’assemblaggio dell’array prima di aggiornare il file /etc/mdadm/mdadm.conf. Se aggiorni il file di configurazione mentre l’array è ancora in fase di creazione, il sistema avrà informazioni errate sullo stato dell’array e non sarà in grado di assemblarlo automaticamente all’avvio con il nome corretto.

Puoi continuare la guida mentre questo processo viene completato.

Creazione e montaggio del filesystem

Successivamente, crea un filesystem sull’array:

sudo mkfs.ext4 -F /dev/md0

Crea un punto di montaggio per collegare il nuovo filesystem:

sudo mkdir -p /mnt/md0

È possibile montare il filesystem con quanto segue:

sudo mount /dev/md0 /mnt/md0

Verifica se il nuovo spazio è disponibile:

df -h -x devtmpfs -x tmpfs

Output
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G  1.4G   23G   6% /
/dev/vda15      105M  3.4M  102M   4% /boot/efi
/dev/md0        197G   60M  187G   1% /mnt/md0

Il nuovo filesystem è montato e accessibile.

Salvataggio del layout dell’array

Per assicurarti che l’array venga riassemblato automaticamente all’avvio, devi modificare il file /etc/mdadm/mdadm.conf.

È possibile monitorare l’avanzamento del mirroring controllando il file /proc/mdstat:

cat /proc/mdstat

Output
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sdc[3] sdb[1] sda[0]
      209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      
unused devices: <none>

Questo output rivela che la ricostruzione è completa. Ora puoi scansionare automaticamente l’array attivo e aggiungere il file:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Successivamente è possibile aggiornare il file initramfso file system RAM iniziale, in modo che l’array sia disponibile durante il processo di avvio:

sudo update-initramfs -u

Aggiungi le nuove opzioni di montaggio del filesystem al file /etc/fstabper il montaggio automatico all’avvio:

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

L’array RAID 5 ora assemblerà e monterà automaticamente ad ogni avvio.

Ora hai finito con la configurazione del RAID. Se desideri provare un RAID diverso, segui le istruzioni di ripristino all’inizio di questo tutorial per procedere con la creazione di un nuovo tipo di array RAID.

Il tipo di array RAID 6 viene implementato eseguendo lo striping dei dati sui dispositivi disponibili. Due componenti di ciascun stripe sono blocchi di parità calcolati. Se uno o due dispositivi si guastano, i blocchi di parità e i blocchi rimanenti possono essere utilizzati per calcolare i dati mancanti. I dispositivi che ricevono i blocchi di parità vengono ruotati in modo che ciascun dispositivo disponga di una quantità bilanciata di informazioni sulla parità. È simile a un array RAID 5, ma consente il guasto di due unità.

  • Requisiti: minimo 4 dispositivi di archiviazione .
  • Vantaggio principale: doppia ridondanza con maggiore capacità utilizzabile.
  • Cose da tenere a mente: mentre le informazioni sulla parità vengono distribuite, per la parità verrà utilizzata la capacità di due dischi. RAID 6 può presentare prestazioni molto scarse quando si trova in uno stato degradato.

Identificazione dei dispositivi

Per iniziare, trova gli identificatori per i dischi raw che utilizzerai:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Output
NAME     SIZE FSTYPE   TYPE MOUNTPOINT
sda      100G          disk 
sdb      100G          disk 
sdc      100G          disk 
sdd      100G          disk 
vda       25G          disk 
├─vda1  24.9G ext4     part /
├─vda14    4M          part 
└─vda15  106M vfat     part /boot/efi
vdb      466K iso9660  disk 

In questo esempio, hai quattro dischi senza filesystem, ciascuno di 100 GB. A questi dispositivi sono stati assegnati gli identificatori /dev/sda, /dev/sdb, /dev/sdc e /dev/sdd per questa sessione e saranno i componenti raw utilizzati per costruire l’array.

Creazione dell’array

Per creare un array RAID 6 con questi componenti, passali al comando mdadm --create. Devi specificare il nome del dispositivo che desideri creare, il livello RAID e il numero di dispositivi. Nel seguente esempio di comando, nominerai il dispositivo /dev/md0e includere i dischi che costruiranno l’array:

sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Il tool mdadm inizierà a configurare l’array. Utilizza il processo di ripristino per creare l’array per motivi di prestazioni. Il completamento dell’operazione può richiedere del tempo, ma durante questo periodo è possibile utilizzare l’array. È possibile monitorare l’avanzamento del mirroring controllando il file /proc/mdstat:

cat /proc/mdstat

Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid6 sdd[3] sdc[2] sdb[1] sda[0]
      209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
      [>....................]  resync =  0.6% (668572/104792064) finish=10.3min speed=167143K/sec
      
unused devices: <none>

Nella prima riga evidenziata, il dispositivo /dev/md0è stato creato nella configurazione RAID 6 utilizzando i dispositivi /dev/sda, /dev/sdb, /dev/sdce /dev/sdd. La seconda riga evidenziata mostra l’avanzamento della creazione. Puoi continuare la guida mentre questo processo viene completato.

Creazione e montaggio del filesystem

Successivamente, crea un filesystem sull’array:

sudo mkfs.ext4 -F /dev/md0

Crea un punto di montaggio per collegare il nuovo filesystem:

sudo mkdir -p /mnt/md0

È possibile montare il filesystem con quanto segue:

sudo mount /dev/md0 /mnt/md0

Verifica se il nuovo spazio è disponibile:

df -h -x devtmpfs -x tmpfs

Output
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G  1.4G   23G   6% /
/dev/vda15      105M  3.4M  102M   4% /boot/efi
/dev/md0        197G   60M  187G   1% /mnt/md0

Il nuovo filesystem è montato e accessibile.

Salvataggio del layout dell’array

Per assicurarti che l’array venga riassemblato automaticamente all’avvio, dovrai modificare il file /etc/mdadm/mdadm.conf. Puoi scansionare automaticamente l’array attivo e aggiungere il file digitando:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Successivamente è possibile aggiornare il file initramfso file system RAM iniziale, in modo che l’array sia disponibile durante il processo di avvio:

sudo update-initramfs -u

Aggiungi le nuove opzioni di montaggio del filesystem al file /etc/fstab per il montaggio automatico all’avvio:

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

L’array RAID 6 ora assemblerà e monterà automaticamente ogni avvio.

Ora hai finito con la configurazione del RAID. Se desideri provare un RAID diverso, segui le istruzioni di ripristino all’inizio di questo tutorial per procedere con la creazione di un nuovo tipo di array RAID.

Il tipo di array RAID 10 viene tradizionalmente implementato creando un array RAID 0 con striping composto da set di array RAID 1. Questo tipo di array annidato offre ridondanza e prestazioni elevate, a scapito di grandi quantità di spazio su disco. L’utility mdadmdispone di un proprio tipo RAID 10 che fornisce lo stesso tipo di vantaggi con maggiore flessibilità. Non viene creato annidando array, ma ha molte delle stesse caratteristiche e garanzie. Utilizzerai il mdadmRAID 10 di sequito.

  • Requisiti: minimo 3 dispositivi di archiviazione .
  • Vantaggio principale: prestazioni e ridondanza.
  • Cose da tenere a mente: l’entità della riduzione della capacità dell’array è definita dal numero di copie dei dati che si sceglie di conservare. Il numero di copie archiviate con RAID 10 in stile mdadm è configurabile.

Per impostazione predefinita, due copie di ciascun blocco di dati verranno archiviate in quello che viene chiamato layout vicino (near). I possibili layout che determinano la modalità di memorizzazione di ciascun blocco dati sono i seguenti:

  • near: la disposizione predefinita. Le copie di ciascun blocco vengono scritte consecutivamente durante lo striping, il che significa che le copie dei blocchi di dati verranno scritte nella stessa parte di più dischi.
  • far: la prima copia e quelle successive vengono scritte in parti diverse dei dispositivi di archiviazione nell’array. Ad esempio, il primo pezzo potrebbe essere scritto vicino all’inizio di un disco, mentre il secondo pezzo potrebbe essere scritto a metà su un disco diverso. Ciò può fornire alcuni miglioramenti nelle prestazioni di lettura per i tradizionali dischi rotanti a scapito delle prestazioni di scrittura.
  • offset: ogni stripe viene copiato e spostato di un’unità. Ciò significa che le copie sono sfalsate l’una dall’altra, ma ancora vicine sul disco. Ciò aiuta a ridurre al minimo la ricerca eccessiva durante alcuni carichi di lavoro.

Puoi scoprire di più su questi layout controllando la sezione RAID10 della pagina man:

man 4 md

Oppure qui.

Identificazione dei dispositivi

Per iniziare, trova gli identificatori per i dischi raw che utilizzerai:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Output
NAME     SIZE FSTYPE   TYPE MOUNTPOINT
sda      100G          disk 
sdb      100G          disk 
sdc      100G          disk 
sdd      100G          disk 
vda       25G          disk 
├─vda1  24.9G ext4     part /
├─vda14    4M          part 
└─vda15  106M vfat     part /boot/efi
vdb      466K iso9660  disk 

In questo esempio, hai quattro dischi senza filesystem, ciascuno di 100 GB. A questi dispositivi sono stati assegnati gli identificatori /dev/sda, /dev/sdb, /dev/sdc, E /dev/sddper questa sessione e saranno i componenti raw utilizzati per costruire l’array.

Creazione dell’array

Per creare un array RAID 10 con questi componenti, passali al comando mdadm --create. Devi specificare il nome del dispositivo che desideri creare, il livello RAID e il numero di dispositivi. Nel seguente esempio, nominerai il dispositivo /dev/md0e includerai i dischi che costruiranno l’array:

È possibile impostare due copie utilizzando il layout vicino senza specificare un layout e un numero di copia:

sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Se desideri utilizzare un layout diverso o modificare il numero di copie, dovrai utilizzare l’opzione --layout=, che accetta un layout e un identificatore di copia. I layout sono nper vicino, fper lontano, e oper compensazione. Il numero di copie da archiviare viene aggiunto successivamente.

Ad esempio, per creare un array con tre copie nel layout offset, il comando includerebbe quanto segue:

sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Il tool mdadminizierà a configurare l’array. Utilizza il processo di ripristino per creare l’array per motivi di prestazioni. Il completamento dell’operazione può richiedere del tempo, ma durante questo periodo è possibile utilizzare l’array. È possibile monitorare l’avanzamento del mirroring controllando il file /proc/mdstat:

cat /proc/mdstat

Output
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md0 : active raid10 sdd[3] sdc[2] sdb[1] sda[0]
      209584128 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
      [===>.................]  resync = 18.1% (37959424/209584128) finish=13.8min speed=206120K/sec
      
unused devices: <none>

Nella prima riga evidenziata, il dispositivo /dev/md0è stato creato nella configurazione RAID 10 utilizzando i disositivi /dev/sda, /dev/sdb, /dev/sdce /dev/sdd. La seconda area evidenziata mostra il layout utilizzato per questo esempio (due copie nella configurazione near). La terza area evidenziata mostra lo stato di avanzamento della costruzione. Puoi continuare la guida mentre questo processo viene completato.

Creazione e montaggio del filesystem

Successivamente, crea un filesystem sull’array:

sudo mkfs.ext4 -F /dev/md0

Crea un punto di montaggio per collegare il nuovo filesystem:

sudo mkdir -p /mnt/md0

È possibile montare il filesystem in questo modo:

sudo mount /dev/md0 /mnt/md0

Verifica se il nuovo spazio è disponibile:

df -h -x devtmpfs -x tmpfs

Output
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G  1.4G   23G   6% /
/dev/vda15      105M  3.4M  102M   4% /boot/efi
/dev/md0        197G   60M  187G   1% /mnt/md0

Il nuovo filesystem è montato e accessibile.

Salvataggio del layout dell’array

Per assicurarti che l’array venga riassemblato automaticamente all’avvio, dovrai modificare il file /etc/mdadm/mdadm.conf. È possibile eseguire automaticamente la scansione dell’array attivo e aggiungere il file eseguendo quanto segue:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Successivamente è possibile aggiornare il file initramfso file system RAM iniziale, in modo che l’array sia disponibile durante il processo di avvio:

sudo update-initramfs -u

Aggiungi le nuove opzioni di montaggio del filesystem al file /etc/fstab per il montaggio automatico all’avvio:

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

L’array RAID 10 verrà ora assemblato e montato automaticamente ogni avvio.

RAID – Introduzione alla terminologia e ai concetti

L’archiviazione è una considerazione importante quando si configura un server. Quasi tutte le informazioni importanti che interessano verranno prima o poi scritte su un dispositivo di archiviazione per essere salvate per un successivo recupero. I dischi singoli possono essere utili se le esigenze sono semplici. Tuttavia, se hai requisiti di ridondanza o prestazioni più complessi, soluzioni come RAID possono essere utili.

In questa guida parleremo della terminologia e dei concetti RAID comuni. Discuteremo alcuni vantaggi e svantaggi della disposizione dei dispositivi in ​​array RAID, parleremo delle differenze nelle tecnologie di implementazione e esamineremo il modo in cui i diversi livelli RAID influiscono sull’ambiente di archiviazione.

RAID sta per Array ridondanti di dischi indipendenti (Redundant Arrays of Independent Disks). Combinando le unità in modelli diversi, gli amministratori possono ottenere prestazioni o ridondanza maggiori rispetto a quelle che l’insieme di unità può offrire se gestite individualmente. Il RAID è implementato come uno strato intermedio tra le unità o le partizioni grezze e lo strato del file system.

Quando il RAID è una buona idea?

I valori principali forniti dal RAID sono la ridondanza dei dati e il miglioramento delle prestazioni.

La ridondanza ha lo scopo di contribuire ad aumentare la disponibilità dei dati. Ciò significa che durante determinate condizioni di guasto, come quando un’unità di archiviazione diventa difettosa, le informazioni sono ancora accessibili e il sistema nel suo insieme può continuare a funzionare fino alla sostituzione dell’unità. Questo non è inteso come un meccanismo di backup (con RAID sono sempre consigliati backup separati come con qualsiasi altro tipo di archiviazione), ma è inteso invece a ridurre al minimo le interruzioni quando si verificano problemi.

L’altro vantaggio offerto dal RAID in alcuni scenari riguarda le prestazioni. L’I/O di archiviazione è spesso limitato dalla velocità di un singolo disco. Con RAID, i dati sono ridondanti o distribuiti, il che significa che è possibile consultare più dischi per ogni operazione di lettura, aumentando il throughput totale. Le operazioni di scrittura possono anche essere migliorate in alcune configurazioni poiché a ogni singolo disco potrebbe essere richiesto di scrivere solo una frazione dei dati totali.

Alcuni svantaggi del RAID includono una maggiore complessità di gestione e spesso una riduzione della capacità disponibile. Ciò si traduce in costi aggiuntivi per la stessa quantità di spazio utilizzabile. Ulteriori spese potrebbero essere sostenute attraverso l’uso di hardware specializzato quando l’array non è gestito interamente tramite software.

Un altro svantaggio delle configurazioni di array incentrate sulle prestazioni senza ridondanza è l’aumento del rischio di perdita totale dei dati. In questi scenari un insieme di dati dipende interamente da più di un dispositivo di archiviazione, aumentando il rischio totale di perdita

Gli array RAID possono essere creati e gestiti utilizzando alcune tecnologie diverse.

RAID hardware

È possibile utilizzare hardware dedicato chiamato controller RAID o schede RAID per impostare e gestire il RAID in modo indipendente dal sistema operativo. Questo è noto come RAID hardware. I veri controller RAID hardware avranno un processore dedicato per la gestione dei dispositivi RAID.

Ciò presenta una serie di vantaggi:

  • Prestazioni: i controller RAID hardware originali non hanno bisogno di occupare cicli della CPU per gestire i dischi sottostanti. Ciò significa nessun sovraccarico per la gestione dei dispositivi di archiviazione collegati. I controller di alta qualità forniscono anche un’ampia memorizzazione nella cache, che può avere un enorme impatto sulle prestazioni.
  • Eliminazione della complessità: un altro vantaggio derivante dall’utilizzo dei controller RAID è che astraggono la disposizione del disco sottostante dal sistema operativo. Il RAID hardware può presentare l’intero gruppo di unità come una singola unità logica di archiviazione. Non è necessario che il sistema operativo comprenda la disposizione RAID; può semplicemente interfacciarsi con l’array come se fosse un singolo dispositivo.
  • Disponibilità all’avvio: poiché l’array è gestito interamente al di fuori del software, sarà disponibile all’avvio, consentendo al filesystem root stesso di essere facilmente installato su un array RAID.

Il RAID hardware presenta anche alcuni svantaggi significativi.

  • Vincolo del fornitore: poiché la disposizione RAID è gestita dal firmware proprietario sull’hardware stesso, un array è in qualche modo bloccato sull’hardware utilizzato per crearlo. Se un controller RAID muore, nella quasi totalità dei casi, deve essere sostituito con un modello identico o compatibile. Alcuni amministratori consigliano di acquistare uno o più controller di backup da utilizzare nel caso in cui il primo abbia un problema.
  • Costo elevato: i controller RAID hardware di qualità tendono ad essere piuttosto costosi.

RAID software

Il RAID può anche essere configurato dal sistema operativo stesso. Poiché la relazione tra i dischi è definita all’interno del sistema operativo e non del firmware di un dispositivo hardware, si parla di RAID software .

Alcuni vantaggi del RAID software:

  • Flessibilità: poiché il RAID è gestito all’interno del sistema operativo, può essere facilmente configurato dallo spazio di archiviazione disponibile senza riconfigurare l’hardware, da un sistema in esecuzione. Il RAID software Linux è particolarmente flessibile e consente molti tipi diversi di configurazione RAID.
  • Open source: anche le implementazioni RAID software per sistemi operativi open source come Linux e FreeBSD sono open source. L’implementazione RAID non è nascosta e può essere facilmente letta e implementata su altri sistemi. Ad esempio, l’array RAID creato su una macchina Ubuntu può essere facilmente importato in un server CentOS in un secondo momento. Ci sono poche possibilità di perdere l’accesso ai tuoi dati a causa delle differenze del software.
  • Nessun costo aggiuntivo: il RAID software non richiede hardware speciale, quindi non aggiunge costi aggiuntivi al server o workstation.

Alcuni svantaggi del RAID software sono:

  • Specifico dell’implementazione: sebbene il RAID software non sia legato a un hardware specifico, tende ad essere legato all’implementazione software specifica del RAID. Linux utilizza mdadm, mentre FreeBSD utilizza RAID basato su GEOM e Windows ha la propria versione di RAID software. Sebbene in alcuni casi le implementazioni open source possano essere trasferite o lette, il formato stesso probabilmente non sarà compatibile con altre implementazioni RAID software.
  • Sovraccarico delle prestazioni: storicamente, il RAID software è stato criticato per la creazione di ulteriore sovraccarico. Per gestire l’array sono necessari cicli della CPU e memoria, che potrebbero essere utilizzati per altri scopi. Implementazioni come mdadmsull’hardware moderno, tuttavia, annulla in gran parte queste preoccupazioni. Il sovraccarico della CPU è minimo e nella maggior parte dei casi insignificante.

RAID software assistito da hardware (Fake RAID)

È disponibile anche un terzo tipo di RAID chiamato RAID software assistito da hardware , RAID firmware o RAID falso. In genere, questo si trova nella funzionalità RAID all’interno delle schede madri stesse o in schede RAID poco costose. Il RAID software assistito da hardware è un’implementazione che utilizza il firmware sul controller o sulla scheda per gestire il RAID, ma utilizza la normale CPU per gestire l’elaborazione.

Vantaggi del RAID software assistito da hardware:

  • Supporto per più sistemi operativi: poiché il RAID viene attivato durante l’avvio iniziale e quindi trasferito al sistema operativo, più sistemi operativi possono utilizzare lo stesso array, cosa che potrebbe non essere possibile con il RAID software.

Svantaggi del RAID software assistito da hardware:

  • Supporto RAID limitato: solitamente sono disponibili solo RAID 0 o RAID 1.
  • Richiede hardware specifico: come il RAID hardware, il RAID software assistito da hardware è legato all’hardware utilizzato per crearlo e gestirlo. Questo problema è ancora più problematico se incluso in una scheda madre, poiché un guasto del controller RAID può significare che è necessario sostituire l’intera scheda madre per accedere nuovamente ai dati.
  • Sovraccarico delle prestazioni: come il RAID software, nessuna CPU è dedicata alla gestione del RAID. L’elaborazione deve essere condivisa con il resto del sistema operativo.

La maggior parte degli amministratori si tiene alla larga dal RAID software assistito dall’hardware poiché soffre di una combinazione delle insidie ​​​​delle altre due implementazioni.

La familiarità con alcuni concetti comuni aiuterà a comprendere meglio RAID. Di seguito sono riportati alcuni termini comuni che potresti incontrare:

  • Livello RAID: il livello RAID di un array si riferisce alla relazione imposta sui dispositivi di archiviazione che lo compongono. Le unità possono essere configurate in molti modi diversi, portando a diverse ridondanze dei dati e caratteristiche prestazionali. Consultare la sezione sui livelli RAID per ulteriori informazioni.
  • Striping: lo striping è il processo di divisione delle scritture sull’array su più dischi sottostanti. Questa strategia viene utilizzata da diversi livelli RAID. Quando i dati vengono distribuiti su un array, vengono suddivisi in blocchi e ciascun blocco viene scritto su almeno uno dei dispositivi sottostanti.
  • Dimensione blocco: durante lo striping dei dati, la dimensione del blocco definisce la quantità di dati che ogni blocco conterrà. La regolazione della dimensione del blocco in modo che corrisponda alle caratteristiche di I/O previste può contribuire a influenzare le prestazioni relative dell’array.
  • Parità: la parità è un meccanismo di integrità dei dati implementato calcolando le informazioni dai blocchi di dati scritti nell’array. Le informazioni sulla parità possono essere utilizzate per ricostruire i dati in caso di guasto di un’unità. La parità calcolata viene posizionata su un dispositivo separato rispetto ai dati da cui viene calcolata e, nella maggior parte delle configurazioni, viene distribuita tra le unità disponibili per prestazioni e ridondanza migliori.
  • Array degradati: gli array dotati di ridondanza possono subire diversi tipi di guasti delle unità senza perdere dati. Quando un array perde un dispositivo ma è ancora operativo, si dice che sia in modalità degradata. Gli array danneggiati possono essere ricostruiti in condizioni pienamente operative una volta sostituito l’hardware guasto, ma nel frattempo potrebbero subire una riduzione delle prestazioni.
  • Resilvering: Resilvering, o risincronizzazione, è il termine utilizzato per ricostruire un array danneggiato. A seconda della configurazione RAID e dell’impatto del guasto, ciò avviene copiando i dati dai file esistenti nell’array oppure calcolando i dati valutando le informazioni di parità.
  • Array annidati: gruppi di array RAID possono essere combinati in array più grandi. Questo di solito viene fatto per sfruttare le funzionalità di due o più livelli RAID diversi. Di solito, gli array con ridondanza (come RAID 1 o RAID 5) vengono utilizzati come componenti per creare un array RAID 0 per migliorare le prestazioni.
  • Span: Sfortunatamente, span ha un significato diverso quando si parla di array.
    • In determinati contesti, “span” può significare unire due o più dischi insieme end-to-end e presentarli come un unico dispositivo logico, senza miglioramenti in termini di prestazioni o ridondanza. Questa è anche conosciuta come disposizione lineare quando si ha a che fare con Linux mdadmimplementazione.
    • Uno “span” può anche riferirsi al livello inferiore di array combinati per formare il livello successivo quando si parla di livelli RAID nidificati, come RAID 10.
  • Scrubbing: lo scrubbing, o controllo, è il processo di lettura di ogni blocco in un array per assicurarsi che non vi siano errori di coerenza. Ciò aiuta a garantire che i dati siano gli stessi su tutti i dispositivi di archiviazione e previene situazioni in cui errori silenziosi possono causare danni, soprattutto durante procedure delicate come le ricostruzioni.

Le caratteristiche di un array sono determinate dalla configurazione e dalla relazione dei dischi, nota come livello RAID . I livelli RAID più comuni sono:

RAID 0

RAID 0 combina due o più dispositivi distribuendo i dati su di essi. Come accennato in precedenza, lo striping è una tecnica che suddivide i dati in blocchi e quindi li scrive alternativamente su ciascun disco dell’array. Il vantaggio di ciò è che, poiché i dati sono distribuiti, l’intera potenza di ciascun dispositivo può essere utilizzata sia per le letture che per le scritture. Il profilo prestazionale teorico di un array RAID 0 è semplicemente la prestazione di un singolo disco moltiplicata per il numero di dischi (le prestazioni nel mondo reale saranno inferiori a questo). Un altro vantaggio è che la capacità utilizzabile dell’array è semplicemente la capacità combinata di tutte le unità che lo compongono.

Sebbene questo approccio offra ottime prestazioni, presenta anche alcuni svantaggi molto importanti. Poiché i dati vengono suddivisi e divisi tra ciascuno dei dischi dell’array, il guasto di un singolo dispositivo causerà il guasto dell’intero array e tutti i dati andranno persi. A differenza della maggior parte degli altri livelli RAID, gli array RAID 0 non possono essere ricostruiti, poiché nessun sottoinsieme di dispositivi componenti contiene informazioni sufficienti sul contenuto per ricostruire i dati. Se si utilizza un array RAID 0, i backup diventano estremamente importanti, poiché l’intero set di dati dipende in egual misura dall’affidabilità di ciascuno dei dischi dell’array.

RAID 1

RAID 1 è una configurazione che rispecchia i dati tra due o più dispositivi. Tutto ciò che viene scritto nell’array viene posizionato su ciascuno dei dispositivi del gruppo. Ciò significa che ogni dispositivo ha un set completo di dati disponibili, offrendo ridondanza in caso di guasto del dispositivo. In un array RAID 1, i dati saranno comunque accessibili finché un singolo dispositivo nell’array funziona correttamente. L’array può essere ricostruito sostituendo le unità guaste, a quel punto i dispositivi rimanenti verranno utilizzati per copiare i dati sul nuovo dispositivo.

Questa configurazione presenta anche alcune penalità. Come RAID 0, la velocità di lettura teorica può ancora essere calcolata moltiplicando la velocità di lettura di un singolo disco per il numero di dischi. Per le operazioni di scrittura, tuttavia, le prestazioni massime teoriche saranno quelle del dispositivo più lento dell’array. Ciò è dovuto al fatto che l’intero dato deve essere scritto su ciascuno dei dischi dell’array. Inoltre, la capacità totale dell’array sarà quella del disco più piccolo. Pertanto un array RAID 1 con due dispositivi di uguali dimensioni avrà la capacità utilizzabile di un singolo disco. L’aggiunta di ulteriori dischi può aumentare il numero di copie ridondanti dei dati, ma non aumenterà la quantità di capacità disponibile.

RAID 5

RAID 5 presenta alcune caratteristiche dei due livelli RAID precedenti, ma presenta un profilo prestazionale diverso e diversi inconvenienti. In RAID 5, i dati vengono distribuiti sui dischi più o meno allo stesso modo di un array RAID 0. Tuttavia, per ogni striscia di dati scritta sull’array, le informazioni sulla parità, un valore calcolato matematicamente che può essere utilizzato per la correzione degli errori e la ricostruzione dei dati, verranno scritte su uno dei dischi. Il disco che riceve il blocco di parità calcolata anziché un blocco dati ruoterà con ogni stripe scritto.

Ciò presenta alcuni vantaggi importanti. Come altri array con striping, le prestazioni di lettura traggono vantaggio dalla capacità di leggere da più dischi contemporaneamente. Gli array RAID 5 gestiscono la perdita di qualsiasi disco nell’array. Se ciò accade, i blocchi di parità consentono la ricostruzione completa dei dati. Poiché la parità è distribuita (alcuni livelli RAID meno comuni utilizzano un’unità di parità dedicata, nella fattispecie RAID 4), ogni disco dispone di una quantità bilanciata di informazioni sulla parità. Mentre la capacità di un array RAID 1 è limitata alla dimensione di un singolo disco (tutti i dischi hanno copie identiche dei dati), con la parità RAID 5 è possibile ottenere un livello di ridondanza al costo dello spazio di un solo disco. Pertanto, quattro unità da 100 G in un array RAID 5 produrrebbero 300 G di spazio utilizzabile (gli altri 100 G sarebbero occupati dalle informazioni di parità distribuite).

Come gli altri livelli, RAID 5 presenta alcuni inconvenienti significativi che devono essere presi in considerazione. Le prestazioni del sistema possono rallentare notevolmente a causa dei calcoli di parità al volo. Ciò può influire su ogni operazione di scrittura. Se un disco si guasta e l’array entra in uno stato degradato, verrà introdotta anche una penalità significativa per le operazioni di lettura (i dati mancanti dovranno essere calcolati dai dischi rimanenti). Inoltre, quando l’array viene riparato dopo la sostituzione di un’unità guasta, è necessario leggere ciascuna unità e utilizzare la CPU per calcolare i dati mancanti e ricostruirli. Ciò può stressare le unità rimanenti, portando talvolta a ulteriori guasti, con conseguente perdita di tutti i dati.

RAID 6

RAID 6 utilizza un’architettura simile a RAID 5, ma con informazioni di doppia parità. Ciò significa che l’array può sopportare il guasto di due dischi qualsiasi. Si tratta di un vantaggio significativo dovuto alla maggiore probabilità che si verifichi un ulteriore guasto del disco durante il processo di ricostruzione intensivo dopo che si è verificato un errore. Come altri livelli RAID che utilizzano lo striping, le prestazioni di lettura sono generalmente buone. Tutti gli altri vantaggi del RAID 5 esistono anche per il RAID 6.

Per quanto riguarda gli svantaggi, RAID 6 compensa la doppia parità aggiuntiva con la capacità di un disco aggiuntivo. Ciò significa che la capacità totale dell’array corrisponde allo spazio combinato delle unità coinvolte, meno due unità. Il calcolo per determinare i dati di parità per RAID 6 è più complesso di RAID 5, il che può portare a prestazioni di scrittura peggiori rispetto a RAID 5. RAID 6 soffre di alcuni degli stessi problemi di degrado di RAID 5, ma la ridondanza del disco aggiuntivo protegge contro la probabilità che ulteriori errori cancellino i dati durante le operazioni di ricostruzione.

RAID 10

RAID 10 può essere implementato in diversi modi, che influiscono sulle sue caratteristiche generali:

  • RAID nidificato 1+0

Tradizionalmente, RAID 10 si riferisce a un RAID nidificato, creato impostando prima due o più mirror RAID 1 e quindi utilizzandoli come componenti per creare un array RAID 0 con striping su di essi. A volte questo viene ora chiamato RAID 1+0 per essere più espliciti su questa relazione. A causa di questa progettazione, sono necessari almeno quattro dischi per formare un array RAID 1+0 (RAID 0 con striping su due array RAID 1 costituiti da due dispositivi ciascuno).

Gli array RAID 1+0 hanno le caratteristiche di prestazioni elevate di un array RAID 0, ma invece di fare affidamento su singoli dischi per ciascun componente dello stripe, viene utilizzato un array con mirroring, fornendo ridondanza. Questo tipo di configurazione può gestire i guasti del disco in qualsiasi set RAID 1 con mirroring purché almeno un disco in ciascun RAID 1 rimanga disponibile. L’array complessivo è tollerante agli errori in modo sbilanciato, il che significa che può gestire un numero diverso di errori a seconda di dove si verificano.

Poiché RAID 1+0 offre sia ridondanza che prestazioni elevate, di solito è un’ottima opzione se il numero di dischi richiesti non è proibitivo.

  • RAID 10 di mdadm

Quello di Linux mdadmoffre la propria versione di RAID 10, che porta avanti lo spirito e i vantaggi di RAID 1+0, ma altera l’effettiva implementazione per essere più flessibile e offrire alcuni vantaggi aggiuntivi.

Come RAID 1+0, mdadmRAID 10 consente copie multiple e dati con striping. Tuttavia, i dispositivi non sono disposti in termini di coppie speculari. L’amministratore decide invece il numero di copie che verranno scritte per l’array. I dati vengono suddivisi in blocchi e scritti sull’array in più copie, assicurandosi che ciascuna copia di un blocco venga scritta su un dispositivo fisico diverso. Il risultato finale è che esiste lo stesso numero di copie, ma l’array non è vincolato tanto dalla nidificazione sottostante.

Questa concezione del RAID 10 presenta alcuni notevoli vantaggi rispetto al RAID 1+0 nidificato. Poiché non si basa sull’utilizzo di array come elementi costitutivi, può utilizzare un numero dispari di dischi e ha un numero minimo di dischi inferiore (sono richiesti solo 3 dispositivi). Anche il numero di copie da conservare è configurabile. La gestione è semplificata poiché è necessario indirizzare un solo array ed è possibile allocare parti di riserva che possono essere utilizzate per qualsiasi disco dell’array invece che per un solo array componente.

Diritto dei dati – I principi del GDPR

I principi del GDPR: liceità, correttezza, trasparenza, finalità, necessità, esattezza, minimizzazione, proporzionalità, precauzione, accountability.

Continuiamo a muovere lungo il GDPR e in particolare dobbiamo analizzare quelli che sono i cosiddetti principi che guidano il GDPR. Cosa vuol dire questo? Vuol dire che sono i principi che il legislatore europeo ha voluto riconoscere, ha voluto utilizzare come guida, l’ispirazione della sua attività normativa che viene poi concretizzata nelle norme del GDPR ma che sono anche i principi che guidano poi l’esercizio di tutte le attività che il GDPR descrive. Quindi, di fronte a qualsiasi dubbio, a qualsiasi equivoco, a qualsiasi necessità di capire se, quando, come sono state rispettate le norme del GDPR, proprio attraverso il ricorso ai principi che ne guidano l’essenza, in qualche modo, la costruzione, possiamo capire se stiamo rispettando o meno le norme. Innanzitutto diciamo che questi principi generali in tema di trattamento si applicano nei confronti di coloro, di quei titolari che svolgono attività commerciali e professionali. Dei primi principi li troviamo nell’articolo 5 del GDPR che ne descrive una sorta di elenco. Un elenco abbastanza lungo che ci fa una serie di riferimenti da cui ricaviamo questi principi. E i primi sono indicati nella lettera a del primo paragrafo dell’articolo 5 che ci dice proprio in apertura che i dati personali devono essere trattati in modo lecito, corretto e trasparente.

Quindi i nostri primi tre principi da cui partiamo sono proprio la liceità, la correttezza e la trasparenza. La liceità è quella che richiede un discorso un po’ più ampio, perché il principio di liceità è ancorato a due requisiti alternativi che riscontriamo nell’articolo successivo, nell’articolo 6. L’articolo 6, infatti ci indica quali sono le cosiddette condizioni di liceità del trattamento. Abbiamo un elenco diviso in lettere, che però possiamo suddividere in due gruppi. Le condizioni fondate sul requisito di necessità, che sono quelle dalla lettera b alla lettera f, e poi la condizione del consenso che è quella della lettera a. Iniziamo quindi da quelle fondate sul principio di necessità del trattamento, quelli appunto dalla lettera b alla lettera f. Sono tutti esempi in cui il trattamento si considera lecito, quindi le condizioni di trattamento sono lecite per diversi motivi tra loro. La prima ipotesi è quella in cui il trattamento è necessario per l’esecuzione di un contratto di cui l’interessato è parte. Quindi noi per eseguire un contratto stipulato con interessati dobbiamo necessariamente eseguire questo trattamento. Quindi noi stipuliamo un contratto però, affinché questo contratto sia eseguito è fondamentale l’attività di trattamento dei dati personali: la necessità di questo trattamento, rispetto all’esecuzione del contratto che abbiamo stipulato, rende il trattamento lecito. Un’altra ipotesi è quella in cui il titolare deve adempiere ad un obbligo legale. Per esempio pensiamo agli obblighi di tenuta della contabilità o rispetto all’emissione delle fatture. Rispetto a questi obblighi un titolare del trattamento si trova di fronte alla necessità di eseguire il trattamento dei dati e quindi automaticamente questo trattamento sarà lecito proprio perché il titolare così come svolge il trattamento, deve al contempo adempiere ad un obbligo legale. Una terza ipotesi è quella della lettera d, che fa riferimento alla salvaguardia degli interessi vitali dell’interessato. Quindi quando è necessario salvaguardare gli interessi vitali, quindi proprio quelli che riguardano la sopravvivenza della persona, allora è lecito quel trattamento perché appunto è necessario per tutelare la sua vita. In questo caso per esempio possiamo pensare all’ipotesi di trattamento dei dati che sono necessari, e sono fatti relativamente recenti, per tenere sotto controllo la diffusione di un’epidemia, oppure nei casi di catastrofi naturali, di emergenze, rispetto alle quali la salvaguardia degli interessi vitali delle persone coinvolte può comportare anche il trattamento. Ancora lettera e, è necessario quando è svolto per l’esecuzione di un interesse pubblico da parte del titolare. E poi l’ultima ipotesi, quella della lettera f, è fondata la liceità sulla necessità del trattamento dei dati quando il trattamento deve essere effettuato per perseguire quello che è un legittimo interesse del titolare. L’importante in questo caso è che il legittimo interesse del titolare non si scontri con i diritti e le libertà fondamentali dell’interessato, soprattutto se l’interessato è un soggetto di minore età. Questa valutazione è particolare, molto particolare questa ipotesi di cui alla lettera f, perché il fatto che il legittimo interesse sia tale, in realtà è una valutazione che spetta al titolare stesso. Quindi è il titolare stesso a individuare l’ipotesi in cui ritiene che il suo legittimo interesse sia tale da giustificare il trattamento. Poi, ovviamente ex-post ci può essere un controllo rispetto alla liceità o meno di questo trattamento, però a monte è il titolare stesso che ritiene il suo legittimo interesse come non preponderante rispetto ai diritti, alla libertà dell’interessato e quindi tale da giustificare il trattamento stesso. Ciò che è importante è che comunque, tra titolare e interessato in questi casi vi sia un tipo di relazione che in qualche modo giustifichi questo trattamento, nel senso che renda questo trattamento attendibile, aspettabile da parte dell’interessato. Pensiamo per esempio a quei rapporti tra clienti e venditori e poi rapporti tra dipendente e datore di lavoro, sono dei rapporti in cui effettivamente l’interessato in questi esempi è il cliente o il lavoratore, si può ragionevolmente aspettare, attendere che il titolare e quindi nell’esempio, il venditore o il datore di lavoro, debba utilizzare quei dati personali e quindi appunto queste ipotesi possono permettere il trattamento perché fungono da condizione di liceità del trattamento stesso. Quindi questi esempi dalla lettera b alla lettera f dell’articolo 6 ci indicano delle ipotesi in cui la condizione di liceità del trattamento è la necessità del trattamento.

L’altra ipotesi, quella della lettera a, è invece la più diffusa perché è il consenso dell’interessato. Quindi l’articolo 6 lettera a ci dice che il trattamento è lecito quando c’è stato il consenso dell’interessato, che sia un consenso espresso per tutte le finalità che il titolare deve perseguire. Il consenso addirittura diventa l’unica fonte di liceità del trattamento quando i dati che vengono trattati sono i dati descritti dall’articolo 9 del GDPR. I dati descritti articolo 9 sono i cosiddetti dati particolari, sono un po’ l’evoluzione di quelli che più diffusamente venivano chiamati come dati sensibili. Il GDPR supera il concetto di dato sensibile, preferendo quello di dato particolare. Dati particolari quindi a questo punto sono in realtà facilmente immaginabili perché sono dati particolari le convinzioni religiose, le opinioni politiche, i dati genetici, i dati che rivelano l’origine etnica di una persona o quelli che ne rivelano l’orientamento sessuale o quelli relativi alla salute o insomma tutta una serie di dati estremamente connessi al nucleo più intimo della identità personale. Diciamo che il consenso e le altre condizioni di liceità fondate sulla necessità sono condizioni che possiamo considerare equipollenti nel senso che sono tutte condizioni di liceità del trattamento, sono infatti dei criteri alternativi: criterio del consenso e criterio della necessità. Ciò che cambia è che mentre quando un soggetto presta direttamente il consenso siamo di fronte ad una situazione in cui abbiamo una persona che opera autonomamente una scelta discrezionale, cioè quando io fornisco il consenso sto valutando tutti quelli che sono gli aspetti in gioco, gli interessi in gioco, faccio io il bilanciamento rispetto a se voglio prestare o meno il consenso perché deve essere un consenso informato, libero, specifico e inequivocabile, quindi la scelta discrezionale è totalmente mia. Invece quando siamo di fronte ai criteri fondati sulla necessità, quindi le condizioni di liceità fondate sulla necessità, lettere da b ad f, qui la valutazione non è discrezionale del singolo interessato perché appunto la necessità del consenso è valutata a monte dal legislatore che reputa quelle situazioni come idonee a rendere il trattamento lecito.

Ciò che comunque conta è che in entrambi i casi, sia quando siamo di fronte alle condizioni di liceità fondate sul consenso, sia alle condizioni di liceità fondate sulla necessità, stiamo comunque parlando di condizioni, nel senso di presupposti della liceità. Però ciò non vuol dire che il trattamento poi sia lecito del tutto, perché la liceità va considerata in una duplice accezione. La prima accezione è questa legata ai presupposti. Quindi tutti questi requisiti stanno ad indicare quelle che sono le condizioni senza le quali non si può nemmeno iniziare il trattamento, sono la conditio sine qua non del trattamento. Se non abbiamo questa queste condizioni proprio a monte il trattamento non potrà essere lecito. Però la liceità va anche considerata in accezione più ampia quindi una liceità cosiddetta a valle: se quindi a monte guardiamo le condizioni, a valle guardiamo in concreto quelle che sono le modalità in cui tutta l’attività viene realizzata e quindi qui entrano in gioco anche gli altri principi. Innanzitutto il principio di correttezza e il principio di trasparenza. I principi di correttezza e di trasparenza, in particolare all’articolo 5 sono posti allo stesso livello della liceità, quindi liceità, correttezza e trasparenza che devono caratterizzare il trattamento. Il principio di correttezza e il principio di trasparenza come si esprimono in concreto? Tipicamente la loro espressione avviene attraverso l’informativa. L’informativa che deve essere somministrata all’interessato in un senso che sia funzionale alla formazione del suo consenso, della sua volontà di procedere al trattamento dei dati, affinché questo consenso sia appunto consapevole, sia libero. E affinché il soggetto interessato sia reso edotto di tutte quelle che sono le caratteristiche di questo trattamento e tutti i diritti che gli sono riconosciuti in virtù di questo trattamento, quindi l’informativa ci dovrà spiegare come si svolge il trattamento, per quanto tempo dura, quali sono le finalità, in più mi deve anche dire quali sono i miei diritti e quindi pensiamo per esemprio al diritto di accesso, al diritto alla cancellazione dei dati. Quindi la logica dell’informativa che appunto esprime l’essenza dei principi di correttezza e trasparenza è una logica di permettere all’interessato di prestare un consenso che sia informato. La trasparenza peraltro è un principio che generalmente riguarda il tema della tutela dei dati personali un po’ da sempre, però soltanto con il GDPR è stato effettivamente esplicitato, quindi il GDPR in ciò scrive proprio, indica, formalizza, positivizza questo principio di trasparenza come principio guida dell’attività coinvolta al trattamento dei dati personali. La trasparenza in particolare riguarda le modalità con cui i dati vengono trattati e quindi con cui vengono raccolti, con cui vengono utilizzati, con cui vengono consultati, conservati. E’ poi un principio in forza del quale si impone al titolare di indicare tutte le informazioni che deve dare all’interessato e di dare ogni tipo di comunicazione rispetto al trattamento, in un modo che sia facilmente accessibile e comprensibile e in un modo che utilizzi un linguaggio chiaro e semplice. Proprio perché l’interessato è un po’ il soggetto debole di questo rapporto, perché è colui che sta fornendo i suoi dati personali, allora deve conoscere tutte le informazioni possibili sul trattamento nel modo più chiaro, semplice, intellegibile possibile.

Infine la trasparenza a livello di informativa la concretizziamo anche nell’obbligo del titolare di rendere nota la sua identità. Quindi quando dò il consenso al trattamento di dati personali devo effettivamente avere indicato chi è il titolare che si occuperà di questo trattamento e tutte quelle che saranno le finalità del trattamento. Diciamo poi che i confini concreti della correttezza e della trasparenza sono molto poco tracciabili, sono molto sovrapposti tra loro. La correttezza possiamo intendere in un senso più legato al comportamento corretto che il titolare deve avere nei confronti dell’interessato. La trasparenza forse ci riesce a descrivere meglio il fatto che c’è necessità di una massima comprensibilità di tutto ciò arriva nel trattamento mentre la correttezza può riguardare di più i comportamenti che in concreto il titolare tiene nei confronti dell’interessato.

Ovviamente tutti questi principi, appunto correttezza, trasparenza e anche liceità devono perdurare per tutto il rapporto, deve perdurare la concretizzazione di questi principi. Quindi proprio un riconoscimento dell’esigenza che tra titolare e interessato ci sia la massima lealtà nel senso che il titolare deve garantire all’interessato di essere munito di tutti gli strumenti necessari a comprendere le modalità del trattamento, ma anche gli effetti che il trattamento può avere su di lui. Quindi leale comportamento del titolare nei confronti dell’interessato si concretizza in tutto ciò che riguarda poi la possibilità dell’interessato di scegliere liberamente il trattamento e poi di controllarlo, così come la lealtà è anche dall’interessato nei confronti del titolare ad esempio nell’esercizio del diritto all’accesso. Il diritto all’accesso deve essere svolto sempre da parte dell’interessato, in un modo che non sia abusivo, altrimenti, appunto, anche qui la lealtà viene meno. Altro principio importantissimo è il principio di finalità. Il trattamento deve essere sempre finalizzato. Il principio di finalità pone un limite intrinseco proprio all’attività del trattamento, perché il trattamento dei dati deve sempre essere effettuato nell’ambito delle finalità che il titolare ha dichiarato di svolgere, di perseguire. E ovviamente non sono finalità che il titolare sa di voler svolgere, ma sono le finalità che nell’informativa ha dichiarato di voler svolgere, proprio perché tra le finalità che il titolare persegue e le finalità che il soggetto interessato conosce, ci deve essere massima corrispondenza. E anche qui ritroviamo la correttezza di prima. Se il titolare modifica le finalità, ne aggiunge delle altre, ne toglie alcune, deve sempre aggiornare l’informativa e renderne edotto il soggetto interessato. Però, appunto, a monte è necessario individuare delle finalità, usiamo quindi una logica preventiva perché fin dall’inizio devono essere indicate le finalità che si vogliono perseguire e attraverso l’indicazione di queste finalità noi andiamo un po’ a costruire un perimetro dell’attività del titolare, un perimetro dell’attività di trattamento. E ovviamente questo perimetro deve essere inequivocabilmente chiaro e definito, non ci deve essere il dubbio di interpretare in che modo la finalità verrà perseguita, non ci deve essere la possibilità che si creino degli equivoci rispetto a quelle che sono le finalità, tant’è che si parla di finalità costruite in un senso addirittura oggettivo, proprio perché devono essere completamente manifeste ed inequivocabili, proprio perché se così non fosse il soggetto interessato non potrebbe svolgere quell’attività di controllo che dicevamo gli viene riconosciuta.

Quindi questa attività continua nel tempo e io conosco le finalità perchè il titolare nell’informativa me le ha comunicate, però se nel tempo viene svolto ad esempio un cosiddetto trattamento secondario, quindi un trattamento ulteriore rispetto a quello che era stato indicato all’inizio e che quindi può perseguire delle finalità ulteriori, allora il titolare deve indicarlo e questo è un onere che il titolare ha sempre perché deve essere sempre corretto e trasparente nei confronti dell’interessato. E la logica è sempre quella di proteggere il più possibile l’interessato, perché a maggior ragione con il progressivo sviluppo delle tecnologie informatiche, rispetto a quando un soggetto magari ha fornito il consenso la prima volta, nel tempo è possibile che il titolare entri a disposizione di strumenti, di modalità attraverso cui può incidere, impattare in modo più forte, magari rispetto a prima sulla sfera individuale del singolo, può perseguire delle finalità in più per il tipo di attività che svolge quindi la tutela che in questo modo il nostro ordinamento, l’ordinamento europeo garantisce al singolo è una tutela di imporre progressivamente al titolare di essere trasparente rispetto alle finalità che vuole perseguire. Ovviamente questo per quanto riguarda l’ipotesi in cui le finalità cambino o nel caso in cui delle prime finalità se ne aggiungano delle altre. Nell’ipotesi in cui invece le finalità non sono nuove, né  cambiano, ma la finalità per cui l’interessato aveva inizialmente prestato il consenso non è più attuale quindi per esempio l’ipotesi in cui la lo scopo per cui venivano trattati i dati viene conseguito, allora in quel caso il trattamento che avviene dopo il conseguimento dello scopo che era stato dichiarato a quel punto diventa illecito: perché qui non stiamo parlando di un trattamento che si aggiunge, di finalità che si aggiungono e che vanno a completare quello inizialmente ammesso. Se siamo nell’ipotesi in cui lo scopo che era stato dichiarato è terminato, allora questo trattamento dei dati non può più continuare per finalità che vengono introdotte successivamente. Proprio perché non c’è più la condizione per il trattamento di quegli stessi dati, quel titolare non può riutilizzare i dati perché la finalità è conseguita, lo scopo è conseguito. Ovviamente alla conclusione, al raggiungimento dello scopo del trattamento, possiamo considerare equiparabili anche, ad esempio, una sopravvenuta carenza dell’interesse alla protrazione del trattamento o anche una qualsiasi insorgenza di una causa che renda addirittura illegittima la prosecuzione del trattamento.

Ovviamente a fronte di questi obblighi che sono posti a carico del titolare e quindi di rispettare le finalità del trattamento corrispondono i diritti e in questo caso è immaginabile il diritto alla cancellazione. Se per esempio valuto che il trattamento si sta perseguendo oltre le finalità indicate posso chiedere la cancellazione dei miei dati perché ricordiamoci sempre che se c’è un obbligo in capo ad una persona, proprio dal punto di vista di schema della norma, se si pone un obbligo a carico di uno, abbiamo sempre un diritto posto a carico dell’altro soggetto che ad esso si interfaccia. Quindi così come abbiamo l’obbligo delle finalità, abbiamo il diritto dell’interessato a chiedere la cancellazione.

In relazione a queste finalità, l’articolo 5, lettera b dice che le finalità oltre ad essere espresse devono essere legittime e questa legittimità andrà parametrata in funzione dello svolgimento di finalità che possano essere considerati apprezzabili da parte dell’ordinamento, dunque delle finalità dal contenuto positivo rispetto a quanto l’ordinamento naturalmente permette. Nella successiva lettera c ricaviamo il principio di necessità. La lettera c dice che è necessario che i dati abbiano un nesso di pertinenza e di adeguatezza rispetto alle finalità, cioè i dati che il trattamento utilizza, i dati che il titolare tratta sono dati che devono essere pertinenti e adeguati rispetto alle finalità. Quindi il principio di necessità è in senso ampio il principio per cui i dati trattati devono essere necessari per lo svolgimento del trattamento. In questo senso il principio di necessità ci fa intendere che non debbono essere raccolti dati eccedenti rispetto a quelli di cui il titolare ha bisogno. Quindi la logica, la ratio che il legislatore europeo persegue in questa indicazione è che la tutela della persona passa anche dalla riduzione quanto più possibile dei dati che vengono trattati rispetto a quella persona. Tutto ciò che non è necessario non deve essere trattato. In ciò possiamo dire quindi che la necessità descrive quello che viene definito in modo più dettagliato, in modo più specifico il principio di minimizzazione. Il principio di minimizzazione è proprio il principio in forza del quale i sistemi di trattamento dei dati personali devono ridurre al minimo l’utilizzo dei dati che servono. Quindi se lo stesso obiettivo lo posso raggiungere con meno dati o magari con dati anonimi o con degli pseudonimi o comunque con dei dati che non sono tali da ricondurmi direttamente all’interessato, allora devo farlo, io titolare devo rendere il trattamento il meno impattante possibile rispetto all’utilizzo dei dati che si vanno ad ad utilizzare. Non solo, a questo il principio di minimizzazione si affianca sempre il principio di esattezza. Il principio di esattezza lo ritroviamo sempre in questa lettera c, quando ci viene detto che i dati devono essere esatti. Cosa vuol dire che devono essere esatti? Vuol dire che devono essere sempre adeguati a descrivere, a rappresentare l’identità dell’interessato, quindi ciò vuol dire che devono essere anche aggiornati. Quindi l’esattezza include anche l’aggiornamento. Se dei dati non sono più idonei a descrivere, a rappresentare un certo individuo, allora non sono esatti. E quindi non possono essere più utilizzati proprio perché il titolare deve sempre trattare dati ridotti al minimo ma esatti, quindi perfettamente adeguati a descrivere il soggetto da tutelare. La differenza qual è tra questi due principi di minimizzazione e di esattezza: che la minimizzazione pone un limite all’attività del trattamento, perché dal punto di vista qualitativo e quantitativo pone proprio un limite di contenuto all’attività che il titolare svolge. Invece l’esattezza pone in capo al titolare non un limite, ma un onere e cioè l’onere di assicurarsi che ci sia sempre una fedeltà contenutistica delle informazioni che utilizza, cioè le informazioni che utilizza devono essere fedeli, rispondenti a rappresentare adeguatamente il soggetto. E quindi questo vuol dire non solo che questi devono essere fedeli all’inizio ma che anche nel tempo è necessaria una costante progressiva corrispondenza e quindi eventualmente una modifica, un aggiornamento, un’integrazione rispetto ai dati che ha nella sua disponibilità. Anche qui obbligo del titolare di rispettare l’esattezza dei dati, dall’altro lato diritto dell’interessato a chiedere la modifica, l’integrazione e l’aggiornamento dei suoi dati.

La necessità, oltre ad esprimere minimizzazione e esattezza, esprime anche quello che è stato definito il principio di precauzione. La precauzione è un’altra faccia della necessità laddove si richiede al titolare di valutare ex-ante, quindi a priori, che effettivamente il dato sia pertinente rispetto alla finalità. Ecco questa parola pertinente fonda questo principio di precauzione per cui il titolare ha l’onere, ha l’obbligo di accertarsi, di assicurare che i dati che chiede siano pertinenti rispetto al trattamento. Ancora sempre dentro la necessità si esprime il principio di proporzionalità, sempre legato alla quantità e alla qualità dei dati. Proporzionalità che diviene un canone proprio ermeneutico di tutta la disciplina. Peraltro la proporzionalità non riguarda solo il titolare, nel senso che il titolare è tenuto a ponderare l’utilizzo dei dati affinché questo utilizzo sia proporzionato alle finalità che che vuole perseguire ma addirittura con la proporzionalità andiamo ad individuare un canone ermeneutico che oltre a riguardare il titolare riguarda anche i legislatori nazionali. Ciò vuol dire che tutti i legislatori nazionali nel momento in cui intervengono rispetto alla disciplina dei dati personali per ciò che è oltre il GDPR (perché il GDPR è un regolamento, quindi i legislatori nazionali non lo possono modificare, né lo devono implementare a livello nazionale), però per qualsiasi aspetto che tratti i dati personali da un punto di vista di legislazione interna, quindi nazionale degli Stati membri, i legislatori devono sempre essere guidati da questa stella polare della proporzionalità rispetto all’utilizzo dei dati, perché dobbiamo sempre ricordarci che quando noi normiamo la disciplina dei dati personali dobbiamo sempre bilanciare l’obiettivo di tutela della persona con l’obiettivo di circolazione di dati da incentivare, favorire e promuovere nell’ambito di una economia di mercato che si fonda ormai quasi interamente sul digitale, quindi nell’ottica del funzionamento del mercato.

A chiusura dell’articolo 5 abbiamo la positivizzazione di ulteriori principi che sono in particolare il principio di integrità e di riservatezza e il principio di responsabilizzazione del titolare. Il titolare si deve occupare, deve far sì che i dati vengano posti in una condizione di adeguata sicurezza. Adeguata sicurezza vuol dire che devono essere conservati in un modo tale che consenta l’identificazione del soggetto interessato, per il tempo necessario al perseguimento delle finalità e nell’ambito di questa conservazione devono essere adottate tutte le misure necessarie a che non vi sia un trattamento illecito, una dispersione dei dati, la loro perdita, la loro distruzione, la loro cancellazione accidentale o comunque una qualsiasi forma di data breach, quindi di ingerenza di terzi rispetto ai dati detenuti dal titolare. Quindi quando l’articolo 5 dice che questa sicurezza che il titolare deve garantire deve essere adeguata, il concetto di adeguatezza delle misure di sicurezza adottate è un aspetto che riguarda innanzitutto proprio la pretesa nei confronti del titolare. E in secondo luogo ovviamente proprio la considerazione delle misure tecniche organizzative che il titolare pone in essere. In generale il titolare deve adottare le migliori misure possibili contestualizzate alla sua situazione perché ovviamente implementare delle misure di sicurezza dei dati ha un costo. Quindi anche l’adeguatezza la dobbiamo considerare in base al soggetto che è chiamato a porre in essere queste misure di sicurezza in relazione ai costi, in relazione alle possibilità e anche in relazione allo sviluppo tecnologico perché lo sviluppo tecnologico è a sua volta un parametro di sicurezza: magari determinate misure che oggi sono considerate ottimali per proteggere i dati personali nel tempo diventano meno forti, più accessibili più by-passabili magari da esperti di questo tipo di attività. E poi appunto anche lo sviluppo tecnologico oltre ai costi, alle possibilità, è un parametro per valutare l’adeguatezza delle misure che sono scelte dal titolare del trattamento per proteggere i dati. Ciò che emerge un po’ da queste battute su questa parte finale l’articolo 5 è che il GDPR spinge molto per una responsabilizzazione del titolare, quindi il titolare non può ricevere questi dati, trattarli, poi quello che succede succede. Il titolare risponde proprio di tutte le attività che riguardano i dati quindi non soltanto quelle più strettamente legate ad un utilizzo dei dati ma anche alla loro appunto protezione e in questo senso quindi il titolare viene onerato con un obbligo positivizzato di occuparsi sempre di limitare al minimo i rischi che gli interessati corrono una volta che permettono il trattamento dei loro dati personali. La logica è quella di rendere il titolare soggetto responsabile, nel senso di soggetto proattivo, allo sviluppo di ogni attività che sia idonea a garantire la tutela dei diritti e delle libertà fondamentali delle persone fisiche. Perché se io proteggo i dati personali della persona stò proteggendo ovviamente le sue libertà individuali.

Ecco, quindi, che il titolare è tenuto ad adottare tutte le garanzie indispensabili, a utilizzare, a implementare tutte le misure tecniche e organizzative idonee a assicurare la tutela dei dati delle persone fisiche. E ovviamente nel far ciò si dice che deve predisporre delle misure di tutela tecniche, organizzative, giuridiche. Già dall’utilizzo di questi termini riscontriamo come sia un tipo di contesto in cui effettivamente è necessaria la presenza di diverse figure che si occupano di questa attività di controllo del rischio da parte del titolare, proprio perché serve una visione integrata che tenga conto di tutti gli aspetti che vengono toccati dal trattamento, quindi da quelli più strettamente informatici a quelli di attività svolta dal titolare e magari anche quelle appunto più strettamente legali. Ovviamente questa sicurezza deve essere garantita nel tempo, quindi anche questo principio diventa un principio che permea l’intero rapporto perché deve essere garantita in ogni fase dell’attività di trattamento, quindi da intendersi un principio che si sviluppa in senso dinamico, deve essere ridefinita questa adeguatezza delle misure adottate nel tempo in base a quelle che sono le spese da sostenere e i progressi sotto il punto di vista tecnico. Ciò vuol dire che il titolare è tenuto a monitorare nel tempo, ad un’attività di monitoraggio per accertarsi di aver adottato le misure più adeguate, proporzionate in relazione ai rischi perché i rischi anche sono in continuo mutamento. Ciò che è importante è che esprime ancor di più la responsabilizzazione che viene fatta del titolare e che il titolare deve essere addirittura in grado di dare prova in ogni momento di aver rispettato queste regole. Quindi serve anche una formalizzazione da parte del titolare di tutte le attività che svolge per assicurarsi di aver posto in essere le migliori misure possibili. Perché gli può essere richiesto di dimostrare di aver attuato la disciplina GDPR al 100%. In questo senso il principio di responsabilizzazione rispetto al quale vengono svolte tutte le attività di cui sopra viene in qualche modo riportato nel termine della cosiddetta accountability. Si parla di accountability proprio con il termine inglese perché è qualcosa che va oltre la responsabilità, cioè non solo il titolare è responsabile ma in più è tenuto a questo ruolo, a questa funzione proattiva di tutela che insieme possono essere descritti con questa accountability, proprio perché accountability significa rendere conto. Quindi il titolare rende conto sia dal punto di vista di responsabilità sia dal punto di vista di attività che è chiamato a svolgere, quindi l’accountability proprio come un termine che va a permeare tutte le politiche, le procedure, l’agire del del titolare che deve sempre porre in essere questa attività di controllo di gestione e di prevenzione del rischio nello svolgimento del trattamento.

Rispetto all’accountability del titolare emergono, rilevano, due istituti particolari che sono introdotti dal GDPR. Che sono a loro volta l’espressione non solo del principio di responsabilizzazione, dell’accountability del titolare ma anche della minimizzazione che abbiamo visto prima, quindi della necessità. Questi istituti sono due. Il primo è espresso dall’articolo 35 del GDPR ed è la valutazione di impatto. La valutazione di impatto deve essere eseguita, è una valutazione preventiva di impatto, deve essere eseguita ogni volta che il trattamento dei dati personali – di cui bisogna verificare la proporzionalità rispetto alle finalità – presenti dei rischi elevati per i diritti e le libertà delle persone fisiche. Quindi ogni volta che è possibile che ci sia un rischio particolarmente elevato per i diritti e le libertà delle persone fisiche, allora è necessario preventivamente fare questa valutazione di impatto. E se la valutazione di impatto ci dice che effettivamente il rischio che l’interessato corre è particolarmente elevato e le misure adottate dal titolare possono non essere in grado di tutelare l’interessato in modo nel modo opportuno, allora, prima di eseguire il trattamento, il titolare è tenuto a consultare l’Autorità Garante, il Garante per la Protezione dei Dati Personali. Quindi la valutazione di impatto come istituto nuovo introdotto dal GDPR con cui prevenire i rischi che l’interessato può correre in considerazione del trattamento che il titolare vuole svolgere.

Oltre alla valutazione preventiva di impatto, un’altra espressione della dell’accountability è quella che riscontriamo nei metodi cosiddetti di privacy by design e privacy by default, espressi dall’articolo 25 del GDPR. Privacy by design vuol dire protezione fin dalla progettazione, mentre privacy by default vuol dire protezione dei dati per impostazione predefinita. Sono dei metodi di tutela dei dati che il titolare è tenuto ad esercitare nel senso che deve far sì che il trattamento per come è impostato (impostazione predefinita) o per come progettato proprio fin dall’inizio, sia strutturato in un modo tale da impedire o comunque da limitare il più possibile il rischio di un trattamento che non protegga i dati personali. Ovviamente pure qui rientriamo nei principi citati in precedenza. Per esempio facciamo ipotesi di privacy by design, quindi protezione dei dati fin dalla progettazione, come faccio ad assicurarmi di proteggerli al meglio facendo sì che io utilizzi soltanto i dati pertinenti, soltanto i dati necessari, quindi rispettando il principio di minimizzazione, il principio di proporzionalità e principio di necessità al massimo? Sto rispettando la proporzionalità, nel senso che li utilizzo soltanto per il periodo di tempo determinato? Insomma, nel momento in cui sto rispettando tutti questi principi li concretizzo nella progettazione del mio sistema di trattamento e quindi progetto l’attività di trattamento privacy by design, dal design, della progettazione dell’attività di trattamento in modo tale da concretizzare proprio tutti gli obblighi che il GDPR mi pone come titolare. Peraltro, nel momento in cui, nonostante io abbia adottato tutte le misure più adeguate possibili, io titolare mi rendo conto che è avvenuta una violazione dei dati, ho addirittura l’obbligo della cosiddetta data breach notification. Quindi ho l’obbligo di notificare l’avvenuta violazione al Garante e l’obbligo di comunicare l’avvenuta violazione agli interessati. Lo stesso soggetto che tratta i dati rispetto ai quali si è verificata la violazione ha l’obbligo di rendere nota questa notizia sia al Garante così che possa intervenire, sia agli interessati. Peraltro in tutto questo ambito entra in gioco anche un altro soggetto che affianca il titolare che è nominato con l’acronimo di DPO che sarebbe il Data Protection Officer. Questo è un soggetto che tra le varie funzioni che ricopre con riferimento all’implementazione di tutte le regole del GDPR è incaricato in particolare proprio di verificare che il rispetto della normativa privacy sia costante, sia continuo da parte del titolare e infatti è un soggetto che poi si occupa anche di svolgere attività di rapporto, di contatto tra il titolare e l’autorità di controllo e il garante, proprio perché ha questo ruolo di verificare in concreto il rispetto della normativa.

Diritto dei dati – Il diritto alla privacy

Diritto alla riservatezza, privacy e protezione dei dati personali. Evoluzione normativa in Italia e nell’UE e terminologia di base del GDPR.

Penso che partire dal diritto alla privacy sia fondamentale proprio perché è un po’ il centro, oltre che il punto di partenza appunto di ogni discorso che riguarda la tutela e la protezione dei dati. Innanzitutto dobbiamo dire che cos’è la privacy, il concetto di privacy si è molto evoluto negli anni ed è un concetto in continua evoluzione perché ha seguito, segue e continua a seguire l’evoluzione delle tecnologie e in particolare delle tecnologie informatiche.

Il diritto alla privacy nasce in origine nell’Ottocento negli Stati Uniti, nasce nella sua concezione di diritto alla riservatezza. Quindi noi partiamo da una concezione della privacy che coincide del tutto con la riservatezza. In questo significato originario quindi stiamo andando a tutelare la sfera giuridica soggettiva personale, quella che è l’intimità della vita privata e quindi non tanto ovviamente a livello fisico, di solitudine fisica, di lasciar soli fisicamente, ma anche inteso come di evitare l’intrusione nell’intimità della vita del soggetto e quindi a difesa di quelli che sono i valori di dignità di autonomia dell’individuo rispetto appunto alla sua persona.

Questo diritto muta nel tempo perché di fronte ad una società sempre più digitalizzata, di fronte ad una società sempre più toccata dalle innovazioni del digitale e quindi da tutte le tecnologie informatiche, in qualche modo cambia e da diritto alla riservatezza in questo senso inteso passiamo ad una logica quasi più di diritto di libertà informatica. Diritto di autodeterminazione informatica, diritto di protezione rispetto ai propri dati personali. Ovviamente sempre nella logica dell’utilizzo di questi dati che ci riguardano da parte di terzi.

Perché è un contesto in cui, soprattutto grazie alle spinte del digitale, l’informazione circola in dei modi completamente nuovi rispetto al passato. Con una velocità, con una capacità di diffusione nettamente più estesa rispetto a quanto poteva avvenire prima dell’avvento delle tecnologie informatiche e quindi richiede un cambio di passo, un cambio di considerazione perché soprattutto attraverso l’utilizzo di internet, chiunque è in grado in qualsiasi momento, in qualsiasi luogo, di accedere a informazioni che quindi devono essere a questo punto adeguatamente tutelate. Perché chiunque può fare accesso, chiunque le può memorizzare, le può utilizzare e conseguentemente le può anche riutilizzare, può combinarle: può combinare le informazioni tra loro. E questo ha una rilevanza rispetto a quello che può emergere da questa combinazione delle informazioni e quindi dei dati personali delle persone, perché ovviamente attraverso la combinazione di diverse informazioni posso avere delle rappresentazioni virtuali delle persone e attraverso queste rappresentazioni virtuali delle persone allora le posso in qualche modo categorizzare, individualizzare rispetto ai loro gusti, alle loro preferenze, alle loro abitudini. Da qui l’originario diritto alla riservatezza come “right to be let alone” ovviamente diventa un po’ insufficiente e quindi si richiedono delle nuove forme di tutela delle persone fisiche.

Un primo momento di questo percorso si ha innanzitutto con il Trattato sul Funzionamento dell’Unione Europea (l’articolo 16), con il Trattato sull’Unione Europea (all’articolo 39) e in particolare la Carta di Nizza. La Carta di Nizza è la Carta dei diritti fondamentali dell’Unione Europea che all’articolo 8 esprime la definitiva separazione tra la vecchia concezione della privacy e la nuova concezione della privacy, quindi da riservatezza a protezione del trattamento dei dati personali. Perché all’articolo 8 della Carta di Nizza viene proprio posto il diritto alla protezione dei dati personali come un diritto che ha una posizione del tutto autonoma e distinta rispetto alla riservatezza, che infatti è indicata nella Carta di Nizza l’articolo 7. Quindi abbiamo l’articolo 7 che ci parla della riservatezza e quindi del diritto alla riservatezza rispetto alla propria vita familiare e personale privata e poi l’articolo 8 invece il diritto alla privacy modernamente inteso e quindi come diritto di ogni individuo ad essere tutelato di fronte al trattamento dei dati personali che lo riguardano.

Da un punto di vista invece più strettamente di legislazione nazionale, il primo intervento italiano di riconoscimento del diritto alla protezione dei dati personali lo abbiamo nel 1996. Nel 1996 il legislatore recepisce con la legge 675 la direttiva del 1995 n.46. Quindi la prima legge italiana è la 675 del 96 di recepimento della direttiva 46 del 95 che poi è stata in un secondo momento modificata e integrata dal decreto legislativo del 2003 n. 196; quest’ultimo è quello che noi chiamiamo Codice della Privacy. La nostra principale fonte a livello nazionale che finalmente contiene norme relative al trattamento dei dati personali in una duplice ottica: non soltanto come tutela dei diritti della personalità (tutela dell’individuo in quanto tale), ma anche con un primo approccio di regolazione rispetto alla circolazione dei dati personali.

Questo aspetto è estremamente importante perché poi è al centro del regolamento del 2016, il Regolamento Europeo del 2016 n.679, che è noto con l’acronimo GDPR che sta per General Data Protection Regulation: è oggi la nostra fonte principale. Non è venuto meno il Codice della Privacy, è ancora in vigore, però è stato completamente toccato dalla presenza del GDPR. Innanzitutto una nota sulla fonte normativa: il regolamento. Siamo di fronte ad un regolamento dell’Unione Europea, il Regolamento è una fonte normativa comunitaria estremamente importante perché il Regolamento è, in quanto tale, direttamente applicabile in tutti gli Stati membri. Ciò vuol dire che con il Regolamento si vanno a perseguire obiettivi di uniformazione. Questo aspetto è estremamente importante perché il precedente atto normativo dell’Unione Europea era stata una direttiva (la direttiva del 1995 n. 46) e questo è un cambio anche a livello culturale estremamente importante perché la direttiva come fonte di produzione normativa europea ha una funzione diversa. La direttiva deve essere recepita negli ordinamenti nazionali. quindi serve un atto normativo del legislatore nazionale che recepisca la direttiva e le direttive non devono essere applicabili così come sono scritte, perché le direttive impongono obblighi agli Stati da un punto di vista delle finalità, ma non dal punto di vista delle modalità di perseguimento del fine. Pertanto il modo in cui si persegue la finalità può cambiare da Stato a Stato e questo è estremamente rilevante in questa materia, perché se la direttiva deve essere recepita da ogni Stato, ogni Stato, poi, ha la propria legge interna di regolazione di un certo fenomeno, in questo caso la protezione dei dati personali e ciò può condurre ad una frammentazione, frammentazione a livello comunitario può voler dire incertezza e quindi siamo di fronte poi ad un sistema che prevede delle tutele diverse in base allo Stato di appartenenza. Quindi con il Regolamento abbiamo la uniformazione del diritto e con le direttive la cosiddetta armonizzazione.

Ci si è resi conto negli anni che il progresso delle tecnologie informatiche era talmente significativo che occorreva intervenire in modo più incisivo a livello comunitario e quindi si sceglie la strada del Regolamento e il legislatore italiano ha dovuto prevedere con un decreto legislativo, il Decreto legislativo n.101 del 2018, delle norme di coordinamento tra la vecchia disciplina, quindi quella del Codice della Privacy del 2003, e la nuova disciplina del GDPR che è del 2016 ed entrato in vigore nel maggio 2018.  Quindi il decreto legislativo 101 del 2018 si è dovuto occupare di coordinare la disciplina nazionale con quella comune a tutti gli Stati membri dell’Unione europea.

Un aspetto estremamente rilevante del GDPR è che il GDPR porta alla massima valorizzazione e alla massima esaltazione quel dualismo che indicavo prima con riferimento al Codice della Privacy. Perché il GDPR segue un’impostazione duale che però non va letta in una logica di contrapposizione ma invece come una complementarietà degli obiettivi che persegue: da un lato il GDPR ha come obiettivo fondamentale la protezione dell’interessato, quindi il soggetto che subisce il trattamento dei suoi dati personali, accanto c’è però quello della promozione e della tutela della circolazione dei dati. Questa promozione, questa tutela va oltre la sfera dell’individuo perché si pone più in una logica di mercato. Il mercato, l’economia attuale è strettamente fondata attorno alla circolazione dei dati e quindi automaticamente occorreva guardare non solo alla logica della persona, ma anche alla regolazione del fenomeno per come tocca gli aspetti che riguardano l’economia.

La logica diviene quindi quella di tutelare l’individuo e regolare la circolazione delle informazioni.

E quindi possiamo dire che rientra a pieno titolo in quelli che ad oggi consideriamo i diritti fondamentali delle persone, il diritto alla protezione dei dati personali. E sono dei diritti fondamentali anche se in realtà quantomeno in Italia la Costituzione non li nomina. La Costituzione italiana non fa riferimento a questa situazione giuridica soggettiva quindi a quella situazione che riguarda la necessità di proteggere i dati personali delle persone. Ovviamente la nostra Costituzione è troppo risalente e non è stata modificata di recente per introdurre questo aspetto. Benchè non ci sia una indicazione esplicita nella nostra Carta, in realtà nel momento in cui la protezione dei nostri dati personali come diritto fondamentale noi lo andiamo a considerare come un diritto che concerne la circolazione delle nostre informazioni e quindi se si parla di circolazione si parla di rappresentazione verso l’esterno della nostra personalità, cioè si parla di informazioni che ci riguardano che in qualche modo stanno uscendo dalla nostra sfera più stretta, più intima di controllo personale. Quindi in questo senso la circolazione delle informazioni va letta come una esternazione delle caratteristiche della nostra personalità e quindi inevitabilmente va a toccare quella che è la nostra rappresentazione verso l’esterno. Se parliamo di rappresentazione verso l’esterno ci stiamo configurando in una posizione di relazione verso l’esterno quindi relazione con il prossimo, sia il prossimo un’altra persona fisica, sia il prossimo un’autorità pubblica, sia il prossimo un privato che agisce nella sua dimensione di attività commerciale o professionale. E quindi se ci posizioniamo nell’ambito di una attività di relazione possiamo ricondurre questo nuovo riconoscimento del diritto alla protezione dei dati personali all’interno dell’articolo due. L’articolo due, il cosiddetto trasformatore permanente della Costituzione perché è l’articolo che permette più di tutti di adeguare la protezione delle persone rispetto alla trasformazione della società negli anni, permette anche di riconoscere una “casa” per la protezione dei dati personali anche a livello costituzionale: possiamo riconoscere a livello costituzionale interno nell’articolo due in una funzione di costituzionalizzazione. In particolare con riferimento alla Corte Costituzionale vi è una sentenza rilevante addirittura del 73 la n. 38, che è particolarmente rilevante perché ha segnato la giurisprudenza di merito e di legittimità successiva perché con questa sentenza è stato proprio riconosciuto l’inserimento della riservatezza (ovviamente nel 73 ancora non si parlava di trattamento dei dati) all’interno dei diritti inviolabili dell’uomo. Quindi questa concezione della riservatezza, della privacy come un diritto inviolabile e quindi come un valore primario del nostro ordinamento costituzionale.

Ovviamente la questione si estende nel tempo perché dalla riservatezza passiamo alla protezione dei dati personali, perché di fronte allo sviluppo tecnologico – è vero che siamo di fronte a dei fattori che ormai sono da tutti considerati come strumenti tecnologici estremamente significativi per la crescita del benessere, per il miglioramento della qualità della vita – ci si è resi conto nel tempo di quanto siano altrettanto capaci di incidere poi negativamente sulle persone, sui diritti fondamentali delle persone, in tutti quei casi in cui il trattamento dei dati delle persone non dovesse essere fatto con le opportune garanzie. Da questo punto di vista il passaggio fondamentale, il cambio di mentalità si ha principalmente con il Codice della privacy che permette appunto questo collegamento molto stretto, questo avvicinamento tra la protezione dei dati personali e i diritti inviolabili, questa concezione di inviolabilità dell’essere umano che è tipicamente costituzionale. Ciò avviene nel Codice della privacy mediante il riconoscimento del diritto alla protezione dei dati che si fonda su due principi fondamentali: il primo principio è quello cosiddetto del livello elevato di tutela, quindi il livello elevato di tutela dei diritti e delle libertà fondamentali dell’individuo, il secondo è il principio di necessità del trattamento di dati che si riferiscono ad una persona. Il Codice della Privacy del 2003 è l’innovazione da questo punto di vista, perché il precedente riferimento normativo che era la legge 675 del 96 si limitava a garantire che il trattamento dei dati delle persone, quindi il trattamento dei dati personali, si realizzasse nel rispetto dei diritti e delle libertà e della dignità delle persone fisiche. Quindi noi nel 96 parliamo di trattamento che deve essere rispettoso dei diritti appunto e delle libertà e della dignità delle persone, però è come se stessimo scindendo i due momenti, invece con il Codice della Privacy del 2003 andiamo a considerare quella stessa protezione dei dati personali come tutela dei diritti, delle libertà e delle dignità dell’individuo. Qui non sono due cose che si affiancano, ma appunto diventa un ragionamento unico.

Il primo principio che guida il codice del 2003 è il principio di elevata tutela. L’elevata tutela comporta che i poteri pubblici si devono impegnare in modo effettivo alla protezione dei dati personali. È importante questa parola impegnare perché si impone uno specifico obbligo di protezione. Quindi non è soltanto una pretesa di astenersi dal generare conseguenze negative alla sfera intima della persona, non è una logica difensiva del diritto, è una logica al contrario positiva, una logica di tutela, è una logica proattiva che impegna verso la disposizione di strumenti di tutela. Per quanto riguarda invece il secondo principio: è il principio di necessità che guida il codice della privacy. Parliamo di principio di necessità nel trattamento dei dati che si traduce nella riduzione al minimo di dati da utilizzare. Quindi la logica è che quando si svolge un’attività di trattamento dei dati personali si deve ridurre il più possibile i dati, la quantità di dati che vengono utilizzati per perseguire la finalità che il trattamento persegue. Quindi utilizzerò soltanto i dati che sono necessari a perseguire le finalità del trattamento. In questo senso capiamo un ulteriore passaggio della differenza tra la vecchia concezione della privacy, quella strettamente connessa alla riservatezza, e la nuova concezione della privacy legata al trattamento dei dati, potendo dire che con la riservatezza siamo di fronte ad un diritto dal contenuto negativo, negativo nel senso di contenuto che è rivolto alla esclusione dei terzi dall’ingresso nella nostra sfera più intima, quindi da qualsiasi ingerenza di terzi nella nostra vita privata. Quindi contenuto negativo nel senso di difensivo. Quando invece parliamo di privacy come trattamento e protezione dei dati personali, parliamo di un diritto che ha un contenuto positivo, è il diritto affinché il trattamento dei dati avvenga in modo corretto, è il dirittoaffinché chi tratta i dati segua delle regole di gestione di questi dati e che chi fornisce i propri dati abbia la possibilità di autodeterminarsi a livello informativo quindi possa autodeterminare il singolo quali, quanti e come debbano circolare i dati che lo riguardano. Quindi contenuto positivo come impegno per chi li tratta e come autodeterminazione informativa per chi subisce il trattamento.

Ora torniamo al contenuto proprio del GDPR. Ovviamente teniamo sempre a mente che il GDPR costituisce per noi il perno su cui si basa tutta la costruzione della visione europea del trattamento dei dati e dello sviluppo dell’economia digitale. Vediamo però adesso qualche aspetto fondamentale del GDPR innanzitutto dal punto di vista del lessico per capire tutta una serie di parole che che troviamo e quindi diremo innanzitutto che cos’è il dato personale. Il dato personale ci viene indicato dall’articolo 4 del GDPR al n.1, come qualsiasi informazione che si riferisca ad una persona fisica identificata o identificabile. Identificabile s’intende quella persona che può essere identificata anche in modo indiretto e quindi attraverso un nome, un numero di identificazione, uno pseudonimo, un identificativo online, oppure attraverso altri elementi del suo fisico o dei suoi geni o altri riferimenti alla sua identità dal punto di vista sociale, culturale, economico o politico, qualsiasi tipo di informazione che ci permetta poi di ricondurre quel dato, quell’informazione a una persona fisica. Quando parliamo invece di trattamento dei dati personali, sempre all’articolo 4 del GDPR, parliamo di qualsiasi operazione, quindi nella nozione di trattamento facciamo rientrare qualsiasi operazione o anche insieme di operazioni che siano applicate ai dati personali. Quindi qualsiasi attività rivolta ai dati personali: può essere un’attività di raccolta, può essere un’attività di registrazione, può essere un’attività di conservazione, un’attività di estrazione, un’attività di uso, di diffusione ma anche di modifica dei dati. Quando si svolge una o più di queste condotte allora siamo di fronte ad un trattamento dei dati. Chi è quindi il titolare del trattamento? il titolare del trattamento può essere una persona fisica, può essere una persona giuridica, un ente, oppure può essere anche una autorità pubblica, ciò che ci interessa è che il titolare del trattamento è il destinatario praticamente di quasi tutti gli obblighi contenuti nel GDPR. Il GDPR presenta un elenco particolarmente significativo di obblighi che sono rivolti proprio ai titolari sempre nella logica di protezione dei dati personali. In particolare, usando un sunto, il titolare del trattamento ha il compito di adottare tutte le misure necessarie alla protezione dei dati delle persone fisiche. La logica dell’adozione di queste misure è ovviamente quella di evitare o comunque di ridurre il più possibile i rischi che i dati vengano persi o ne vengano in possesso terzi non autorizzati. Queste misure sono rivolte al titolare, è il titolare che deve individuare quali siano le migliori modalità con cui proteggere i dati; ovviamente imponendo degli obblighi al titolare del trattamento, il legislatore, come si fa sempre nella produzione normativa, riconosce anche dei diritti all’interessato. Chi è l’interessato? Ogni volta che diremo la parola l’interessato ci stiamo riferendo alla persona i cui dati personali sono trattati. E questi diritti sono tutti diritti attraverso i quali l’interessato può controllare il flusso di informazioni che lo riguardano. In questo modo, quindi, può impedire che il trattamento dei suoi dati possa essere effettuato con modalità tali da ledere la sua sfera morale e la sua sfera personale. Quindi proprio dei diritti riguardanti il momento del trattamento io interessato ho la possibilità, attraverso il GDPR, di incidere rispetto le modalità con cui i miei dati sono trattati dal titolare: ad esempio sono riconosciuti i diritti all’aggiornamento, alcune informazioni che mi riguardano sono modificate e io le voglio aggiornare, modificare, le voglio rettificare, le voglio integrare o le voglio cancellare; non sono più disposto a che i miei dati siano nella disponibilità di un certo titolare quindi li voglio cancellare. La cancellazione dei dati personali è un riferimento importante perché il GDPR riconoscere per la prima volta anche il cosiddetto diritto all’oblio, che però è diverso dalla cancellazione, perché la cancellazione riguarda la situazione in cui i dati che io ho permesso che venissero utilizzati rispetto ad un certo fine non sono più necessari oppure non sono più io interessato a che vengano trattati da quel titolare. Il diritto all’oblio invece, riconosciuto all’articolo 17 del GDPR, è diverso perché riguarda proprio il diritto a far dimenticare informazioni, fatti, che riguardano il mio conto come interessato, quindi l’oblio come diritto a far dimenticare quando magari una certa informazione, un certo fatto non è più di interesse per la collettività e quindi voglio che non venga più fatto circolare nel senso che venga fatto dimenticare; invece la cancellazione riguarda proprio la cancellazione di dati rispetto ad uno specifico, a una specifica attività di trattamento.

Ultimo riferimento importante dal punto di vista di base del GDPR è il consenso. Il consenso è uno dei modi con cui si permette l’attività di trattamento. L’articolo 6 del GDPR fa riferimento proprio alla manifestazione del consenso dell’interessato come base giuridica per il trattamento. Quindi il trattamento da parte del titolare è permesso dal consenso dell’interessato che lo deve manifestare. Il consenso innanzitutto deve essere prestato in forma espressa, sia oralmente che per iscritto, è importante appunto che sia espresso, cioè che si sostanzi in un atto positivo idoneo a manifestare l’intenzione di asserire al trattamento. In ogni caso, la regola importante del consenso è che può essere revocato in qualsiasi momento: posso in qualsiasi momento revocarlo e non devo nemmeno dare una motivazione sulla revoca.

Quali sono però i contenuti di questo consenso? Il consenso affinché sia valido, affinché il consenso possa costituire la fonte di un trattamento di dati personali deve avere 4 caratteristiche che, ovviamente, devono sussistere contemporaneamente, non sono alternative tra loro:

  • la prima caratteristica è che il consenso deve essere inequivocabile. Inequivocabile vuol dire che l’interessato non deve avere alcun dubbio al fatto che con quel consenso permette un trattamento dei dati. Quindi l’inequivocabilità la individuiamo proprio nel nesso tra il consenso e il trattamento. Quindi quella mia manifestazione di consenso deve riguardare un trattamento dei dati personali;
  • il secondo requisito è che il consenso deve essere informato. Informato vuol dire che deve essere un consenso che sia pienamente consapevole dell’attività che verrà svolta. E quindi deve trovarsi l’interessato trovarsi di fronte ad una informativa da parte del titolare che sia comprensibile, facilmente accessibile e resa in un linguaggio chiaro e comprensibile, dal quale emerga appunto tutto ciò, tutte le informazioni necessarie che riguardano il trattamento;
  • il terzo requisito è la specificità, il consenso deve essere specifico, specifico vuol dire che deve essere prestato per ognuna delle finalità del trattamento. Quindi se il trattamento persegue una finalità è specifico di fronte a quella finalità, se il trattamento persegue più finalità individuate dal titolare del trattamento allora il consenso deve essere prestato per ciascuna di queste finalità che il titolare intende svolgere. Il consenso deve essere specifico perché il soggetto interessato deve avere la possibilità di raffigurarsi tutti quelli che potranno essere gli effetti scaturenti dal suo consenso;
  • il quarto elemento è che il consenso deve essere libero. Libero vuol dire che il consenso deve essere prestato in assenza di qualsiasi forma di condizionamento.

Ora possiamo spendere a livello strettamente tecnico-giuridico qualche parola su questo consenso e in particolare sulla natura del consenso perché come abbiamo detto la protezione dei dati personali è un diritto fondamentale. E i diritti fondamentali sono diritti che noi riteniamo diritti assoluti, diritti indisponibili, diritti intrasmissibili, diritti imprescrittibili. Quindi sono i diritti quanto più fortemente riconosciuti alle persone in quanto tali. In questo senso, visto che la protezione dei dati personali è un diritto fondamentale, alcuni autori (il tema è aperto e ci sono diverse prospettive), hanno ritenuto che il trattamento dei dati, anzi il consenso al trattamento dei dati, non ha una valenza dispositiva. Perché? Perché non riguarda una proprietà di cui si dispone e che quindi si cede ma riguarda la persona. Il consenso dell’interessato ha un riferimento che afferisce alla persona in modo costitutivo e quindi il consenso può essere una autorizzazione, può essere un atto di autorizzazione, ma non può avere valenza negoziale come se fosse un contratto e quindi il titolare del trattamento è vero che è legittimato a trattare i dati perché c’è stato il consenso, però i dati secondo questa logica continuano ad essere della persona che ha prestato il consenso. Quindi non c’è una cessione in senso stretto perché i dati col fatto che afferiscono alla persona in modo proprio costitutivo e che afferiscono alla sua sfera personale allora rispetto a questi dati non viene meno la relazione di appartenenza a colui che presta il consenso e quindi l’atto di autorizzazione in questo senso sarebbe un atto che ha il risultato di rendere lecita un’attività che altrimenti sarebbe illecita. D’altra parte ci sono invece altri autori, altri giuristi della dottrina che invece sostengono che il consenso abbia una valenza negoziale, quindi che il dato sia qualcosa che io cedo come cedo un bene. Quindi si parla in questo senso di reificazione dei dati perché io come cedo un bene ceodo i miei dati personali e quindi nel momento in cui presto il consenso cedo i miei dati che entrano nel mercato e circolano nel mercato in quanto beni suscettibili di una loro valutazione economica che quindi poi seguirà le regole del mercato.

Torniamo Regolamento e a tutto ciò che riguarda l’importanza del GDPR proprio come strumento per superare una legislazione nazionale frammentata nell’Unione Europea e quindi poi per superare i profili di incertezza rispetto alla protezione, alla circolazione di dati. Con lo strumento del Regolamento siamo arrivati alla possibilità di incentivare lo sviluppo e la diffusione dei mercati digitali in Europa in generale nell’ottica di creare un po’ quello che è un clima di fiducia rispetto a una circolazione di dati per i cittadini dell’Unione europea. Il GDPR in ciò rende effettivamente chiaro il cambio di mentalità proprio perché la direttiva europea del 95 era una direttiva che aveva una concezione un po’ più statica della protezione della privacy mentre appunto con il Regolamento andiamo verso una considerazione dinamica. Quindi una tutela non solo in riguardo all’utilizzo delle informazioni che ci riguardano e che quindi noi possiamo permettere con il consenso, ma una tutela dinamica proprio perché l’interessato può in qualche modo seguire i dati, seguire la circolazione dei dati che lo riguardano e quindi intervenire a propria protezione in ogni fase della della circolazione che avviene chiaramente sulla Rete. E tornando appunto al GDPR notiamo come questa forma di tutela è tanto significativa che addirittura ci permette di tutelare i nostri dati personali non solo come dicevamo prima nei confronti in generale dei titolari che possono essere soggetti pubblici e soggetti privati ma addirittura a proteggerci dai titolari indipendentemente da stretti limiti territoriali. L’applicazione territoriale del regolamento, che è indicato all’articolo 3 del GDPR, è particolarmente interessante perché l’ambito di applicazione va oltre l’Unione Europea. Quindi, anche se abbiamo un provvedimento normativo UE, abbiamo una tutela che va oltre i confini dell’Unione. L’unica cosa che rileva, quindi, non è il luogo in cui avviene il trattamento dei dati, ma il luogo in cui è stabilito il titolare del trattamento oltre che l’interessato chiaramente, perché se io tutelo con la mia normativa un interessato ovviamente sto parlando del cittadino europeo quindi del cittadino dell’Unione europea e degli Stati membri dell’Unione europea. Però se il cittadino da tutelare europeo e il titolare è stabilito nel senso fisico proprio nell’Unione europea allora io potrò tutelare, potrò esercitare tutti i diritti che sono riconosciuti dal GDPR e potrò imporre al titolare tutti gli obblighi che sono imposti dal GDPR, anche se il trattamento poi avviene fuori dall’Unione europea. Per quanto riguarda gli obblighi imposti ovviamente la tutela sta nel fatto che il titolare che non si dovesse conformare agli obblighi imposti sarà soggetto alle attività del Garante della protezione dei dati personali. Grandi piattaforme digitali o comunque grandi poteri privati, grandi imprese, sono costantemente oggetto di attenzione nella loro attività da parte dei garanti nazionali della protezione dei dati personali, perché poi spesso un singolo cittadino non ha nemmeno gli strumenti per rendersi conto di come i suoi dati sono stati trattati e quindi a questo punto l’attività svolta dal Garante è estremamente rilevante, estremamente significativa a tutela della collettività perché possono poi condurre a delle sanzioni pecuniarie di importi estremamente elevati che costituiscono poi l’unico vero disincentivo alla violazione degli obblighi del GDPR. 

Se è fondamentale, infine, per l’applicazione del GDPR lo stabilimento del titolare nell’Unione europea ci sono casi addirittura in cui non si applica nemmeno questa regola e quindi la disciplina del GDPR si applica anche in mancanza dello stabilimento nel territorio dell’Unione Europea da parte del titolare e questi casi sono due e sono il caso in cui il trattamento di dati personali riguardi l’offerta di beni o la prestazione di servizi agli interessati, anche se l’offerta di beni o la prestazione di servizi avviene in mancanza di un corrispettivo. E poi la seconda ipotesi è quella in cui le attività di trattamento dei dati personali riguardino il monitoraggio dei comportamenti tenuti dagli interessati e ciò ha valore principalmente in tutti quei contesti di trattamento che utilizzi tecniche di profilazione, tecniche di tracciamento delle persone fisiche e che quindi siano delle tecniche che, profilando, tracciando le persone, permettano poi ai titolari del trattamento di adottare delle decisioni riferite a queste stesse persone, analizzare i loro comportamenti, prevedere le loro preferenze che possono essere le loro preferenze di consumo ma anche le loro preferenze personali, in tutti questi casi la portata applicativa del GDPR riguarda addirittura i titolari che non siano stabiliti nell’Unione europea. Questo è un elemento molto caratteristico della legislazione europea che segna la forza di questo strumento di regolazione di cui si è dotata l’Unione nel 2016, secondo una logica per cui se le informazioni, i dati personali delle persone possono circolare come avviene tramite internet a livello globale, allora anche la protezione che voglio fornire ai miei cittadini va oltre i miei limiti territoriali e cerco di estenderla il più possibile anch’essa a livello globale. È un aspetto di attenzione alla privacy estremamente significativo ed esteso e tale aspetto tra l’altro lo ritroviamo anche in quella essere la definizione del dato personale perché la definizione del dato personale è molto ampia. Perché se dico che è qualsiasi informazione con cui posso identificare una persona fisica, con questo sto dando una nozione molto ampia perché qualsiasi informazione vuol dire che se l’informazione la trovo cartacea, informazione alfabetica, numerica, acustica, fotografica, qualsiasi tipo di informazione qualunque sia la forma in cui l’informazione mi viene espressa e attraverso qualsiasi di queste informazioni posso identificare una persona e quindi tutte queste informazioni sono un dato personale, è una nozione estremamente ampia. E qual è la logica, la logica è la stessa di prima quindi così come estendo il più possibile a livello territoriale con una nozione così ampia di dato personale, pure posso estendere la tutela il più possibile perché mi permetto come legislatore europeo, di individuare in futuro tutta una serie di nuove situazioni che nel 2016 non posso considerare perché magari nel 2016 io conosco un livello di raggiungimento delle tecnologie tale per cui posso immaginarmi certe situazioni di tutela, invece così riesco a permettere un’evoluzione dell’applicazione GDPR anche attraverso le nuove situazioni che l’evoluzione tecnologica mi presenterà. Quindi una nozione di dato elastica, un nozione di dato onnicomprensiva e quindi idonea ad adeguarsi poi a tutte le situazioni che in futuro toccheranno la sfera dei dati personali delle persone fisiche perché le innovazioni e tutte le modalità con cui si permette il trattamento dei dati è in costante evoluzione. Pensiamo ora a tutto quello che ovviamente toccherà questa materia la prossima l’entrata in vigore del regolamento sull’intelligenza artificiale. Un tema completamente nuovo ma che costringe il legislatore ovviamente a stare al passo con l’evoluzione tecnologica e quindi queste nozioni ampie e poi questa portata territoriale anche particolarmente estesa permette di far fronte il più possibile all’esigenza di tutela: l’esigenza di tutela della persona che si affianca al bilanciamento degli interessi del mercato legato ai dati personali.