FreeBSD
The 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

FreeBSD vs Linux, RMLL 2014

  • 1.
    FreeBSD The power toServe !!! RMLL Montpellier 1
  • 2.
    Introduction • Loïc Tosser,SysAdmin/DevOps chez Findspire (http://findspire.com) • Ancien étudiant Epitech • Utilisateur de FreeBSD depuis 2008 2
  • 3.
    FreeBSD • The Powerto Serve • Système UNIX libre • Base 386BSD • Dernière version : FreeBSD 10 3
  • 4.
    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
  • 5.
    #fetch source svnup stable #goto 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
  • 6.
    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
  • 7.
    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
  • 8.
  • 9.
    FreeBSD - Conteneurs •Jails Power <3 • Totalement opérationnel • SysAdmin Friendly • projets liés : ezjail, cbsd, iocage, débardeur 9
  • 10.
    FreeBSD - Hyperviseur •Bhyve • Jeune projet encore assez limité • mais déjà compatible libvirt 10
  • 11.
    FreeBSD - Doc •Doc officielle • Man très complets (RTFM) • mais peu d'exemples 11
  • 12.
    SysAdmin • Principes duSysAdmin • Mettre à disposition des ressources • Scripter au maximum • Prévoir l’imprévisible • Avoir des plans pour tout 12
  • 13.
  • 14.
  • 15.
  • 16.
    À l’origine… • Ily avait Debian, mais de gros problèmes : • LXC buggé • services qui se lancent tout seul • repos externes nécessaires 16
  • 17.
    Le temps dudoute • 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
  • 18.
    L'arène • Comparatifs dedistributions/OS 18
  • 19.
    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
  • 20.
    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
  • 21.
    F vs D- Logiciels • pkg : moins d’anomalies • tasksel ou équivalents absent sur FreeBSD • Services qui démarre tout seul 21
  • 22.
    Résultats • Migration denos serveurs frontaux en FreeBSD • Réduction de la taille des recettes puppet • Augmentation des performances de NGiNX 22
  • 23.
  • 24.
    The End • Mercipour votre écoute • Des questions ? 24