Ci-dessous, les différences entre deux révisions de la page.
wiki:services:pxe [2016/08/09 21:36] manwefm |
wiki:services:pxe [2020/06/27 18:16] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ======= PXE ======= | ||
- | === C'est quoi ? === | ||
- | Le PXE (Pre-boot eXecution Environment) est un moyen faire booter un PC via une carte réseau au même titre que le boot via CD-ROM, clé USB ou Disque Dur. | ||
- | Concrètement lors du boot d'un PC, le BIOS / l'UEFI va aller chercher sur le MBR / la partition EFI un bootloader (GRUB, | ||
- | |||
- | === Pourquoi ? === | ||
- | |||
- | == Comparaison des débits théoriques == | ||
- | |||
- | |CD-ROM x1 | 18,75 kbit/s| | ||
- | |CD-ROM x4 | 75 kbit/s| | ||
- | |CD-ROM x52 | 97.5 Mbit/s| | ||
- | |**Ethernet 100M **| **100 Mbit/s**| | ||
- | |USB 2.0 | 480 Mbit/s| | ||
- | |**Ethernet 1000M** | **1 Gbit/s**| | ||
- | |USB 3.0 | 5 Gbit/s| | ||
- | |USB 3.1 | 10 Gbit/s| | ||
- | |||
- | ==Les avantages du boot par PXE == | ||
- | * On ne trouve pas de l'USB 3.0 sur tous les PC/ | ||
- | * Certains vieux PC/Serveurs ne veulent tout simplement pas booter sur de l'USB | ||
- | * Pas de clé USB à préparer (Évite l' | ||
- | * Le PXE MiNET est déjà configuré avec les distributions souvent utilisées à MiNET (pas besoin de re-télécharger des isos) | ||
- | * Euh ? Graver des CD-ROM ? Qui fait encore ça ? | ||
- | * Il suffit de déraquer le serveur pour avoir toutes les distributions possibles pour l' | ||
- | |||
- | === Configuration du serveur === | ||
- | |||
- | == Hardware == | ||
- | |||
- | Résumé: | ||
- | |Chassis|Tyan Tank GT20| | ||
- | |CPU| 4x Intel(R) Xeon(R) CPU 5110 @ 1.60GHz| | ||
- | |RAM| 2Gb | | ||
- | |Réseau| 3x Gigabit Ethernet| | ||
- | |Stockage| 2x 160Gb Sata + 2x 500Gb Sata| | ||
- | |||
- | {{ : | ||
- | |||
- | == Software == | ||
- | |||
- | Résumé: | ||
- | |OS|Debian Stable| | ||
- | |Stockage| RAID 1 Système et RAID 1 Stockage| | ||
- | |Services| DHCP, TFTP, HTTP, NFS, SMB| | ||
- | |Réseau| eth0 dans le VLAN d' | ||
- | |||
- | Le VLAN 999 ressemble à ça (clic to enlarge your p...icture): | ||
- | |||
- | {{ : | ||
- | |||
- | * DHCP (isc-dhcp-server) | ||
- | < | ||
- | / | ||
- | / | ||
- | |||
- | authoritative; | ||
- | option architecture-type code 93 = unsigned integer 16; | ||
- | option domain-name-servers 157.159.40.55, | ||
- | option domain-name " | ||
- | |||
- | subnet 192.168.150.0 netmask 255.255.255.0 { | ||
- | range 192.168.150.10 192.168.150.250; | ||
- | option subnet-mask 255.255.255.0; | ||
- | option routers 192.168.150.2; | ||
- | |||
- | if option architecture-type = 00:00 { | ||
- | filename " | ||
- | } | ||
- | |||
- | elsif option architecture-type = 00:09 { | ||
- | filename " | ||
- | |||
- | elsif option architecture-type = 00:07 { | ||
- | filename " | ||
- | } | ||
- | |||
- | else { | ||
- | filename " | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | TFTP (tftpd-hpa) | ||
- | < | ||
- | / | ||
- | TFTP_USERNAME=" | ||
- | RUN_DAEMON=" | ||
- | TFTP_DIRECTORY="/ | ||
- | TFTP_ADDRESS=" | ||
- | TFTP_OPTIONS=" | ||
- | |||
- | </ | ||
- | |||
- | HTTP (lighttpd) | ||
- | < | ||
- | / | ||
- | server.modules = ( | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | # " | ||
- | ) | ||
- | |||
- | server.document-root | ||
- | server.upload-dirs | ||
- | server.errorlog | ||
- | server.pid-file | ||
- | server.username | ||
- | server.groupname | ||
- | server.port | ||
- | |||
- | |||
- | index-file.names | ||
- | url.access-deny | ||
- | static-file.exclude-extensions = ( " | ||
- | |||
- | compress.cache-dir | ||
- | compress.filetype | ||
- | |||
- | # default listening port for IPv6 falls back to the IPv4 port | ||
- | include_shell "/ | ||
- | include_shell "/ | ||
- | include_shell "/ | ||
- | </ | ||
- | |||
- | NFS (nfs-kernel-server) | ||
- | < | ||
- | / | ||
- | |||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | |||
- | / | ||
- | </ | ||
- | |||
- | SAMBA (samba) | ||
- | < | ||
- | / | ||
- | |||
- | [global] | ||
- | workgroup = PXESERVER | ||
- | server string = Samba Server Version %v | ||
- | log file = / | ||
- | max log size = 50 | ||
- | idmap config * : backend = tdb | ||
- | cups options = raw | ||
- | netbios name = pxe | ||
- | map to guest = bad user | ||
- | dns proxy = no | ||
- | public = yes | ||
- | ## For multiple installations the same time - not lock kernel | ||
- | kernel oplocks = no | ||
- | nt acl support = no | ||
- | security = user | ||
- | guest account = nobody | ||
- | [windows_install] | ||
- | comment = Windows Image | ||
- | path = /srv/samba/ | ||
- | read only = no | ||
- | browseable = yes | ||
- | public = yes | ||
- | printable = no | ||
- | guest ok = yes | ||
- | oplocks = no | ||
- | level2 oplocks = no | ||
- | locking = no | ||
- | |||
- | |||
- | </ | ||
- | |||
- | === Comment ca marche ? === | ||
- | |||
- | <WRAP info round> | ||
- | - Euh comment se connecter au réseau alors que le PC n'est pas encore démarré ? | ||
- | - C'est la ROM PXE qui se trouve dans le BIOS/UEFI qui va lancer une requête DHCP | ||
- | </ | ||
- | |||
- | {{ : | ||
- | |||
- | Chaque Firmware (BIOS, UEFI etc.) possede un ROM PXE | ||
- | Quand la machine boot en PXE, la ROM PEXE fait une requete DHCP, recoit une IP, le netmask, les DNS(à configurer) et un fichier syslinus surlequel booter en TFTP. | ||
- | |||
- | syslinux ? | ||
- | The Syslinux Project covers lightweight bootloaders for MS-DOS FAT filesystems (SYSLINUX), network booting (PXELINUX), bootable "El Torito" | ||
- | |||
- | Le bootloader utilisé ici est lpxelinux.0 car il permet de booter par http contrairement à pxelinux.0 qui permet de booter seulement par tftp (qui est vieux, en UDP et lent). | ||
- | |||
- | Le fichier pxelinux.cfg/ | ||
- | |||
- | MENU.png | ||
- | |||
- | Ce menu Permet alors de booter un noyau avec les options que l'on souhaite. Le noyau et le fichier initrd associé sont téléchargés via http et chargés en RAM, le PC boot alors dessus. | ||
- | |||
- | [[: |