X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=input%2Fhowto%2Finstall-ganeti.creole;h=3d0326fd5e1814e95af0597a2495bb62163e3d26;hb=a032f117fef1e4a58f0030784879f032b07d41f5;hp=22925c79236ab2660eeed1e9ba5c85f45e6c4805;hpb=43eff49a103c56a607bc20d5eb3216c29a89c010;p=mirror%2Fdsa-wiki.git diff --git a/input/howto/install-ganeti.creole b/input/howto/install-ganeti.creole index 22925c7..3d0326f 100644 --- a/input/howto/install-ganeti.creole +++ b/input/howto/install-ganeti.creole @@ -36,8 +36,9 @@ The following DNS records exist: On each node, install the required packages: {{{ - apt-get install fai-client ssed extlinux - apt-get install {drbd8-utils,ganeti2,ganeti-htools}/squeeze-backports ganeti-instance-debootstrap qemu-kvm + # maybe: apt-get install drbd8-utils + # maybe: apt-get install ganeti-instance-debootstrap + apt-get install ganeti2 ganeti-htools qemu-kvm }}} === configure kernel modules === @@ -49,6 +50,7 @@ On each node, ensure that the required kernel modules are loaded at boot: ainsl /etc/modules 'hmac' ainsl /etc/modules 'tun' ainsl /etc/modules 'ext3' + ainsl /etc/modules 'ext4' }}} === configure networking === @@ -124,17 +126,6 @@ On each node, create a volume group: vgcreate vg_ganeti /dev/cciss/c0d0p3 }}} -=== create kvmU symbolic links === - -On each node, create vmlinuz and initrd symlinks as expected by the kvm -hypervisor (not strictly required if all guests will boot from their own -kernels): - -{{{ - ln -s -T /boot/vmlinuz-2.6.32-5-amd64 /boot/vmlinuz-2.6-kvmU - ln -s -T /boot/initrd.img-2.6.32-5-amd64 /boot/initrd.img-2.6-kvmU -}}} - === exchange ssh keys === on each node: @@ -162,7 +153,7 @@ On the master node (foo) only: --mac-prefix 00:16:37 \ --no-ssh-init \ --no-etc-hosts \ - --hypervisor-parameters kvm:initrd_path=/boot/initrd.img-2.6-kvmU,kernel_path=/boot/vmlinuz-2.6-kvmU \ + --hypervisor-parameters kvm:initrd_path=,kernel_path= \ foobar.debian.org }}} @@ -334,7 +325,6 @@ manually. * If you are importing an instance from libvirt with LVM setup, you can adopt LVs: {{{ - gnt-instance add -t plain --os-type debootstrap+dsa-wheezy \ --disk 0:adopt=lully-boot \ --disk 1:adopt=lully-root \ @@ -342,7 +332,14 @@ manually. --disk 3:adopt=lully-log \ --hypervisor-parameters kvm:initrd_path=,kernel_path= \ --net 0:ip=82.195.75.99 -n clementi.debian.org lully.debian.org +}}} +And you want to convert it to use DRBD afterwards and start it on the other cluster node, so we can ensure that DRBD is correctly working. +{{{ + gnt-instance shutdown lully.debian.org + gnt-instance modify -t drbd -n czerny.debian.org lully.debian.org + gnt-instance failover lully.debian.org + gnt-instance startup lully.debian.org }}} * Some instances NEED ide instead of virtio @@ -350,3 +347,61 @@ manually. {{{ gnt-instance modify --hypervisor-parameters disk_type=ide fils.debian.org }}} + +* To import instances with SAN volumes + +{{{ + gnt-instance add -t blockdev --os-type debootstrap+dsa \ + --disk 0:adopt=/dev/disk/by-id/scsi-reger-boot \ + --disk 1:adopt=/dev/disk/by-id/scsi-reger-root \ + --hypervisor-parameters kvm:initrd_path=,kernel_path= \ + --net 0:ip=206.12.19.124 -n rossini.debian.org reger.debian.org +}}} + +* How to add new LUNs to Bytemark Cluster + +** Add new LUN to MSA and export to all blades + +{{{ + Log into MSA controller + + Choose which vdisk to use, use "show vdisks" to list + +Add the volume: + # create volume vdisk msa2k-2-500gr10 size 5G donizetti + +Find a free LUN: + + # show lun-maps + or (if we assume they are all the same) + # show host-maps 3001438001287090 + +Make a note of the next free LUN + +Generate map commands for all blades, all ports, run locally: + + $ for bl in 1 2 3 4 5 6 ; do for p in 1 2 3 4; do echo "map volume donizetti lun 27 host bm-bl$bl-p$p" ; done ; done + +Paste the output into the MSA shell + +Find the WWN by doing show host-maps and looking for the volume name. +Transform it using the sed run at the top of /etc/multipath.conf: + +echo "$WWN" | sed -re 's#(.{6})(.{6})0000(.{2})(.*)#36\1000\2\3\4#' +}}} + +{{{ + + then: + gnt-cluster command "echo 1 > /sys/bus/pci/devices/0000:0e:00.0/cciss0/rescan" + + then: + reload multipath-tools on gnt-master (normaly bm-bl1): + service multipath-tools reload + add the WWNs to dsa-puppet/modules/multipath/files/multipath-bm.conf and define the alias and commit that file to git. + + then: + gnt-cluster command "puppet agent -t" + + This will update the multipath config on all cluster nodes. WITHOUT doing this, you can't migrate VMs between nodes. +}}}