Instances (VMs): Difference between revisions

From bwCloud-OS
Jump to navigation Jump to search
Admin (talk | contribs)
No edit summary
 
(145 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<span id="In-a-Nutshell"></span>
{{InANutshell|
<li>Instances can be '''created''' via the [https://portal.bw-cloud.org/ '''Dashboard'''] wizard,  select: <strong>name  →source → flavor → network → SSH key → launch</strong>.</li>
<li>The '''source''' defines the base disk for the instance, usually a pre-configured '''image''' containing the operating system (Rocky, Ubuntu, etc.) and initial software optimized for cloud environments.<li>
<li>The available resources of a virtual machine (vCPU, memory, etc.) are pre-defined by [[Instances_(VMs)#What_are_instance_flavors,_and_which_flavors_are_available?|flavors]]. Choose a '''flavor''' that fits your workload and available [[Projects and Quota#Project Quota|quota]] when launching your instance.</li>
<li>To '''access''' your bwCloud-OS virtual machines, you must register an '''SSH key pair'''  and assign it when creating instances. ''If you lose your private SSH key, you will '''lose access'''  to your instance!''</li>}}


__TOC__
__TOC__


<span id="SSH1"></span>
= Creating Instances =
 
== How do I create a virtual machine using Dashboard (GUI)? ==
<span id="Create-GUI"></span>
 
In the [https://portal.bw-cloud.org/ '''Dashboard'''], click '''Instances''' in the left-hand menu. On the new page, click '''Launch Instance.''' A dialog will open, guiding you through the configuration step by step:
 
* '''Details''': Enter a descriptive name for your instance.
 
* '''Source''': Select a source for the instance (image, snapshot, volume, etc.) — typically a [[Images|preconfigured image]] (e.g., ''Debian x''). Use the ↑ arrow to move the source into the ''Allocated'' list.
* '''Flavor''': Choose a [[Flavors|flavor]] based on your required vCPU, RAM, etc. If your [[Projects and Quota#Project Quota|quota]] is insufficient, a yellow warning icon will appear.
* '''Networks''': Choose a network. Default settings are usually appropriate.
* '''Security Groups''': No changes are mandatory at this point. You can [[Security#Security Groups - Open a port for access|adjust rules]] later if necessary.
* '''Key Pair''': Select a [[Instances (VMs)#SSH-Key|registered public SSH key]] to be injected into the instance. This step is mandatory. Without a valid SSH key, remote access to the instance will not be possible.
 
After completing the required selections, click '''Launch Instance''' in the dialog. Once the instance has finished building and reaches the '''Running''' state, its IP address(es) will be shown in the '''Instances''' overview. You can then [[Instances (VMs)#SSH-Access|access]] the instance via its [[Networks#Will my instance receive a public IP?|''public'' IP address]].
 
If you need further assistance, check out the illustrated guide below.
 
[[Guide: Instance Creation|➡️ Illustrated Instance Creation Guide]]
 
== Can I also create instances automatically? ==
<span id="Create-Auto"></span>
 
Instances can also be deployed automatically using tools like Ansible. Further details are available [[Programmatic Access and Automation#Auto-Deployment|here]].
 
= Connecting to Instances =
 
== Why do I need an SSH key, and how can I get one? ==
<span id="SSH-Key"></span>
 
SSH keys provide secure, passwordless access to your virtual machines. You can either use your existing keys or generate a new SSH key pair through the bwCloud-OS Dashboard.
 
For detailed instructions, see the following guide.
 
➡️ [[Guide: SSH#Key-Pair-Creation|SSH Guide]]
 
== How do I access my instance via SSH? ==
<span id="SSH-Access"></span>
 
Once your instance is running, you can connect to it via SSH from '''Linux''', '''macOS''', or '''Windows''' using the following command:
 
<code>ssh -i /path/to/private-key <user>@<address></code>
 
* <code><user></code> is the default username, e.g. <code>ubuntu</code> for Ubuntu images. For other images, see the [[Images|Image Overview]].
* <code><address></code> is the DNS name ([[Networks#FQDN|FQDN]]) or the public IP address of your running instance. Both can be found in the [https://portal.bw-cloud.org/ Dashboard], on the '''Instances''' page.
 
For (advanced) SSH connection methods, see the following guide.
 
➡️ [[Guide: SSH|SSH Guide]]
 
== Can I replace a lost SSH key for my instance? ==
<span id="Lost-Access"></span>


{{:Quickstart: Store SSH key pair}}
If you lose your private SSH key, it '''cannot be replaced''' — not even by the Support team. Access to the instance is only possible if you previously enabled password login via the virtual console.


== I no longer have access to my instance, what can I do? ==
<span id="Lost-Access-Workaround"></span>


<span id="InstanzStart"></span>
A possible (but tedious) workaround is described in the guide below.
= Launching an Instance =


== Create an Instance (GUI) ==
➡️ [[Guide: Rescue and Recovery|Rescue and Recovery Guide]]
# Click '''Instances''' in the left menu. On the new page, select the '''Launch Instance''' button. A dialog will open, guiding you through the process step by step.
# First, give the instance a meaningful name (e.g., <code>myVM01</code>). Click '''Next''' at the bottom.
# Select a source / ''Image'' for the instance (e.g., Debian X). Add the selection using the ↑ symbol; the chosen image will appear under ''Allocated''. To discard a selection, click the ↓ symbol in the row.
# In the next step, select a ''Flavor''. If the current quota is too low, a yellow warning icon will appear.
# Next, choose the ''Network''. In most cases, the default settings are sufficient; no changes are required.
# For the ''Security Group'', no adjustments are usually necessary. Changes can be made later if needed.
# Select the public '''SSH Key''' to be integrated into the instance. This step is mandatory; without a registered SSH key, access to the running instance is not possible.
# Click '''Launch Instance'''. The instance will start.
# After the instance has successfully started, the '''IP address''' will be displayed in the overview. The instance can be accessed at this address.


'''SSH Access'''
= Resources of Instances =
: Once started, you can log in via SSH:
<code>
ssh -i /path/to/key <username>@<ip-address>
</code>
: The corresponding SSH usernames are listed in [[SSH-Benutzernamen|this reference list]].


== Configure an Instance with Ansible ==
== What are instance flavors, and which flavors are available? ==
It is also possible to create an instance automatically. Details can be found [[Automatisierung & Tools#Instanz mit Ansible einrichten|here]].
<span id="Flavors"></span>


= Quota und Ressourcen =
bwCloud-OS offers various predefined resource packages, called '''flavors''', which define the vCPU, RAM, and disk size of an instance.


In der bwCloud stehen verschiedene Ressourcen zur Verfügung. Wenn Sie mehr Quota benötigen, können Sie diese beantragen. Mehr Infos dazu finden Sie [[Hier|hier]].
For currently available flavors, see our [[flavors|Flavor Table]].


If your current quota does not allow the use of certain flavors, you can [[Projects and Quota#Project Quota|request a quota increase]].


{{:BwCloud-OS Bereitgestellete-Flavors}}
== How can I assign more resources to a running instance? ==
<span id="Resize"></span>


== Instanz vergrößern (Resize), nachdem zusätzliche Quota gewährt wurde ==
If your project has sufficient [[Projects and Quota#Project Quota|quota]] (vCPU, RAM, etc.), you can resize an existing VM to a '''larger flavor'''. This process '''restarts the VM''' and updates its allocated resources.


Wenn Ihrem Projekt mehr Quota (vCPU/RAM/Instanzen) zugeteilt wurde, können Sie eine bestehende VM auf einen größeren '''Hardware-Flavor''' umstellen. Dabei wird die VM neu gestartet und der Flavor (vCPU/RAM) geändert.
''While it is also possible to resize an instance to a '''smaller flavor''' (i.e. reduce its resources), this is '''not recommended''', as it can lead to unpredictable behavior or system instability.''


'''Wichtig:'''
* Daten auf '''anhängten Volumes''' (Cinder) bleiben unverändert.
* Sichern Sie wichtige Daten vor dem Resize.


=== Voraussetzungen ===
* Ausreichende Quota in der gewählten Region.
* Passender größerer Flavor ist vorhanden (siehe [[BwCloud-OS Bereitgestellete-Flavors|Hardware-Flavors]]).
* Wartungsfenster einplanen (kurzer Neustart/Unterbrechung).


=== Schritt-für-Schritt (Dashboard) ===
'''Important Notes:'''
# Im [https://dashboard.bw-cloud.org bwCloud-OS-Dashboard] anmelden und oben links die gewünschte '''Region''' auswählen.
# Zu ''Project → Compute → Instances'' navigieren.
# Bei der gewünschten Instanz rechts das Dropdown öffnen und '''''Resize Instance''''' wählen.
# Größeren '''Flavor''' auswählen (z. B. von <code>m1.small</code> auf <code>m1.medium</code>) und mit ''Resize'' bestätigen.
# Warten, bis der Status auf '''VERIFY_RESIZE''' steht und die VM wieder erreichbar ist.


=== Nach dem Resize: prüfen & bestätigen ===
* Data on attached volumes remains unchanged.
# Prüfen, ob die Ressourcen passen:
* The IP addresses remain unchanged.
## RAM/CPU: <code>free -h</code>, <code>nproc</code>
* ''Back up important data before resizing''.
## Plattenlayout: <code>lsblk</code>, <code>df -h</code>
# Wenn alles läuft: im Instanzen-Dropdown '''''Confirm Resize''''' wählen.
# Falls Probleme auftreten: im Dropdown '''''Revert Resize''''' wählen (stellt den alten Flavor wieder her).


'''Prerequisites:'''


=== Hinweise ===
* Enough quota is available in the selected region.
* Anhängte Daten-Volumes müssen separat über ''Volumes Extend Volume'' vergrößert und anschließend im Gastsystem erweitert werden (z. B. <code>sudo resize2fs</code> bzw. <code>sudo xfs_growfs</code>).
* A larger, compatible flavor is available (see [[Flavors]]).
* Während des Resizes wird die VM neu gestartet; die IP-Adresse bleibt erhalten.
* A short maintenance window must be scheduled (brief downtime expected).
'''Step-by-Step Procedure:'''
# Log in to the [https://portal.bw-cloud.org/ Dashboard] and select the appropriate '''region''' in the top-left menu.
# Navigate to '''Project → Compute Instances'''.
# Open the dropdown menu next to the instance you want to resize and select '''Resize Instance'''.
# Select a larger '''flavor''' (e.g., from <code>m1.small</code> to <code>m1.medium</code>) and confirm with '''Resize'''.
# Wait until the instance status changes to <code>VERIFY_RESIZE</code> and the VM becomes reachable again.
'''Verify & Confirm:'''
# Check that the resources match the new flavor  '''('''inside the instance):
#* RAM/CPU: <code>free -h</code>, <code>nproc</code>
#* Disk layout: <code>lsblk</code>, <code>df -h</code>
# If everything works as expected, select '''Confirm Resize''' in the instance dropdown.
# If issues occur, select '''Revert Resize''' to roll back to the previous flavor.
'''Further Notes:'''
* Attached data volumes are not resized automatically. To expand a volume:
# Go to the [https://portal.bw-cloud.org/ Dashboard] and use '''Volumes → Volume → Extend Volume'''.
# After resizing the volume, resize the filesystem '''inside the instance''' using a command such as:
#* <code>sudo resize2fs</code> (for ext4)
#* <code>sudo xfs_growfs</code> (for XFS)

Latest revision as of 18:44, 10 November 2025

In a Nutshell
  • Instances can be created via the Dashboard wizard, select: name →source → flavor → network → SSH key → launch.
  • The source defines the base disk for the instance, usually a pre-configured image containing the operating system (Rocky, Ubuntu, etc.) and initial software optimized for cloud environments.
  • The available resources of a virtual machine (vCPU, memory, etc.) are pre-defined by flavors. Choose a flavor that fits your workload and available quota when launching your instance.
  • To access your bwCloud-OS virtual machines, you must register an SSH key pair and assign it when creating instances. If you lose your private SSH key, you will lose access to your instance!


Creating Instances

How do I create a virtual machine using Dashboard (GUI)?

In the Dashboard, click Instances in the left-hand menu. On the new page, click Launch Instance. A dialog will open, guiding you through the configuration step by step:

  • Details: Enter a descriptive name for your instance.
  • Source: Select a source for the instance (image, snapshot, volume, etc.) — typically a preconfigured image (e.g., Debian x). Use the ↑ arrow to move the source into the Allocated list.
  • Flavor: Choose a flavor based on your required vCPU, RAM, etc. If your quota is insufficient, a yellow warning icon will appear.
  • Networks: Choose a network. Default settings are usually appropriate.
  • Security Groups: No changes are mandatory at this point. You can adjust rules later if necessary.
  • Key Pair: Select a registered public SSH key to be injected into the instance. This step is mandatory. Without a valid SSH key, remote access to the instance will not be possible.

After completing the required selections, click Launch Instance in the dialog. Once the instance has finished building and reaches the Running state, its IP address(es) will be shown in the Instances overview. You can then access the instance via its public IP address.

If you need further assistance, check out the illustrated guide below.

➡️ Illustrated Instance Creation Guide

Can I also create instances automatically?

Instances can also be deployed automatically using tools like Ansible. Further details are available here.

Connecting to Instances

Why do I need an SSH key, and how can I get one?

SSH keys provide secure, passwordless access to your virtual machines. You can either use your existing keys or generate a new SSH key pair through the bwCloud-OS Dashboard.

For detailed instructions, see the following guide.

➡️ SSH Guide

How do I access my instance via SSH?

Once your instance is running, you can connect to it via SSH from Linux, macOS, or Windows using the following command:

ssh -i /path/to/private-key <user>@<address>

  • <user> is the default username, e.g. ubuntu for Ubuntu images. For other images, see the Image Overview.
  • <address> is the DNS name (FQDN) or the public IP address of your running instance. Both can be found in the Dashboard, on the Instances page.

For (advanced) SSH connection methods, see the following guide.

➡️ SSH Guide

Can I replace a lost SSH key for my instance?

If you lose your private SSH key, it cannot be replaced — not even by the Support team. Access to the instance is only possible if you previously enabled password login via the virtual console.

I no longer have access to my instance, what can I do?

A possible (but tedious) workaround is described in the guide below.

➡️ Rescue and Recovery Guide

Resources of Instances

What are instance flavors, and which flavors are available?

bwCloud-OS offers various predefined resource packages, called flavors, which define the vCPU, RAM, and disk size of an instance.

For currently available flavors, see our Flavor Table.

If your current quota does not allow the use of certain flavors, you can request a quota increase.

How can I assign more resources to a running instance?

If your project has sufficient quota (vCPU, RAM, etc.), you can resize an existing VM to a larger flavor. This process restarts the VM and updates its allocated resources.

While it is also possible to resize an instance to a smaller flavor (i.e. reduce its resources), this is not recommended, as it can lead to unpredictable behavior or system instability.


Important Notes:

  • Data on attached volumes remains unchanged.
  • The IP addresses remain unchanged.
  • Back up important data before resizing.

Prerequisites:

  • Enough quota is available in the selected region.
  • A larger, compatible flavor is available (see Flavors).
  • A short maintenance window must be scheduled (brief downtime expected).

Step-by-Step Procedure:

  1. Log in to the Dashboard and select the appropriate region in the top-left menu.
  2. Navigate to Project → Compute → Instances.
  3. Open the dropdown menu next to the instance you want to resize and select Resize Instance.
  4. Select a larger flavor (e.g., from m1.small to m1.medium) and confirm with Resize.
  5. Wait until the instance status changes to VERIFY_RESIZE and the VM becomes reachable again.

Verify & Confirm:

  1. Check that the resources match the new flavor (inside the instance):
    • RAM/CPU: free -h, nproc
    • Disk layout: lsblk, df -h
  2. If everything works as expected, select Confirm Resize in the instance dropdown.
  3. If issues occur, select Revert Resize to roll back to the previous flavor.

Further Notes:

  • Attached data volumes are not resized automatically. To expand a volume:
  1. Go to the Dashboard and use Volumes → Volume → Extend Volume.
  2. After resizing the volume, resize the filesystem inside the instance using a command such as:
    • sudo resize2fs (for ext4)
    • sudo xfs_growfs (for XFS)