Skip to content

Commit

Permalink
F OpenNebula/one#5853: update doc for local driver
Browse files Browse the repository at this point in the history
Signed-off-by: Guillermo Ramos <[email protected]>
  • Loading branch information
1gramos committed Nov 26, 2024
1 parent b61165c commit d16df5b
Show file tree
Hide file tree
Showing 25 changed files with 89 additions and 73 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -412,9 +412,9 @@ Output should be similar to the following:

oneadmin@front-end:~$ onedatastore list
ID NAME SIZE AVA CLUSTERS IMAGES TYPE DS TM STAT
2 files 57.1G 94% 0 0 fil fs ssh on
1 default 57.1G 94% 0 0 img fs ssh on
0 system - - 0 0 sys - ssh on
2 files 57.1G 94% 0 0 fil fs local on
1 default 57.1G 94% 0 0 img fs local on
0 system - - 0 0 sys - local on

Again, verify that the last column, ``STAT``, displays ``on`` and not ``err``.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ Output should be similar to the following:

oneadmin@ubuntu2404fsn:~$ onedatastore list
ID NAME SIZE AVA CLUSTERS IMAGES TYPE DS TM STAT
2 files 28G 87% 0 0 fil fs ssh on
2 files 28G 87% 0 0 fil fs local on
1 default 28G 87% 0 0 img fs shared on
0 system - - 0 0 sys - shared on

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ The complete list of operating system services provided by OpenNebula:
| **opennebula-ssh-socks-cleaner** | Periodic cleaner of SSH persistent connections | opennebula |
+---------------------------------------+------------------------------------------------------------------------+---------------------------+

.. note:: Since 5.12, the OpenNebula comes with an integrated SSH agent as the ``opennebula-ssh-agent`` service which removes the need to copy oneadmin's SSH private key across your Hosts. For more information, you can look at the :ref:`passwordless login <kvm_ssh>` section of the manual. You can opt to disable this service and configure your environment the old way.
.. note:: Since 5.12, the OpenNebula comes with an integrated SSH agent as the ``opennebula-ssh-agent`` service which removes the need to copy oneadmin's SSH private key across your Hosts. For more information, you can look at the :ref:`passwordless login <kvm_local>` section of the manual. You can opt to disable this service and configure your environment the old way.

You are ready to **start** all OpenNebula services with the following command (NOTE: you might want to remove the services from the command arguments if you skipped their configuration steps above):

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -461,7 +461,7 @@ Sample configuration:
TM_MAD = [
EXECUTABLE = "one_tm",
ARGUMENTS = "-t 15 -d dummy,lvm,shared,fs_lvm,qcow2,ssh,ceph,dev,vcenter,iscsi_libvirt"
ARGUMENTS = "-t 15 -d dummy,lvm,shared,fs_lvm,qcow2,ssh,local,ceph,dev,vcenter,iscsi_libvirt"
]
The configuration for each driver is defined in the ``TM_MAD_CONF`` section.
Expand Down Expand Up @@ -531,7 +531,7 @@ Sample configuration:
DATASTORE_MAD = [
EXECUTABLE = "one_datastore",
ARGUMENTS = "-t 15 -d dummy,fs,lvm,ceph,dev,iscsi_libvirt,vcenter -s shared,ssh,ceph,fs_lvm"
ARGUMENTS = "-t 15 -d dummy,fs,lvm,ceph,dev,iscsi_libvirt,vcenter -s shared,local,ceph,fs_lvm"
]
For more information on this driver and how to customize it, please visit the :ref:`storage configuration <sm>` guide.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -261,12 +261,12 @@ You need to add templates to create your provider instances as well as the edge
- name: "${provision}-image"
type: 'image_ds'
ds_mad: 'fs'
tm_mad: 'ssh'
tm_mad: 'local'
safe_dirs: "/var/tmp /tmp"

- name: "${provision}-system"
type: 'system_ds'
tm_mad: 'ssh'
tm_mad: 'local'
safe_dirs: "/var/tmp
replica_host: "use-first-host"
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ For example, this is the directory tree of the bridge driver synced to a virtual

