GNU/Linux >> Tutoriels Linux >  >> Linux

Comment j'ai construit un Homelab sur le budget

Dans mon article précédent, j'ai expliqué ce qu'est un Homelab et pourquoi vous devriez (ou ne devriez pas) en avoir un pour vous-même.

Maintenant, est-ce que quelqu'un qui veut ou qui en a besoin peut avoir un homelab ? Cela dépend de plusieurs choses, mais l'argent ou les ressources peuvent être contournés. Dans cet article, je vais vous expliquer comment j'ai réussi à avoir mon propre Homelab sans y investir une fortune. En fait, cela m'a coûté moins de 1 000 USD et cela fonctionne assez bien pour gérer les besoins en infrastructure de ma maison.

Cela étant dit, il est important de mentionner comme avertissement :cet article ne décrit pas la meilleure façon de faire les choses. Il décrit simplement comment je parviens à le faire fonctionner même en sachant qu'il y a des problèmes et des risques, mais pour l'instant, je peux bien vivre avec ceux-ci.

Tout d'abord :le matériel

La configuration d'un homelab nécessite un ordinateur que vous ne pouvez utiliser que pour héberger en continu. Un ordinateur portable ancien (mais modérément puissant) peut faire le travail ou si vous avez de l'argent que vous pouvez utiliser, vous pouvez acheter les pièces et construire votre propre ordinateur.

Si vous avez un peu d'argent supplémentaire, vous pouvez probablement même acheter un petit serveur réutilisé dont n'importe quelle entreprise informatique s'est débarrassée en raison de son âge. Ces serveurs peuvent toujours servir un bon objectif pour un projet comme celui-ci, bien qu'il puisse sortir du concept de "sur un budget".

Vous pouvez également utiliser des appareils de type Raspberry Pi.

La partie la plus importante concernant le serveur principal est la suivante :essayez d'obtenir une carte mère et un processeur capables de gérer la virtualisation, en particulier ceux qui ont une capacité de transfert d'E/S. Pour Intel, assurez-vous que le processeur a une capacité VT-x, pour AMD, il doit avoir une capacité AMD-v. Sans cela, vous ne pourrez pas faire grand-chose.

Si vous ne prévoyez pas d'investir dans un GPU séparé comme une carte graphique NVIDIA ou AMD, essayez d'obtenir un CPU qui a au moins un GPU intégré.

Ensuite, vous avez besoin d'avoir de l'espace disque pour cela. La taille du disque dépend de l'utilisation que vous en ferez. Dans mon cas, je voulais avoir un lecteur multimédia, un PC de jeu, un serveur Firewall/DNS et probablement une très petite console DVR, j'ai donc acheté un disque dur de 2 To. C'est la partie où vous pouvez avoir des problèmes de budget. Si l'argent n'est pas un problème, vous voulez avoir autant d'espace que vous le souhaitez et le doubler pour pouvoir travailler avec RAID. Encore une fois, dans mon cas, je dois me contenter d'un seul disque dur de 2 To (pas même SSD), point final.

J'avais quelques disques durs USB de 1 To posés là-bas, ils avaient plus de 10 ans mais avec une très faible utilisation (après le cloud, j'évite honnêtement de stocker trop de choses localement). Ceux-ci seraient très lents à utiliser pour le traitement ou les machines virtuelles, mais à des fins de sauvegarde, ils le feraient.

Ensuite, vous voulez vous concentrer sur la RAM. Plus il y en a, mieux c'est. Dans mon cas, je ne pouvais me permettre que 8 Go.

Ensuite, en supposant que vous souhaitiez l'intégrer dans votre propre maison et interagir avec le reste du réseau et des appareils, vous aurez probablement besoin d'au moins un petit routeur ou un commutateur réseau. Si vous souhaitez configurer un petit routeur ou un petit serveur DNS chez vous, vous devez disposer d'au moins une deuxième carte réseau. J'avais une carte réseau USB que j'utilisais comme carte secondaire pour pouvoir exécuter une solution de pare-feu/routage virtualisée.

Le logiciel :Hyperviseur

Vous avez besoin de virtualisation et pour cela vous avez besoin d'un hyperviseur. L'hyperviseur est classé en Type 1 et Type 2. Lisez notre article pour en savoir plus à ce sujet.

Pour résumer :si vous optez pour un hyperviseur de type 1, vous devez être plus technique, mais vous avez plus de contrôle et vous pouvez donc utiliser le GPU et d'autres ressources sur vos machines virtuelles.

Avec un hyperviseur de type 2, il devient plus facile à gérer car vous avez moins de contrôle sur les choses, mais vous ne pouvez pas effectuer certaines choses comme transmettre la puissance du GPU à vos machines virtuelles. Si vous voulez avoir une VM pour travailler et éditer des vidéos ou jouer à des jeux, alors vous ne pourrez pas le faire avec le Type 2. Si ce n'est pas le but, alors vous suffirez probablement avec un Type-2.

J'avais l'habitude d'avoir Virtualbox et j'utilisais la machine hôte principale comme mon propre serveur multimédia. Cela a bien fonctionné. La machine principale était capable de transcodage vidéo. Cependant, lorsque j'ai voulu essayer différents serveurs multimédias afin d'expérimenter, j'ai commencé à me débattre car je devais affecter mon serveur principal pour une expérience qui pouvait mal tourner.

