Changeset 252
- Timestamp:
- 07/05/10 10:51:30 (14 years ago)
- Location:
- trunk/public-mirror
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/public-mirror/Makefile
r250 r252 12 12 13 13 IMAGES= \ 14 DoNotFeedTroll.png \ 15 disk-array.png 14 16 15 17 EXAMPLES = \ … … 44 46 cat $< | sed 's/notes/handout/' > $@ 45 47 48 DoNotFeedTroll.png: DoNotFeedTroll.svg 49 convert $< $@ 50 46 51 clean: 47 52 rm -f $(EPS) -
trunk/public-mirror/main.tex
r251 r252 6 6 \usepackage{moreverb} 7 7 \usepackage{graphicx} 8 \usepackage{eurosym} 8 9 9 10 \mode<presentation> … … 23 24 \date{\today} 24 25 26 %%\setcounter{tocdepth}{2} 25 27 \AtBeginSection[] 26 28 { 27 \begin{frame}<beamer> 28 \frametitle{Plan} 29 \tableofcontents[currentsection] 29 \begin{frame} 30 \frametitle{Plan - \secname} 31 \tableofcontents[currentsection,hideallsubsections] 32 \end{frame} 33 } 34 35 \AtBeginSubsection[] 36 { 37 \begin{frame} 38 \frametitle{Plan - \secname} 39 \tableofcontents[currentsection,sectionstyle=show/hide,hideothersubsections,subsectionstyle=show/shaded/hide] 30 40 \end{frame} 31 41 } … … 36 46 37 47 \begin{frame}{Plan} 38 \tableofcontents 48 \tableofcontents[hideallsubsections] 39 49 \end{frame} 40 50 41 51 \section{Généralité} 42 52 53 \begin{frame} 54 \frametitle{Définition} 55 \vfill 56 \begin{block}{Service de fichier} 57 Un serveur accessible pour distribuer des fichiers de maniÚre anonyme et 58 gratuite 59 \begin{itemize} 60 \item distributions Linux/BSD/\ldots 61 \item logiciels 62 \item documentations (RFC, \ldots) 63 \end{itemize} 64 \end{block} 65 \vfill 66 \pause 67 \begin{block}{Pourquoi ?} 68 \begin{itemize} 69 \item accélérer les installations 70 \item diffuser (aussi) vos propres fichiers 71 \end{itemize} 72 \end{block} 73 \vfill 74 \end{frame} 75 76 \begin{frame} 77 \frametitle{Les risques ?} 78 \begin{block}{Ce que vous risquez} 79 \begin{itemize} 80 \item votre serveur va devenir important 81 \pause 82 \item il peut tomber en panne 83 \pause 84 \item sous la pression des utilisateurs, vous essayer de le réparer toute la 85 nuit 86 \pause 87 \begin{itemize} 88 \item votre femme vous quitte 89 \item vous êtes viré car le service n'est pas assuré 90 \end{itemize} 91 \pause 92 \item vous finissez célibataire, ruiné et honteux ! 93 \end{itemize} 94 \end{block} 95 \pause 96 \vfill 97 \begin{alertblock}{} 98 Avez-vous mérité celà ? 99 \end{alertblock} 100 \end{frame} 101 43 102 \section{Definition du besoin} 44 103 104 \begin{frame} 105 \frametitle{Rappels !} 106 \begin{alertblock}{Unités de mesure} 107 \begin{itemize} 108 \item 1~octet fait 8~bits,\\ 109 donc 100~mbits fait 13~107~200~octets (12,5~Mo),\\ 110 donc 1~gbits fait 134~217~728~octets (128~Mo) 111 \pause 112 \item 1~kilo fait 1024,\\ 113 donc 1~Go fait 1~073~741~824~octets,\\ 114 donc 1~To fait 1~099~511~627~780~octets 115 \pause 116 \item un disque de 1~To ça fait $10^{12}$ octets,\\ 117 donc ce disque fait 931,32~Go 118 \end{itemize} 119 \end{alertblock} 120 \end{frame} 121 122 \begin{frame} 123 \frametitle{Portée du service} 124 \begin{block}{Serveur privé} 125 \begin{itemize} 126 \item réservé à des personnes / réseaux identifiés 127 \item charge prévisible 128 \end{itemize} 129 Ne posent généralement pas de problÚmes particulier. 130 \end{block} 131 \vfill 132 \onslide<2->{ 133 \begin{block}{Serveur public} 134 \begin{itemize} 135 \item visiteurs inconnus 136 \begin{itemize} 137 \item de part leurs identités 138 \item de part leur nombre 139 \end{itemize} 140 \item risque de surcharge 141 \item risque d'attaque (DoS, piratage) 142 \end{itemize} 143 \end{block} 144 } 145 \end{frame} 146 147 \begin{frame} 148 \frametitle{Contenus diffusés} 149 \begin{block}{Quel contenus} 150 \begin{itemize} 151 \item SystÚme d'exploitation 152 \begin{itemize} 153 \item mise à jour 154 \item systÚme complets, image cd/dvd 155 \end{itemize} 156 \item Source de logiciels 157 \item Fichiers vidéos/son (légaux !!!) 158 \end{itemize} 159 \end{block} 160 \pause 161 162 \begin{block}{Vers qui ?} 163 \begin{itemize} 164 \item Utilisateurs/Sys admin. 165 \item Developeurs/contributeurs 166 \item d'autres miroirs 167 \end{itemize} 168 \end{block} 169 \end{frame} 170 171 \begin{frame} 172 \frametitle{Exemple de taille} 173 \begin{exampleblock}{Distribution (en Go)} 174 \centering 175 \begin{tabular}{|l|r@{.}l|l|r@{.}l|} 176 \multicolumn{3}{|c|}{totalité}&\multicolumn{3}{|c|}{une version}\\ 177 \hline 178 Mandriva&1258&90&2010.0&110&18\\ 179 \hline 180 Fedora&620&89&12&89&95\\ 181 \hline 182 Ubuntu&318&50&-&\multicolumn{2}{|c|}{-}\\ 183 \hline 184 \end{tabular} 185 186 %%TODO exemple pour des softs 187 188 \end{exampleblock} 189 \end{frame} 190 191 \begin{frame} 192 \frametitle{Questions:} 193 \begin{alertblock}{La vie, l'univers et le reste} 194 \begin{itemize} 195 \item quelle capacité ? 196 \item quelle bande passante ? 197 \item quelle fiabilité du service ? 198 \end{itemize} 199 \pause 200 \begin{itemize} 201 \item le temps que vous pouvez y accorder 202 \item le coût en \euro{} 203 \end{itemize} 204 \end{alertblock} 205 \end{frame} 206 45 207 \section{Le Matériel} 46 208 47 \section{Les services} 209 \subsection{infrastucture nécessaire} 210 211 \begin{frame} 212 \frametitle{Hébergement} 213 \begin{block}{Les classiques} 214 \begin{itemize} 215 \item réseau électrique ondulé 216 \item salle climatisée 217 \item une solution d'accÚs distant est un plus (ipmi, kvm ip) 218 \end{itemize} 219 \end{block} 220 \pause 221 \vfill 222 223 \begin{block}{connection du site à internet} 224 \begin{itemize} 225 \item en download 226 \begin{itemize} 227 \item 20~mbits peuvent suffire 228 \item pour des mise à jours correcte: 100~mbits 229 \end{itemize} 230 \item en upload (serveur publique) 231 \begin{itemize} 232 \item 100~mbits minimum, gigabit recommandé 233 \end{itemize} 234 \end{itemize} 235 \end{block} 236 \end{frame} 237 238 \subsection{La machine} 239 240 \begin{frame} 241 \frametitle{Configuration} 242 \begin{block}{Puissance} 243 \begin{itemize} 244 \item 2 ou 4 CPU, peu importe la puissance 245 \pause 246 \item RAM: 4~Go minimum (faire du cache) 247 \pause 248 \item disque (pour l'OS): 249 \begin{itemize} 250 \item 20~Go (systÚme + swap) 251 \item 30~Go pour les logs 252 \end{itemize} 253 \end{itemize} 254 \end{block} 255 \pause 256 \vfill 257 258 \begin{block}{Sécurité} 259 \begin{itemize} 260 \item alimentations redondantes 261 \item garantie/maintenance constructeur (3 voir 5 ans) 262 \pause 263 \item un systÚme de sauvegarde du systÚme 264 \end{itemize} 265 \end{block} 266 \end{frame} 267 268 \subsection{Stockage} 269 270 \begin{frame} 271 \frametitle{Besoins:} 272 273 \begin{block}{Performance} 274 \begin{itemize} 275 \item peu d'écriture, beaucoup de lecture 276 \item peu de trÚs gros débit 277 \item beaucoup d'accÚs concurrents 278 \end{itemize} 279 \end{block} 280 \pause 281 \vfill 282 283 \begin{block}{Taille: prévoir large} 284 \begin{itemize} 285 \item espace utile $\approx$ 80\% espace brut 286 \item les distributions grossissent\\ 287 (Mdv 2007.0: 29G, Mdv 2010.0: 48G) 288 \item répondre aux futurs besoins 289 \end{itemize} 290 \end{block} 291 \end{frame} 292 293 \begin{frame} 294 \frametitle{Solution de stockage} 295 \begin{block}{Disques internes} 296 \begin{itemize} 297 \item disques SATA ou SAS 298 \item \textbf{Raid} hard ou soft 299 \end{itemize} 300 \end{block} 301 \pause 302 \vfill 303 304 \begin{block}{Solution externes / Baies autonomes} 305 \begin{tabular}{|c|c|l|} 306 \hline 307 Conn.&type disque&commentaire\\ 308 \hline 309 \hline 310 SCSI&IDE&vieilles baies\\ 311 \hline 312 SCSI&SATA&bon compromis qualité/prix\\ 313 \hline 314 SAS&SAS&trÚs couteux\\ 315 \hline 316 F.C.&SATA&performant, voir le prix de la carte\\ 317 \hline 318 F.C.&SAS&le top mais cher !\\ 319 \hline 320 \end{tabular} 321 \end{block} 322 \end{frame} 323 324 \begin{frame} 325 \frametitle{Exemple de baies} 326 \begin{exampleblock}{Baies de distrib-coffee} 327 \begin{center} 328 \includegraphics[width=75mm]{disk-array} 329 \begin{itemize} 330 \item haut: 8~x~250Go, Raid 5 331 \item bas: 16~x~1To, Raid 6 332 \end{itemize} 333 \end{center} 334 \end{exampleblock} 335 \end{frame} 336 337 \begin{frame} 338 \frametitle{Faire intervenir le RAID} 339 \begin{block}{RAID hard ou soft ?} 340 Pourquoi pas du soft: 341 \begin{itemize} 342 \item peu couteux sur les CPUs actuels 343 \item indépendant du matériel 344 \pause 345 \item un RAID full hard reste plus souple et performant 346 \item \textbf{fuyez les RAID semi hard} 347 \end{itemize} 348 \end{block} 349 \pause 350 \vfill 351 352 \begin{block}{Quel RAID ?} 353 \begin{tabular}{ccl} 354 \only<3>{ 355 RAID 0&Stripping&Vous plaisantez ?\\ 356 } 357 \only<4>{ 358 RAID 1&Mirroring&Cher\\ 359 RAID 0+1&Mirror + Stripe&Excellent mais cher\\ 360 RAID 5&Parité&Bon compromis\\ 361 RAID 6&2 parités&Bon compromis, plus lourd\\ 362 } 363 \end{tabular} 364 \end{block} 365 \end{frame} 366 367 \subsection{Résumé} 368 369 \begin{frame} 370 \frametitle{Prix} 371 \begin{block}{Tarifs:} 372 \centering 373 \begin{tabular}{|l|c|} 374 \hline 375 Machine&500 - 2500 \euro{}\\ 376 \hline 377 Stockage&300 - 20000 \euro{}\\ 378 \hline 379 \end{tabular} 380 \end{block} 381 \pause 382 \vfill 383 384 \begin{exampleblock}{Distrib-coffee} 385 \centering 386 \begin{tabular}{|l|c|} 387 \hline 388 bi-quad 2ghz, 32Go RAM&1500 \euro\\ 389 \hline 390 Stockage:&\\ 391 Baie 8x500Go SCSI&~ 3000 \euro\\ 392 Baie 16x1To SCSI&~ 5000 \euro\\ 393 \hline 394 \end{tabular} 395 \end{exampleblock} 396 \pause 397 \vfill 398 \begin{alertblock}{} 399 Nos prix sont exprimés hors taxes 400 \end{alertblock} 401 \end{frame} 402 403 \section{Coté Soft} 48 404 49 405 \subsection{L'OS} 50 406 51 \subsection{http} 52 53 \subsection{ftp} 54 55 \subsection{rsync} 407 \begin{frame} 408 \frametitle{Quel Os ?} 409 \begin{columns} 410 \begin{column}{3cm} 411 \only<2->{ 412 \includegraphics[width=25mm]{DoNotFeedTroll} 413 414 Do not feed the troll. 415 } 416 \end{column} 417 \begin{column}{8cm} 418 \begin{block}{Unix} 419 Préférez un systÚme 64bits. 420 \pause 421 \begin{itemize} 422 \item Linux 423 \item BSD 424 \item autres\ldots 425 \end{itemize} 426 \end{block} 427 \pause 428 \begin{block}{Windows ?} 429 Les retours d'expérience m'intéresse ! 430 \end{block} 431 \pause 432 \begin{exampleblock}{Distrib-coffee} 433 Linux Mandriva 2010.0 x86\_64 434 \end{exampleblock} 435 \end{column} 436 \end{columns} 437 \end{frame} 438 439 \begin{frame} 440 \frametitle{Partitionnement 1/2} 441 \begin{block}{Pour le systÚme} 442 Prévoir: 443 \begin{itemize} 444 \item swap (4Go max) 445 \item /var séparé (pensez aux logs !) 446 \end{itemize} 447 \end{block} 448 \pause 449 \vfill 450 451 \begin{block}{Stockage} 452 Utilisation de LVM (linux): 453 \begin{itemize} 454 \item facilite la gestion de gros volumes 455 \item extension sur plusieurs disques 456 \end{itemize} 457 \end{block} 458 \end{frame} 459 460 \begin{frame}[fragile] 461 \frametitle{Partitionnement 2/2} 462 \begin{block}{Conseils} 463 \begin{itemize} 464 \item un seul systÚme de fichier (évite les déplacements coûteux entre disques) 465 \item ne pas exposer la racine mais un sous répertoire 466 \pause 467 \begin{verbatim} 468 /dev/vg/lv /mnt/stockage auto 469 /mnt/stockage/pub /var/ftp/pub bind 470 \end{verbatim} 471 \pause 472 \item systÚme supportant un grand nombre de fichiers 473 \pause 474 \item retaillable (à chaud) 475 \pause 476 \item \textbf{journalisé} 477 \pause 478 \item fiable et maintenu 479 \pause 480 \end{itemize} 481 Donc ext3, ext4, xfs (linux). 482 \end{block} 483 \end{frame} 484 485 \subsection{Services} 486 487 \subsubsection{http} 488 489 \begin{frame} 490 \frametitle{Le web} 491 \begin{block}{Contraintes} 492 \begin{itemize} 493 \item protocol mal adapté à du téléchargement pur 494 \item beaucoup de connections, de plus en plus utilisé 495 \item des connections longue (temps de téléchargement) 496 \end{itemize} 497 \end{block} 498 \pause 499 \vfill 500 \begin{block}{Apache ?} 501 \begin{itemize} 502 \item connu et classigue 503 \item souple, nombreux support (via modules) 504 \item configuration parfois peu aisée 505 \item besoin de restart qui arrÚte toutes les connections en court 506 \item gourmand en RAM 507 \end{itemize} 508 \end{block} 509 \end{frame} 510 511 \begin{frame}[fragile] 512 \frametitle{Téléchargement intelligent ?} 513 \begin{block}{ProblÚme des mass downloader} 514 \begin{itemize} 515 \item plusieurs connections (jusque 30 par téléchargement) simultanées et 516 répétitives 517 \item des accÚs (ouverture de fichiers) répétitifs et concurrents 518 \end{itemize} 519 \end{block} 520 \pause 521 \vfill 522 \begin{block}{Solution:} 523 Pour apache: mod-bw, renvoit une erreur \verb+503+ en cas de connections multiples 524 \begin{itemize} 525 \item permet de limiter seulement une arborescence 526 \item ne detecte pas bien la fin des connections \verb+:\+ 527 \item éfficace 528 \end{itemize} 529 \end{block} 530 \end{frame} 531 532 \subsubsection{ftp} 533 534 \begin{frame}[fragile] 535 \frametitle{File Transfert Protocol} 536 \begin{block}{Les problÚmes:} 537 \begin{itemize} 538 \item \verb+ls+ récursif: à interdire 539 \item penser à autoriser le \verb+ftp passif+ 540 \end{itemize} 541 \end{block} 542 \pause 543 \vfill 544 \begin{block}{Quel serveur ?} 545 \begin{itemize} 546 \item proftpd 547 \pause 548 \item vsftpd 549 \pause 550 \item \ldots 551 \end{itemize} 552 \end{block} 553 \end{frame} 554 555 \subsubsection{Rsync} 556 557 \begin{frame}[fragile] 558 \frametitle{Rsync (serveur)} 559 \begin{block}{Utilisation} 560 \begin{itemize} 561 \item avant tout synchronisation d'arborescence 562 \item du téléchargement de fichier (certaines distributions) 563 \end{itemize} 564 \pause 565 \begin{itemize} 566 \item reprise de téléchargement long (y compris gros fichiers) 567 \item gourmand en accÚs disque (coté serveur et client) 568 \end{itemize} 569 \end{block} 570 \vfill 571 \pause 572 \begin{block}{Limiter rsync} 573 \begin{itemize} 574 \item désactiver la compression (\verb+-z+): trÚs souvent inutiles (fichiers compréssés) 575 \pause 576 \item désactiver le recalcul checksum (\verb+-c+): force coté serveur la 577 relecture des fichiers 578 \end{itemize} 579 \end{block} 580 \end{frame} 581 582 \subsubsection{Autres} 583 584 \begin{frame}[fragile] 585 \frametitle{Soyez inventif} 586 \begin{block}{Des exemples} 587 \begin{itemize} 588 \item p2p (\verb+bittorent+): trÚs lourd sur les firewall et parfois interdit 589 \pause 590 \item smb/cifs (\verb+samba+): trÚs utile, mais reste en {\bf interne} 591 \pause 592 \item appletalk (\verb+netatalk+): de moins en moins utile, en {\bf interne} seulement 593 \pause 594 \item nfs: trÚs utile sur les UNIX, en {\bf interne} et seulement en {\bf lecture 595 seule} 596 \end{itemize} 597 \end{block} 598 \end{frame} 599 600 \subsection{QOS} 601 602 \begin{frame} 603 \frametitle{QOS: pourquoi ?} 604 \begin{block}{Selon Philippe} 605 \emph{De la qualité qui se résume à réduire la bande passante} 606 \end{block} 607 \vfill 608 \pause 609 \begin{block}{Raisons:} 610 \begin{itemize} 611 \item éviter la surcharge de le connection du site 612 \item favoriser les réseau amis (ou l'entreprise) 613 \item favoriser certaines méthodes de téléchargement 614 \item rendre équitable les téléchargements 615 \end{itemize} 616 \end{block} 617 \end{frame} 618 619 \begin{frame}[fragile] 620 \frametitle{QOS, mise en pratique (linux)} 621 \begin{block}{Méthodes:} 622 \begin{itemize} 623 \item \verb+tc+: filtres et qos 624 \item \verb+netfilter+ pour les filtres, \verb+tc+ pour la qos 625 \end{itemize} 626 Les filtres tc sont subtilement puissants, on préfÚre utiliser \verb+netfilter+ 627 (\verb+iptables+). 628 \end{block} 629 \vfill 630 \pause 631 \begin{block}{Quelles QOS ?} 632 \begin{itemize} 633 \item contrÃŽle de la bande passante: \verb+htb+ 634 \item régulation: 635 \begin{itemize} 636 \item \verb+pfifo+ pour les trÚs gros débits 637 \item \verb+cfq+ pour égaliser les flux (\verb+ftp+, \verb+http+) 638 \end{itemize} 639 \end{itemize} 640 \end{block} 641 \end{frame} 642 643 \begin{frame}[fragile] 644 \frametitle{QOS, exemples} 645 \begin{exampleblock}{iptables} 646 {\small 647 \begin{verbatim} 648 iptables -t mangle -A OUTPUT -p tcp -m tcp \ 649 --sport 80 -j MARK --set-mark 122 650 \end{verbatim} 651 } 652 \end{exampleblock} 653 654 \begin{exampleblock}{tc} 655 {\scriptsize 656 \begin{verbatim} 657 tc qdisc add dev eth0 root handle 1: htb r2q 1500 658 tc class add dev eth0 parent 1:1 classid 1:122 htb \ 659 rate 26mbit ceil 60mbit prio 1 burst 50mbit cburst 100kb 660 661 tc qdisc add dev eth0 parent 1:122 handle 122: sfq perturb 5 662 663 # égalise par sources/destination et non par connection: 664 tc filter add dev eth0 protocol ip parent 122: handle 1221 \ 665 flow hash keys src,dst divisor 1024 666 \end{verbatim} 667 } 668 \end{exampleblock} 669 \end{frame} 670 671 \subsection{Visibilité} 672 673 \begin{frame} 674 \frametitle{Ce que les gens verront} 675 \begin{block}{Page Web principale:} 676 \begin{itemize} 677 \item un contact (un mail) 678 \item qui héberge le serveur (votre société) 679 \item comment acceder aux mirroirs 680 \item informations légales 681 \item les recommandations d'usage 682 \end{itemize} 683 \end{block} 684 \begin{block}{Sur chaque service} 685 \begin{itemize} 686 \item rsync: motd 687 \item ftp: welcome 688 \end{itemize} 689 \end{block} 690 \end{frame} 56 691 57 692 \section{Les miroirs} 58 693 694 \begin{frame}[fragile] 695 \frametitle{Mise en place} 696 \begin{block}{Les distributions} 697 \begin{itemize} 698 \item difficulté à trouver les informations 699 \item politiques différentes (outils, options des outils) 700 \item multitudes de contact (un par distribution) 701 \item communication inapropriée et/ou surnuméraire 702 \end{itemize} 703 \end{block} 704 \begin{block}{Les (quelques) progrÚs} 705 \begin{itemize} 706 \item \href{http://mirrorbrain.org/}{Mirror Brain} 707 \end{itemize} 708 \end{block} 709 \end{frame} 710 711 \begin{frame}[fragile] 712 \frametitle{Mes conseils} 713 \begin{block}{rsync !} 714 \begin{itemize} 715 \item support des liens hard 716 \item retprise de téléchargement partiel 717 \end{itemize} 718 \end{block} 719 \begin{block}{rsync: les bonnes options} 720 \begin{itemize} 721 \item \verb+-a+ récursisif, permission 722 \item \verb+-H+ préserve les \emph{liens hard} 723 \pause 724 \item \verb+--temp-dir+ répertoire temporaire 725 \pause 726 \item \verb+--partial --partial-dir+ garder les fichiers temporaire mais 727 ailleurs 728 729 \end{itemize} 730 \end{block} 731 \end{frame} 732 733 \section{Fin} 734 735 \begin{frame}[fragile] 736 \frametitle{Merci} 737 \begin{exampleblock}{Url} 738 \href{http://distrib-coffee.ipsl.jussieu.fr}{http://distrib-coffee.ipsl.jussieu.fr} 739 \end{exampleblock} 740 \end{frame} 741 59 742 \end{document}
Note: See TracChangeset
for help on using the changeset viewer.