Contacts

Installation de Linux Mint KVM Ubuntu. Hyperviseur en caoutchouc. Nous utilisons des groupes logiques pour virtualiser qmu-kvm sous Linux. Cadre manuel

À Ubuntu, il est recommandé d'utiliser une bibliothèque KVM et Libvirt) KVM et LibVirt en tant que boîte à outils de gestion. Libvirt inclut un ensemble d'applications d'API logicielles et de gestion des utilisateurs. machines virtuelles (VM) virt-gestionnaire (interface graphique, interface graphique) ou vidsh ( ligne de commande, CLI). Des gestionnaires alternatifs, vous pouvez utiliser une convoite (interface graphique) ou convoiler2 (interface Web).

Actuellement, seul l'hyperviseur KVM est officiellement pris en charge à Ubuntu. Cet hyperviseur fait partie du code de base de l'exploitation. systèmes Linux. Contrairement à Xen, KVM ne prend pas en charge la pathrahritualisation, c'est-à-dire afin de l'utiliser, votre CPU doit contenir la technologie VT. Vous pouvez vérifier si votre processeur prend en charge cette technologie en exécutant la commande dans le terminal:

Si le résultat était un message:

Info: / dev / kvm existe une accélération kvm peut être utilisée

donc, KVM fonctionnera sans problèmes.

Si vous avez reçu un message à la sortie:

Votre CPU ne prend pas en charge les extensions KVM, l'accélération KVM ne peut pas être utilisée

vous pouvez toujours utiliser une machine virtuelle, mais cela fonctionnera beaucoup plus lentement.

    Installer en tant que système invité 64 bits

    Allouer aux systèmes invités de plus de 2 Go de RAM

Installation

Sudo apt-obtenir installer qemu-kvm libvirt-bin ubuntu-vm-basson-utils-utils

Ceci est une installation sur le serveur sans XS, c'est-à-dire n'incluant pas d'interface graphique. Installer cela peut être commandé

Sudo apt-get installer virt-manager

Après cela, le menu apparaîtra "gestionnaire de machine virtuelle" et, avec beaucoup de probabilité, tout fonctionnera. Si des problèmes se posent encore, vous devrez alors lire les instructions du wiki anglophone.

Créer un système invité

La procédure de création d'un système invité avec interface graphique assez facile.

Mais le mode texte peut être décrit.

qcow2.

Lors de la création d'un système à l'aide d'une interface graphique comme disque dur Il est proposé de sélectionner une image de fichier existante ou un périphérique de blocage ou créer un nouveau fichier avec des données brutes (brutes). Cependant, ce n'est pas le seul format de fichier disponible. De tous les types de disques énumérés à l'homme QMU-IMG, QCow2 est le plus flexible et le plus moderne. Il prend en charge les instantanés, le cryptage et la compression. Il doit être créé avant de créer un nouveau système invité.

QEMU-IMG Create -O PreAllocation \u003d Metadata -f Qcow2 Qcow2.Img 20g

Selon le même homme QMU-IMG, la préfecture de métadonnées (-orary \u003d métadonnées) rend le disque d'abord un peu plus, mais fournit meilleure performance Dans ces moments où l'image doit grandir. En fait, dans ce cas, cette option évite un bogue désagréable. L'image créée prend initialement moins que des mégaoctets de l'endroit et elle augmente à la taille spécifiée si nécessaire. Le système invité devrait voir immédiatement cette finale spécifiéCependant, à l'étape d'installation, cela peut voir la taille du fichier réelle. Naturellement, installé sur disque dur Il refusera 200 Ko. Le bogue n'est pas spécifique pour Ubuntu, il se manifeste en rhel, au minimum.

En plus du type d'image, vous pouvez ensuite sélectionner la méthode de connexion ID-IDE, SCSI ou VIROO DISK. Ce choix dépendra de la performance du sous-système de disque. Il n'y a aucune réponse correcte, vous devez choisir parmi la tâche qui sera attribuée au système invité. Si un système invité Créé "à voir", alors n'importe quel moyen tombera. En général, il s'agit généralement d'E / S. L'E / S est un goulot d'étranglement d'une machine virtuelle, donc lors de la création d'un système de chargement à cette question, vous devez en prendre le plus responsable possible.

J'écris cette note pour démontrer installation étape par étape et configurer une machine virtuelle sous Linux à base de KVM. Plus tôt, j'ai déjà écrit sur la virtualisation, où j'ai utilisé merveilleusement.

Maintenant devant moi, la question de la location d'un bon serveur avec un grand volume mémoire vive et un disque dur volumineux. Mais je ne veux pas de projets directement sur la machine hôte, je vais donc les distinguer sur certains petits serveurs virtuels avec des conteneurs de système d'exploitation Linux ou de Docker (je vous en dirai un autre article).

Tous les hébergements de nuages \u200b\u200bmodernes fonctionnent sur le même principe, c'est-à-dire Huster sur la bonne glande soulève un tas serveurs virtuelsQue nous appelions VPS / VDS et les distribue aux utilisateurs ou automatise ce processus (Hello, DigitalOcean).

Kvm (machine virtuelle basée sur le noyau) est logiciel Pour Linux, en utilisant du matériel de processeur compatible X86 pour fonctionner avec la technologie de virtualisation Intel VT / AMD SVM.

