Comment installer un serveur physique en Debian 12 avec un partitionnement spécifique
Activer le mode Rescue sur le serveur
Pour utiliser le script installimage il faut tout dabord activer le mode rescue sur le serveur. Il faut passer par le menu ROBOT sur l’interface de gestion de votre compte. ATTENTION, rien à voir avec la console de gestion Cloud, ici c’est ce qu’Hetzner appel le Robot.
Une fois activé le mode rescue, il faut relancer le serveur.
Connection au serveur
Normalement le serveur redémarre et il est possible de se connecte dessus en ssh sur son adresse ip habituelle, soit vaec la clef ssh si elle a été renseignée, soit avec le mot de passe communiqué par l’interface lors du passage en mode rescue.
Il est possible qu’une alerte sur une modification de l’identification de votre serveur apparaisse. Normal à ce stade, il suffit d’accepter.
Vous devriez vous retrouver sur quelque chose de ce type.
Linux rescue 6.3.7 #1 SMP Fri Jun 9 15:06:58 UTC 2023 x86_64-------------------------------------------------------------------------------------------------------------------------
Welcome to the Hetzner Rescue System.
This Rescue System is based on Debian GNU/Linux 12(bookworm) with a custom kernel.
You can install software like you would in a normal system.
To install a new operating system from one of our prebuilt images, run 'installimage' and follow the instructions.
Important note: Any data that was not written to the disks will be lost during a reboot.
For additional information, check the following resources:
Rescue System: https://docs.hetzner.com/robot/dedicated-server/troubleshooting/hetzner-rescue-system
Installimage: https://docs.hetzner.com/robot/dedicated-server/operating-systems/installimage
Install custom software: https://docs.hetzner.com/robot/dedicated-server/operating-systems/installing-custom-images
other articles: https://docs.hetzner.com/robot
-------------------------------------------------------------------------------------------------------------------------
Rescue System up since 2023-07-08 18:13 +02:00
/usr/bin/xauth: file /root/.Xauthority does not exist
Hardware data:
CPU1: Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (Cores 8) Memory: 64098 MB
Disk /dev/nvme0n1: 512 GB (=> 476 GiB) Disk /dev/sda: 4000 GB (=> 3726 GiB) Disk /dev/sdb: 4000 GB (=> 3726 GiB) Total capacity 7928 GiB with 3 Disks
Network data:
eth0 LINK: yes
MAC: ab:cd:ef:1d:h4:65
IP: 111.222.333.444
IPv6: 1111.222.333.444::2/64
Intel(R) PRO/1000 Network Driver
root@rescue ~ #
Lancement de l’installation via installimage
Il faut lancer la commande:
root@rescue ~ # installimage
Un menu de sélection de l’OS apparait
On sélectionne ensuite la version de la Debian à installer.
Une alerte apparait. Nous allons faire toutes nos modifications maintenant.
Mise en forme du fichier d’installation
Notre serveur dispose d’une SSD de 512Go et de deux disques de 4To. Le SSD va héberger la partie OS et les deux disques seront utilisé pour la partie Docker et pour le stockage de données. Nous allons donc devoir désactiver le RAID logiciel et créer les différentes partitions et points de montage.
Configuration du stockage
Enumération des disques.
## ====================## HARD DISK DRIVE(S):## ====================## PLEASE READ THE NOTES BELOW!# unkownDRIVE1 /dev/nvme0n1
# Onboard: HGST HUS726040ALA614DRIVE2 /dev/sda
# Onboard: TOSHIBA MG04ACA400NDRIVE3 /dev/sdb
On formate le premier disque, mais on choisit de garder les deux autres intactes
FORMATDRIVE1 1FORMATDRIVE2 0FORMATDRIVE3 0## if you dont want raid over your three drives then comment out the following line and set SWRAIDLEVEL not to 5## please make sure the DRIVE[nr] variable is strict ascending with the used harddisks, when you comment out one or more harddisks## ===============## SOFTWARE RAID:## ===============## activate software RAID? < 0 | 1 >
On désactive le RAID en positionnant l’option à 0. Le type de RAID n’a pas trop d’intérêt mais on le positionne quand même à 1
SWRAID 0## Choose the level for the software RAID < 0 | 1 | 5 | 10 >SWRAIDLEVEL 1
Configuration du nom du serveur
## ==========## HOSTNAME:## ==========## which hostname should be set?##HOSTNAME debian-64gb-fsn1-2
Configuration de la couche réseau
Pour ne pas avoir d’IP V6, il suffit de changer à yes
## ================## NETWORK CONFIG:## ================# IPV4_ONLY no
Configuration du stockage
C’est la partie du script la plus importante, tant sur le nombre de ligne que aussi sur la complexité.
## ==========================## PARTITIONS / FILESYSTEMS:## ==========================## define your partitions and filesystems like this:#### PART <mountpoint/lvm/btrfs.X> <filesystem/VG> <size in MB>#### * <mountpoint/lvm/btrfs.X>## mountpoint for this filesystem *OR*## keyword 'lvm' to use this PART as volume group (VG) for LVM *OR*## identifier 'btrfs.X' to use this PART as volume for## btrfs subvolumes. X can be replaced with a unique## alphanumeric keyword## NOTE: no support btrfs multi-device volumes## NOTE: reiserfs support is deprecated and will be removed in a future version## * <filesystem/VG>## can be ext2, ext3, ext4, btrfs, reiserfs, xfs, swap *OR* name## of the LVM volume group (VG), if this PART is a VG.## * <size>## you can use the keyword 'all' to assign all the## remaining space of the drive to the *last* partition.## you can use M/G/T for unit specification in MiB/GiB/TiB#### notes:## - extended partitions are created automatically## - '/boot' cannot be on a xfs filesystem## - '/boot' cannot be on LVM!## - when using software RAID 0, you need a '/boot' partition#### example without LVM (default):## -> 4GB swapspace## -> 512MB /boot## -> 10GB /## -> 5GB /tmp## -> all the rest to /home#PART swap swap 4G#PART /boot ext2 512M#PART / ext4 10G#PART /tmp xfs 5G#PART /home ext3 all##### to activate LVM, you have to define volume groups and logical volumes#### example with LVM:### normal filesystems and volume group definitions:## -> 512MB boot (not on lvm)## -> all the rest for LVM VG 'vg0'#PART /boot ext3 512M#PART lvm vg0 all### logical volume definitions:#LV <VG> <name> <mount> <filesystem> <size>##LV vg0 root / ext4 10G#LV vg0 swap swap swap 4G#LV vg0 home /home xfs 20G##### to use btrfs subvolumes, define a volume identifier on a partition#### example with btrfs subvolumes:#### -> all space on one partition with volume 'btrfs.1'#PART btrfs.1 btrfs all#### btrfs subvolume definitions:#SUBVOL <volume> <subvolume> <mount>##SUBVOL btrfs.1 @ /#SUBVOL btrfs.1 @/usr /usr#SUBVOL btrfs.1 @home /home### your system has the following devices:## Disk /dev/nvme0n1: 512.12 GB (=> 476.94 GiB)# Disk /dev/sda: 4.01 TB (=> 3.64 TiB)# Disk /dev/sdb: 4.01 TB (=> 3.64 TiB)### Based on your disks and which RAID level you will choose you have## the following free space to allocate (in GiB):# RAID 0: ~1428# RAID 1: ~476# RAID 5: ~952#PART swap swap 32G
PART /boot ext3 1024M
PART / ext4 all
Nous allons mettre en commentaire la derniére partie du script et modifier la partie concernant LVM
## normal filesystems and volume group definitions:## -> 512MB boot (not on lvm)## -> all the rest for LVM VG 'vg0'PART /boot ext3 512M
PART lvm vg0 all
### logical volume definitions:#LV <VG> <name> <mount> <filesystem> <size>#LV vg0 lv_root / ext4 20G
LV vg0 lv_var /var ext4 20G
LV vg0 lv_usr /usr ext4 30G
LV vg0 lv_opt /opt ext4 20G
LV vg0 lv_log /var/log ext4 5G
LV vg0 lv_local /usr/local ext4 10G
LV vg0 lv_swap swap swap 4G
LV vg0 lv_home /home xfs 20G
LV vg0 lv_srv /srv ext4 30G
Une fois les modifications terminées, plus qu’a sortir en faisant un <CTRL><F2> pour sauvegarder puis <CTRL>+<F10> pour sortir et lancer l’installation
Hetzner Online GmbH - installimage
Your server will be installed now, this will take some minutes
You can abort at any time with CTRL+C ...
: Reading configuration done : Loading image file variables done : Loading debian specific functions done 1/16 : Deleting partitions done 2/16 : Test partition size done 3/16 : Creating partitions and /etc/fstab done 4/16 : Creating LVM volumes done 5/16 : Formatting partitions
: formatting /dev/nvme0n1p1 with ext3 done : formatting /dev/vg0/lv_root with ext4 done : formatting /dev/vg0/lv_var with ext4 done : formatting /dev/vg0/lv_usr with ext4 done : formatting /dev/vg0/lv_opt with ext4 done : formatting /dev/vg0/lv_log with ext4 done : formatting /dev/vg0/lv_local with ext4 done : formatting /dev/vg0/lv_swap with swap done : formatting /dev/vg0/lv_home with xfs done : formatting /dev/vg0/lv_srv with ext4 done 6/16 : Mounting partitions done 7/16 : Sync time via ntp done : Importing public key for image validation done 8/16 : Validating image before starting extraction done 9/16 : Extracting image (local)done 10/16 : Setting up network config done 11/16 : Executing additional commands
: Setting hostname done : Generating new SSH keys done : Generating ramdisk done : Generating ntp config done 12/16 : Setting up miscellaneous files done 13/16 : Configuring authentication
: Fetching SSH keys done : Disabling root password done : Disabling SSH root login with password done : Copying SSH keys done 14/16 : Installing bootloader grub done 15/16 : Running some debian specific functions done 16/16 : Clearing log files done INSTALLATION COMPLETE
You can now reboot and log in to your new system with the
same credentials that you used to log into the rescue system.
root@rescue ~ #
Lancement du script avec options
Une possibilité trés intéressante est le lancement du script avec des options. Un fois ouvert comme précédemment, il est pratiquement pas nécessaire de faire d’édition et on peux sortir en faisant un <CTRL>+<F2>.
usage: installimage [options] without any options, installimage starts in interactive mode.
possible options are:
-h display this help -a automatic mode / batch mode - use this in combination
with the options below to install without further
interaction. there will be no further confirmations
for deleting disks / all your data, so use with care!
-c <configfile> use the specified config file in
/root/.oldroot/nfs/install/configs for autosetup. when using
this option, no other options except '-a' are accepted.
-x <post-install> Use this file as post-install script, that will be executed after
installation inside the chroot.
-n <hostname> set the specified hostNAME.
-r <yes|no> activate software RAID or not.
-l <0|1|5|6|10> set the specified raid LEVEL.
-i <imagepath> use the specified IMAGE to install (full path to the OS image) - supported image sources: local dir, ftp, http, nfs
- supported image types: tar,tar.gz,tar.bz,tar.bz2,tar.xz,tar.zst,tgz,tbz,txz
examples:
- local: /path/to/image/filename.tar.gz
- ftp: ftp://<user>:<password>@hostname/path/to/image/filename.tar.bz2
- http: http://<user>:<password>@hostname/path/to/image/filename.tbz
- https: https://<user>:<password>@hostname/path/to/image/filename.tbz
- nfs: hostname:/path/to/image/filename.tgz
-g Use this to force validation of the image file with detached GPG signature.
If the image is not valid, the installation will abort.
-p <partitions> define the PARTITIONS to create, example:
- regular partitions: swap:swap:4G,/:ext3:all
- lvm setup example: /boot:ext2:256M,lvm:vg0:all
-v <logical volumes> define the logical VOLUMES you want to be created
- example: vg0:root:/:ext3:20G,vg0:swap:swap:swap:4G
-d <drives> /dev names of DRIVES to use, e.g.: sda or sda,sdb
-f <yes|no> FORMAT the second drive (if not used for raid)?
-s <de|en> Language to use for different things (e.g.PLESK) -z PLESK_<Version> Install optional software like PLESK with version <Version>
-K <path/url> Install SSH-Keys from file/URL
-t <yes|no> Take over rescue system SSH public keys
-u <yes|no> Allow usb drives
-G <yes|no> Generate new SSH host keys (default: yes)
-r - Activation du Raid ou non. Le fait de passer cette option supprime la paragraphe dans le fichier de configuration.
-p - Partitionnement du disque
-v - Découpage LVM
Reboot
Pour relancer le serveur normalement il suffit de lancer la commande:
root@rescue ~ # reboot
Vous perdez la main et le serveur doit normalement être disponible sur la même adresse ip mais hors mode rescue.
ATTENTION:
Si le serveur ne reboot pas sur la nouvelle installation mais sur un raid, c’est qu’il a démarré sur les autres disques que celui qui vient de servir.
C’est pour cette raison qu’il est plus sur de formater tous les disques en ajoutant les options: