Post

đźź© Proxmox V9 (tiny) - Lenovo ThinkCentre M700

đźź© Proxmox V9 (tiny) - Lenovo ThinkCentre M700

Lenovo ThinkCentre M700


ThinkCentre M700 and M900 User Guide

  • Intel Core i3-6100T 2.20Ghz
    • Nb. de cĹ“urs : 2
    • Nb. de threads : 4
    • FrĂ©quence de base : 3.20 GHz
    • Cache : 3 MB Intel® Smart Cache
    • Vitesse du bus : 8 GT/s
    • PDT : 35 W
  • RAM DDR4 SODIMM 2133/2400 (max 2x8Go)
    • SLOT1 : 8 Go
    • SLOT2 : 4 Go
  • SSD M.2 2280 500 Go
  • Gigabit LAN
  • M.2 slots M.2 2280/2242 M-key (SATA); M.2 2230 (WiFi/BT);
Vue avant Vue arrière
1 Bouton d’alimentation 1 Connecteur USB 3.0
2 Voyant d’activité de l’unité de stockage 2 Connecteur USB 3.0
3 Connecteur USB 3.0 3 Connecteur de casque
4 Connecteur du micro 4 Connecteur USB 3.0
5 Connecteur de casque 5 Connecteur DisplayPort®
6 Connecteur Always On USB 3.0 6 Connecteur USB 3.0
  7 Connecteur DisplayPort
  8 Connecteur du boîtier d’alimentation
  9 Prise de sécurité
  10 Connecteur en option (sur certains modèles)
  11 Port Ethernet
  12 Anneau pour cadenas
  13 Emplacement de l’antenne Wi-Fi

Accès BIOS
Sur un ThinkCentre M700 Tiny, c’est F1. Appuyer dessus plusieurs fois dès l’allumage, pendant que le logo Lenovo s’affiche. On peut aussi appuyer sur Entrée au logo pour afficher le menu de démarrage, où F1 donne accès au « Setup Utility » et F12 au choix du périphérique de démarrage.

  • Audio, Wifi sont dĂ©sactivĂ©s
  • AvancĂ© -> Config de l’UC -> Techonologide de virtualisation… ActivĂ©

Serveur Debian 13

Installation avec clé USB ISO

Connecter la machine M700 sur le réseau
Brancher un clavier USB
Connecter un écran VGA
Insérer clé USB contenant image ISO debian-13.1.0-amd64-netinst.iso
Brancher l’alimentation

Accès au BIOS par touche clavier SUPPR
Dans l’onglet “Boot” –> Boot Option #1 [USB Device]
Touche F10 pour sauver

Installation debian

Réseau: eno1

Machine : tiny
root : rtyuiop (temporaire)
tin : tin49 (temporaire)

Disque SSD M.2 2280 500 Go
Partitions LVM avec home séparé et 100GB utilisé

  • Serveur SSH
  • Utilitaires usuels du système

La machine reboot à la fin de l’installation
Se connecter avec l’utilisateur “tin”
Relever l’adresse ip : ip a , exemple 192.168.0.216

On peut également se connecter via ssh : ssh tin@192.168.0.216

Passer en su , installer sudo

1
2
3
su
apt install sudo
echo "tin     ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/tin

Interface Réseau eno1

Configurer une adresse IPv4 en statique

1
nano /etc/network/interfaces
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eno1
iface eno1 inet static
    address 192.168.0.216
    netmask 255.255.255.0
    gateway 192.168.0.254
# This is an autoconfigured IPv6 interface
iface eno1 inet6 auto

Fichier résolution DNS /etc/resolv.conf

1
printf 'nameserver 192.168.0.254\nnameserver 9.9.9.9\nnameserver 1.1.1.1\n' | sudo tee /etc/resolv.conf

Renvoie

1
2
3
nameserver 192.168.0.254
nameserver 9.9.9.9
nameserver 1.1.1.1

Redémarrer l’interface

1
systemctl restart networking

Se connecter sur la nouvelle adresse ip

1
ssh tin@192.168.0.216

Modifier les mots de passe “root” et utilisateur “tin”

OpenSSH avec clé

Générer une paire de clé sur l'ordinateur de bureau PC1
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) pour une liaison SSH avec le serveur.

1
2
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/m700-ed25519
chmod 600 /home/yann/.ssh/m700-ed25519

Envoyer les clés publiques sur le serveur leno

1
ssh-copy-id -i ~/.ssh/m700-ed25519.pub tin@192.168.0.216

On se connecte sur le serveur proxmox debian 13

1
ssh tin@192.168.0.216

Créer la configuration serveur SSH pour tin

1
2
3
echo "Port = 55216
PasswordAuthentication no
" |sudo tee /etc/ssh/sshd_config.d/10-tin.conf