Installation KVM

Toutes les machinations pour créer une machine virtuelle, je passerai sur Ubuntu OS 16.04.1 LTS. Pour vérifier si vos processus sont la virtualisation matérielle sur base de données Intel VT / AMD SVM, Effectuer:

Grep -e "(VMX | SVM)" / proc / cpuinfo

Si le terminal n'est pas vide, tout est en ordre et que KVM peut être installé. Ubuntu soutient officiellement uniquement l'hyperviseur KVM (inclus dans le noyau Linux) et conseille d'utiliser la bibliothèque Libvirt comme outil de gestion, ce que nous ferons ensuite.

Vous pouvez également vérifier la prise en charge de la virtualisation matérielle à Ubuntu également via la commande:

En cas de succès, vous verrez quelque chose comme ceci:

Info: / dev / kvm existe une accélération kvm peut être utilisée

Installez des packages pour travailler avec KVM:

Sudo apt-obtenir installer qemu-kvm libvirt-bin ubuntu-vm-basson-utils-utils

Si vous avez accès à la coquille graphique du système, vous pouvez installer le GUI LibVirt Manager:

Sudo apt-get installer virt-manager

Vous pouvez simplement utiliser Virt-Manager (plus difficile que VirtualBox), de sorte que cette note sera décrite sur la version de la console de l'installation et de la configuration du serveur virtuel.

Installation et configuration d'un serveur virtuel

Dans la version de la console de l'installation, des paramètres et du contrôle du système, un outil indispensable est l'utilitaire VIRSH (add-on au-dessus de la bibliothèque Libvirt). Elle a un grand nombre de options et paramètres, description détaillée Vous pouvez obtenir comme ça:

Man Virseh.

ou appelez l'adresse «Aide» standard:

Aide virgne.

J'adhère toujours aux règles suivantes lorsque vous travaillez avec des serveurs virtuels:

  1. Stranu images iso OS dans le catalogue / var / lib / libvirt / boot
  2. Stockez les images de la machine virtuelle dans Catalogue / Var / Lib / Libvirt / Images
  3. Je demande clairement à chaque nouvelle machine virtuelle votre adresse IP statique via le serveur DHCP de l'hyperviseur.

Nous allons procéder à l'installation du premier art virtuel (serveur 64 bits Ubunt 16.04 LTS):

CD / Var / LIB / LIBVIRT / BOOT SUDO WGET http://relases.ubuntu.com/16.04/UBuntu-16.04.1-desktop-amd64.iso

En téléchargeant l'image exécutez l'installation:

Sudo virt-installer \\ --virt-type \u003d kvm \\ -name ubuntu1604 \\ -ram 1024 \\ -vcpus \u003d 1 \\ --os-variant \u003d ubuntu16.04 \\ --hvm \\ --cdrom \u003d / var / LIB / LIBVIRT / BOOT / UBUNTU-16.04.1-SERVER-AMD64.ISO \\ -NETWORK Network \u003d Par défaut, Modèle \u003d Virtio \\ --Graphics VNC \\ - Disk Chemin \u003d / var / libvirt / Images / Ubuntu1604. Img, taille \u003d 20, bus \u003d virtio

Transfert tous ces paramètres vers "Langue humaine", il s'avère que nous créons une machine virtuelle avec Ubuntu OS 16.04, 1024 Mo de RAM, 1 processeur, carte réseau standard (la machine virtuelle ira sur Internet comme étant à cause de NAT) , 20 HDD GB.

Il convient de faire attention au paramètre --OS-VariantCela indique un hyperviseur auquel système d'exploitation doit adapter les paramètres.
La liste des options du système d'exploitation disponibles peut être obtenue en exécutant la commande:

OS OSInfo-Query

Si cet utilitaire n'est pas dans votre système, vous définissez:

Sudo apt-get install liboscinfo-bin

Après avoir démarré l'installation, cette inscription apparaîtra dans la console:

Installation de domaine toujours en cours. Vous pouvez vous reconnecter à la console pour compléter le processus d'installation.

C'est une situation normale, nous continuerons à installer via VNC.
Nous examinons quel port il a été élevé de notre art virtuel (dans le terminal suivant, par exemple):

VIRSH DUMPXML UBUNTU1604 ... ...

Port 5900, à l'adresse locale 127.0.0.1. Pour se connecter à VNC, vous devez utiliser le transfert de port via SSH. Avant de le faire, assurez-vous que le transfert de TCP est autorisé par le démon SSH. Pour ce faire, nous allons dans les paramètres SSHD:

Chat / etc / ssh / sshd_config | Grep allowttcpforwarding

Si rien n'a trouvé ou que vous voyez:

AllowTtCorwardning n °

Puis les droits de configuration sur

Allowttcpforwarding oui

et redémarrer sshd.

Configuration du transfert de port

Nous effectuons la commande sur la machine locale:

SSH -FN -L Login -L 127.0.0.1:5900:LocalHost:900 Server_IP

Ici, nous avons configuré le transfert de port SSH à partir du port local de 5900 au port de serveur 5900. Vous pouvez désormais vous connecter à la VNC à l'aide de tout client VNC. Je préfère ultravnc en raison de la simplicité et de la commodité.

