... | ... | @@ -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.
|
|
|
|
... | ... | |