part4dummies/slides.tex

789 lines
23 KiB
TeX

% 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}