freebsd vs linux, rmll 2014
DESCRIPTION
Talk in French about the usability in production of FreeBSD.TRANSCRIPT
FreeBSDThe power to Serve !!!
RMLL Montpellier
1
Introduction
• Loïc Tosser, SysAdmin/DevOps chez Findspire (http://findspire.com)
• Ancien étudiant Epitech
• Utilisateur de FreeBSD depuis 2008
2
FreeBSD
• The Power to Serve
• Système UNIX libre
• Base 386BSD
• Dernière version : FreeBSD 10
3
FreeBSD - Système
• FS par défaut : UFS et ZFS (yeaaaaah)
• Installation très simple en mode console
• Compilation kernel très simple
• Création d’iso avec kernel personnalisé encore plus simple
4
#fetch source svnup stable #go to the default path of kernel conf cd /usr/src/sys/amd64/conf #create a folder for the kernel configuration, outside of the /usr/src mkdir /home/kernel #copy the generic conf cp GENERIC /home/kernel/WOWIKERN #symlink to your new conf ln -s /home/kernel/WOWIKERN #compile kernel make buildworld make buildkernel KERNCONF=WOWIKERN make installkernel KERNCONF=WOWIKERN KODIR=/boot/kernel.monkernel #define the new kernel as default on next boot nextboot -k kernel.monkernel reboot #if everything is ok, install it and reboot make installkernel KERNCONF=WOWIKERN make installworld reboot
FreeBSD - Kernel
5
FreeBSD - Logiciel
• Séparation des libs entre le système et les logiciels
• Beaucoup de logiciels dans les ports
• Gestionnaire de package qui marche : pkg
• Ports : compilation des logiciels avec les options de compilation que vous souhaitez
6
FreeBSD - Poudriere
• Gestionnaire de repo
• écrit par un Français (Bapt)
• permet en quelques lignes de commandes et une liste de ports de créer facilement un repo
7
FreeBSD - Poudriere
8
FreeBSD - Conteneurs
• Jails Power <3
• Totalement opérationnel
• SysAdmin Friendly
• projets liés : ezjail, cbsd, iocage, débardeur
9
FreeBSD - Hyperviseur
• Bhyve
• Jeune projet encore assez limité
• mais déjà compatible libvirt
10
FreeBSD - Doc
• Doc officielle
• Man très complets (RTFM)
• mais peu d'exemples
11
SysAdmin
• Principes du SysAdmin
• Mettre à disposition des ressources
• Scripter au maximum
• Prévoir l’imprévisible
• Avoir des plans pour tout
12
Findspire
• Facilement déployable
• Léger
• Scalable
13
Findspire
14
Findspire
15
À l’origine…
• Il y avait Debian, mais de gros problèmes :
• LXC buggé
• services qui se lancent tout seul
• repos externes nécessaires
16
Le temps du doute
• Passage à testing (oui, en prod), pour éviter pas mal de problèmes
• Pas satisfaisant à terme
• Problèmes de fichiers de conf/log/… qui changent trop
17
L'arène
• Comparatifs de distributions/OS
18
F vs D - Système
• pf > iptables
• Mises à jours cloisonnées
• Peu de logiciels installés de base (No Python !)
19
ExtIf ="em0" set skip on lo0 scrub in all block drop in on $ExtIf all pass in on $ExtIf proto { tcp udp } to ($ExtIf) port { 80, 22} pass out on $ExtIf all keep state
F vs D - Logiciels
• Logiciels plus à jour sur FreeBSD dans 95% des cas
• Les fichiers de configuration sont respectés sur FreeBSD
• Plus simple de créer votre propre repo avec FreeBSD
20
F vs D - Logiciels
• pkg : moins d’anomalies
• tasksel ou équivalents absent sur FreeBSD
• Services qui démarre tout seul
21
Résultats
• Migration de nos serveurs frontaux en FreeBSD
• Réduction de la taille des recettes puppet
• Augmentation des performances de NGiNX
22
Pourquoi toujours Debian ?
23
The End
• Merci pour votre écoute
• Des questions ?
24