FreeBSD vs Linux, RMLL 2014

Preview:

DESCRIPTION

Talk in French about the usability in production of FreeBSD.

Citation preview

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

Recommended