Après une connexion réussie, la fenêtre Standard Ubuntu Start Welcome apparaît à l'écran:

Après avoir terminé l'installation et le redémarrage habituel, la fenêtre de connexion apparaîtra. Autorisé, je définis l'adresse IP des vitesses nouvellement importantes à la rendre statique ultérieure:

Ifconfig

Nous nous souvenons et allons à la voiture d'accueil. Je sors le Mac Adresse "Réseau" Cartes virtuelles:

VIRSH DUMPXML UBUNTU1604 | Grep "adresse mac"

Nous nous souvenons de notre adresse MAC:

Éditer paramètres réseau Hypervisor:

Sudo VIRSH NET-EDIT par défaut

Nous recherchons DHCP et l'ajoutons:

Cela devrait éteindre quelque chose comme ça:

Pour que les paramètres prennent effet, vous devez redémarrer le serveur DHCP de l'hyperviseur:

Sudo VirSh Net-détruire par défaut Sudo VIRSH NET-Démarrage par défaut SUDO SERVICE LIBVIRT-BIN Redémarrer

Après cela, surcharger la machine virtuelle, il aura toujours l'adresse IP qui lui est donnée - 192.168.122.131.

Il existe d'autres moyens de définir une adresse IP statique virtuelle, par exemple, d'édition directe des paramètres réseau à l'intérieur du système invité, mais ici déjà comme votre âme sera satisfaite. J'ai seulement montré une option que je préfère moi-même utiliser.

Pour se connecter au terminal de la machine virtuelle, effectuez:

SSH 192.168.122.131

La voiture est prête pour la bataille.

Vidsh: liste d'équipe

Pour voir Lancé hôtes virtuels (Tout disponible peut être obtenu en ajoutant --all):

Liste sudo virts.

Recharger l'hôte peut être:

Sudo Virsh Redboot $ vm_name

Arrêtez la machine virtuelle:

SUDO VIRSH STOP $ VM_NAME

Exécuter HALT:

Sudo vidsh détruire $ vm_name

Sudo vidsh start $ vm_name

Coupure:

Sudo Virsh Shutdown $ VM_Name

Ajouter à Autorun:

Sudo VIRSH Autostart $ VM_Name

Il est souvent nécessaire de bloquer le système à l'utiliser à l'avenir en tant que cadre pour un autre système d'exploitation virtuel, car cela utilise l'utilitaire Vir-Clone.

Virt-clone --Help

Il close le virtuel existant et modifie les données sensibles à l'hôte, par exemple l'adresse MAC. Les mots de passe, les fichiers et autres informations spécifiques à l'utilisateur dans le clone restent les mêmes. Si l'adresse IP a été enregistrée sur le virtuel cloné IP, des problèmes peuvent survenir avec l'accès SSH à un clone en raison de conflit (2 hôtes avec la même adresse IP).

En plus d'installer des virtuelles via VNC, une option avec X11Forning via l'utilitaire Vir-Manager est également possible. Dans Windows, par exemple, vous pouvez utiliser XMING et PUTTY.

Dans cet article d'introduction, je vais dire en bref à propos de tous logicielutilisé dans le processus de développement. De plus en détail à leur sujet, on vous aura dit dans les articles suivants.

Pourquoi? Cette système opérateur Je suis proche et compréhensible, alors lorsque vous choisissez une flib de tourment, des tourments et des vignettes n'ont pas été testés. Il n'a pas d'avantages particuliers à Red Hat Enterprise Linux, mais il a été décidé de travailler avec un système familier.

Si vous envisagez de déployer de manière indépendante l'infrastructure en utilisant des technologies similaires, je vous conseillerais de prendre RHEL: Merci à une bonne documentation et bien écrit programmes appliqués Ce ne sera pas un ordre de grandeur, puis exactement deux fois plus facile, et grâce au système de certification développé sans trop de difficulté, il sera possible de trouver un certain nombre de spécialistes, au niveau approprié de connaissances dans ce système d'exploitation.

Nous, je répète, j'ai décidé d'utiliser Pète de Debian avec un ensemble de paquets de SID / expérimental et certains forfaits, ont replié et collecté avec nos patchs.
Les plans ont un référentiel de publication avec des packages.

Lorsque vous choisissez une technologie de virtualisation, deux options ont été considérées - Xen et KVM.

En outre, le fait de la présence d'un grand nombre de développeurs, de hosters, de solutions commerciales a été faite sur la base de XEN - plus il était intéressant de prendre une décision précisément sur la base de données KVM.

La principale raison pour laquelle nous avons décidé d'utiliser exactement KVM est la nécessité d'exécuter des machines virtuelles avec FreeBSD et, en perspective, MS Windows.

Pour gérer des machines virtuelles, il s'est avéré extrêmement pratique et des produits utilisant son API: vidsh., virtuer., véraliser, etc.

Il s'agit d'un système qui stocke les paramètres des machines virtuelles, les contrôlent les statistiques sur elles, garantit que lors du démarrage de la machine virtuelle, l'interface augmente, connecte les périphériques à la machine - en général, effectue un tas de travail utile et un un peu plus.

