InstKim

Petites notes sur l'installation d'une Debian Wheezy sur un kimsufi.

On a ici un kimsufi tout neuf avec 8G de RAM. Magnifique , on va mettre un petit proxmox ou une wheezy dessus, et le tout à la main :)

Préparation

  1. Néttoyage
    1. On désactive le raid:
      mdadm -S /dev/md1
      mdadm --zero-superblock /dev/sda1
    2. On vérifie qu'il n'y a plus de Raid
      cat /proc/mdstat
    3. On supprime toutes les partitions existantes:
      cfdisk /dev/sda
      cfdisk /dev/sdb
    4. On supprime la conf LVM
  2. Partitions
    1. On créer nos partitions:
      cfdisk /dev/sda
    • Note:
      • /dev/sda1: 500Mo
      • /dev/sda2: Le reste
      • Pour l'instant, on ne s'occupe pas de sdb
  3. Raid1
    1. On initialise le Raid sur nos deux partitions
      mdadm -C -l1  --metadata=0.90 -n2 /dev/md0 /dev/sda1 missing
      mdadm -C -l1  --metadata=0.90 -n2 /dev/md1 /dev/sda2 missing
  4. LVM2
    1. On initialise LVM:
      pvcreate -ff /dev/md1
      vgcreate system /dev/md1
    2. On créer notre nouvelle partition pout root:
      lvcreate -n sys-root -L5G system
  5. Systeme de fichier
    1. On créer nos deux FS:
      mkfs.ext4 /dev/md0
      mkfs.ext4 /dev/mapper/system-sys--root
    2. On les tune:
      tune2fs -c 0 -i 0 /dev/md0
      tune2fs -c 0 -i 0 /dev/mapper/system-sys--root
  6. Recap: On a donc ça:
    root@rescue:~# lsblk 
    NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    sda                             8:0    0 931.5G  0 disk  
    |-sda1                          8:1    0 478.5M  0 part  
    | `-md0                         9:0    0 478.4M  0 raid1 
    `-sda2                          8:2    0   931G  0 part  
      `-md1                         9:1    0   931G  0 raid1 
        `-system-sys--root (dm-0) 253:0    0     5G  0 lvm   
    sdb                             8:16   0 931.5G  0 disk  

