prez-backup/main.tex

245 lines
9.2 KiB
TeX
Raw Normal View History

2023-10-30 15:34:03 +00:00
\documentclass{beamer}
\usetheme{FUZ}
2023-10-30 16:21:40 +00:00
%dependances
\usepackage[utf8]{inputenc}
2023-10-30 15:34:03 +00:00
\usepackage[absolute, overlay]{textpos} % Arbitrary placement
\setlength{\TPHorizModule}{\paperwidth} % Textpos units
\setlength{\TPVertModule}{\paperheight} % Textpos units
2023-11-01 14:58:17 +00:00
\usepackage{listings} %verbatim
2023-10-30 15:34:03 +00:00
2023-11-01 14:58:17 +00:00
%theme lstlistings
\lstdefinestyle{lstjj}{
backgroundcolor=\color{uibgreen},
%basicstyle=\scriptsize,
basicstyle=\tiny,
breaklines=true,
texcl=true,
literate={é}{{\"e}}1
{à}{{\"a}}1
}
\lstset{style=lstjj}
2023-10-30 15:34:03 +00:00
2023-11-01 14:58:17 +00:00
%title page:
2023-10-30 15:48:42 +00:00
\title{Backups}
2023-11-01 14:58:17 +00:00
\author{Jeanjack \& Joseki}
2023-10-30 15:34:03 +00:00
\institute{FUZ}
\date{nov. 2023}
2023-11-01 14:58:17 +00:00
%%
% Ceci est un exemple du template FUZ pour beamer, il est (vraiment) très grandement inspiré de celui de l'UiB
%%
2023-10-30 15:34:03 +00:00
\begin{document}
2023-11-01 14:58:17 +00:00
2023-10-30 15:34:03 +00:00
\begin{frame}
2023-10-30 15:48:42 +00:00
\frametitle{intro}
\begin{block}{quote}
2023-10-31 18:28:49 +00:00
"There are only two types of persons, those who backup and those who ever have data loss"
2023-10-30 15:48:42 +00:00
\end{block}
\begin{block}{Pourquoi ?}
2023-10-30 15:48:42 +00:00
\begin{itemize}
\item Tout matériel finit par mourir
2023-10-30 15:48:42 +00:00
\item Perte / Vol
\item Panne système
\item Bitrot ( data rot, disc rot, scrubing )
\item Retrouver un état antérieur ( bourde, upgrade, etc... )
2023-10-30 15:48:42 +00:00
\end{itemize}
\end{block}
2023-10-30 16:21:40 +00:00
\end{frame}
\begin{frame}
\begin{block}{Matériel et coût}
2023-10-30 16:21:40 +00:00
\begin{itemize}
\item clé usb 10€
\item disque dur (ssd ou à plateau) 50€+
\item serveur dédié avec 2 disque ~75€
2023-10-30 16:21:40 +00:00
\item Caractéristiques matérielles différentes ( disque dûr, SSD, carte mémoire, etc... ).
\end{itemize}
\end{block}
\begin{block}{Logiciel et coût}
\begin{itemize}
\item Abonnement cloud 5To ~30€
\item RAID (Redundant Array of Independent Disks): découpage en fragments de données répartis sur différents supports de stockage (hdd ou ssd)
\item RAID is not backup
\end{itemize}
\end{block}
\end{frame}
\begin{frame}
\begin{block}{Réflexion coût / service}
\begin{itemize}
2023-10-30 16:21:40 +00:00
\item Réflexion sur la stratégie à adopter ( coût vs criticité des données )
2023-11-01 14:02:53 +00:00
\item Le prix dépend des caractéristiques recherchées
\item Le moins cher est probablement le cloud (berk mais c'est vrai)
\item Sinon les clé usb ca doit être pas loin mais c'est un peu relou
2023-11-01 14:02:53 +00:00
%TODO
%\item On peux faire un tableau avec un prix au To backup et le danger @TODO
2023-10-30 16:21:40 +00:00
\end{itemize}
\end{block}
2023-11-01 14:02:53 +00:00
\begin{block}{Règle 3-2-1 (théorie old-school)}
2023-10-31 18:28:49 +00:00
\begin{itemize}
\item 3 copies de la donnée (pour pouvoir perdre un peer sans danger perdre la redondance)
2023-10-31 18:28:49 +00:00
\item 2 différents types de stockage
\item 1 copie hors site (limiter les soucis en cas d'inaccessibilité d'un site, redondance géo)
\item Backups par jwz: https://www.jwz.org/doc/backups.html
\end{itemize}
2023-11-01 14:02:53 +00:00
\end{block}
\end{frame}
\begin{frame}
2023-11-01 14:02:53 +00:00
\begin{block}{la rache}
\begin{itemize}
\item Copie sur plusieurs disque / clé usb
\item On lance les copies manuellement
2023-10-31 18:28:49 +00:00
\end{itemize}
\end{block}
2023-11-01 14:02:53 +00:00
\begin{block}{Debrouille}
\begin{itemize}
2023-11-01 14:02:53 +00:00
\item automatique (tous les jours, avec cron ou timer systemd)
\item léger (on évite les downtime à chaque backup)
\item rapide (au minimum plus rapide que la fréquence souhaitée)
2023-11-01 14:02:53 +00:00
\item rsync ou rclone vers plusieurs machines quotidiennement (c'est mieux que rien donc go)
\end{itemize}
\end{block}
\end{frame}
\begin{frame}
2023-11-01 14:02:53 +00:00
\begin{block}{Sympa}
\begin{itemize}
\item compression
\item déduplication
\item chiffrement
\item conservation roulante chaque heure (24J / 7 semaine / 4 mois / 12 année)
\item par exemple borgbackup
\end{itemize}
\end{block}
\begin{block}{Exemple}
\begin{itemize}
2023-11-01 14:02:53 +00:00
\item Utilisation de borgbackup, burp ou autre appli
\item On lance les copies automatiquement (cron ou timer systemd)
\item Plus simple pour comparer les résultats
\end{itemize}
\end{block}
\end{frame}
\begin{frame}
\begin{block}{La version pro® (zfs / btrfs)}
\begin{itemize}
\item snapshot immutable niveau FS
\item Transfert des snapshots niveau FS (zfs-send | zfs-receive, pareil en btrfs)
\item Possibilité de transferts incrémentaux (seulement le diff par rapport au parent)
\item rapide et léger (On privilégie le code kernel plus rapide)
\item déduplication au niveau des blocks (Peux être couteux mais économie d'espace dans le temps)
\item Résistance au client qui se fait pwner (append only+ro, "do not trust the client")
\item Résistance au serveur qui se fait pwner (scrub coté client ? "do not trust the server")
\end{itemize}
\end{block}
\end{frame}
2023-11-01 14:58:17 +00:00
2023-10-31 18:28:49 +00:00
\begin{frame}
\begin{block}{Exemple}
2023-10-31 18:28:49 +00:00
\begin{itemize}
\item Utilisation de btrbk par exemple
\item On lance les copies automatiquement (cron ou timer systemd)
2023-10-31 18:28:49 +00:00
\end{itemize}
\end{block}
2023-11-01 13:21:19 +00:00
\end{frame}
2023-11-01 14:58:17 +00:00
\begin{frame}{synchronisation}
\begin{block}{rsync}
\begin{itemize}
\item un grand classique, présent presque partout, dépends de SSH
\item permet de ne pas retransférer des fichier déjà existant
\item synchronisation : on perds les éditions précédentes
\end{itemize}
\end{block}
\begin{block}{rclone}
\begin{itemize}
\item rsync évolué
\item transfert vers "cloud" : dropbox, google drive, webDAV etc...
\end{itemize}
\end{block}
\end{frame}
\begin{frame}[fragile]%{roulement}
\begin{block}{borgbackup}
\begin{itemize}
\item beaucoup de features
\item revenir à un état précédent tout en évitant de prendre trop d'espace disque
\item fonctionnement par "dépôts"
\end{itemize}
\begin{lstlisting}
Creating archive at "/data/backup/grolem::grolem-2023-10-30"
------------------------------------------------------------------------------
Repository: /data/backup/grolem
Archive name: grolem-2023-10-30
Time (start): Mon, 2023-10-30 03:00:03
Time (end): Mon, 2023-10-30 03:00:22
------------------------------------------------------------------------------
Original size Compressed size Deduplicated size
This archive: 3.60 GB 1.93 GB 184.49 kB
All archives: 20.18 GB 10.79 GB 1.24 GB
Unique chunks Total chunks
Chunk index: 62784 741059
------------------------------------------------------------------------------
Keeping archive (rule: weekly #1): grolem-2023-10-30 Mon, 2023-10-30 03:00:03 [66ff9009686bdb24e2b602f67ecd59f4463b7518aac8f9d62f387ca70f43726e]
Keeping archive (rule: weekly #2): grolem-2023-10-29 Sun, 2023-10-29 03:00:02 [f309d84b1d127fee5e6a05ef65df2458d72ef874a4a93756a9819231ed9ad8a2]
Pruning archive (1/1): grolem-2023-10-22 Sun, 2023-10-22 03:00:04 [fd4923bc1eaaae348870219d7d232138e5065adaaa66dd6fe9b84d87f01b05fa]
Keeping archive (rule: monthly #1): grolem-2023-09-30 Sat, 2023-09-30 03:00:03 [c09faa0dc065283492cd7d29afbd61096c04c11641afc601afd512ba35b99403]
Keeping archive (rule: monthly #2): grolem-2023-08-31 Thu, 2023-08-31 03:00:03 [29e872676ffb3befc569912aedbde0aff95aee4611276195a67e64e6c57564da]
Keeping archive (rule: monthly #3): grolem-2023-07-31 Mon, 2023-07-31 03:00:03 [639ff1e8d401b0c81be6487053cc4c150fcee802210084f3f3560bf0f85e2a15]
Keeping archive (rule: monthly #4): grolem-2023-06-30 Fri, 2023-06-30 03:00:02 [bb17a1108891315838443b05388775cdf127204276e27751e33a00e1e378c27d]
\end{lstlisting}
\end{block}
\end{frame}
\begin{frame}[fragile]
\begin{block}{burp}
\begin{itemize}
\item proche borgbackup mais utilise un serveur de backup central
\item "timer" + heure à laquelle le serveur opère : le serveur décide de si c'est le môment de faire un backup
\end{itemize}
\begin{lstlisting}
--------------------------------------------------------------------------------
Start time: 2023-02-27 18:05:01
End time: 2023-02-27 23:53:14
Time taken: 05:48:13
New Changed Duplicate Deleted Total | Scanned
------------------------------------------------------------
Files: 0 6 12 0 18 | 18
Meta data: 6 0 0 6 6 | 6
Directories: 0 0 1 0 1 | 1
Grand total: 6 6 13 6 25 | 25
------------------------------------------------------------
Messages: 0
Warnings: 0
Bytes estimated: 209214636032 (194.85 GB)
Bytes in backup: 209214637062 (194.85 GB)
Bytes received: 1873139099 (1.74 GB)
Bytes sent: 19359725 (18.46 MB)
--------------------------------------------------------------------------------
2023-02-27 23:53:14 +0100: burp[335114] Backup completed.
\end{lstlisting}
\end{block}
\end{frame}
2023-11-01 13:21:19 +00:00
\begin{frame}
2023-11-01 14:02:53 +00:00
\begin{block}{Conclusion}
\begin{itemize}
\item Beaucoup de solutions, des approches différentes
\item rsync, rclone : synchronisation
\item borgbackup, burp : roulement
\item ZFS, btrfs : optimal, mais demande de l'infra
\item Quelles données sont importantes ? Quel moyens pour assurer leur cycle ?
\end{itemize}
\end{block}
2023-10-30 15:34:03 +00:00
\end{frame}
2023-11-01 14:58:17 +00:00
2023-10-30 15:34:03 +00:00
\end{document}