123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- \documentclass{beamer}
- \usetheme{poul}
- \usepackage[utf8]{inputenc}
- \usepackage[svgpath=images/]{svg}
- %Information to be included in the title page:
- \title{Backup and (possibly) Restore}
- \author{Andrea Gussoni}
- \institute{P.O.u.L.}
- \date{23 Marzo 2017}
- \titlegraphic{\includesvg[height=1.5cm]{logowhite}}
- \begin{document}
- \frame{\titlepage}
- \begin{frame}
- \frametitle{Why do we need backups?}
- Bad things can happen and do happen:
- \begin{itemize}
- \item You may drop your computer accidentally.
- \item The disk may be damaged by vibrations during the daily train commute.
- \item The computer where you keep the unique copy of your thesis
- may be stolen.
- \item Or after some time it may simply age and stop operating.
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{What are backups?}
- \begin{block}{Definition}
- The copying and archiving of computer data so that it may be
- used to restore the original after a data loss event.
- \end{block}
- \end{frame}
- \begin{frame}
- \frametitle{What to backup?}
- It is important to distinguish what it is necessary to backup from what
- it is not.\\
- Obviously this depends on the setup that you are using (native services, containers, VMs etc...)
- \end{frame}
- \begin{frame}
- \frametitle{A general guideline}
- Must:
- \begin{itemize}
- \item /home
- \end{itemize}
- \vfill
- At your discretion:
- \begin{itemize}
- \item /etc
- \item /var
- \end{itemize}
- \vfill
- Not necessary\footnote{if these folders contain something important probably you are doing something wrong in your setup}:
- \begin{itemize}
- \item /proc /sys /tmp
- \item /dev /mnt /media
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Backup types}
- Backups can be:
- \begin{itemize}
- \item \textbf{full}: a complete backup of a all files and folder starting from a root node.
- \item \textbf{incremental}: contains all the differences since the last incremental backup.
- \item \textbf{differential} contains the changes since the last full backup.
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{Backup Support}
- \begin{itemize}
- \item Hard disks (HDD).
- \item Solid-State drives (SSD).
- \item Optical supports: DVDs, Blu-ray.
- \item Flash Drives.
- \item Cloud\footnote{Remember that there is no cloud, just other people's computers.}.
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{dd}
- \textbf{dd} is a powerful tool that basically can copy everything that is a file or a block device. It is common to use it for disk cloning.\\
- Usage example:
- \begin{itemize}
- \item \textit{dd if=/dev/sdX of=/dev/sdY \&\& sync\footnote{useful to actually wait the end of data transfer and avoid corrupted copies}}
- \begin{itemize}
- \item \textbf{if:} input file/device
- \item \textbf{out:} output file/device
- \end{itemize}
- \end{itemize}
- \vfill
- \begin{alertblock}{Caution}
- Since \textbf{dd} often requires \textit{sudo} privileges to run, if you mismatch the name of a device you can actually wipe the content of your primary hard disk, double check always the arguments before pressing enter.
- \end{alertblock}
- \end{frame}
- \begin{frame}
- \frametitle{GNU ddrescue}
- gdrescue is an enhanced version of dd that tries to rescue good parts in case of read errors. It may be usefull to recover data from a drive with some damaged sector.\\
- Usage Example:
- \begin{itemize}
- \item \textit{ddrescue [options] /dev/sdX outfile mapfile}
- \begin{itemize}
- \item \textbf{mapfile:} a human readable text file ddrescue uses to manage the copy
- \end{itemize}
- \end{itemize}
- \begin{alertblock}{Caution}
- For the rescued data to be correct, both dd and gddrescue are best used on unmounted devices.
- \end{alertblock}
- \begin{block}{Tip}
- gddrescue can also be useful when trying to reallocate sectors on a drive with a few sector unreadable. Doing a wipe of the drive with gddrescue should reallocate bad sectors.
- \end{block}
- \end{frame}
- \begin{frame}
- \frametitle{rsync}
- Also known as an advanced version of cp
- \begin{exampleblock}{Pros}
- \begin{itemize}
- \item (unlike cp) preserves hard and symbloic links, file permissions and ownerships, modification times, etc.
- \item designed to be network efficient because only transfers file changes.
- \item easy to use.
- \end{itemize}
- \end{exampleblock}
- \begin{alertblock}{Cons}
- \begin{itemize}
- \item no storage encryption.
- \end{itemize}
- \end{alertblock}
- \end{frame}
- \begin{frame}
- \frametitle{rsync: usage}
- \begin{itemize}
- \item rsync -Pr source destination
- \begin{itemize}
- \item \textbf{P:} keep partially transferred files if the transfer is interrupted.
- \item \textbf{r:} recursive directory option
- \end{itemize}
- \vfill
- \item rsync source host:destination\footnote{But please don't do this \textit{rsync -av --delete source host:$\sim$/}}
- \begin{itemize}
- \item uses ssh by default, but can also be forced with the -e ssh option.
- \end{itemize}
- \vfill
- \item rsync -aAXv --exclude={...} /* /backup folder
- \begin{itemize}
- \item backup /* while following symlinks and preserving file properties.
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{rsnapshot: rsync automated}
- rsnapshot produces automated, periodical system snapshots
- \vfill
- \begin{exampleblock}{Pros}
- \begin{itemize}
- \item preserves hard and symbolic links, file permissions and ownership, modification times, etc.
- \item network efficient.
- \item each snapshot contains a full system backup.
- \item easy to use.
- \end{itemize}
- \end{exampleblock}
- \vfill
- \begin{alertblock}{Cons}
- \begin{itemize}
- \item no storage encryption.
- \end{itemize}
- \end{alertblock}
- \end{frame}
- \begin{frame}
- \frametitle{duplicity}
- duplicity produces encrypted, incremental backups in tar format.
- \begin{exampleblock}{Pros}
- \begin{itemize}
- \item preserves hard and symbolic links, file permissions and ownership, modification times, etc.
- \item network efficient.
- \item incremental backups.
- \item supports storage encryption with gpg.
- \item easy to use.
- \end{itemize}
- \end{exampleblock}
- \end{frame}
- \begin{frame}
- \frametitle{duplicity: usage}
- \begin{itemize}
- \item duplicity /home/user scp::/user@host//backup/directory
- \vfill
- \item duplicity [restore] scp://user@host//backup/directory /home/user
- \vfill
- \item duplicity full /home/user scp::/user@host//backup/directory
- \end{itemize}
- \end{frame}
- \begin{frame}
- \frametitle{duplicity: usage}
- \begin{itemize}
- \item duplicity list-current-files scp::/user@host//backup/directory
- \begin{itemize}
- \item list the files contained in the backup.
- \end{itemize}
- \vfill
- \item duplicity [restore] -t 3D scp://user@host//backup/directory /home/user
- \begin{itemize}
- \item specify the time from which to restore files.
- \end{itemize}
- \vfill
- \item duplicity remove-older-than 30D scp::/user@host//backup/directory
- \begin{itemize}
- \item remove from the backup full backups older than the specified period.
- \end{itemize}
- \end{itemize}
- \end{frame}
- \begin{frame}
- \end{frame}
- \begin{frame}
- \end{frame}
- \begin{frame}
- \end{frame}
- \begin{frame}
- \end{frame}
- \begin{frame}
- \frametitle{License}
- \begin{center}
- {\large Thank you!}
- \vfill
- \includesvg[height=1.5cm]{by-sa}\\
- {\footnotesize These slides are published under a Creative Commons Attribution-ShareAlike 4.0 license.}
- \end{center}
- \end{frame}
- \end{document}
|