1 votes

Est-il possible de servir une image VirtualBox avec LTSP ?

Nous avons une image Ubuntu avec LTSP qui est utilisée pour démarrer environ 60 PC de classe (clients lourds Ubuntu).

La partie la plus difficile à laquelle nous sommes confrontés est de maintenir l'image de démarrage (en conservant les derniers changements de sécurité) et pour les professeurs de tester les images alors qu'ils sont en dehors des locaux de l'université.

Je me demandais si un enseignant pouvait configurer une image disque sur mesure en utilisant Virtualbox qui pourrait être déployée en utilisant notre serveur LTSP.

1voto

N0rbert Points 86925

Votre question est très intéressante.

J'exploite environ 120 clients lourds LTSP dans deux bâtiments en utilisant un serveur LTS Ubuntu 16.04.6.
Tous les clients gras utilisent recommandé MATE DE .

Mon serveur dispose donc de tous les composants LTSP nécessaires.

Je viens de tester qu'il est possible de convertir /opt/ltsp/images/amd64.img Image SquashFS sur le disque dur de VirtualBox.
Voici la procédure que j'ai utilisée pour le convertir en VM.

1. Montez l'image SquashFS LTSP et copiez son contenu sur un nouveau disque dur brut vide.

1.1. Opérations sur le système hôte

Créer un point de montage

mkdir ~/ltsp_sfs

et monter le fichier image squashfs LTSP :

sudo mount -o loop /opt/ltsp/images/amd64.img ~/ltsp_sfs

Créez un disque dur brut vide et copiez-y squashfs.

Allouez 20 Go d'espace :

fallocate -l 20G ~/ltsp.raw

Créez des partitions sur un disque brut avec n'importe quel logiciel. Vous trouverez ci-dessous fdisk méthode :

(
echo n # new partition
echo p # it is primary
echo   # and first
echo   # starts at default
echo   # ends at end
echo w # write changes
) | fdisk ~/ltsp.raw

Créer des dispositifs de boucle pour ~/ltsp.raw en utilisant kpartx :

sudo kpartx -a -v ~/ltsp.raw

et formater sa première partition (vérifier le nom exact du périphérique avec losetup ) avec étiquette :

sudo mkfs.ext4 /dev/mapper/loop1p1 -L LTSP

puis le monter

mkdir ~/ltsp_ext4
sudo mount /dev/mapper/loop1p1 ~/ltsp_ext4

Copier le contenu de squashfs vers une nouvelle partition ext4

sudo cp -a ~/ltsp_sfs/* ~/ltsp_ext4/

et définir l'étiquette de partition correcte dans /etc/fstab :

echo "LABEL=LTSP  /  ext4  noatime  0  1" | sudo tee ~/ltsp_ext4/etc/fstab

1.2. Opérations dans le chroot

Chroot vers le système de fichiers copié :

sudo mount --types proc /proc ~/ltsp_ext4/proc
sudo mount --bind /sys ~/ltsp_ext4/sys
sudo mount --bind /dev ~/ltsp_ext4/dev

sudo chroot ~/ltsp_ext4/

Installer le chargeur de démarrage Grub dans le lecteur virtuel :

sudo grub-install /dev/loop1
grub-mkconfig -o /boot/grub/grub.cfg

Créer un nouveau ltsp utilisateur en tant que membre de sudo groupe avec un mot de passe :

useradd -m -G users,audio,sudo -s /bin/bash ltsp
passwd ltsp

Sortir du chroot

exit

démonter sa partition et détacher les périphériques de bouclage :

sudo umount ~/ltsp_ext4/proc
sudo umount ~/ltsp_ext4/sys
sudo umount ~/ltsp_ext4/dev

sudo umount ~/ltsp_ext4/
sudo kpartx -d -v ltsp.raw

2. Démarrer le disque dur virtuel résultant dans la machine virtuelle

2.1. Utilisation de QEMU-KVM

Lancez l'image LTSP en utilisant QEMU-KVM :

kvm -m 1024 -drive file=~/ltsp.raw,format=raw

et se connecter au système en tant que ltsp utilisateur.

Ne pas toucher aux services système, pour garder l'image compatible avec les init-scripts de LTSP.

2.2. Utilisation de VirtualBox VM

Créer un nouveau disque dur VMDK lié à notre disque dur brut :

VBoxManage internalcommands createrawvmdk -filename ~/ltsp.vmdk -rawdisk ~/ltsp.raw

puis l'attacher à la VM VirtualBox et la démarrer.

3. Utilisez le contenu du disque modifié pour créer une nouvelle image LTSP.

Ensuite, vous pouvez essayer de modifier le contenu du nouveau disque dur virtuel et le recopier sur le disque dur virtuel. /opt/ltsp/amd64 du serveur. Essayez ensuite d'appeler sudo update-ltsp-images amd64 pour le reconvertir en système de fichiers squashfs.

Je suis désolé, je n'ai pas les ressources pour vérifier cela. J'espère que vous avez compris l'idée.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X