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}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\begin{block}{Pourquoi ?}
|
2023-10-30 15:48:42 +00:00
|
|
|
|
\begin{itemize}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\item Tout matériel finit par mourir
|
2023-10-30 15:48:42 +00:00
|
|
|
|
\item Perte / Vol
|
|
|
|
|
\item Panne système
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\begin{block}{Matériel et coût}
|
2023-10-30 16:21:40 +00:00
|
|
|
|
\begin{itemize}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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... ).
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
|
|
\begin{frame}
|
2023-11-01 14:02:53 +00:00
|
|
|
|
\begin{block}{la rache}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\begin{itemize}
|
2023-11-01 14:02:53 +00:00
|
|
|
|
\item automatique (tous les jours, avec cron ou timer systemd)
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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)
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\end{itemize}
|
|
|
|
|
\end{block}
|
|
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
|
|
\begin{frame}
|
2023-11-01 14:02:53 +00:00
|
|
|
|
\begin{block}{Sympa}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\begin{block}{Exemple}
|
2023-10-31 18:28:49 +00:00
|
|
|
|
\begin{itemize}
|
2023-11-01 09:42:22 +00:00
|
|
|
|
\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}
|