forked from Fediversity/Fediversity
93 lines
4.2 KiB
Org Mode
93 lines
4.2 KiB
Org Mode
#+title: Provisioning VMs via Proxmox
|
|
|
|
* Quick links
|
|
- Proxmox API doc :: https://pve.proxmox.com/pve-docs/api-viewer
|
|
- Fediversity Proxmox ::
|
|
- http://192.168.51.81:8006/.
|
|
- It is only accessible via Procolix's VPN; see with Kevin.
|
|
- You will need identifiers. Also see with Kevin. Select “Promox VE authentication server”.
|
|
- Ignore “You do not have a valid subscription” message.
|
|
* Basic terminology
|
|
- Node :: physical host
|
|
* Preparing the machine configuration
|
|
- It is nicer if the machine is a QEMU guest. On NixOS:
|
|
#+begin_src nix
|
|
services.qemuGuest.enable = true
|
|
#+end_src
|
|
- Choose name for your machine.
|
|
- Choose static IPs for your machine. The IPv4 and IPv6 subnets available for
|
|
Fediversity testing are:
|
|
- ~95.215.187.0/24~. Gateway is ~95.215.187.1~.
|
|
- ~2a00:51c0:13:1305::/64~. Gateway is ~2a00:51c0:13:1305::1~.
|
|
- I have been using id ~XXX~ (starting from ~001~), name ~fediXXX~, ~95.215.187.XXX~ and ~2a00:51c0:13:1305::XXX~.
|
|
- Name servers should be ~95.215.185.6~ and ~95.215.185.7~.
|
|
- Check [[https://netbox.protagio.org][Netbox]] to see which addresses are free.
|
|
* Upload your ISO
|
|
- Go to Fediversity proxmox.
|
|
- In the left view, expand under the node that you want and click on “local”.
|
|
- Select “ISO Images”, then click “Upload”.
|
|
- Note: You can also download from URL.
|
|
- Note: You should click on “local” and not “local-zfs”.
|
|
* Creating the VM
|
|
- Click “Create VM” at the top right corner.
|
|
** General
|
|
- Node :: which node will host the VM; has to be the same
|
|
- VM ID :: Has to be unique, probably best to use the "xxxx" in "vm0xxxx" (yet to be decided)
|
|
- Name :: Usually "vm" + 5 digits, e.g. "vm02199"
|
|
- Resource pool :: Fediversity
|
|
** OS
|
|
- Use CD/DVD disc image file (iso) ::
|
|
- Storage :: local, means storage of the node.
|
|
- ISO image :: select the image previously uploaded
|
|
No need to touch anything else
|
|
** System
|
|
- BIOS :: OVMF (UEFI)
|
|
- EFI Storage :: ~linstor_storage~; this is a storage shared by all of the Proxmox machines.
|
|
- Pre-Enroll keys :: MUST be unchecked
|
|
- Qemu Agent :: check
|
|
** Disks
|
|
- Tick “advanced” at the bottom.
|
|
- Disk size (GiB) :: 40 (depending on requirements)
|
|
- SSD emulation :: check (only visible if “Advanced” is checked)
|
|
- Discard :: check, so that blocks of removed data are cleared
|
|
** CPU
|
|
- Sockets :: 1 (depending on requirements)
|
|
- Cores :: 2 (depending on requirements)
|
|
- Enable NUMA :: check
|
|
** Memory
|
|
- Memory (MiB) :: choose what you want
|
|
- Ballooning Device :: leave checked (only visible if “Advanced” is checked)
|
|
** Network
|
|
- Bridge :: ~vnet1306~. This is the provisioning bridge; we will change it later.
|
|
- Firewall :: uncheck, we will handle the firewall on the VM itself
|
|
** Confirm
|
|
* Install and start the VM
|
|
- Start the VM a first time.
|
|
- Select the VM in the left panel. You might have to expand the node on which it is hosted.
|
|
- Select “Console” and start the VM.
|
|
- Install the VM as you would any other machine.
|
|
- [[Shutdown the VM]].
|
|
- After the VM has been installed:
|
|
- Select the VM again, then go to “Hardware”.
|
|
- Double click on the CD/DVD Drive line. Select “Do not use any media” and press OK.
|
|
- Double click on Network Device, and change the bridge to ~vnet1305~, the public bridge.
|
|
- Start the VM again.
|
|
* Remove the VM
|
|
- [[Shutdown the VM]].
|
|
- On the top right corner, click “More”, then “Remove”.
|
|
- Enter the ID of the machine.
|
|
- Check “Purge from job configurations”
|
|
- Check “Destroy unreferenced disks owned by guest”
|
|
- Click “Remove”.
|
|
* Move the VM to another node
|
|
- Make sure there is no ISO plugged in.
|
|
- Click on the VM. Click migrate. Choose target node. Go.
|
|
- Since the storage is shared, it should go pretty fast (~1 minute).
|
|
* Shutdown the VM
|
|
- Find the VM in the left panel.
|
|
- At the top right corner appears a “Shutdown” button with a submenu.
|
|
- Clicking “Shutdown” sends a signal to shutdown the machine. This might not work if the machine is not listening for that signal.
|
|
- Brutal solution: in the submenu, select “Stop”.
|
|
- The checkbox “Overrule active shutdown tasks” means that the machine should be stopped even if a shutdown is currently ongoing. This is particularly important if you have tried to shut the machine down normally just before.
|