Bien sûr, la solution n'est pas parfaite. Des minus devraient être appelés:

  • Messages d'erreur absolument immobilisables.
  • L'incapacité à modifier la partie de la configuration de la machine virtuelle à la volée, bien que le protocole QMP (protocole de moniteur QMU) soit tout à fait autorisé.
  • Il est parfois impossible de se connecter à LibVirtD pour une raison incompréhensible - il cesse de répondre aux événements externes.

Le principal problème de la mise en œuvre du service au tout début était la limitation des ressources pour les machines virtuelles. Dans Xen, ce problème a été résolu avec l'aide d'un châteleur interne distribuant des ressources entre machines virtuelles - et quelle est la plus belle, la possibilité de limiter et de opérations de disque comprenant.

En KVM, rien ne s'est passé avant que le mécanisme de distribution des ressources nucléaires n'apparaisse. Comme d'habitude sous Linux, l'accès à ces fonctions a été mis en œuvre via un système de fichiers spécial. cgroup.Dans lequel vous pourriez ajouter le processus au groupe à l'aide des appels de système classiques au groupe, attribuez-lui son poids dans des perroquets, spécifiez le noyau sur lequel il fonctionnera, spécifie débit Le disque que ce processus peut utiliser, ou encore, attribuer le poids à celui-ci.

Le profit est que tout cela est mis en œuvre à l'intérieur du noyau et qu'il est possible d'utiliser ceci non seulement pour le serveur, mais également pour le bureau (tel qu'utilisé dans le correctif connu "The ~ 200 lignes de noyau Linux qui fait des merveilles"). Et à mon avis, il s'agit de l'un des changements les plus importants dans la branche 2.6, qui ne comptait pas votre préféré # 12309, plutôt que de la mise en commun du prochain système de fichiers. Eh bien, sauf pour les pohfelfs (mais purement à cause du nom).

L'attitude envers cette bibliothèque-utilitaire j'ai assez ambiguë.

D'une part, il ressemble à ceci:

Et cette chose est malade, il est difficile de collecter à partir de la source et plus dans l'emballage: Parfois, il me semble que Linux de Scratch collectionne de manière un peu plus facile.

D'autre part, une chose très puissante qui vous permet de créer des images pour les machines virtuelles, de les modifier, de monter, de mettre à la grub, de modifier la table de partition, de gérer les fichiers de configuration, de transférer les machines "fer" vers l'environnement virtuel, transférer virtuel Machines d'une image à une autre pour transférer des machines virtuelles à partir d'une image en fer et, honnêtement, Ici, ICe Fantasy échoue. Oh, oui: vous pouvez toujours exécuter le démon à l'intérieur du virtuel voitures de Linux Et accéder aux données de la machine virtuelle est en direct et tout fait sur Shell, Python, Perl, Java, OCAML. Ceci est une liste brève et non complète de ce qui peut être fait avec.

Fait intéressant, la majeure partie du code B est généré au moment de l'assemblage, ainsi que la documentation du projet. OCAML, Perl est très largement utilisé. Le code lui-même est écrit sur C, qui se transforme ensuite en OCAML et les pièces de code répétées sont générées elles-mêmes. Travailler avec des images est effectué en exécutant une image de service spéciale (appliance Supermin), dans laquelle les commandes sont envoyées via le canal à l'intérieur. À l'intérieur de cette image contient certains sauvetage d'un ensemble d'utilitaires, tels que séparés, MKFS et autre administrateur système utile.

Avec récemment, j'ai même commencé à l'utiliser à la maison quand j'étais basculé de l'image de Nandroid, j'avais besoin des données. Mais cela nécessite le noyau avec le soutien des yaffs.

Autre

Vous trouverez ci-dessous quelques références plus intéressantes à la description des cartes d'occasion - lisez et discours vous-même, si vous êtes intéressant. Par example,

Plus tôt j'ai déjà écrit sur l'installation Qemu-kvm. dans Debian.. Mais, à mon avis, les informations avaient été incomplètes. De plus, je n'ai pas envisagé de nuances. Par conséquent, j'apporte à votre attention un article mis à jour sur l'installation de la machine virtuelle QEMU-KVM. Ancien article, naturellement, Supprimer.

Je pense expliquer ce qui est machine virtuelle, pas la peine. Vous le savez probablement (si vous lisez cet article). Si non - . Nous allons habiter directement sur Sabget. Qemu-kvm. - Ceci est un projet de combiner deux technologies de virtualisation complètes (à mon avis). QEMU. - Ceci est une sorte d'émulateur informatique, qui soutient les grandes architectures matérielles. Vous pouvez exécuter presque n'importe quel système d'exploitation pour tout appareil (par exemple, j'ai lancé d'anciennes versions. Mac OS X.qui pour PowerPC.). L'inconvénient de QEMU est sa lenteur en raison de l'absence d'accélération de l'approche. Et puis un autre projet vient à la rescousse - Kvm. . Ou machine virtuelle du noyau. KVM est une technologie de noyau Linux qui vous permet de fournir une accélération matérielle avec une virtualisation complète. L'inconvénient de KVM est le soutien de la seule architecture X86