Installation de Debian par Debootstrap

  1. Debootsrap
    1. On monte nos FS:
      mount /dev/mapper/system-sys--root /mnt/
      mkdir  /mnt/boot
      mount /dev/md0 /mnt/boot/
    2. On nettoie un peu:
      rmdir /mnt/lost+found/ /mnt/boot/lost+found/
    3. Ensuite, on debootstrap notre debian minimale:
      debootstrap --verbose --arch amd64 --variant minbase  wheezy /mnt http://mir1.ovh.net/debian
      Ou PVE:
      debootstrap --verbose --arch amd64 squeeze /mnt http://mir1.ovh.net/debian
  2. Configuration initiale Debian
    1. On définis le hostname:
      echo "voodoo" > /mnt/etc/hostname
    2. On fait le fichier hosts:
      echo -ne "127.0.0.1\tlocalhost\tlocalhost.localdomain\tvoodoo\n" > /mnt/etc/hosts
  3. Chroot
    1. On monte les autres FS pour le chroot:
      mount -t proc none /mnt/proc
      mount -obind /dev /mnt/dev
      mount -obind /sys /mnt/sys
    2. On entre:
      chroot /mnt/
  4. Installation des packets minimal
    1. On fait quelque petites retouches (faire fonctionner df) et on vire un lien cassé (Debian Bug):
      ln -s /proc/mounts /etc/mtab
      rm /etc/nologin 
    2. Si on veut du proxmox (squeeze only):
      echo "deb http://download.proxmox.com/debian squeeze pve" > /etc/apt/sources.list.d/prxomox.list
      wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
    3. Mise à jour de l'outils apt:
      apt-get update; apt-get upgrade
    4. On installe et on configure les locales:
      apt-get install locales
      dpkg-reconfigure locales
    5. On installe les outils minimum:
      apt-get install vim bash-completion htop screen less psmisc tree net-tools mutt man info postfix dialog
      • Notes:
        • On pourrait aussi prendre iproute2 à la place de net-tools
        • Pour postfix, on choisit site internet, voodoo, on verra sa config plus tard
    6. On configure le réseau:
      vim /etc/network/interfaces
      Puis:
      # interfaces(5) file used by ifup(8) and ifdown(8)
      auto lo
      iface lo inet loopback
      
      auto eth0
      iface eth0 inet static
      address x.x.x.x
      netmask 255.255.255.0
      network x.x.x.0
      broadcast x.x.x.255
      gateway x.x.x.254  
      • Note: Si vous utilisez une connexion réseau avec DHCP, il faut installer le packet isc-dhcp-client
    7. On configure le fstab:
      # <file system>         <mount point>   <type>  <options>               <dump>  <pass>
      /dev/md0                /boot           ext4    defaults                0       1
      /dev/mapper/system-sys--root /               ext4    defaults                0       1
      proc                    /proc           proc    defaults                0       0
      sysfs                   /sys            sysfs   defaults                0       0
    8. On installe les services:
      apt-get install rsyslog openssh-server
    9. On installe la gestion du Raid et de LVM:
      apt-get install mdadm lvm2
  5. Installation du boot
    1. On installe les packets nécéssaires:
      apt-get install linux-image-3.2.0-4-amd64 grub2
      Ou si PVE:
      apt-get install pve-firmware pve-kernel-2.6.32-16-pve grub2
    • Note:
      • On choisit /dev/sda pour installer grub
      • On peut également metter /dev/sdb au cas ou le RAID serait cassé sur le premier disque ;-)
    1. Si la config du grub a foiré, on le fait à la mano:
      grub-mkdevicemap 
      grub-install /dev/sda
      update-grub2
  6. Touches finales
    1. On définis le nouveau mot de passe pour root:
      passwd
    2. On nettoie notre passage:
      apt-get autoremove
      apt-get clean
      rm -rf /var/log/*
  7. Redémarrage
    1. On sort du chroot:
      exit
    2. On démonte tous les FS:
      umount /mnt/boot/
      umount /mnt/sys/
      umount -l /mnt/dev/
      umount -l /mnt/proc/
      umount -l /mnt/
    3. On configure le deuxième disque comme le premier:
      dd if=/dev/sda of=/dev/sdb bs=512 count=1
      
    4. On redémarre et go:
      reboot

Premier démarrage

  1. On se connecte en ssh sur la machine avec root et l'IP qui va bien:
    ssh root@x.x.x.x
  2. On remet bien le RAID:
    mdadm --add /dev/md0 /dev/sdb1
    mdadm --add /dev/md1 /dev/sdb2
  3. On a désormais the perfect system :-)
    • Processus: pstree:
      init-+-cron
           |-6*[getty]
           |-2*[logsave]
           |-master-+-pickup
           |        `-qmgr
           |-mdadm
           |-rsyslogd---3*[{rsyslogd}]
           |-sshd---sshd---bash-+-pstree
           |                    `-tail
           `-udevd---2*[udevd]
    • Partitions: lsblk -i:
      NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
      sdb                             8:16   0 931.5G  0 disk  
      |-sdb1                          8:17   0 478.5M  0 part  
      | `-md0                         9:0    0 478.4M  0 raid1 /boot
      `-sdb2                          8:18   0   931G  0 part  
        `-md1                         9:1    0   931G  0 raid1 
          `-system-sys--root (dm-0) 253:0    0     5G  0 lvm   /
      sda                             8:0    0 931.5G  0 disk  
      |-sda1                          8:1    0 478.5M  0 part  
      | `-md0                         9:0    0 478.4M  0 raid1 /boot
      `-sda2                          8:2    0   931G  0 part  
        `-md1                         9:1    0   931G  0 raid1 
          `-system-sys--root (dm-0) 253:0    0     5G  0 lvm   /
    • Montages: mount:
      /dev/mapper/system-sys--root on / type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
      /dev/md0 on /boot type ext4 (rw,relatime,user_xattr,barrier=1,stripe=4,data=ordered)
      devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
      proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
      sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
      tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
      tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1619100k)
      tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=809556k,mode=755)
      udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1010341,mode=755)
      

Et du KVM

Ca se passe ici: http://www.howtoforge.com/virtualization-with-kvm-on-a-debian-squeeze-server. Bon, on est sympa, on va quand même expliquer ...

  1. Installer les packets suivants:
    apt-get install qemu-kvm libvirt-bin
    • Pour info:
      • qemu-kvm: Est la techno de vitualisation utilisée. C'est le minimal de chez minimal.
      • libvirt-bin: Permet de gérer les VM, de les éteindre, de les déplacer. Permet accéssoirement d'y branche des clients distants (via SSH) pour gérer le tout.
      • virt-inst: Ho non, on va quand même pas l'installer, hein?
  2. On installe les users qui vont bien:
    adduser $(id -un) libvirt
    adduser $(id -un) kvm
  3. On vérifie que ça fonctionne:
    virsh -c qemu:///system list
  4. On met à jour sa conf réseau (vim /etc/network/interface):
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # The primary network interface
    #allow-hotplug eth0
    #iface eth0 inet dhcp
    auto eth0
    iface eth0 inet manual
    
    auto br0
    iface br0 inet static
            address 192.168.0.100
            network 192.168.0.0
            netmask 255.255.255.0
            broadcast 192.168.0.255
            gateway 192.168.0.1
            bridge_ports eth0
            bridge_fd 9
            bridge_hello 2
            bridge_maxage 12
            bridge_stp off
  5. On redémarre le réseau pour mettre à jour:
    /etc/init.d/nertworking restart
  6. Tout est prêt, il n'y a plus qu'à installer un client libvirt compliant. Je me suis arrété sur virt-manager, un client en dur très complet, bien qu'il plante quand même de temps en temps... :
    apt-get install virt-manager ssh-ask-gnome
  7. On lance le virt-manager avec:
    virt-manager
    
  8. Une fois lancé, on configure la connexion vers l'hyperviseur via SSH, et c'est finis :-)

Si c'est une machine en local

Il ne faut pas oublier qu'on aura surement besoin de quelques trucs: console-data: pour passer le clavier en FR iputils-ping: pour tester le réseau, un MUST HAVE wget: pour récupérer des trucs sur internet, sans navigateur vim: parcequ'un éditeur confortable est un gain de temps

Essential Packages

  • Outils
    • vim
  • Services
    • ssh
    • syslog
    • --X11--
  • Systeme
    • dialog
    • man
  • Boot
    • grub2
  • Réseau
  • nmap
  • iftop
  • Extra
  • Autre
    • htop screen psmisc tree
    • Most pour les man pages
  • Suggestions:
    • logrotate
  • Missing:

ping: inetutils-ping

Aides:

Page last modified on November 27, 2013, at 03:17 AM EST