{"id":796,"date":"2021-01-30T14:16:39","date_gmt":"2021-01-30T14:16:39","guid":{"rendered":"https:\/\/wiki.graven-ict.nl\/wordpress\/?p=796"},"modified":"2023-01-22T12:55:49","modified_gmt":"2023-01-22T12:55:49","slug":"clone-virtual-machine","status":"publish","type":"post","link":"https:\/\/wiki.graven-ict.nl\/wordpress\/clone-virtual-machine\/","title":{"rendered":"Clone virtual machine"},"content":{"rendered":"\n<p>Soms is het handig om er snel wat virtual machines bij te hebben. Zoals bv in mijn geval, ik ben bezig met een cursus en heb snel even 4 aparte machines nodig. het gaat hier om een Centos8 machine in mijn&nbsp; geval een minimal install met een fixed IP adres.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">virt-clone<\/h2>\n\n\n\n<p>Het eerste wat je moet doen is een clone maken van de bestaande machine dit kan niet als de machine aanstaat. in sommigen gevallen kan het door de machine te suspenden maar als je qcow2 images gebruikt kan dat niet meer er zit dan een lock op disk-image. gebruik je een raw image dan kan het wel. Ik gebruik qcow2 dus moet mijn machine uitzetten. Als dat gebeurt is kan je <em>virt-clone &#8211;original VMnaam &#8211;name NEWnaam &#8211;auto-clone<\/em> de optie auto-clone zal een disk image aanmaken&nbsp; op de default locatie. wil je hem ergens anders hebben gebruik dan de optie &#8211;file met de nieuwe locatie.<\/p><div id=\"grave-2544432588\" class=\"grave-content grave-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-1970734611769428\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:inline-block;width:728px;height:90px;\" \ndata-ad-client=\"ca-pub-1970734611769428\" \ndata-ad-slot=\"1820224830\"><\/ins> \n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>$ virsh list --all \n Id   Name        State\n----------------------------\n -    rhelclone   shut off\n\n$ sudo virt-clone --original rhelclone --name rh8_client1 --auto-clone\nAllocating 'rh8_client1.qcow2'                                                                                |  20 GB  00:00:02     \n\nClone 'rh8_client1' created successfully.\n\n$ virsh list --all \n Id   Name          State\n------------------------------\n -    rh8_client1   shut off\n -    rhelclone     shut off<\/code><\/pre>\n\n\n\n<p>We hebben nu een bijna exacte copy van de machine, alleen de naam het uuid, disk source en mac adres van netwerk kaart is aan gepast. als je deze machine dus opstart kan je er zonder problemen mee werken. start je de oude machine ook op krijgen we&nbsp; duplicate ip problemen. het kan zijn dat je in bv je netwerk config het netwerk device gekoppeld hebt aan het mac adres dan zal je de config moeten aanpassen. maar dat is op moment van schrijven bij een default centos8 install niet het geval.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">virt-sysprep<\/h2>\n\n\n\n<p>Om nu een aantal zaken snel aan te passen kan je je machine opstarten en alles aanpassen maar je kan het ook doen met virt-sysprep je kan hier mee de settings van je machine voordat hij gestart is een passen bv verwijderen van&nbsp; ssh-keys, hostname, network mac configuration, user accounts verwijderen en toevoegen en nog veel meer. voor dit document ben ik alleen ge\u00efnteresseerd om de hostname en het IP aan te passen.&nbsp; voor de hostname is een flag <strong><em>&#8211;hostname<\/em><\/strong> maar voor het ip adres moet je de een file aanpassen, i dit geval is het een default centos\/rhel install en staat het ip adres in <em>\/etc\/sysconfig\/network-scripts\/ifcfg-ens3<\/em> dit kan je met een eenvoudige sed oplossen met het <em><strong>&#8211;run-command<\/strong> <\/em>als je eerst wil kijken wat virt-sysprep allemaal aanpast gebruik dan als extra optie <em><strong>-n<\/strong><\/em> (dry run) <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ sudo virt-sysprep -d rh8_client1 --hostname client1 --run-command 'sed -i \"s\/192.168.53.251\/192.168.53.111\/\" \/etc\/sysconfig\/network-scripts\/ifcfg-enp1s0'\n&#91;   0.0] Examining the guest ...\n&#91;   2.2] Performing \"abrt-data\" ...\n&#91;   2.3] Performing \"backup-files\" ...\n&#91;   2.5] Performing \"bash-history\" ...\n&#91;   2.5] Performing \"blkid-tab\" ...\n&#91;   2.6] Performing \"crash-data\" ...\n&#91;   2.6] Performing \"cron-spool\" ...\n&#91;   2.6] Performing \"dhcp-client-state\" ...\n&#91;   2.7] Performing \"dhcp-server-state\" ...\n&#91;   2.7] Performing \"dovecot-data\" ...\n&#91;   2.7] Performing \"logfiles\" ...\n&#91;   2.8] Performing \"machine-id\" ...\n&#91;   2.8] Performing \"mail-spool\" ...\n&#91;   2.8] Performing \"net-hostname\" ...\n&#91;   2.9] Performing \"net-hwaddr\" ...\n&#91;   2.9] Performing \"pacct-log\" ...\n&#91;   3.0] Performing \"package-manager-cache\" ...\n&#91;   3.1] Performing \"pam-data\" ...\n&#91;   3.1] Performing \"passwd-backups\" ...\n&#91;   3.1] Performing \"puppet-data-log\" ...\n&#91;   3.1] Performing \"rh-subscription-manager\" ...\n&#91;   3.2] Performing \"rhn-systemid\" ...\n&#91;   3.2] Performing \"rpm-db\" ...\n&#91;   3.3] Performing \"samba-db-log\" ...\n&#91;   3.3] Performing \"script\" ...\n&#91;   3.3] Performing \"smolt-uuid\" ...\n&#91;   3.3] Performing \"ssh-hostkeys\" ...\n&#91;   3.3] Performing \"ssh-userdir\" ...\n&#91;   3.4] Performing \"sssd-db-log\" ...\n&#91;   3.4] Performing \"tmp-files\" ...\n&#91;   3.4] Performing \"udev-persistent-net\" ...\n&#91;   3.5] Performing \"utmp\" ...\n&#91;   3.5] Performing \"yum-uuid\" ...\n&#91;   3.5] Performing \"customize\" ...\n&#91;   3.5] Setting a random seed\n&#91;   3.6] Setting the machine ID in \/etc\/machine-id\n&#91;   3.6] Setting the hostname: client1\n&#91;   3.7] Running: sed -i \"s\/192.168.53.251\/192.168.53.111\/\" \/etc\/sysconfig\/network-scripts\/ifcfg-ens3\n&#91;   3.8] Performing \"lvm-uuids\" ...\n<\/code><\/pre>\n\n\n\n<p>als je nu de machine aanzet kan je hem bereiken onder het nieuwe ip adres<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Soms is het handig om er snel wat virtual machines bij te hebben. Zoals bv in mijn geval, ik ben bezig met een cursus en heb snel even 4 aparte machines nodig. het gaat hier om een Centos8 machine in mijn&nbsp; geval een minimal install met een fixed IP adres.&nbsp; virt-clone Het eerste wat je ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/wiki.graven-ict.nl\/wordpress\/clone-virtual-machine\/\" title=\"Meer lezen...\">Lees meer<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[36,1],"tags":[],"class_list":["post-796","post","type-post","status-publish","format-standard","hentry","category-kvm-kernel-based-virtual-machine","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/comments?post=796"}],"version-history":[{"count":6,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/796\/revisions"}],"predecessor-version":[{"id":861,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/796\/revisions\/861"}],"wp:attachment":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/media?parent=796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/categories?post=796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/tags?post=796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}