Pourquoi qmu-kvm? Pour Linux, il s'agit du projet de virtualisation le plus recommandé. Ça marche plus vite que VirtualBox. et VMware Player. (Selon mes tests), KVM est une technologie originaire de Linux. De plus, si vous êtes un bon propriétaire ordinateur de jeu Avec deux cartes vidéo, vous pouvez installer dans qemu-kvm les fenêtres, nous vous cassons une des cartes vidéo et nous oublions le redémarrage à un autre système d'exploitation. Voulait jouer - lancé un virtuel avec Windows et jouer. La performance sera de 95% des performances installées sur le "fer" de Windows. Mais c'est juste magnifique, à mon avis. Je vais écrire un article séparé à ce sujet. Ce sera intéressant:)

Maintenant, je vais décrire le plan de nos actions. Tout d'abord, je vais effectuer l'installation sur l'exemple Debian 8.2 Gnome 64 bitsBien qu'il n'y aura pas de différences particulières dans d'autres environnements graphiques. Deuxièmement, je vais décrire le travail avec KVM uniquement en mode graphique (nous ne le mettrons pas sur le serveur). Par conséquent, aucun terminal, scripts, etc., comme cela viennent généralement au cas où virtualisation du serveur. Troisièmement, je vous conseille de lire en outre la documentation QEMU et KVM (lien Mesdames à la fin de l'article). Il vous est très utile si vous voulez un maximum d'utiliser le potentiel complet de ce paquet. Eh bien, le plan de nos actions est clair. Maintenant étapes Actions:

  • qEMU-KVM Installation;
  • installer un gestionnaire graphique et des utilitaires supplémentaires;
  • régler le pont réseau;
  • créer un stockage pour les machines virtuelles;
  • installation d'un système invité.
Pour commencer, vérifiez si votre ordinateur prend en charge la virtualisation matérielle. Pour ce faire, dans le terminal effectue la commande:

egrep "(VMX | SVM)" / proc / cpuinfo

Dans la production de l'équipe doit être présent soit vmxSoit sVM.. S'il n'y a pas - si la virtualisation est activée dans le BIOS (recherche des articles Intel VT-i ou similaire pour AMD.). S'il n'y a rien - cela signifie que ce n'est pas chanceux.

Installez les composants nécessaires:

sudo apt installer qemu-kvm pont-utils libvirt-bin virt-manager

Nous vous ajoutons au groupe Libvirt:

sudo adduser $ User Libvirt

Maintenant, définissez le réseau. Pour que toutes les voitures Vertail vont sur le réseau et communiquent les unes avec les autres, vous devez créer un pont réseau et des cartes réseau virtuelles pour chaque virtuel ( appuyez sur DISPOSITIFS). Étant donné que nous allons installer des machines virtuelles à partir de l'interface graphique, vous n'avez pas besoin de créer un robinet manuellement. Virgule virtuelle. Faites-le pour nous chaque fois que vous commencez. Nous n'avons besoin que de configurer le pont. Pour commencer, allumez le routage dans le noyau:

sudo nano /etc/sysctl.conf.

Nous recherchons une chaîne net.ipv4_forward \u003d 0 et change de valeur à 1 . Enregistrer et:

sUDO SYSCTL -P.

Ensuite, je supposerai ce qui suit: 1) Sur votre ordinateur, une carte réseau reçoit l'adresse IP du routeur. 2) Vous allez en ligne via un modem 3G et votre carte réseau est gratuite. Cette option suggère plus à la main, mais elle a été vérifiée à plusieurs reprises (dans l'une des voitures elle-même). Alors, ouvrez le fichier d'interfaces:

sudo nano / etc / réseau / interfaces

Le contenu par défaut est:



auto lo.
iface lo inet loopback

Changer son contenu. Pour la première option:

