GNU/Linux >> Znalost Linux >  >> Linux

Rychle vytvářejte obrazy virtuálních strojů pomocí Virt-builder

Virt-builder je nástroj příkazového řádku pro vytváření různých obrazů virtuálních strojů pro místní nebo cloudové použití, a to snadno a rychle. Má také mnoho možností přizpůsobení obrázků. Můžete nainstalovat nové aplikace na bitovou kopii virtuálního počítače, nastavit název hostitele, heslo uživatele root, spustit příkaz nebo skript při prvním spuštění hostovaného virtuálního počítače, přidat nebo upravit soubory v bitové kopii disku a další. Všechny tyto úlohy lze provádět z příkazového řádku a nevyžadují oprávnění root.

Virt-builder stáhne čistě připravené, digitálně podepsané šablony OS, takže nemusíte OS ručně instalovat. Jediné, co musíte udělat, je použít Virt-manager GUI nebo Virt-install nástroj příkazového řádku pro okamžité spuštění virtuálních počítačů s předdefinovanými šablonami. Virt-builder poskytuje minimální šablony OS pro oblíbené varianty Linuxu a Unixu. Můžete si samozřejmě také vytvořit svou vlastní šablonu.

Nainstalujte Virt-builder v systému Linux

Virt-builder je součástí knihovny Libguestfs, takže se ujistěte, že jste jej nainstalovali, jak je popsáno v následující příručce.

  • Přístup k obrazům disku virtuálního počítače a jejich úprava pomocí Libguestfs

Vytvářejte obrazy virtuálních strojů pomocí Virt-builderu

Vytváření obrazů virtuálních strojů pomocí Virt-builder je docela snadné a přímočaré.

Seznam dostupných šablon virtuálních strojů

Nejprve vypište dostupné šablony OS. Chcete-li to provést, spusťte:

$ virt-builder --list

V době psaní této příručky byly k dispozici následující šablony:

centos-6 x86_64 CentOS 6.6centos-7.0 x86_64 CentOS 7.0centos-7.1 x86_64 CentOS 7.1centos-7.2 aarch64 CentOS 7.2 (aarch64)centos-7.2 x86_64centos x86_64cent-7.7.64 7,5 x86_64 CENTOS 7,5CENTOS-7,6 X86_64 CENTOS 7.6CENTOS-7,7 X86_64 CENTOS 7.7CENTOS-7,8 X86_64 CENTOS 7.8CENTOS-8.0 X86_64 CENTOS 8.0CENTOS-8.2 X86_64 CENTOS 8,2CIRROS-0.3.1 X864 CIRS. 0.3.5debian-10 x86_64 Debian 10 (buster)debian-6 x86_64 Debian 6 (Squeeze)debian-7 sparc64 Debian 7 (Wheezy) (sparc64)debian-7 x86_64 Debian 7 (wheezy)debian-8 debian-8 x8 debian-9 x86_64 Debian 9 (stretch)fedora-26 aarch64 Server Fedora® 26 (aarch64)fedora-26 armv7l Server Fedora® 26 (armv7l)fedora-26 i686 Server Fedora® 26 (i686)fedora-26 ppc664 fedora-26 ppc64le Fedora® 26 Server (ppc64le)fedora-26 x86_64 Fedora® 26 Serverfedora-27 aarch64 Fedora® 27 Server (aarch64)fedora-27 armv7l Server Fedora® 27 (armv27l) ifedora®66868 )fedora-27 ppc64 Fedora® 27 Server (ppc64)fedora-27 ppc64le Fedora® 27 Server (ppc64le)fedora-27 x86_64 Fedora® 27 Serverfedora-28 i686 Server Fedora® 28 (i686) Fedora® 28 Server (i6286) Fedora® 28 Fedora-6286 29 aarch64 Fedora® 29 Server (aarch64)fedora-29 i686 Fedora® 29 Server (i686) fedora-29 ppc64le Fedora® 29 Server (ppc64le)fedora-29 x86_64 Fedora® 29 Serverfedora-30 aarch64 Fedora® 30 Server (aarch64)fedora-30 i686 Fedora® 30 Server (i686) Fedora® 30 Server (i6306)fedora-360x8eddora X86_64 Fedora® 31 Serverfedora-32 x86_64 Fedora® 32 ServerfreeBsd-11.1 X86_64 FreeBSD 11.1ScientificLinux-6 X86_64 Scientific Linux 6.5ubuntu-10.04 ubuntunU (Premise) (Premise) (Premise) (Premise) (Premise) (Premise) ( )ubuntu-16.04 x86_64 Ubuntu 16.04 (Xenial)ubuntu-18.04 x86_64 Ubuntu 18.04 (bionic)fedora-18 x86_64 Fedora® 18fedora-19 x86_149 x86_149 Fedora®286 64 Fedora®286 Fedora®266 21 armv7l Fedora® 21 Server (armv7l)fedora-21 ppc64 Fedora® 21 Server (ppc64)fedora-21 ppc64le Fedora® 21 Server (ppc64le)fedora-21 x86_64 Fedora® 21 Serverfedora-22 Fedora® aarch-6arch 22 armv7l Fedora® 22 Server (armv7l)fedora-22 i686 Fedora® 22 Server (i686)fedora-22 x86_64 Fedora® 22 Serverfedora-23 aarch64 Server Fedora® 23 (aarch64)fedora-23 arm77 -23 i686 Fedora® 23 Server (i686)fedora-23 ppc64 Fedora® 23 Server (ppc64)fedora-23 ppc64le Fedora® 23 Server (ppc64le)fedora-23 x86_64 Fedora® 23 Serveraarchfedora-244 Server (aarchfedora6444) fedora-24 armv7l Fedora® 24 Server (armv7l)fedora-24 i686 Fedora® 24 S erver (i686)fedora-24 x86_64 Fedora® 24 Serverfedora-25 aarch64 Fedora® 25 Server (aarch64)fedora-25 armv7l Fedora® 25 Server (armv7l)fedora-25 i686 Fedora® 2525 Server (Fedora® 2865 ppcc) 25 Server (ppc64)fedora-25 ppc64le Fedora® 25 Server (ppc64le)fedora-25 x86_64 Fedora® 25 Serveropensuse-13.1 x86_64 openSUSE 13.1opensuse-13.2 x86_64.weap26openSUSE1USE.64weap6openSUSE14 před>  

