Slides per l'evento «Partizionamento for dummies» tenutosi durante le riunioni di BgLUG presso FabLab Bergamo il 27 giugno 2018.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

788 lines
23 KiB

% vim:sts=2:sw=2
% encoding: utf-8
\documentclass{beamer}
\usetheme[subsectionpage=progressbar]{metropolis}
\usepackage{booktabs}
\definecolor{darkblue}{RGB}{0,0,139}
\usepackage{tikz}
\usepackage{polyglossia,hyperref,fontawesome}
\setdefaultlanguage{italian}
\newfontface\cc{Font Awesome 5 Brands}
\hypersetup{
colorlinks=true,
urlcolor=darkblue,
pdfinfo={
Title={Partizionamento for dummies},
Author={Emiliano Vavassori}
}
}
\graphicspath{ {immagini/} }
\setcounter{tocdepth}{2}
% Personal commands
\newcommand{\email}[1]{\faEnvelope~\href{mailto:#1}{\alert{\texttt{#1}}}}
\newcommand{\twitter}[1]{\faTwitter~\href{https://twitter.com/#1}{\alert{\texttt{@#1}}}}
\newcommand{\homepage}[1]{\faHome~\href{https://#1}{\alert{\texttt{#1}}}}
\newcommand{\git}[1]{\faGit~\href{https://#1}{\alert{\texttt{#1}}}}
\newcommand{\wikilemma}[1]{\href{https://it.wikipedia.org/wiki/#1}{\raisebox{.2ex}{\tiny\faWikipediaW}}}
% Logos for CC
\def\faCreativeCommonsBy{{\cc\symbol{"F4E7}}}
\def\faCreativeCommonsSA{{\cc\symbol{"F4EF}}}
\pgfdeclareimage[width=2cm]{logo}{immagini/logo}
\pgfdeclareimage[width=.98\textwidth]{schemahdd}{immagini/schemahdd}
\pgfdeclareimage[width=.99\textwidth]{linux-fhs}{immagini/linux_fhs}
\pgfdeclareimage[height=.8\textheight]{lvm}{immagini/lvm_components}
% Redefining logo positioning
\setbeamertemplate{footline}{
\begin{minipage}[t]{.49\textwidth}
\hskip.5em\raisebox{.5em}{\pgfuseimage{logo}}%
\end{minipage}\hfill%
\begin{minipage}[b]{.49\textwidth}
\hfill\raisebox{.5em}{\insertframenumber/\inserttotalframenumber}\phantom{.}\hskip.5em
\end{minipage}
}
% The document
\title{Partizionamento \textit{for dummies}}
\date{27 giugno 2018}
\author{
Emiliano Vavassori\\[.2em]\tiny
\homepage{sys42.eu}\\
\email{syntaxerrormmm@gmail.com}\\
\twitter{syntaxerrormmm}\\
\git{git.sys42.eu}\\[.5em]
}
\institute{%
\begin{minipage}{.5\textwidth}
BgLUG - Bergamo Linux Users Group\\
c/o FabLab Bergamo\\
Via M.~Gavazzeni 3, Bergamo
\end{minipage}
\begin{minipage}{.45\textwidth}\flushright%
\includegraphics[width=3.5cm]{logo}
\end{minipage}%
}
%\logo{\includegraphics[width=2cm]{logo}}
\begin{document}
\maketitle
\begin{frame}
\frametitle{Contenuti}
\begin{columns}
\begin{column}{.45\textwidth}
\tableofcontents[sections=1-3]
\end{column}
\begin{column}{.45\textwidth}
\tableofcontents[sections=4-6]
\end{column}
\end{columns}
\end{frame}
\section{Cosa significa?}
\begin{frame}
\frametitle{\textsc{Wikipedia}: Partizione}
\begin{block}{}
\wikilemma{Partizione} Una \textbf{partizione} indica una
\alert{suddivisione logica} di un'unità di memorizzazione fisica
(tipicamente una memoria di massa come un disco rigido o una chiavetta
USB).
Le singole unità logiche vengono viste dal sistema operativo come
\alert{unità separate} e possono essere \alert{formattate} e gestite in
maniera del tutto indipendente.
Su ogni disco rigido è sempre presente \alert{almeno una partizione} per la
sua operatività, al più l'intera memoria vista come singola o unica
partizione.
\end{block}
\end{frame}
\begin{frame}
\frametitle{\textsc{Wikipedia}: Disco rigido}
\begin{block}{}
\wikilemma{Disco\_rigido} Un \textbf{disco rigido} o \textbf{disco fisso}
[\ldots] indica un dispositivo di memoria di massa di tipo
\alert{magnetico} che utilizza uno o più dischi magnetizzati per
l'archiviazione dei dati (file, programmi e sistemi operativi).
\end{block}
\begin{center}
\includegraphics[height=3cm]{hdd}\ \includegraphics[height=3cm]{hddchiuso}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Come funziona un disco rigido?}
\begin{center}
\pgfuseimage{schemahdd}
\end{center}
\end{frame}
\begin{frame}
\frametitle{\textsc{Wikipedia}: Chiave USB}
\begin{block}{}
\wikilemma{Chiave\_USB} Una \textbf{chiave USB} o \textbf{unità flash USB}
o \textbf{penna USB} [\ldots] è una \alert{memoria di massa portatile} di
dimensioni molto contenute (qualche centimetro in lunghezza e intorno al
centimetro in larghezza) che si collega al computer mediante la porta
USB.
\end{block}
\begin{center}
\includegraphics[width=4cm]{usbkeys}
\end{center}
\end{frame}
\begin{frame}
\frametitle{\textsc{Wikipedia}: Memoria di massa}
\begin{block}{}
\wikilemma{Memoria\_di\_massa} Una \textbf{memoria di massa} è un tipo di
memoria che raccoglie tipicamente \alert{grandi quantità di dati} rispetto
alla memoria primaria e in maniera non volatile cioè \alert{permanente},
almeno fino alla volontà dell'utente.
\end{block}
\end{frame}
\section{Perché?}
\begin{frame}
\frametitle{Perché si partiziona?}
\begin{itemize}[<+->]
\item Migliore organizzazione dei dati
\item Eseguire differenti sistemi operativi su un PC\newline (\emph{multi
booting})
\item Ridurre il rischio di perdite di dati
\item Comodità di backup e ripristino
\item Selettività nella cifratura del disco
\item Aumento delle performance
\end{itemize}
\end{frame}
\section{Come?}
\begin{frame}
\frametitle{Come partizioniamo?}
\only<2>{%
\begin{center}
\includegraphics[height=.8\textheight]{partizmanuale}
\end{center}}
\only<3>{%
\begin{center}
\includegraphics[height=.7\textheight]{applepartition}
\end{center}}
\only<4>{%
\centering
\begin{tikzpicture}
\tikzstyle{go}=[->,>=stealth]
\node[circle,draw=alert,scale=10.2] (first) at (0,0) {};
\node[circle,fill=alert!60,scale=10] (first) at (0,0) {};
\node[circle,fill=alert!40,scale=8] (middle) at (0,0) {};
\node[circle,fill=alert!20,scale=5] (last) at (0,0) {};
\node[circle,draw=alert,fill=white,scale=1] (inner) at (0,0) {};
\node[circle,draw,scale=.1] (p) at (1.3,1.3) {};
\node (l-mbr) at (3,2) { Settore d'avvio }
edge[go] (1.3, 1.3);
\node (l-first) at (4,1) { Prima partizione }
edge[go] (1.15, 1.15);
\node (l-middle) at (5,0) { Seconda partizione }
edge[go] (.8, .8);
\node (l-last) at (4,-1) { Terza partizione }
edge[go] (.3, .3);
\end{tikzpicture}}
\end{frame}
\subsection{L'avvio di GNU/Linux}
\begin{frame}
\frametitle{\textsc{Wikipedia}: Boot loader}
\begin{block}{}
\wikilemma{Boot\_loader} Il \textbf{boot loader} è il programma che, nella
\alert{fase di avvio} (\emph{boot}) del computer, \alert{carica il kernel}
del sistema operativo dalla memoria secondaria (ad esempio un \emph{hard
disk}) alla memoria primaria (generalmente la RAM), permettendone
l'esecuzione da parte del processore e il conseguente avvio del sistema.
\end{block}
\end{frame}
\begin{frame}
\frametitle{\textsc{Wikipedia}: Kernel}
\begin{block}{}
\wikilemma{Kernel} Il \textbf{kernel} costituisce il nucleo (o
\alert{nocciolo}) di un sistema operativo, ovvero il software avente il
compito di fornire ai processi in esecuzione sull'elaboratore un accesso
sicuro e controllato all'hardware.
Dato che possono esserne eseguiti simultaneamente più di uno [di processi,
NDR], il kernel ha anche la responsabilità di assegnare una
\alert{porzione di tempo-macchina} (\emph{scheduling}) e di \alert{accesso
all'hardware} a ciascun programma (\emph{multitasking}).
\end{block}
\end{frame}
\begin{frame}
\frametitle{Schema generico di avvio}
\begin{tikzpicture}{shapes,arrows}
\tikzstyle{hw}=[rectangle,draw=darkblue!70,fill=darkblue!20,rounded
corners=5pt,node distance=2.75cm,text width=1.8cm,text centered,minimum
height=4em]
\tikzstyle{block}=[rectangle,draw=alert!70,fill=alert!20,rounded
corners=5pt,node distance=2.75cm,text width=1.8cm,text centered,minimum
height=4em]
\tikzstyle{go}=[->,>=stealth,semithick,shorten >=5pt,shorten <=2pt]
\node[hw] (POST) at (0, 0) {\textit{Power On Self Test}};
\node<2->[hw,right of=POST] (firmware) { Firmware };
\draw<2->[go] (POST) to (firmware);
\node<3->[block,right of=firmware] (bootloader) { Codice d'avvio };
\draw<3->[go] (firmware) to (bootloader);
\node<4->[block] (kernel) at (8.15cm, 1.38cm) { Kernel };
\node<4->[block,below of=kernel] (initrd) { Archivio \texttt{initrd} };
\draw<4->[go,bend right=20] (bootloader.east) to (kernel.south);
\draw<4->[go,bend left=20] (bootloader.east) to (initrd.north);
\draw<5>[red,thick,dashed,rounded corners] (1.5,1) rectangle (6.75,-1);
\end{tikzpicture}
\end{frame}
\begin{frame}
\frametitle{Modalità \textit{legacy}}
\begin{center}
\begin{tabular}{@{\hspace{1ex}\bfseries}lr}
\toprule
Firmware & \textit{Basic Input/Output System} (BIOS)\\
Codice d'avvio & MBR/PBR e bootloader\\
\bottomrule
\end{tabular}
\end{center}
\pause
\begin{itemize}[<+->]
\item L'utente sceglie l'ordine dei disp.~da cui tentare l'avvio
\item Per ciascun dispositivo, il firmware cerca:
\begin{enumerate}
\item \textit{Master Boot Record} (MBR): \\
446 B (\textbf{codice d'avvio}) + 64 B (tabella partizioni)
\item \textit{Partition Boot Record} (PBR)
\end{enumerate}
\item Il codice binario di MBR/PBR cerca un \textbf{bootloader}
in una partizione con flag \alert{avviabile}
\item Il bootloader legge il file di configurazione
(\texttt{grub.conf})
\item Il bootloader carica kernel e \texttt{initrd}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Modalità UEFI --- 1}
\begin{center}
\begin{tabular}{@{\hspace{1ex}\bfseries}lr}
\toprule
Firmware & \textit{\small Unified Extensible Firmware Interface}
(UEFI)~\wikilemma{UEFI}\\
Codice d'avvio & File \texttt{.efi}\\
\bottomrule
\end{tabular}
\end{center}
\pause
Il firmware elenca automaticamente i dispositivi \alert{avviabili} collegati
al PC. L'utente deve stabilire l'\alert{ordine di avvio}.
\pause
Sono avviabili i disposivi che hanno:
\begin{itemize}[<+->]
\item \textit{EFI System Partition}, ESP:
\begin{itemize}
\item Tipo di partizione: \texttt{ef00}
\item File system: FAT32 (raccomandato)
\item Dimensione: 50~MiB o più
\item Può essere condivisa fra più OS
\end{itemize}
\item Bootloader: file eseguibili con estensione \texttt{.efi}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Modalità UEFI --- 2}
Ricapitolando:
\begin{itemize}[<+->]
\item Il firmware cerca dispositivi bootabili e ha già una lista di
bootloader
\item Viene caricato il bootloader dal primo dispositivo avviabile
\item Il bootloader legge il suo file di configurazione
(\texttt{grub.conf})
\item Il bootloader carica quindi il kernel e \texttt{initrd}
\end{itemize}
\onslide<5->
\textbf{N.B.}: Il flag \textit{avviabile} sulla partizione non è più necessario.
\onslide<6>
\textbf{N.B.}: Un firmware UEFI \emph{di norma} permette anche l'avvio in
modalità \textit{legacy}.
\end{frame}
\subsection{Scelte tecniche}
\begin{frame}
\frametitle{Tabella di partizioni MSDOS}
\begin{itemize}[<+->]
\item Posizione: 64 B all'inizio del disco (dopo codice d'avvio)
\item 4 partizioni massimo fra \emph{primarie} e \emph{estese}
\item 24 partizioni \emph{logiche} per ciascuna partizione \emph{estesa}
\item Totale: massimo 96 partizioni
\item Non \emph{sarebbe} compatibile con EFI (tabelle part.~ibride GPT)
\end{itemize}
\end{frame}
\subsubsection{Tabella partizioni GPT}
\begin{frame}
\frametitle{Tabella di partizioni \textit{GUID Partition Table} (GPT)}
\begin{itemize}[<+->]
\item Standard legato a EFI
\item Sicurezza: due copie, una all'inizio (\emph{primaria}) e una alla
fine del disco (\emph{backup})
\item Dimensioni: 16 kiB ciascuna: LBA1--34 (1 LBA $\approx$ 512 B)
\item Permette un totale di 255 partizioni, tutte identiche
\item LBA 0: \textit{Protective MBR}
\end{itemize}
\end{frame}
\subsection{Scelte operative}
\begin{frame}
\frametitle{Scelte che influenzano il partizionamento}
\begin{itemize}[<+->]
\item Velocità d'accesso ai dati (assoluta e relativa)
\item Compatibilità fra funzionalità a livello di \textit{file system}
\item Conoscenza dei software in uso
\item Esigenze di backup
\item Posizione dei dati con riferimento a \textit{Filesystem Hierarchy
Standard} (FHS)
\item Esigenze d'uso: \emph{desktop} vs.~\emph{server}
\item Scelte di hardening
\end{itemize}
\end{frame}
\subsubsection{Funzionalità a livello di file system}
\begin{frame}
\frametitle{Funzionalità del \textit{file system}}
\begin{itemize}[<+->]
\item \textit{Journaling} per la consistenza dei dati
\item Applicazione di quote (per utente, per gruppo)
\item \textit{Access Control List} (ACL)
\item Cifratura (\textit{Linux Unified Key Setup}, LUKS)
\item Memoria virtuale (\textit{swap})
\item Possibilità di fare \textit{snapshot}
\end{itemize}
\end{frame}
\subsubsection{Posizionamento dei dati}
\begin{frame}
\frametitle{Posizionamento dei dati}
\begin{itemize}[<+->]
\item Dati del database: \texttt{/var/lib}
\item Applicazioni web: \texttt{/var/www}
\item Log di sistema e delle applicazioni: \texttt{/var/log}
\item Dati condivisi SMB: \texttt{/srv} o \texttt{/var}
\item Molti programmi proprietari (giochi): \texttt{/opt}
\item Dati utente: \texttt{/home}
\end{itemize}
\end{frame}
\subsubsection{Scelte di hardening}
\begin{frame}
\frametitle{Scelte di hardening}
\begin{itemize}[<+->]
\item Limitare il riempimento della partizione \texttt{/}: creare una
\texttt{/tmp} separata
\item Su sistemi identici, condividere \texttt{/usr/share} via NFS
\item Rendere \texttt{/usr} in \textit{sola lettura}
\item Rendere \texttt{/boot} in \textit{sola lettura}
\item Usare file system \textit{legacy} su \texttt{/boot}
\item Usare opzioni di montaggio per protezione: \texttt{nosuid},
\texttt{noexec}
\end{itemize}
\onslide<7>
Riferimento:
\href{https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Disks}{Wiki
di Gentoo GNU/Linux}
\end{frame}
\subsubsection{Esigenze d'uso}
\begin{frame}
\frametitle{Esigenze d'uso: desktop vs.~server}
\begin{itemize}[<+->]
\item Dimensione della \textit{swap}
\item Presenza partizione singola/multiple partizioni per il sistema
\item Importanza di \texttt{/home}
\item Automontaggio dispositivi rimovibili
\item Più spazio per \texttt{/usr}: programmi GUI in più
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Indicazioni di massima}
Se desktop:
\begin{itemize}
\item Partizione \texttt{swap}: quanto la RAM o più (sospensione)
\item Una partizione per \texttt{/}, circa 20--45 GiB
\item Opzionale ma caldamente consigliato: \texttt{/home}, dati utenti
\end{itemize}
\onslide<2->
Se server:
\begin{itemize}
\item Partizione \texttt{/boot}, 200--500 MiB
\item Partizione \texttt{swap}, 2--4 GiB indipendentemente dalla RAM
\item Partizione \texttt{/}, 15--40 GiB
\item Partizione \texttt{/tmp}, 2--4 GiB
\item Partizione \texttt{/var}, \textit{ad libitum}
\end{itemize}
\end{frame}
\subsection{Strumenti}
\subsubsection{A linea di comando}
\begin{frame}
\frametitle{Strumenti a linea di comando}
\begin{itemize}[<+->]
\item \texttt{fdisk}
\item \texttt{cfdisk}
\item \texttt{gdisk}
\item \texttt{parted}
\end{itemize}
\end{frame}
\subsubsection{Con interfaccia grafica}
\begin{frame}
\frametitle{Strumenti con interfaccia grafica}
\begin{itemize}[<+->]
\item GNOME Disks
\item GParted
\end{itemize}
\end{frame}
\section{E poi?}
\begin{frame}
\frametitle{E poi?}
\tableofcontents[sections={4}]
\end{frame}
\subsection{La formattazione}
\begin{frame}
\frametitle{\textsc{Wikipedia}: Formattazione}
\begin{block}{}
\wikilemma{Formattazione} La \textbf{formattazione} è l'operazione tramite
la quale \alert{si prepara per l'uso} un supporto di memorizzazione di
massa [\ldots] per renderlo idoneo all'archiviazione di dati, impostando
la struttura del \alert{file system} che vi verrà creato sopra.
Può venire chiamata a volte anche \textbf{inizializzazione}, sebbene in
realtà questa è la fase finale della formattazione, quella di preparazione
logica e scrittura dei dati di etichettatura.
L'operazione consiste nel \alert{dividere} la capacità del disco \alert{in
una serie di blocchi} di uguali dimensioni e \alert{fornire una struttura
logica} in cui verranno scritte le informazioni che permetteranno
l'accesso ai dati desiderati.
\end{block}
\end{frame}
\begin{frame}
\frametitle{\textsc{Wikipedia}: File system}
\begin{block}{}
\wikilemma{File\_system} Un \textbf{file system} indica informalmente un
meccanismo con il quale i file \alert{sono posizionati e organizzati} su
un dispositivo di archiviazione o su una memoria di massa e, in casi
eccezionali, anche sulla RAM.
Più formalmente, un file system è l'insieme dei tipi di dati astratti
necessari per la memorizzazione (scrittura), l'organizzazione gerarchica,
la manipolazione, la navigazione, l'accesso e la lettura dei dati.
[\ldots]
[\ldots] Nella rappresentazione grafica è generalmente utilizzata la
metafora delle \alert{cartelle} che contengono \alert{documenti} (i file)
ed \alert{altre sottocartelle}.
\end{block}
\end{frame}
\subsection{Struttura ad albero (FHS)}
\begin{frame}
\frametitle{\textit{Filesystem Hierarchy Standard}}
\pgfuseimage{linux-fhs}
\end{frame}
\subsection{I principali file system}
\begin{frame}
\frametitle{I file system}
\begin{minipage}[t]{.48\textwidth}
Nativi GNU/Linux
\begin{itemize}[<+->]
\item \texttt{ext2}
\item \texttt{ext3}
\item \texttt{ext4}
\item \texttt{btrfs}
\item \texttt{xfs}
\end{itemize}
\end{minipage}\hfill%
\begin{minipage}[t]{.48\textwidth}
Di altri sistemi operativi:
\begin{itemize}[<+->]
\item FAT (12, 16, 32)
\item ExFAT
\item NTFS
\item HFS+
\item ZFS
\end{itemize}
\end{minipage}
\end{frame}
\subsection{Strumenti}
\subsubsection{A linea di comando}
\begin{frame}
\frametitle{Strumenti a linea di comando}
\begin{minipage}{.3\textwidth}
\begin{itemize}[<+->]
\item \texttt{mkfs.ext2}
\item \texttt{mkfs.ext3}
\item \texttt{mkfs.ext4}
\item \texttt{mkfs.btrfs}
\item \texttt{mkfs.xfs}
\item \texttt{tune2fs}
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}{.68\textwidth}
\begin{itemize}[<+->]
\item \alert{dosfstools}: \texttt{mkfs.vfat}, \texttt{mkfs.msdos}
\item \alert{exfatutils}: \texttt{mkfs.exfat}
\item \alert{nfts-3g}: \texttt{mkfs.ntfs}
\item \alert{hfsprogs}: \texttt{mkfs.hfs}, \texttt{mkfs.hfsplus}
\item \alert{zfsutils-linux}: \texttt{zfs}, \texttt{zpool}
\item Bonus: \texttt{parted}
\end{itemize}
\end{minipage}
\end{frame}
\subsubsection{Con interfaccia grafica}
\begin{frame}
\frametitle{Strumenti con interfaccia grafica}
\begin{itemize}[<+->]
\item GNOME Disks
\item GParted
\end{itemize}
\end{frame}
\subsection{Tecnologie avanzate}
\begin{frame}
\frametitle{Ridondanza: \textit{Redundant Array of Inexpensive Disks}
(RAID)}
\begin{itemize}[<+->]
\item Backup $\neq$ Ridondanza!
\item \textit{Just a Bunch Of Disks} (JBOD) vs.~\textit{Redundant Array of
Inexpensive Disks}
\item Velocità di accesso vs.~Sicurezza dei dati
\item Numero di dischi vs.~Sicurezza dei dati
\item Hardware vs.~Software (\texttt{mdadm})
\item Dimensione relativa dei dischi e perdita di spazio disponibile
\item Lotti di produzione differenti per più sicurezza dei dati
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Alcuni tipi di RAID}
\begin{center}\small
\begin{tabular}{lccc}
\toprule
\bfseries Nome RAID & \bfseries Liv. & \bfseries Num. min.~HDD &
\bfseries Num.~HDD persi \\
\midrule
Stripe & 0 & 2 & 0 \\
Mirror & 1 & 2 & 1 \\
RAID 5 & 5 & 3 & 1 \\
RAID 6 & 6 & 4 & 2 \\
Stripe + Mirror & 0+1 & 4 & 2+ \\
Mirror + Stripe & 1+0, 10 & 4 & 2+ \\
\bottomrule
\end{tabular}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Gestibilità: \textit{Logical Volume Management} (LVM)}
\begin{center}
\pgfuseimage{lvm}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Cifratura: \textit{Linux Unified Key Setup} (LUKS)}
\begin{itemize}[<+->]
\item Standard aperto per la cifratura
\item 2004 da Clemens Fruhwirth
\item Garantisce che la gestione delle password avvenga in maniera sicura
e documentata
\item Supporta differenti volumi (dm-crypt, volumi LUKS,
loop-AES, TrueCrypt e VeraCrypt)
\item \`E utilizzabile anche su Windows (FreeOTFE)
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{LUKS: funzionamento di base}
\begin{center}
\tikzstyle{dark}=[draw=alert!70,fill=alert!30,fill]
\tikzstyle{light}=[draw=alert!70,fill=alert!20]
\begin{tikzpicture}[scale=.9,draw=alert!70]
\draw[dark] (0, 0) rectangle (2.5, 1);
\node at (1.25, 0.5) { LUKS phdr };
\draw[light] (2.5, 0) rectangle (3.5, 1);
\node at (3, 0.5) { KM1 };
\draw[dark] (3.5, 0) rectangle (4.5, 1);
\node at (4, 0.5) { KM2 };
\draw[dashed] (4.5, 0) rectangle (5.5, 1);
\node at (5, 0.5) { \ldots };
\draw[light] (5.5, 0) rectangle (6.5, 1);
\node at (6, 0.5) { KM8 };
\draw (6.5, 0) rectangle (12, 1);
\node at (9.25, 0.5) { encrypted data };
\end{tikzpicture}
\end{center}
\pause
\begin{itemize}[<+->]
\item Master Key (16--32 bytes per default, configurabile)
\item 8 \alert{Key Materials} ($\simeq$ una password ciascuno)
\item LUKS \textit{partition header} (phdr): contiene checksum della MK,
parametri di cifratura dei dati e dei singoli KM
\end{itemize}
\pause
Sotto GNU/Linux la gestione dei dischi cifrati viene effettuata con
\texttt{cryptsetup}
\end{frame}
\begin{frame}
\frametitle{Backup: usare gli \textit{snapshot}}
\wikilemma{Snapshot} Letteralmente una «istantanea», è generalmente la
cattura di \alert{stato di un oggetto in un determinato momento} nel tempo. Il termine è stato coniato come analogia a quello usato in fotografia.
Nei sistemi informatici, una snapshot è un'istantanea dello stato di un
sistema in un particolare momento, e può fare riferimento a una copia
reale del sistema.
\begin{itemize}
\item Indipendente dal FS: LVM-snapshot
\item Dipendente dal FS: ZFS, btrfs
\end{itemize}
\end{frame}
\begin{frame}
\centering
\vspace*{2cm}
Grazie per l'attenzione!
\homepage{sys42.eu}\\
\email{syntaxerrormmm@gmail.com}\\
\twitter{syntaxerrormmm}\\
\git{git.sys42.eu}
\vspace*{2cm}
\begin{block}{}\centering
\mbox{\faCreativeCommons~\faCreativeCommonsBy~\faCreativeCommonsSA}
\tiny
Quest'opera è distribuita con Licenza\\
\href{http://creativecommons.org/licenses/by-sa/4.0/}{Creative Commons
Attribuzione - Condividi allo stesso modo 4.0 Internazionale}.
\href{https://git.sys42.eu/syntaxerrormmm/part4dummies/}{\texttt{git.sys42.eu/syntaxerrormmm/part4dummies}}
\end{block}
\end{frame}
\end{document}