Cela m'a fait migrer vers un hyperviseur de type 1 et recommencer. Je suis passé à Proxmox comme hyperviseur, car j'aime l'Open Source. J'ai trouvé VMWare ESXI trop difficile à mettre en œuvre car je n'ai même pas de machine Windows à la maison, donc je ne pouvais même pas retravailler les images ISO pour me permettre d'injecter les bons pilotes matériels pour même l'installer.

Homelab est opérationnel, et maintenant ?

Je l'ai configuré et j'ai commencé à créer l'ensemble initial de choses en fonction de ce que je voulais utiliser. Je voulais un serveur multimédia, mais, je suis limité sur la puissance (Intel i5 avec GPU interne) et je souhaite héberger plusieurs choses. J'ai donc dû décider (et rechercher) comment le faire fonctionner pour moi.

Si je voulais une VM qui hébergeait mon serveur Plex ou Jellyfin et était capable de transcoder, je devais passer le GPU à ce serveur multimédia. Cela m'empêcherait de l'utiliser pour un PC de jeu, du moins pas simultanément. Vous ne pouvez transmettre le GPU qu'à une seule machine virtuelle à la fois.

C'était un problème car je voulais peut-être jouer en même temps que mon enfant ou ma femme voulait regarder un film ou une émission de télévision. Alors j'ai travaillé autour de ça.

J'ai mis en place un serveur NFS de base en utilisant Debian (pour sa légèreté) où j'hébergerais mes fichiers. Je traiterais simplement tous les fichiers vidéo que je possède, pour être dans un format universel que la plupart des appareils n'auraient pas besoin de transcoder à partir de :MP4.

Cela nécessiterait que je sois au courant des fichiers et que je m'assure de toujours les convertir avant de les indexer sur mon serveur multimédia. Vous pouvez facilement automatiser en utilisant cron et handbrake-cli. Je n'ai même pas eu à écrire le script cron, j'ai cherché l'un des nombreux disponibles sur GitHub.

Avec mes fichiers centralisés dans un serveur NFS, je n'avais plus besoin de VM. Je n'ai utilisé qu'un conteneur pour exécuter mon serveur multimédia et la quantité de ressources utilisées était aussi minime que possible. Je viens de mapper le serveur NFS en tant que dossier dans mon conteneur !

Ensuite, pour le pare-feu, j'ai configuré pFSense, encore une fois, pour avoir un maximum de ressources optimales partagées, j'ai utilisé un conteneur pour cela.

Ensuite, pour la machine de jeu, je viens de configurer une machine virtuelle Windows. La raison en est que je voulais configurer un Steam et pouvoir également jouer à des jeux de GOG.com, les deux ont beaucoup plus de support pour Windows que tout autre système. Par conséquent, j'ai configuré une machine virtuelle pour cela et l'ai configurée avec un relais GPU, afin que la machine virtuelle obtienne la puissance GPU que mon Intel i5 avait à l'intérieur.

Problèmes connus et risques assumés

Comme je l'ai mentionné au début de cet article, je n'ai pas nécessairement fait les choses de manière optimale ou de la meilleure façon. Je me suis simplement adapté à mon budget et j'ai résolu les problèmes à partir de là.

Avoir un seul disque dur me met en danger si quelque chose arrive au disque (et les disques durs sont comme les humains :ils naissent et commencent à mourir à partir de ce moment précis). Je perdrais beaucoup de choses si je ne sauvegarde pas. Je ne sauvegarde pas toutes les machines virtuelles car je n'ai pas assez d'espace disque pour tout stocker.

De plus, le fait de n'avoir qu'un seul disque rend la vitesse de lecture moins rapide. L'utilisation d'une configuration RAID rendrait la lecture du disque optimale et donc plus rapide. En plus de cela, j'ai beaucoup de retard IO à certains moments. En effet, plusieurs VM et conteneurs accèdent au même serveur NFS. Si je ne fais pas attention à configurer des tâches automatisées ou des crons à des moments différents pour éviter les chevauchements, je pourrais me retrouver avec une corruption de données.

Mon GPU est juste celui intégré d'Intel, il est juste décent pour des choses très basiques, donc ce serait idéal d'avoir un vrai GPU, même un vieux NVIDIA. Pourtant, non seulement l'argent est un problème, j'utilise un petit boîtier mini-ITX, donc je devrais chercher un petit modèle qui peut s'adapter.

Enfin, utiliser mon matériel dans ces conditions, notamment le disque dur, réduit sa durée de vie, mais comme je n'envisage pas d'en faire beaucoup mais seulement un usage domestique modéré je pense que pour l'instant ça vaut le coup de garder cette architecture.


Linux
  1. Comment utiliser la commande Linux grep

  2. Comment utiliser la commande history sous Linux

  3. Comment une entreprise s'est construite sur des podcasts pour Linux :l'histoire de Jupiter Broadcasting

  4. Comment Linux est arrivé sur le mainframe

  5. Comment utiliser la commande basename ?

Comment configurer le joli nom d'hôte

Comment faire pour que l'horloge affiche la date ?

Comment faire pivoter l'écran sur un Raspberry Pi 3

Comment vérifier HZ dans le terminal?

Comment savoir que la bibliothèque partagée donnée est construite avec des symboles de débogage ou non ?

Comment émuler le Raspberry Pi 2 sur QEMU ?