.. code-block:: text
root@ubuntu1804-ssh-6ee11-2:/var/tmp/one/vnm/bridge# tree ./
root@ubuntu1804-local-6ee11-2:/var/tmp/one/vnm/bridge# tree ./
./
├── clean
├── clean.d
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ Action scripts needed when the TM is used for the system datastore:
]
...
- **monitor_ds**: monitors a **ssh-like** system datastore. Distributed system datastores should ``exit 0`` on the previous monitor script. Arguments and return values are the same as the monitor script.
- **monitor_ds**: monitors a **local-like** system datastore. Distributed system datastores should ``exit 0`` on the previous monitor script. Arguments and return values are the same as the monitor script.

- **pre_backup** and **pre_backup_live**: These actions needs to generate disk backup images, as well as the VM XML representation in the folder ``remote_system_ds/backup``. Each disk is created in the form ``disk.<disk_id>.<increment_id>``. The VM representation is stored in a file named ``vm.xml``. The live version needs to pause/snapshot the VM to create consistent backup images.

Expand Down Expand Up @@ -386,16 +386,16 @@ The driver plugin ``<tm_mad>/monitor`` will report the information for two thing
- Total storage metrics for the datastore (``USED_MB`` ``FREE_MB`` ``TOTAL_MB``)
- Disk usage metrics (all disks: volatile, persistent and non-persistent)

Non-shared System Datastores (SSH-like)
Local System Datastores (SSH-like)
--------------------------------------------------------------------------------
Non-shared SSH datastores are labeled by including a ``.monitor`` file in the datastore directory in any of the clone or ln operations. Only those datastores are monitored remotely by the monitor_ds.sh probe. The datastore is monitored with ``<tm_mad>/monitor_ds``, but ``tm_mad`` is obtained by the probes reading from the .monitor file.
Local datastores are labeled by including a ``.monitor`` file in the datastore directory in any of the clone or ln operations. Only those datastores are monitored remotely by the monitor_ds.sh probe. The datastore is monitored with ``<tm_mad>/monitor_ds``, but ``tm_mad`` is obtained by the probes reading from the .monitor file.

The plugins <tm_mad>/monitor_ds + kvm-probes.d/monitor_ds.sh will report the information for two things:

- Total storage metrics for the datastore (``USED_MB`` ``FREE_MB`` ``TOTAL_MB``)
- Disk usage metrics (all disks volatile, persistent and non-persistent)

.. note:: ``.monitor`` will be only present in SSH datastores to be monitored in the nodes. System Datastores that need to be monitored in the nodes will need to provide a ``monitor_ds`` script and not the ``monitor`` one. This is to prevent errors, and not invoke the shared mechanism for local datastores.
.. note:: ``.monitor`` will be only present in Local datastores to be monitored in the nodes. System Datastores that need to be monitored in the nodes will need to provide a ``monitor_ds`` script and not the ``monitor`` one. This is to prevent errors, and not invoke the shared mechanism for local datastores.

The monitor_ds script.
--------------------------------------------------------------------------------
Expand Down
7 changes: 6 additions & 1 deletion source/intro_release_notes/release_notes/compatibility.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ This guide is aimed at OpenNebula 6.10.x users and administrators who want to up

Visit the :ref:`Features list <features>` and the :ref:`What's New guide <whats_new>` for a comprehensive list of what's new in OpenNebula 6.10.

New default Local datastore driver
================================================================================

Since OpenNebula 6.10.2, the default Local driver is ``local`` instead of ``ssh`` (see :ref:`Local Storage datastore drivers <local_ds_drivers>`). The legacy ``ssh`` driver is still supported and nothing needs to be done for already existing datastores to keep working. As supporting qcow2 features such as thin provisioning required breaking compatibility with existing datastores, we decided to take the opportunity to write the ``local`` driver from scratch, making the driver more maintenable and easing new feature development.

Check Datastore Capacity During Image Create
================================================================================

Expand Down Expand Up @@ -43,4 +48,4 @@ Remember that in new Sunstone you need to create the user label in the Settings

VMRC support on Sunstone
================================================================================
New Sunstone removes the support for VMRC (VMware Remote Console) so an user cannot connect to a virtual machine using VMRC.
New Sunstone removes the support for VMRC (VMware Remote Console) so an user cannot connect to a virtual machine using VMRC.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ A complete list of solved issues for 6.10.2 can be found in the `project develop

The following new features have been backported to 6.10.2:

- `Review local storage transfer manager drivers <https://github.com/OpenNebula/one/issues/5908>`__.

