Attention : il faut quand même une machine dédiée qui a de la puissance. Visez à minima un quad/8 threads avec 16Go de RAM et un bon SSD pour vous faire la main... En machine d'occasion, un dell silencieux et efficace dans les 210€ + 2x60€ de disque SSD 500Go (NVME pour le principal et SATA pour la sauvegarde suivant évidemment la carte mère du PC) fera l'affaire.
Il faut récupérer l'ISO du logiciel sur le site de Proxmox, utiliser dd pour la transférer sur une clé USB dont le contenu sera évidemment écrasé, puis démarrer sur la dite clé USB, et faire l'installation en mode graphique, laquelle ne pose aucun problème particulier. Il faut ensuite, depuis une autre machine, utiliser un navigateur web - Firefox au hasard - pour accéder à l'interface graphique qui permet de tout gérer, et d'accéder graphiquement aux VM et conteneurs LXC.
Ce qui suit sont des petites astuces découvertes au fil des essais, notamment sur les conteneurs, avec Proxmox en version 8.1.4 :
Astuce : au démarrage, Proxmox écrase le fichier /etc/resolv.conf du conteneur. L'astuce est alors de créer un fichier vide
Code : Tout sélectionner
touch /etc/.pve-ignore.resolv.conf
La même chose existe pour le fichier /etc/hosts :
Code : Tout sélectionner
touch /etc/.pve-ignore.hosts
Code : Tout sélectionner
//$SERVER/iso /iso cifs ro,user,username=$USER,password=$PASS,domain=$DOMAIN 0 0
On peut aussi fustiger ce bon vieux /etc/fstab, et faire une unité systemd de type .mount - c'est juste plus lourd à écrire, mais ça marche aussi...
Bref, chacun a sa méthode - l'essentiel, c'est que ça marche !
Astuce : pour les conteneurs privilégiés, on constate que le démarrage en console est beaucoup plus lent, et notamment le message
Code : Tout sélectionner
Failed to activate service 'org.freedesktop.login1': timed out (service_start_timeout=25000ms)
Code : Tout sélectionner
systemctl mask systemd-logind
Code : Tout sélectionner
pam-auth-update
Astuce : dans un conteneur privilégié, on veut faire de l'export NFS via /etc/exports. Problème : le
Code : Tout sélectionner
systemctl start nfs-kernel-server
Code : Tout sélectionner
mount -t nfsd nfsd /proc/fs/nfsd
Code : Tout sélectionner
mount: /proc/fs/nfsd: cannot mount nfsd read-only.
Code : Tout sélectionner
features: nesting=1
Astuce : dans un conteneur privilégié, on veut monter une image ISO, comme un DVD Mint ou Ubuntu pour faire un serveur PXE par exemple... Il faut encore passer par le bash du nœud Promox principal, conteneur arrêté, et dans /etc/pve/lxc/CTID.conf, se rajouter :
Code : Tout sélectionner
lxc.cgroup2.devices.allow = b 7:* rwm
lxc.cgroup2.devices.allow = c 10:237 rwm
lxc.mount.entry = /dev/loop0 dev/loop0 none bind,create=file 0 0
lxc.mount.entry = /dev/loop1 dev/loop1 none bind,create=file 0 0
lxc.mount.entry = /dev/loop2 dev/loop2 none bind,create=file 0 0
lxc.mount.entry = /dev/loop3 dev/loop3 none bind,create=file 0 0
lxc.mount.entry = /dev/loop4 dev/loop4 none bind,create=file 0 0
lxc.mount.entry = /dev/loop5 dev/loop5 none bind,create=file 0 0
lxc.mount.entry = /dev/loop6 dev/loop6 none bind,create=file 0 0
lxc.mount.entry = /dev/loop-control dev/loop-control none bind,create=file 0 0
Code : Tout sélectionner
mount -o loop ubuntu-mate-XY.0A.Z-desktop-amd64.iso dossier_de_montage/
Code : Tout sélectionner
/srv/pxe/ubuntu-mate-XY.0A.Z-desktop-amd64.iso /srv/pxe/ubuntu/2204 iso9660 loop 0 0
Code : Tout sélectionner
ListenAddress A.B.C.D:port
Code : Tout sélectionner
ss -tunlp
Code : Tout sélectionner
systemctl mask ssh.socket
systemctl mask sshd.socket
systemctl disable sshd
systemctl enable ssh
reboot
Astuce : pour ajouter un disque de stockage ici en nvme, blkid pour repérer l'UUID de la partition ext4, puis on modifie /etc/fstab :
Code : Tout sélectionner
UUID=12b2...1ca /mnt/nvme ext4 defaults 0 2
Code : Tout sélectionner
systemctl daemon-reload
Code : Tout sélectionner
mkdir /mnt/nvme/backup && pvesm add dir backup-nvme --path /mnt/nvme/backup
Astuce : refaire le certificat et la clé privée de proxmox :
Code : Tout sélectionner
pvecm updatecerts --force
Astuce : non fonctionnelle (piste à creuser) - rajouter l'USB à un conteneur LXC pour pouvoir fournir le service d'impression CUPS par exemple. Il faut ajouter à la fin de /etc/pve/lxc/CTID.conf :
Code : Tout sélectionner
lxc.cgroup.devices.allow: c 188:* rwm
lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/usb/lp0 dev/usb/lp0 none bind,optional,create=file,uid=7,gid=7,mode=0666
lxc.mount.entry: /dev/usb/lp1 dev/usb/lp1 none bind,optional,create=file,uid=7,gid=7,mode=0666
Pour info : cf. https://www.kernel.org/doc/Documentatio ... evices.txt
Code : Tout sélectionner
188 char USB serial converters
0 = /dev/ttyUSB0 First USB serial converter
1 = /dev/ttyUSB1 Second USB serial converter
...
189 char USB serial converters - alternate devices
0 = /dev/cuusb0 Callout device for ttyUSB0
1 = /dev/cuusb1 Callout device for ttyUSB1
...
Code : Tout sélectionner
apt install libsasl2-modules
Code : Tout sélectionner
warning: SASL authentication failure: No worthy mechs found
Code : Tout sélectionner
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost.$mydomain, localhost
#relayhost =
mynetworks = 127.0.0.0/8
#inet_interfaces = loopback-only
recipient_delimiter = +
compatibility_level = 2
inet_interfaces = all
inet_protocols = all
smtp_use_tls = yes
relayhost = smtp.MON_FAI.fr:587
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = login
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_use_tls=yes
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
Code : Tout sélectionner
dpkg-reconfigure tzdata