C'est possible, mais rappelez-vous que l'Ethernet Gigabit standard n'est que de ~100 Mo/s, ce qui est bien plus lent que n'importe quel SSD (même les SSD SATA fonctionnent à ~500 Mo/s) et pour les grandes lectures linéaires, c'est plus lent que même la plupart des disques durs. C'est peut-être ce qui ressemble le plus au démarrage à partir d'une clé USB bon marché.
Pour les travaux quotidiens (utilisation interactive), cela pourrait en fait annuler les gains de performances obtenus grâce à un processeur plus rapide. Vous aurez très probablement besoin de compiler des logiciels sur un stockage local ou un tmpfs (en mémoire), sinon le système de fichiers du réseau ne sera pas en mesure de suivre. N'oubliez pas que pour compiler un fichier, le compilateur doit en fait lire (et ensuite lire les en-têtes inclus, et leurs en-têtes inclus, et...) - même avec la mise en cache, cela introduira toujours un délai significatif avant d'atteindre réellement le processus lié au CPU.
En dehors de cela, je recommande toujours de démarrer le système d'exploitation du bureau localement, et de ne monter que le système d'exploitation de l'ordinateur. /home
sur le réseau. Cela présente plusieurs avantages :
-
Le processus de démarrage sera plus simple. Vous n'aurez pas besoin d'intégrer le réseau dans l'initramfs de Linux - vous pourrez simplement utiliser ce qui est installé sur le bureau normalement. Avec NFS, cela peut être aussi simple qu'une entrée dans /etc/fstab.
-
Le système d'exploitation de l'ordinateur portable n'aura pas besoin de se soucier des différences matérielles entre les deux ordinateurs. Vous n'aurez pas besoin de conserver deux jeux de configurations Ethernet, deux jeux de pilotes de GPU, etc.
-
Vous pourrez toujours utiliser le stockage local rapide de l'ordinateur de bureau pour le système d'exploitation lui-même (ce qui évite une augmentation considérable de la latence dans les tâches quotidiennes, et laisse la connexion Ethernet inoccupée - ce qui rend l'accès à /home plus rapide sur le net).
-
Tous les mécanismes d'amorçage par le réseau nécessitent que l'ordinateur portable soit allumé en permanence et qu'un système d'exploitation fonctionne pour servir les données.
Si vous partagez le tout le site SSD, vous aurez des difficultés à démarrer le même rootfs à partir de deux ordinateurs à la fois - les méthodes basées sur les blocs (iSCSI, NBD) sont exclues, et les méthodes basées sur les fichiers (NFS, SMB) ne fonctionneront de manière fiable que si le deuxième ordinateur accède au système de fichiers en lecture seule.
Pour cette raison, même si certains admins faire Pour démarrer de nombreux systèmes à partir d'un hôte central, généralement seuls /usr et /lib sont réellement partagés (et surtout en lecture seule) tandis que /var est toujours monté à partir du stockage local.
La seule autre solution serait de démarrer l'ordinateur portable à partir d'une clé USB contenant une version minimale de Linux "serveur", qui lui permet ensuite de servir le SSD en mode lecture-écriture sur le réseau.
Pour les montages à l'échelle du système, je recommande de commencer avec NFSv4, qui est généralement le protocole de choix pour l'accès transparent aux fichiers entre Linux (pratiquement l'équivalent Unix de SMBv3 de Windows).
-
Mais gardez à l'esprit que NFS ne dispose pas d'une bonne couche de sécurité "intermédiaire" - il n'a que deux options : sec=krb5p/krb5i
(Kerberos) et sec=sys
(adresse IP de confiance). La valeur par défaut est sec=sys ce qui ne vous donne aucune sécurité. (J'ai configuré Kerberos pour mes serveurs personnels, mais cela demande un peu plus d'infrastructure).
-
Sous Debian (et probablement Ubuntu), le service NFS est disponible en installant nfs-kernel-server
. Ajoutez une entrée pour /home dans le fichier /etc/exports
et assurez-vous que le pare-feu autorise les connexions au port 2049/tcp. (Vous pouvez ignorer portmapper/statd/mountd, ils ne sont pas pertinents pour NFSv4).
(Aussi, bien que certains articles suggèrent que NFSv4 rende /etc/exports plus complexe avec la nécessité d'un "fsid=0" magique et de devoir tout mettre sous "/export", ce n'est pas réellement vrai - c'est une option mais la manière traditionnelle d'avoir juste une entrée /home est tout à fait suffisante).
-
Sur le bureau, installez nfs-common
et tenter votre chance avec :
mount -t nfs -o vers=4,soft,nodev,nosuid LAPTOP_ADDRESS:/home /mnt/laptop
Une fois que cela fonctionne, ajoutez une entrée équivalente dans /etc/fstab :
LAPTOP_ADDRESS:/home /mnt/laptop nfs vers=4,soft,nodev,nosuid 0 0
Cela ne recouvre pas le /home de votre bureau. Si vous le souhaitez, il suffit de modifier le chemin de montage en conséquence - mais si vous voulez avoir à la fois les options "bureau autonome" et "connecté à l'ordinateur portable" facilement disponibles, il peut être plus facile de le garder dans /mnt/laptop.
(Le démon 'autofs' peut être utilisé pour implémenter une logique plus complexe sur ce qui doit être monté où).
Il existe plusieurs possibilités :
-
sshfs
c'est-à-dire SFTP (SSHv2). Cela offre une bonne sécurité, les performances sont ok mais il est limité à un UID par montage et il n'est pas garanti qu'il supporte certaines des opérations de fichiers les plus rares (fallocate, truncate, etc), seulement la lecture/écriture de base. Vous pouvez donc l'utiliser pour accéder à votre répertoire personnel, mais vous ne pouvez pas exécuter un système d'exploitation complet à partir de celui-ci, et vous ne devriez pas non plus compiler beaucoup de choses via sshfs.
-
SMBv3 (avec Samba sur l'ordinateur portable). Cette solution offre une sécurité moyenne et se situe en général quelque part entre SFTP et NFSv4. Ne fait pas de liens symboliques.
-
cifs
alias SMBv1 (toujours avec Samba). Il n'y a pas de cryptage des données, mais il prend en charge les liens symboliques et d'autres fonctions POSIX, ce qui permet en théorie de démarrer l'ensemble du système d'exploitation, mais je ne le recommande pas.
-
NBD, iSCSI et AoE (ATA-over-Ethernet). Tous trois sont utilisés pour exporter des dispositifs de blocage (c'est-à-dire des disques bruts ou des partitions) plutôt que des systèmes de fichiers. Ils exigent un accès exclusif au périphérique à partager, c'est-à-dire que le même /home ne peut pas être monté en même temps sur l'ordinateur portable. De plus, je ne suis pas sûr que les performances soient aussi bonnes qu'avec NFS.
Ainsi, si vous souhaitez démarrer un système d'exploitation complet via NBD/iSCSI, vous pouvez le faire, mais l'ordinateur portable doit exécuter un système d'exploitation de serveur dédié à partir d'un autre support.
-
Enfin, pour les documents, j'utiliserais simplement Syncthing.