The following issues has been solved in 6.10.2:

Expand Down
4 changes: 2 additions & 2 deletions source/legacy_components/vcenter_driver/vcenter_driver.rst
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ The following section configures the vCenter datastore drivers, used to copy ima
DATASTORE_MAD = [
EXECUTABLE = "one_datastore",
ARGUMENTS = "-t 15 -d dummy,fs,lvm,ceph,dev,iscsi_libvirt,vcenter -s shared,ssh,ceph,fs_lvm,qcow2,vcenter"
ARGUMENTS = "-t 15 -d dummy,fs,lvm,ceph,dev,iscsi_libvirt,vcenter -s shared,ssh,local,ceph,fs_lvm,qcow2,vcenter"
]
Expand All @@ -88,7 +88,7 @@ The following section configures the vCenter datastore transfer drivers, used to
TM_MAD = [
EXECUTABLE = "one_tm",
ARGUMENTS = "-t 15 -d dummy,lvm,shared,fs_lvm,qcow2,ssh,ceph,dev,vcenter,iscsi_libvirt"
ARGUMENTS = "-t 15 -d dummy,lvm,shared,fs_lvm,qcow2,ssh,local,ceph,dev,vcenter,iscsi_libvirt"
]
TM_MAD_CONF = [
Expand Down
6 changes: 3 additions & 3 deletions source/management_and_operations/backups/operations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -237,10 +237,10 @@ The ``SOURCE`` attribute in the backup images (and increments) is an opaque refe

$ restic snapshots
repository d5b1499c opened (repository version 2) successfully, password is correct
ID Time Host Tags Paths
ID Time Host Tags Paths
-----------------------------------------------------------------------------------------------------------------
25f4b298 2022-12-01 13:36:51 ubuntu2204-kvm-ssh-6-5-e795-2.test one-0 /var/lib/one/datastores/0/0/backup
6968545c 2022-12-01 14:22:44 ubuntu2204-kvm-ssh-6-5-e795-2.test one-0 /var/lib/one/datastores/0/0/backup
25f4b298 2022-12-01 13:36:51 ubuntu2204-kvm-local-6-5-e795-2.test one-0 /var/lib/one/datastores/0/0/backup
6968545c 2022-12-01 14:22:44 ubuntu2204-kvm-local-6-5-e795-2.test one-0 /var/lib/one/datastores/0/0/backup
-----------------------------------------------------------------------------------------------------------------

**Note**: with the restic driver each snapshot is labeled with the VM id in OpenNebula.
Expand Down
2 changes: 1 addition & 1 deletion source/management_and_operations/backups/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Performing a VM backup may require some support from the hypervisor or the disk
| vCenter | vCenter\ :sup:`**` | Not supported |
+------------+------------------------+---------+-----------+---------+-----------+

\ :sup:`*` Any datastore based on files with the given format, i.e. NFS/SAN or SSH.
\ :sup:`*` Any datastore based on files with the given format, i.e. NFS/SAN or Local.

\ :sup:`**` The legacy vCenter driver is included in the distribution, but no longer receives updates or bug fixes.

Expand Down
6 changes: 3 additions & 3 deletions source/management_and_operations/backups/restic.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@ After some time, the datastore should be monitored:
$ onedatastore list
ID NAME SIZE AVA CLUSTERS IMAGES TYPE DS TM STAT
100 RBackups 1.5T 91% 0 0 bck restic - on
2 files 19.8G 84% 0 0 fil fs ssh on
1 default 19.8G 84% 0 1 img fs ssh on
0 system - - 0 0 sys - ssh on
2 files 19.8G 84% 0 0 fil fs local on
1 default 19.8G 84% 0 1 img fs local on
0 system - - 0 0 sys - local on

That's it, we are all set to make VM backups!

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ The System Datastore for a Cluster

In order to create a complete environment where the scheduler can deploy VMs, your clusters need to have at least one System Datastore.

You can add the default System Datastore (ID: 0), or create a new one to improve its performance (e.g. balance VM I/O between different servers) or to use different System Datastore types (e.g. ``shared`` and ``ssh``).
You can add the default System Datastore (ID: 0), or create a new one to improve its performance (e.g. balance VM I/O between different servers) or to use different System Datastore types (e.g. ``shared`` and ``local``).

To use a specific System Datastore with your cluster, instead of the default one, just create it and associate it just like any other datastore (``onecluster adddatastore``).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ The information of a Host contains:

* **General information** of the Host including its name and the drivers used to interact with it.
* **Capacity** (*Host Shares*) for CPU and memory.
* **Local datastore information** (*Local System Datastore*) if the Host is configured to use a local datastore (e.g. in SSH transfer mode).
* **Local datastore information** (*Local System Datastore*) if the Host is configured to use a local datastore (e.g. in Local transfer mode).
* **Monitoring Information**, including PCI devices and NUMA information of the node. You can also find hypervisor specific information here.
* **Virtual Machines** allocated to the Host. *Wild* are virtual machines running on the Host but not started by OpenNebula, and can be imported.

Expand Down
12 changes: 6 additions & 6 deletions source/management_and_operations/monitor_alert/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ The OpenNebula Prometheus package comes with a simple script that automatically

$ onehost list
ID NAME CLUSTER TVM ALLOCATED_CPU ALLOCATED_MEM STAT
1 kvm-ssh-uimw3-2.test default 0 0 / 100 (0%) 0K / 1.2G (0%) on
0 kvm-ssh-uimw3-1.test default 0 0 / 100 (0%) 0K / 1.2G (0%) on
1 kvm-local-uimw3-2.test default 0 0 / 100 (0%) 0K / 1.2G (0%) on
0 kvm-local-uimw3-1.test default 0 0 / 100 (0%) 0K / 1.2G (0%) on

Now, we will generate the prometheus configuration in ``/etc/one/prometheus/prometheus.yml``, as ``root`` (or ``oneadmin``) execute:

Expand Down Expand Up @@ -118,21 +118,21 @@ This command connects to your cloud as oneadmin to gather the relevant informati
- targets:
- 127.0.0.1:9100
- targets:
- kvm-ssh-uimw3-2.test:9100
- kvm-local-uimw3-2.test:9100
labels:
one_host_id: '1'
- targets:
- kvm-ssh-uimw3-1.test:9100
- kvm-local-uimw3-1.test:9100
labels:
one_host_id: '0'
- job_name: libvirt_exporter
static_configs:
- targets:
- kvm-ssh-uimw3-2.test:9926
- kvm-local-uimw3-2.test:9926
labels:
one_host_id: '1'
- targets:
- kvm-ssh-uimw3-1.test:9926
- kvm-local-uimw3-1.test:9926
labels:
one_host_id: '0'

Expand Down
6 changes: 3 additions & 3 deletions source/management_and_operations/references/cli.rst
Original file line number Diff line number Diff line change
Expand Up @@ -187,9 +187,9 @@ For example, in the case of ``onevm list``, by default it looks like this
root@supermicro9:~# onevm list
ID USER GROUP NAME STAT CPU MEM HOST TIME
9234 oneadmin oneadmin alma8-alma8-6-7-80-e3f1f4b2-6a26f4bd-1825.build unde 0.5 8G 0d 05h57
9233 nhansen users alma8-kvm-ssh-6-6-pkofu-2.test runn 0.5 1.3G localhost 0d 07h04
9232 nhansen users alma8-kvm-ssh-6-6-pkofu-1.test runn 0.5 1.3G localhost 0d 07h04
9231 nhansen users alma8-kvm-ssh-6-6-pkofu-0.test runn 0.5 1.8G localhost 0d 07h04
9233 nhansen users alma8-kvm-local-6-6-pkofu-2.test runn 0.5 1.3G localhost 0d 07h04
9232 nhansen users alma8-kvm-local-6-6-pkofu-1.test runn 0.5 1.3G localhost 0d 07h04
9231 nhansen users alma8-kvm-local-6-6-pkofu-0.test runn 0.5 1.8G localhost 0d 07h04

But you can change the default columns, increase the column width and disable expansion to make it look like this

Expand Down
Loading

0 comments on commit d16df5b

Please sign in to comment.