Archiv:2011/IT/Dokumentation/OVH-Grundinstallation/KVM-Erstellung

Parameter-Festlegen

$name -- Name der VM IT/Dokumentation/Namenskonventionen
$disksize -- Größe der Systemplatte der VM
$datasize -- Größe des Datenvolume der VM
$ramsize -- Größe des Arbeitsspeichers
$numcpu -- Anzahl der CPUs
$servicename -- Name des bereitgestellten Dienstes

IP-Netz bei OVH bestellen

Name: PIRATEN-${servicename}1 (bzw. erhöhen)
Beschreibung: Piratenpartei ${servicename}-Infrastruktur
Land: DE
Größe: 4 Adressen
Verwendungszweck: Piratenpartei ${servicename}-Infrastruktur

Danach erhält man seine Netzwerk-Adresse aus dem OVH-Manager und per E-Mail.

$network -- Die zugewiesene Netzwerkadresse

Anlegen der Logigal Volumes

bounty:~# lvcreate -L ${disksize} -n ${name}_disk raid
bounty:~# lvcreate -L ${datasize} -n ${name}_srv raid
black:~# lvcreate -L ${disksize} -n ${name}_disk raid
black:~# lvcreate -L ${datasize} -n ${name}_srv raid

DRBD-Link herstellen

Hier Beispielhaft mit Volume "test":

sudo cat <<EOF | sudo sh -c 'cat >> /etc/drbd.conf'
resource test {
  protocol C;
  startup {
    become-primary-on blackpearl;
  }
  net {
    after-sb-0pri disconnect;
    after-sb-1pri disconnect;
    after-sb-2pri disconnect;
    rr-conflict disconnect;
  }
  syncer {
    rate 10M;
    al-extents 257;
  }
  on bounty {
    device    /dev/drbdx;
    disk      /dev/raid/test;
    address   10.8.0.1:7789+x;
    meta-disk internal;
  }
  on blackpearl {
    device    /dev/drbdx;
    disk      /dev/raid/test;
    address   10.8.0.2:7789+x;
    meta-disk internal;
  }
}
EOF

Ertellen der BRBD-Metadaten:

drbdadm create-md test

Einhängen:

drbdadm attach test

Primary zwingen, damit es formatiert werden kann:

drbdadm -- -o primary test
mke2fs -j /dev/drbdx

Volume online nehmen:

drbdadm syncer test
drbdadm connect test

KVM-Config vorbereiten

<domain type='kvm'>
  <name>${name}</name>
  <uuid></uuid>
  <memory>${ramsize}</memory>
  <currentMemory>${ramsize}</currentMemory>
  <vcpu>${numcpu}</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='network'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='block' device='disk'>
      <source dev='/dev/${diskdrbd}'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <disk type='block' device='disk'>
      <source dev='/dev/${datadrbd}'/>
      <target dev='vdb' bus='virtio'/>
    </disk>
    <interface type='bridge'>
      <source bridge='bradmin'/>
      <target dev='${name}_adm'/>
      <model type='virtio'/>
    </interface>
    <interface type='bridge'>
      <source bridge='brdata'/>
      <target dev='${name}_int'/>
      <model type='virtio'/>
    </interface>
    <interface type='ethernet'>
      <script path='no'/>
      <target dev='${name}_ext'/>
      <model type='virtio'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' autoport='yes' keymap='de'/>
  </devices>
</domain>

IP-Netz in die Config eintragen

/etc/network/interfaces auf bounty und black

allow-hotplug ${name}_ext
iface ${name}_ext inet static
         address $((${network}+2))
         netmask 255.255.255.252
         network ${network}
         broadcast $((${network}+3))