| Size: 1242 Comment:  | Size: 1946 Comment:  | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 2: | Line 2: | 
| Line 6: | Line 5: | 
| Line 44: | Line 42: | 
| Remove console access by [[Domain Editing|editing the domain]]. | |
| Line 45: | Line 44: | 
| Remove console access by [[Domain Editing|editing the domain]]. | == Memory == Increase or decrease amount of memory by [[Domain Editing|editing the domain]]. == Unique keys for ssh == Make sure your clone does indeed have unique ssh keys. This is a really important step when cloning. Consider all your clones had the same ssh keys, that would really be a mess. {{{ rm /etc/ssh/ssh_host_* dpkg-reconfigure openssh-server service sshd restart }}} == Hostname == Change the hostname of your new guest. {{{ cp /etc/hosts /etc/hosts.bak sed -i "s/stretch-template/clone/g" /etc/hosts cp /etc/hostname /etc/hostname.bak sed -i "s/stretch-template/clone/g" /etc/hostname }}} == Root password == Make sure to change the root password. {{{ passwd }}} | 
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.
Unique keys for ssh
Make sure your clone does indeed have unique ssh keys. This is a really important step when cloning. Consider all your clones had the same ssh keys, that would really be a mess.
rm /etc/ssh/ssh_host_* dpkg-reconfigure openssh-server service sshd restart
Hostname
Change the hostname of your new guest.
cp /etc/hosts /etc/hosts.bak sed -i "s/stretch-template/clone/g" /etc/hosts cp /etc/hostname /etc/hostname.bak sed -i "s/stretch-template/clone/g" /etc/hostname
Root password
Make sure to change the root password.
passwd