Relancer le serveur

1
sudo systemctl restart sshd

Connexion Proxmox via SSH depuis poste PC1

1
ssh -p 55216 -i ~/.ssh/m700-ed25519 tin@192.168.0.216

Fastfetch

Script pour automatiser la mise en place sur Debian

1
2
3
4
5
6
7
8
9
sudo apt install fastfetch -y

echo '# Uniquement en session SSH interactive
if [ -n "$SSH_CONNECTION" ] && [ -t 1 ] && command -v fastfetch >/dev/null 2>&1; then
    fastfetch
fi
' | sudo tee /etc/profile.d/fastfetch.sh

sudo truncate -s 0 /etc/motd

Proxmox

Voici la marche à suivre pour installer Proxmox VE 9 par-dessus ton Debian 13 (méthode officielle).

Prérequis réseau

Le hostname doit résoudre vers l’IP statique de la machine, pas vers 127.0.1.1 :

Editer /etc/hosts :

1
192.168.0.216   tiny.home.arpa  tiny

Dépôt Proxmox

Toutes les commandes sont exécutées dans l’espace root

1
2
3
4
5
6
7
8
9
10
11
12
13
# en mode sudo
wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg \
  -O /usr/share/keyrings/proxmox-archive-keyring.gpg

cat > /etc/apt/sources.list.d/pve-install-repo.sources <<EOF
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF

apt update && apt full-upgrade

Noyau Proxmox puis paquets

1
2
apt install proxmox-default-kernel
systemctl reboot

Après le reboot, sur le noyau PVE :

1
2
3
4
apt install proxmox-ve postfix open-iscsi chrony
apt remove linux-image-amd64 'linux-image-6.12*'
update-grub
apt remove os-prober

Postfix : choisir « Local only » ou « Satellite » selon le besoin. Si Debian a configuré le réseau avec NetworkManager ou systemd-networkd, repasser sur /etc/network/interfaces avec un bridge vmbr0 (PVE s’appuie dessus) :

1
2
3
4
5
6
7
8
9
10
11
12
auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 192.168.0.216/24
    gateway 192.168.0.254
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

(adapter le nom de l’interface), puis ifreload -a ou reboot. L’interface web est ensuite sur https://IP:8006.

Désactiver entreprise

le dépôt enterprise est activé, et il demande une clé d’abonnement payante. Il faut le désactiver

Sur PVE 9, c’est en général /etc/apt/sources.list.d/pve-enterprise.sources). Ne pas toucher au fichier de clé, qui est téléchargé depuis le même domaine mais sans authentification.

Le désactiver : ajouter Enabled: false dans le fichier.

1
echo "Enabled: false" >> /etc/apt/sources.list.d/pve-enterprise.sources

SSH connexion root

Modifier le configuration ssh pour une connexion root

1
echo "PermitRootLogin yes" |tee /etc/ssh/sshd_config.d/10-tin.conf

Redémarrer sshd

1
systemctl restart sshd

Stockage LVM

Se connecter en SSH root.

root ne fait que 11 Go : ISO, templates et backups vont dans /var/lib/vz (donc sur root). Agrandir

1
lvextend -r -L +25G /dev/tiny-vg/root

Réduire taille home

Le /home de 77 Go est probablement inutile sur un hôte Proxmox : le réduire pour récupérer l’espace
iIl faut réduire le système de fichiers avant le LV, sinon on perd des données. L’option -r s’en charge.

Aucune session d’un utilisateur dont le home est dans /home ne doit être ouverte, sinon le démontage échoue. Vérifier le type de FS et l’espace utilisé

1
df -hT /home

Réponse

1
/dev/mapper/tiny--vg-home ext4    76G    2,1M   72G   1% /home

ext4 (défaut Debian) : réductible, mais seulement démonté.

Choisir une taille nettement inférieur à l’espace utilisé. 5 Go suffisent largement pour des clés SSH et quelques dotfiles.

1
2
3
4
umount /home
e2fsck -f /dev/tiny-vg/home
lvreduce -r -L 5G /dev/tiny-vg/home
mount /home

Avec -r (--resizefs), lvreduce lance resize2fs avant de réduire le LV, dans le bon ordre. Il peut te demander confirmation et refait lui-même un fsck.

Vérification

1
2
df -h /home
vgs tiny-vg

VFree doit afficher environ 440 Go.

1
2
3
4
Sys. de fichiers          Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/tiny--vg-home   4,4G    2,1M  4,2G   1% /home
  VG      #PV #LV #SN Attr   VSize   VFree   
  tiny-vg   1   3   0 wz--n- 464,80g <418,71g

Pool thin pour les VM/CT sur tout l’espace libre en gardant une marge pour les snapshots