source /etc/network/interfaces.d/*

# L'interface réseau de bouclage
auto lo.
iface lo inet loopback

AUTO ETH0.
iface Eth0 Inet Manuel

Auto BR0.
iface bro0 inet statique
adresse 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
réseau 192.168.0.0.
diffusion 192.168.0.255
Pont_ports eth0.
Bridge_stp Off.
Bridge_maxwait 0.
Pont_fd 0.

Pour la deuxième option:

source /etc/network/interfaces.d/*

# L'interface réseau de bouclage
auto lo.
iface lo inet loopback

Auto PPP0.
iface ppp0 inet wvdial

AUTO ETH0.
iface Eth0 Inet Manuel

Auto BR0.
iface bro0 inet statique
adresse 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
réseau 192.168.0.0.
diffusion 192.168.0.255
Pont_ports eth0.
Bridge_stp Off.
Bridge_maxwait 0.
Pont_fd 0.
up route del par défaut BR0

Noter: Si vous n'avez pas besoin de connecter automatiquement Internet via le modem après le début du système, supprimez la ligne Auto PPP0 de la configuration.
iface PPP0 INET WVDIAL. Sinon, assurez-vous que lors du démarrage du système, le modem est inséré dans le port USB.

Nous sauvons. Maintenant, pour une option avec un modem, vous devez installer le programme de numérotation. wvdial:

sudo apt install wvdial

Config correct (Remarque: le modem 3G est utilisé comme exemple Ligne droite.. Exemples de configuration pour d'autres modems que vous pouvez facilement rechercher sur Internet):

sudo nano /etc/wvdial.conf.


Init1 \u003d ATZ.
Init2 \u003d ATQ0 V1 E1 S0 \u003d 0 & C1 & D2 + FCLASS \u003d 0
Init3 \u003d at + cgdcont \u003d 1, "IP", "home.beeline.ru"
Mode stupide \u003d 1
Isdn \u003d 0.
Type de modem \u003d modem USB
Nouveau PPPD \u003d Oui
Téléphone \u003d * 99 #
Modem \u003d / dev / tttyacm0
Nom d'utilisateur \u003d Beeline.
Mot de passe \u003d Beeline
Baud \u003d 9600.
Pays \u003d Russie.
Reconnexion automatique \u003d sur
Auto DNS \u003d OFF
Secondes inactives \u003d 0

Nous sauvons. Maintenant, le modem sera activé immédiatement après le chargement du système. La chaîne UP Route Del Par défaut BR0 Supprime la route par défaut via le pont. Si cela n'est pas terminé, vous ne pourrez pas vous connecter à Internet, car le trafic ira sur le pont et non via un modem 3G.

Dernière étape, nous devons dire farfeluDe sorte qu'il a raté le trafic de notre virtuel et de retour au réseau. Pour ce faire, vous pouvez aller de deux manières: écrivez un script avec plusieurs règles pour iptables.qui va courir avec le système, ou entrez ces règles manuellement et sauvegardez-les. Je profiterai de la première option. Pour la seconde, vous devrez installer le paquet iptables-persistants Et juste en alternance dans les règles (à l'aide de sudo). Donc. Créez un script (dans n'importe quel éditeur de texte). Insérez le contenu suivant:

#! / bin / sh

# Définir l'interface de sortie pour laquelle le remplacement de l'adresse sera appliqué (NAT)
iptables -V -T NAT -A Postrouting -o PPP0 -J Masquerade

# Nous envoyons tous les forfaits qui sont venus au modem du réseau mondial (0.0.0.0/0) au réseau local (192.168.0.0/24)
iPTABL -V -A AVANT -I PPP0 -O BR0 -S -S -S -S 0.0.0.0/0 -D 192.168.0.0/24 -J Accepter

# Nous envoyons tous les colis provenant de réseau local (192.168.0.0/24) au global (0.0.0.0/0)
iPTABL -V -A Forward -I BR0 -O PPP0 -S 192.168.0.0/224 -D 0.0.0.0/0 -J accepter

Le garder comme gateway.sh. et donner des droits à exécuter (ou dans les propriétés du fichier ou dans la commande Terminal chmod + x gateway.sh). Vous pouvez maintenant le faire fonctionner manuellement, une fois que le système a été chargé, ou ajoutez à AutoLoad. Pour ce faire, déplacez le script dans ~ / .config / autostart (dans gestionnaire de fichiers Allumer le spectacle fichiers cachéset vous verrez le catalogue .config dans le répertoire de base).

Maintenant, tout est prêt à installer une machine virtuelle. Dans le menu Application, Exécutez Virt Manager (Gestionnaire de la machine virtuelle):

Cliquez avec le bouton droit sur la ligne localhost. et choisir Des détails. Aller à l'onglet Stockage. Nous devons spécifier un répertoire (ou une section disque / disque) pour stocker des machines virtuelles.

Dans le coin inférieur gauche, cliquez sur le signe plus ( Apposer), Je spécifie le type de référentiel et le chemin d'accès.

Sur l'onglet Interfaces réseauVous pouvez vérifier si tout fonctionne.

Maintenant cliquez Fichier - Nouvelle machine virtuelle. Spécifiez le chemin d'accès à l'image du disque, le type de machine virtuelle. Ensuite, spécifiez le nombre de RAM pour cela et le nombre de cœurs de processeur. Ensuite, spécifiez notre stockage et cliquez sur Nouveau volume . Indiquez le nom, le type est laissé qcow2.et taille. Ce sera un disque dur virtuel. Si vous envisagez d'installer un système avec une coque graphique et un tas de programmes, donnez des endroits plus (GIG 50). Sur le dernier onglet, mettez une tique sur Modifier les paramètres avant de commencervérifier que comme périphérique réseau Notre pont est sélectionné, écrivez n'importe quel nom pour les virtuelles et cliquez sur Compléter. Vous ouvrirez la fenêtre Paramètres de cette machine virtuelle.





Aller à l'onglet CPUet mettre une tique sur Copier les paramètres du processeur système hôte.

À côté de l'onglet Rapporter (suivant), et spécifie également vio.. Sur l'onglet Affichage Spécifier Pimenter.et sur l'onglet Vidéo - Qxl. Habituellement, ce paquet fournit productivité maximale Recruter des graphiques, mais si vous voulez, vous pouvez expérimenter. Notez que pour les invités systèmes WindowsLes pilotes QXL sont nécessaires (sous Windows elle-même).


Maintenant, quand tout est prêt, à gauche coin supérieur Cliquez sur Commencer l'installation. Et nous mettons le système comme d'habitude, à une exception près: dès que le programme d'installation démarre automatiquement le réseau, appuyez sur Annuleret sélectionnez Mettre en place un réseau manuellement. Spécifiez l'adresse IP souhaitée pour les virtuelles (dans notre cas 192.168.0.3 ), masque de sous-réseau ( 255.255.255.0 ), la passerelle (la passerelle sera l'adresse de l'hôte, je mange 192.168.0.2 ) et le serveur DNS (ici entrez ici. 8.8.8.8 ). Et c'est tout. Ensuite, ne rien faire. Mettre le système et configurer. En général, tout. Les actions décrites sont la voie à remplacer, disons, VirtualBox sur plus meilleure alternative. Après avoir lu la documentation, vous comprendrez la manière dont les possibilités de QEMU-KVM. Je n'ai intentionnellement pas décrit ici ici des paramètres de console supplémentaires et des méthodes de démarrage des machines virtuelles à travers le terminal, car il n'est pas toujours nécessaire sur une machine à domicile. Je vais écrire sur cet article séparé, lors de la configuration d'un serveur multifonctionnel domestique (qui peut également servir de serveur de machines virtuel). Pour ceux qui, pour une raison quelconque, n'ont pas compris ce qui a été écrit, ni resté des moments incompréhensibles - je propose de regarder la vidéo, dans laquelle je ne vais pas décrire, mais je vais vous montrer comment tout est bon et accord. Si vous avez des suggestions ou des ajouts à l'article - écrivez dans les commentaires.

Vérification de la prise en charge de l'hyperviseur

Vérifiez que le serveur prend en charge les technologies de virtualisation:

cAT / PROC / CPUINFO | Egrep "(VMX | SVM)"

En réponse, vous devriez obtenir quelque chose comme:

drapeaux: FPU VME de PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGY MCA CMOV PAT PSE36 CLFLUSH DTS ACPI MMX FXSR SSE SSE2 SS HT TM PBE SYSCALL NX PEBS BTS REP_GOOD NOPL XTopologie NOtop_TSC APERFMPERF PNI PCLMULQDQ DTES64 Monitor DS_CPL VMX DS_CPL VMX SMX EST TM2 SSSE3 CX16 XTPR PDCM PCID DCA SSE4_1 SSE4_2 POPCNT AES LAHF_LM EPB TPR_SHADOW VNMI FlexPriority EPT VPID DTTHERM IDA ARAT

Sinon, nous allons au BIOS, nous avons trouvé la possibilité d'activer la technologie de virtualisation (il a des noms différents, par exemple la technologie de virtualisation Intel ou la virtualisation) et l'activer - définir la valeur Activer.

Vérifiez également la compatibilité par la commande:

* Si la commande renvoie l'erreur "Commande KVM-OK introuvable"Installez le package approprié: apt-get installer cpu-checker.

Si on voit:

Info: / dev / kvm existe
L'accélération KVM peut être utilisée

alors le soutien du matériel est là.

Préparation du serveur

Pour notre commodité, créez un répertoire dans lequel nous stockerons des données pour KVM:

mKDIR -P / KVM / (VHDD, ISO)

* Deux catalogues seront créés: / Kvm / vhdd (pour les disques durs virtuels) et / Kvm / iso (pour les images ISO).

Personnaliser le temps:

\\ CP / USR / Share / ZoneInfo / Europe / Moscou / etc / Localtime

* Cette commande définit la zone en fonction de l'heure de Moscou.

ntpdate ru.pool.ntp.org.

* Effectuez la synchronisation du temps.

Installation et démarrage

Installez KVM et les utilitaires de gestion nécessaires.

a) ubuntu à la version 18.10

apt-get installer qemu-kvm libvirin-bin virtinst libosinfo-bin

b) Ubuntu après 18h10:

apt-get installer qemu-kvm libvirt-daemon-system libvirt-bin virtinst liboscinfo-bin

* Où qemu-kvm. - hyperviseur; libvirin-bin. - bibliothèque de gestion d'hypervisor; virtinst. - utilitaire de gestion de la machine virtuelle; libosinfo-bin. - Utilitaire Pour afficher la liste des options pour les systèmes d'exploitation pouvant être un invité.

Personnaliser démarrage automatique Un service:

systemCtL Activer libvirtd.

Démarrer libvirtd:

systemCTL Démarrer libvirtd.

Configuration du réseau

Les machines virtuelles peuvent fonctionner pour NAT (qui sert de serveur KVM) ou recevez des adresses IP du réseau local - pour cela, vous devez configurer le pont réseau. Nous allons mettre le dernier.

Utilisant connexion à distanceVérifiez attentivement les paramètres. En cas d'erreur, la connexion sera interrompue.

Installer des pont-utils:

apt-get installer bridge-utils

a) Configuration du réseau dans les anciennes versions Ubuntu (/ etc / réseau / interfaces).

Ouvrez un fichier de configuration pour configurer les interfaces réseau:

vI / etc / réseau / interfaces

Et nous le donnons à l'esprit:

#iface eth0 inet statique
# Adresse 192.168.1.24
# Netmask 255.255.255.0.
# Gateway 192.168.1.1
# Noms de noms DNS 192.168.1.1 192.168.1.2

Auto BR0.
Iface bro0 inet statique
Adresse 192.168.1.24
Netmask 255.255.255.0.
Passerelle 192.168.1.1
DNS-noms-noms 192.168.1.1 192.168.1.2
Pont_ports eth0.
Bridge_fd 9.
Bridge_hello 2.
Pont_maxage 12.
Bridge_stp Off.

* Où tout ce qui a commenté est les anciens réglages de mon réseau; bR0. - le nom de l'interface du pont généré; eTH0. - une interface réseau existante à travers laquelle le pont fonctionnera.

Redémarrez le service réseau:

systemCTL Redémarrez la mise en réseau.

b) Réglage du réseau dans les nouvelles versions Ubuntu (NetPlan).

vi /etc/netplan/01-netcfg.yaml.

* Selon la version du système, fichier de configuration. yaml Peut avoir un autre nom.

Nous vous rendons à l'esprit:

réseau:
Version 2.
Renderer: Networkd.
Etherndets:
ETH0:
DHCP4: FALSE.
DHCP6: FAUX.
Wakeonlan: vrai.

Bridotes:
BR0:
MacAddress: 2C: 6D: 45: C3: 55: A7
Interfaces:
- ETH0.
Adresses:
- 192.168.1.24/24
Gateway4: 192.168.1.1
MTU: 1500.
Noms de noms:
Adresses:
- 192.168.1.1
- 192.168.1.2
Paramètres:
STP: vrai.
Retard de retard: 4
DHCP4: FALSE.
DHCP6: FAUX.

* dans cet exemple Nous créons une interface de pont virtuel bR0.; Nous utilisons comme une interface physique eTH0..

Appliquer les paramètres réseau:

Nous insistons sur les redirections du trafic réseau (de sorte que les machines virtuelles avec l'interface réseau NAT peuvent aller en ligne):

vi /etc/sysctl.d/99-sysctl.conf.

Ajouter une chaîne:

net.ipv4.ip_forward \u003d 1.

Appliquer les paramètres:

sYSCTL -P /ETC/SYSCTL.D/99-SYSCTL.CONF.

Création d'une machine virtuelle

Pour créer la première machine virtuelle, entrez la commande suivante:

virt-install -n vm1 \\
--Autostart \\
--Noautoconsole \\
-Network \u003d Bridge: BR0 \\
--Ram 2048 --arch \u003d x86_64 \\
--Vcus \u003d 2 - CPU hôte --Check-CPU \\
- Disk Path \u003d / KVM / VHDD / VM1-DISK1.IMG, Taille \u003d 16 \\
--Cdrom /kvm/iso/ubuntu-18.04.3-server-amd64.iso \\
--Graphics vnc, écouter \u003d 0.0.0.0, mot de passe \u003d vnc_password \\
--Os-Type Linux --os-Variant \u003d Ubuntu18.04 --Boot cdrom, hd, menu \u003d sur

  • Vm1 - le nom de la machine créée;
  • autostart - Permettre à la machine virtuelle de démarrer automatiquement avec le serveur KVM;
  • noautoconsole - ne se connecte pas à la console de la machine virtuelle;
  • réseau - Type de réseau. Dans cet exemple, nous créons une machine virtuelle avec une interface de type de pont réseau. Pour créer une interface interne avec le type NAT introduire -Network \u003d Par défaut, Modèle \u003d Virtio;
  • rAM - La quantité de RAM;
  • vcpus - nombre de processeurs virtuels;
  • disque - disque virtuel: chemin - façon de disque; taille - son volume;
  • cD ROM - Système d'entraînement virtuel;
  • graphiques - Paramètres de connexion à une machine virtuelle à l'aide d'une console graphique (dans cet exemple, nous utilisons VNC); ecoutez - Quelle adresse accepte les demandes VNC (dans notre exemple sur tous); mot de passe - mot de passe pour connecter avec VNC;
  • variante du système d'exploitation - Système d'exploitation invité (la liste complète que nous avons reçue une équipe oS OSInfo-QueryDans cet exemple, installez Ubuntu 18.04).

Connectez-vous à une machine virtuelle

Sur l'ordinateur à partir duquel nous prévoyons de travailler avec des machines virtuelles, téléchargez un client VNC, par exemple, SitterVNC et l'installer.

Nous entrons sur le serveur:

vIRSH VNCDISPLAYL VM1

la commande affichera, sur quel port fonctionne VNC pour la machine VM1. J'ai eu:

*: 1 Vous devez donc ajouter 1 - 5900 + 1 \u003d 5901 à 5900.

Exécutez la visionneuse SerrerVNC, que nous avons installée et entrez les données de la connectivité:

CLIQUE DE PO Relier.. Nous introduisons le nom à la demande de mot de passe lors de la création d'un VM ( vnc_password.). Nous allons vous connecter à la console distante de la machine virtuelle.

Si nous ne nous souvenons pas du mot de passe, ouvrez le paramètre de la machine virtuelle sous forme de commande:

Et trouver la chaîne:



* Dans cet exemple, un mot de passe est utilisé pour accéder à la machine virtuelle. 12345678 .

Gestion de la machine virtuelle de la ligne de commande

Exemples de commandes pouvant être utiles lorsque vous travaillez avec des machines virtuelles.

1. Obtenez une liste de machines créées:

liste virgne --Toutes

2. Activez une machine virtuelle:

vIRSH START VMNAME.

* Où VMName. - Le nom de la machine créée.

3. Éteignez la machine virtuelle:

ubuntu-VM-Builder est un colis développé par Canonical pour simplifier la création de nouvelles machines virtuelles.

Pour l'installer, nous entrons:

apt-get installer ubuntu-vm-constructeur



Avez-vous aimé l'article? Partagez-le