Differences between revisions 15 and 31 (spanning 16 versions)
Revision 15 as of 2017-11-11 22:06:05
Size: 1499
Editor: shran
Comment:
Revision 31 as of 2017-12-08 14:15:59
Size: 1414
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 6: Line 5:
Line 9: Line 7:
`clonedomain.sh` `domain_clone.sh`
Line 40: Line 38:
./clonedomain.sh clone ./domain_clone.sh clone
Line 43: Line 41:
== Cleanup == == Console Access ==
Remove console access by [[Domain Editing|editing the domain]].
Line 45: Line 44:
=== Hostname === == Memory ==
Increase or decrease amount of memory by [[Domain Editing|editing the domain]].
Line 47: Line 47:
Your new system will need a new hostname

 * /etc/hostname
 * /etc/hosts

{{{
sed -i 's/stretch-template/clone/g' /etc/hosts
sed -i 's/stretch-template/clone/g' /etc/hostname
}}}

=== sshd ===

Make sure the ssh keys are unique.

{{{
rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server
}}}
== Guest OS ==
Continue by configuring the [[KVM Guest|editing the domain]].

Domain Cloning

Once a template system has been installed, that system can be cloned. virt-clone will automatically change the MAC address of your network device.

Cloning

Use the script below to clone your template.

domain_clone.sh

   1 #!/bin/sh
   2 
   3 LVM_GROUP="vg2"
   4 NAME_ORIGINAL="stretch-template"
   5 LVM_NAME_ORIGINAL="kvm_${NAME_ORIGINAL}_vda"
   6 LVM_SIZE_ORIGINAL=`lvs /dev/${LVM_GROUP}/${LVM_NAME_ORIGINAL} -o LV_SIZE --noheadings --units B --nosuffix`
   7 NAME_CLONE="stretch-clone"
   8 LVM_NAME_CLONE="kvm_${NAME_CLONE}_vda"
   9 
  10 if [ $# -gt 0 ]
  11 then
  12         NAME_CLONE=${1}
  13         LVM_NAME_CLONE="kvm_${NAME_CLONE}_vda"
  14 fi
  15 
  16 if [ ! -e /dev/${LVM_GROUP}/${LVM_NAME_CLONE} ]
  17 then
  18         # create lvm partition
  19         lvcreate --size ${LVM_SIZE_ORIGINAL}B --name ${LVM_NAME_CLONE} ${LVM_GROUP}
  20 
  21         # clone the domain
  22         virt-clone --original ${NAME_ORIGINAL} --name ${NAME_CLONE} --file /dev/${LVM_GROUP}/${LVM_NAME_CLONE} --check path_in_use=off,path_exists=off
  23 else
  24         echo "${0}: refusing to overwrite existing domain"
  25 fi

Make a clone.

./domain_clone.sh clone

Console Access

Remove console access by editing the domain.

Memory

Increase or decrease amount of memory by editing the domain.

Guest OS

Continue by configuring the editing the domain.

None: Domain Cloning (last edited 2021-12-31 14:57:50 by Kristian Kallenberg)