1
lvcreate -l 95%FREE -T tiny-vg/data
⚠️ Le thin pool a besoin d'espace libre dans le VG pour ses métadonnées, donc ne pas prendre 100 %.

Proxmox standalone

Stockage : plus de contrainte de nom ni de restriction par nœud. Après avoir réduit /home et créé le thin pool, déclarer-le directement :

1
2
pvesm add lvmthin local-lvm --vgname tiny-vg --thinpool data \
  --content rootdir,images

Le stockage local (répertoire /var/lib/vz sur root) reste pour les ISO, templates et backups. Pense à agrandir root (lvextend -r -L +25G /dev/tiny-vg/root) pour qu’il ait la place.

Nom et IP : tu peux les changer plus facilement qu’en cluster, mais choisis-les quand même proprement dès maintenant.

Quelques vérifications avant de passer aux VM :

1
2
pvesm status              # local et local-lvm doivent ĂŞtre "active"
lvs tiny-vg               # le LV "data" doit apparaître comme thin pool (attr twi-...)
1
2
3
4
5
6
7
8
9
10
root@tiny:~# pvesm status
Name             Type     Status     Total (KiB)      Used (KiB) Available (KiB)        %
local             dir     active        37361520         4611876        31094604   12.34%
local-lvm     lvmthin     active       416886784               0       416886784    0.00%
root@tiny:~# lvs tiny-vg 
  LV     VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data   tiny-vg twi-a-tz-- 397,57g             0,00   10,43                           
  home   tiny-vg -wi-ao----   5,00g                                                    
  root   tiny-vg -wi-ao---- <36,31g                                                    
  swap_1 tiny-vg -wi-ao----  <4,79g                                                    
  • Thin pool : data est bien un thin pool (twi-a-tz--), 397 Go, vide, et local-lvm est actif dessus.
  • root : 36 Go, donc local a ~31 Go disponibles pour ISO, templates et backups.
  • home : 5 Go.
  • Marge : il reste environ 20 Go libres dans le VG, ce qui laisse de la place pour agrandir les mĂ©tadonnĂ©es du pool ou root si besoin.

Quelques points à surveiller sur la durée :

  • Surallocation : avec du thin provisioning, on peut crĂ©er des disques de VM dont la somme dĂ©passe 397 Go. Garder un Ĺ“il sur Data% (lvs tiny-vg), car un pool plein fige les VM. Évite de dĂ©passer ~85 %.
  • MĂ©tadonnĂ©es : Meta% Ă  10 % est normal. Si elles approchent de 80 %, agrandir avec lvextend --poolmetadatasize +1G tiny-vg/data.
  • Backups : les stocker sur local (mĂŞme disque que les VM) ne protège pas d’une panne du NVMe. L’autre Proxmox a un stockage NFS/PBS

Il te reste à vérifier que le noyau Debian est bien retiré :

1
2
uname -r              # doit finir par -pve
dpkg -l 'linux-image*' | grep ^ii

7.0.14-20-pve

Le pont réseau /etc/network/interfaces est :

1
2
3
4
5
6
7
8
9
10
11
12
13
auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 192.168.0.216/24
    gateway 192.168.0.254
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0
    

Vérifier

1
2
ip -br a          # l'IP doit ĂŞtre sur vmbr0, pas sur la carte
ping -c2 1.1.1.1

Réponse

1
2
3
4
5
6
7
8
9
10
11
12
13
# ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
eno1             UP             
vmbr0            UP             192.168.0.216/24 fe80::223:24ff:fec9:686/64 

# ping -c2 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=8.04 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=58 time=8.30 ms

--- 1.1.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 8.037/8.167/8.297/0.130 ms

Utilisateur et connexion

Éviter de travailler en root@pam au quotidien. Créer un compte admin dans le realm interne de Proxmox (pve), qui n’a pas besoin d’utilisateur Linux :

1
2
3
pveum user add tinadm@pve --comment "Admin"
pveum passwd tinadm@pve
pveum acl modify / --users tinadm@pve --roles Administrator

Se connecter sur https://192.168.0.216:8006 en choisissant le realm Proxmox VE authentication server.

Ajoute ensuite un second facteur pour l’utilisateur tinadm@pve : Centre de données → Permissions → Double facteur (TOTP, WebAuthn/clé de sécurité, ou codes de secours). Génèrer aussi les codes de récupération.

Pour SSH, garde root accessible uniquement par clé : dans /etc/ssh/sshd_config, PermitRootLogin prohibit-password, après avoir copié ta clé publique dans /root/.ssh/authorized_keys. Attention : les fonctions de Proxmox (cluster, migrations) utilisent le root SSH, donc ne pas le désactiver complètement.

Cet article est sous licence CC BY 4.0 par l'auteur.