diff --git a/howto/ganeti.md b/howto/ganeti.md index 2fedbfd0691982ecdd43b8bc9c91cfd382667a51..8f0460ccc5af9a1ec81a4a0883b38b2022d2c0c8 100644 --- a/howto/ganeti.md +++ b/howto/ganeti.md @@ -164,12 +164,12 @@ initiator properly setup](howto/new-machine-cymru#iscsi-initiator-setup), and th setup](howto/new-machine-cymru#san-management-tools-setup). It also assumes you are familiar with the `SMcli` tool, see the [storage servers documentation](howto/new-machine-cymru#storage-servers) for an introduction on that. -This assumes you are creating a 500GB VM, partitioned on the Linux -host, *not* on the iSCSI volume. TODO: change those instructions to -create one volume per partition, so that those can be resized more -easily. The following is how `tb-build-03` was setup. + 0. review the current storage allocation configuration - 1. create the disk on the SAN and assign it to the host group: + /usr/local/sbin/tpo-show-san-disks + + 1. create a dedicated disk group and virtual disk on the SAN and assign it to + the host group: puppet agent --disable "creating a SAN disk" $EDITOR /usr/local/sbin/tpo-create-san-disks @@ -193,13 +193,13 @@ easily. The following is how `tb-build-03` was setup. } 3. propagate the magic to all nodes in the cluster: - + gnt-cluster command "puppet agent -t ; iscsiadm -m node --rescan ; multipath -r" 4. confirm that multipath works, it should look something like this": root@chi-node-01:~# multipath -ll - web-chi-03-srv (36782bcb00063c6a500000d67603f7abf) dm-20 DELL,MD32xxi + test-01 (36782bcb00063c6a500000d67603f7abf) dm-20 DELL,MD32xxi size=500G features='5 queue_if_no_path pg_init_retries 50 queue_mode mq' hwhandler='1 rdac' wp=rw |-+- policy='round-robin 0' prio=6 status=active | |- 11:0:0:4 sdi 8:128 active ready running @@ -211,7 +211,7 @@ easily. The following is how `tb-build-03` was setup. `- 8:0:0:4 sdm 8:192 active ghost running root@chi-node-01:~# - and the device `/dev/mapper/web-chi-03` should exist. + and the device `/dev/mapper/test-01` should exist. 6. adopt the disks in Ganeti: @@ -222,28 +222,28 @@ easily. The following is how `tb-build-03` was setup. --net 0:ip=pool,network=gnt-chi-01 \ --no-ip-check \ --no-name-check \ - --disk 0:adopt=/dev/disk/by-id/dm-name-tb-build-03-root \ - --disk 1:adopt=/dev/disk/by-id/dm-name-tb-build-03-swap,name=swap \ - --disk 2:adopt=/dev/disk/by-id/dm-name-tb-build-03-srv \ - --backend-parameters memory=16g,vcpus=8 \ - tb-build-03.torproject.org + --disk 0:adopt=/dev/disk/by-id/dm-name-web-chi-03 \ + --backend-parameters memory=8g,vcpus=2 \ + test-01.torproject.org NOTE: the actual node must be manually picked because the `hail` allocator doesn't seem to know about block devices. + NOTE: mixing DRBD and iSCSI volumes on a single instance is not supported. + 7. at this point, the VM probably doesn't boot, because for some reason the `gnt-instance-debootstrap` doesn't fire when disks are adopted. so you need to reinstall the machine, which involves stopping it first: - gnt-instance shutdown --timeout=0 tb-build-03 - gnt-instance reinstall tb-build-03 + gnt-instance shutdown --timeout=0 test-01 + gnt-instance reinstall test-01 HACK: the current installer fails on weird partionning errors, see - [upstream bug 13](https://github.com/ganeti/instance-debootstrap/issues/13). We applied [patch 14](https://github.com/ganeti/instance-debootstrap/pull/14) on `chi-node-04` - and sent it upstream for review before committing to maintaining - this in Debian or elsewhere. It should be tested on other installs - beforehand as well. + [upstream bug 13](https://github.com/ganeti/instance-debootstrap/issues/13). + We applied [patch 17](https://github.com/ganeti/instance-debootstrap/pull/17) + on `chi-node-01` and sent it upstream for review before committing to + maintaining this in Debian or elsewhere. From here on, follow the [next steps](#next-steps) above.