Seznam dostupných virtuálních strojů pomocí Virt-builder

Jak vidíte, k dispozici je několik šablon OS.

Před vytvořením obrazu virtuálního počítače se možná budete chtít podívat do poznámek k instalaci hostujícího OS, abyste věděli, co tam je.

Chcete-li například zobrazit poznámky k instalaci Debianu 10, spusťte:

$ virt-builder --notes debian-10

Ukázkový výstup:

Debian 10 (buster) Toto je minimální instalace Debianu. Tento obraz je tak minimální, že obsahuje pouze ssh server. Tento obraz neobsahuje hostitelské klíče SSH. K jejich regeneraci použijte:--firstboot-command "dpkg-reconfigure openssh-server"Tato šablona byla vygenerována skriptem ve zdrojovém stromu libguestfs:builder/templates/make-template.mlSouvisející soubory použité k přípravě této šablony lze nalézt v stejný adresář.

Vytvoření obrazu virtuálního stroje

Chtěl jsem si stáhnout šablony OS v konkrétním adresáři, tak jsem vytvořil tento adresář:

$ mkdir virtbuilder$ cd virtbuilder/

Pojďme vytvořit virtuální stroj Debian 10 pomocí příkazu:

$ virt-builder debian-10

Ukázkový výstup:

[ 4.8] Stahování:http://builder.libguestfs.org/debian-10.xz########################## ################################################## ######## 100.0%[ 83.2] Plánování, jak vytvořit tento obraz[ 83.2] Dekomprimace[ 101.2] Otevření nového disku[ 119.8] Nastavení náhodného seedvirt-builderu:varování:pro toto nelze nastavit náhodné seed typ hosta[ 119.9] Nastavení heselvirt-builder:Nastavení náhodného hesla roota na 66xW1CaIqfM8km2v [ 121.5] Dokončování Výstupní soubor:debian-10.img Výstupní velikost:6,0G Výstupní formát:raw Celkový využitelný prostor:5,8G Volné místo:4,9G (84 %)

Vytvářejte obrazy virtuálních strojů pomocí virt-builderu v Linuxu

Jak můžete vidět, tento příkaz vytvořil minimální obraz Debianu 10. Nebude mít žádné uživatelské účty. Bude mít pouze náhodné heslo root a minimální nainstalovaný software.

Výstupní název obrázku by měl být stejný jako název šablony. Pomocí -o jej můžete změnit podle svých představ možnost:

$ virt-builder debian-10 -o ostechnix.img

Ve výchozím nastavení je formát obrázku img . Můžete jej převést do jiného formátu, například Qcow2, jako níže:

$ virt-builder debian-10 --format qcow2

Ve výchozím nastavení vytvoří Virt-builder obraz stejný jako architektura hostitelského OS. Pokud je například váš hostitelský OS 64bitový, vytvoří 64bitový VM. Toto můžete změnit na 32bitové (pokud je k dispozici) pomocí --arch možnost.

$ virt-builder debian-10 --arch i686

Chcete vytvořit obrázek vlastní velikosti? Je to také možné. Následující příkaz vytvoří virtuální počítač o velikosti 50 GB:

$ virt-builder debian-10 --size 50G

Velikost hostujícího OS se automaticky změní pomocí virt-size příkaz tak, jak je zkopírován na výstup.

Nastavit heslo uživatele root

Jak jsem již zmínil, uživatelskému účtu root bude při vytváření bitové kopie přiděleno náhodné heslo. Pokud chcete nastavit specifické heslo pro uživatele root, použijte --root-password možnost jako níže:

$ virt-builder centos-8.2 --format qcow2 --root-password password:centos 

Ukázkový výstup:

[ 5.1] Stahování:http://builder.libguestfs.org/centos-8.2.xz########################## ################################################## ######## 100.0%[ 249.2] Plánování, jak vytvořit tento obrázek[ 249.2] Dekomprese[ 271.3] Převod raw na qcow2[ 281.1] Otevření nového disku[ 319.9] Nastavení náhodného semene[ 320.4] Nastavení hesel 323.0] Dokončování Výstupní soubor:centos-8.2.qcow2 Výstupní velikost:6.0G Výstupní formát:qcow2 Celkový využitelný prostor:5.3G Volné místo:4.0G (74 %)

Výše uvedený příkaz vytvoří obraz CentOS 8.2 a přiřadí heslo pro uživatele root jako "centos" .

Můžete také nastavit heslo z textového souboru:

$ virt-builder centos-8.2 --root-password file:~/ostechnix.txt 

Chcete-li zakázat heslo uživatele root, spusťte:

$ virt-builder centos-8.2 --root-password vypnuto 

Zamknout účet root:

$ virt-builder centos-8.2 --root-password locked 

Uzamknout účet root a deaktivovat heslo root:

$ virt-builder centos-8.2 --root-password locked:disabled 

Chcete-li přiřadit heslo root, ale uzamknout účet root, použijte následující možnosti:

--root-password locked:file:FILENAME--root-password locked:password:PASSWORD

Heslo uživatele root můžeme použít po odemknutí uživatele root pomocí "passwd -u" příkaz.

Vytvořit uživatele

Chcete-li vytvořit uživatelské účty při vytváření obrazu virtuálního počítače, spusťte:

$ virt-builder centos-8.2 --firstboot-command 'useradd -m -p "" sk; změna -d 0 sk'

Výše uvedený příkaz vytvoří uživatele s názvem "sk" bez hesla a přinutí ho nastavit heslo při prvním přihlášení.

Nastavit název hostitele

Chcete-li nastavit název hostitele na virtuální počítač:

$ virt-builder centos-8.2 --hostname virt.ostechnix.local

Ukázkový výstup:

[ 4.7] Stahování:http://builder.libguestfs.org/centos-8.2.xz[ 7.2] Plánování vytvoření tohoto obrazu[ 7.2] Dekomprese[ 31.0] Otevření nového disku[ 41.9] Nastavení náhodného semene [ 42.0] Nastavení názvu hostitele:virt.ostechnix.local [ 42.1] Nastavení heselvirt-builder:Nastavení náhodného hesla root na MRn7fj1GSaeCAHQx[ 44.4] Dokončení Výstupní soubor:centos-8.2.img Výstupní velikost:6.0G Výstupní formát:surový Celkový využitelný prostor:5.3G Volné místo:4.0G (74 %)

Nainstalujte software do obrazu virtuálního počítače

Chcete-li nainstalovat balíčky na virtuální počítač, spusťte:

$ virt-builder debian-10 --install vim

Ukázkový výstup:

[ 5.8] Stahování:http://builder.libguestfs.org/debian-10.xz[ 7.4] Plánování vytvoření tohoto obrazu[ 7.4] Dekomprimování[ 25.3] Otevření nového disku[ 29.7] Nastavení náhodného seedvirtu -builder:varování:pro tento typ hosta nelze nastavit náhodné semeno[ 29.8] Instalace balíčků:vim [ 93.2] Nastavení heslavirt-builder:Nastavení náhodného hesla roota na 45Hj5yxh8vRqLDcu[ 94.9] Dokončování Výstupní soubor:debian-10.img Výstupní velikost:6.0G Výstupní formát:surový Celkový využitelný prostor:5.8G Volné místo:4.8G (82 %)

Chcete-li nainstalovat více balíčků, uveďte je v uvozovkách oddělenými čárkami, jak je uvedeno níže:

$ virt-builder debian-10 --install "apache2,htop"

Aktualizujte všechny balíčky ve virtuálním počítači:

$ virt-builder centos-8.2 --update

Pokud váš VM používá SELinux, musíte po instalaci nebo aktualizaci balíčků provést přeznačení SELinuxu:

$ virt-builder centos-8.2 --update --selinux-relabel

Přizpůsobení obrázků virtuálních počítačů

Virt-builder má mnoho možností, jak upravit obrázek. Můžete například spustit konkrétní příkaz/skript při prvním spuštění virtuálního počítače pomocí příkazu:

$ virt-builder debian-10 --firstboot-command 'apt -y update'

Chcete-li přidat řádek do virtuálního počítače, spusťte:

$ virt-builder centos-8.2 --append-line '/etc/hosts:192.168.225.1 server.ostechnix.local'

Ukládání šablon do mezipaměti

Ve výchozím nastavení budou všechny šablony poprvé staženy ze sítě. Vzhledem k tomu, že velikost šablon je velká, budou stažené šablony uloženy do mezipaměti v domovském adresáři uživatele.

Podrobnosti o adresáři mezipaměti a o tom, které šablony jsou aktuálně uloženy v mezipaměti, můžete vytisknout pomocí následujícího příkazu:

$ virt-builder --print-cache

Ukázkový výstup:

adresář mezipaměti:/home/sk/.cache/virt-builder[...]centos-7.8 x86_64 nocentos-8.0 x86_64 necentos-8.2 x86_64 uložený v mezipaměti cirros-0.3.1 x86_64 nocirros-0.3.5 x86_64 nodebian-10 x86_64 uložený v mezipaměti debian-6 x86_64 nodebian-7 sparc64 ne[...]

Můžete to také ověřit ručním pohledem do složky mezipaměti:

$ ls $HOME/.cache/virt-builder centos-8.2.x86_64.1 debian-10.x86_64.1

Chcete-li stáhnout všechny dostupné šablony do místní složky mezipaměti, spusťte:

$ virt-builder --cache-all-templates

Pokud nechcete šablonu při vytváření obrázku ukládat do mezipaměti, použijte --no-cache možnost.

Chcete-li odstranit všechny šablony uložené v mezipaměti, spusťte:

$ virt-builder --delete-cache [ 0.0] Mazání:/home/sk/.cache/virt-builder

Import obrazů disku do hypervizoru

No, stáhli jste si požadovaný OS a upravili si ho podle svých představ. Co teď? Stačí importovat obraz a spustit virtuální počítač pomocí nově vytvořeného obrazu disku s hypervizorem. Již jsme napsali krok za krokem průvodce vytvořením virtuálního stroje KVM pomocí obrazu Qcow2. Tato příručka je napsána speciálně pro Qcow2, ale je stejná pro import .img formátovat také obrazy disků.

  • Vytvořte virtuální počítač KVM pomocí obrazu Qcow2 v systému Linux

Virt-builder má stovky příkazů a možností. Popsal jsem zde pouze základní příkazy. Další podrobnosti naleznete v manuálu stáří.

$ man virt-builder

Vybraná fotografie od Igora Starkova z Pexels .


Linux
  1. Virtuální počítač s 32bitovým OS CentOS 5 neřeší fyzickou paměť větší než 3 GB

  2. Týdenní virtuální stroje s sestaveními skriptů

  3. Náhled obrázků pomocí modulu ngx_http_image_filter_module

  1. Virtualizace na PC, vysvětlení pro začátečníky s praktickými příklady použití

  2. Spouštíte ArcGIS Desktop na virtuálním počítači?

  3. SSH relay server s OpenSSH

  1. Spusťte virtuální počítač Linux v Podman

  2. Úvod do Virtual Machine Manager

  3. Linux – obsažený v těchto adresách?