Logo Atlas
  • Home
  • About Me
  • Skills
  • Education
  • Recent Posts
  • Certifications
  • Posts
  • English
    Español English
  • Dark Theme
    Light Theme Dark Theme System Theme
Logo Inverted Logo
  • Posts
  • OpenStack
    • 01 - What is OpenStack?
    • 02 - Installation and Deployment Methods for OpenStack
    • Manual Installation
      • 03 - Manual OpenStack Installation Guide with Vagrant
      • 04 - Scenario Deployment and Preparation
      • 05 - Install and Configure Keystone on the Controller Node
      • 06 - Create Domains, Projects, Users, and Roles in OpenStack
      • 07 - Install and Configure Glance (Image Service)
      • 08 - Configure Placement in OpenStack
      • 09 - Install and Configure Nova on the Controller Node
      • 10 - Install and Configure Nova on Compute Nodes
      • 11 - Configure Neutron on the Controller Node
      • 12 - Configure Neutron on Compute Nodes
      • 13 - Verify the Minimum OpenStack Installation
      • 14 - Configure Cinder on the Controller Node
      • 15 - Install and Configure Cinder on Storage Nodes
      • 16 - Install and Configure Horizon on the Controller Node
  • CI / CD Jenkins
    • CI / CD practice with Jenkins
    • Workshop 1 Ortho-rector of markdown documents (test)
    • Workshop 2 Valid HTML5 check and surge.sh deployment (test and deploy)
    • Workshop 3 Continuous integration of django application (Test)
  • Database
    • Install MariaDB in Debian
    • Interconnection of database servers
    • Oracle 19c installation under Debian 12
    • PostgreSQL installation in Debian 12
    • Remote access configuration in Oracle
    • Remote access in MariaDB
  • Docker
    • Docker Compose Installation on Ubuntu 24
    • Docker Installation on Ubuntu 24
    • Workshop 1 Storage and networks in Docker
    • Workshop 2 Multicontainer Scenarios in Docker
    • Workshop 3 Image creation Docker
  • Firewall
    • Fortinet CLI
    • Perimetral with Fortinet I
    • Perimetral with Fortinet II
    • Perimetral with Nftables I
    • Perimetral with Nftables II
  • Linux Drivers
    • Drivers Nvidia
    • How to choose which graph to use on my laptop with Linux
  • Networks
    • Android GNS3-KVM
    • Basic IPv6 scenario
    • GNS3 and Wireshark installation
    • GNS3 installation in Debian 12
    • GNS3 switch configuration
    • IPV6 Tunnels
    • NAT in Cisco and Linux
    • Network monitoring commands
    • OpenStack routing
    • Protocol ARP
    • Underworld
    • Underworld evolution
  • Observability
    • Metrics
      • Prometheus
        • Installation of Prometheus with Docker Compose and Node Exporter on Debian 12
  • Security
    • Forensic computer
    • HTTPS
  • Services
    • Apache
    • DHCP
      • Installation and Configuration of a DHCP Server on Linux
    • DNS
      • BIND9
        • Configuring a Slave DNS Server with BIND9
        • Installation and Configuration of BIND9 on Linux
      • DNSMASQ
        • Local Server with DNSMasq
    • FTP
    • NAT with iptables
    • SSH
  • Systems
    • Active Directory in Ubuntu
    • Centralized collection of logs journald
    • Compilations in LINUX
      • Compilation of a C-program using a Makefile
      • Compilation of a kernel
    • Creation of an automated installation system
    • Install and configure samba in Debian
    • Linux Command
      • Kernel parameter modification exercises
      • Linux processes
      • Module management exercises
      • Package management
      • Packaging and compressors
      • Paid management exercises
      • Task programming
    • Migration in Linnux
      • File system
      • Migtation from CentOS stream 8 to CentOS stream 9
      • Systemd elimination
      • Transformation instance cloud
    • NFS in Debian
    • SELinux activation configuration
    • Share resources in Windows
    • Ssh service in Windows
    • Storage Spaces in Windows Server
  • Virtualization (KVM on Linux)
    • Introduction to virtualization with KVM
      • Virtualization basics in Linux
      • Types of hypervisors
      • KVM architecture and operation
    • Installation and configuration
      • Install KVM and libvirt
      • Validate KVM host
    • Virtual machine management
      • Create VM with virt-install
      • VM components
      • Manage with virsh
      • Clone and rename VMs
      • Expand VM resources
      • Snapshots in KVM
      • Virtual machine templates
    • Networking in KVM
      • Network types in KVM
      • Create and configure private virtual networks
      • Create bridge interface
    • Storage in KVM
      • Introduction to storage
      • Managing pools
      • Volumes (virsh)
      • Resizing disks (VMs)
  • VPN
    • OpenVPN and Wireguard Comparative
    • OpenVPN remote access
    • Remote access Ipsec StrongSwan
    • Site-to-Site IPsec Cisco
    • Site-to-Site IPsec Fortinet
    • Site-to-Site OpenVPN
    • Site-to-Site Wireguard
    • Wireguard remote access
  • Web applications
    • LAMP stack installation
    • LEMP stack installation
    • WordPress LAMP
    • WordPress LEMP
Hero Image
How to create a Debian 13 virtual machine template

A virtual machine template is a preconfigured OS image that we use to quickly deploy new VMs, avoiding repetitions and errors. Here we’ll see how to create a Debian 13 master template ready for cloning. 1 Create and install the base VM Create a clean Debian 13 VM, apply all updates and add the common software you want on all clones (guest agent, utilities, etc.). Minimal example: # Create the base VM (adjust CPU, RAM, disk, ISO and network to your environment) virt-install \ --name debian13-base \ --memory 4096 \ --vcpus 2 \ --disk path=/var/lib/libvirt/images/debian13-base.qcow2,size=20,format=qcow2 \ --cdrom /var/lib/libvirt/images/debian-13.1.0-amd64-netinst.iso \ --os-variant debian12 \ --network network=default,model=virtio \ --noautoconsole Once the VM is created, install all the components you want this template to have: users, packages, etc.

  • KVM
  • Virtualization
  • Libvirt
  • Linux
  • VM
  • Templates
  • Debian13
Saturday, October 18, 2025 | 6 minutes Read
Hero Image
08 - Configure Placement in OpenStack

Placement tracks available physical resources and helps Nova schedule allocations. In this guide I will install and configure Placement on controller01 using Ubuntu packages and provide the minimal steps to verify it. Prerequisites Before starting, make sure you have: Keystone installed and reachable. A MySQL/MariaDB database available. Administrative credentials (admin-openrc) to create users and services. Create the database Connect to the database server as root to create the Placement database:

  • openstack
  • installation
  • placement
Sunday, November 23, 2025 | 2 minutes Read
Hero Image
09 - Install and configure Nova on the controller node

This document describes how to install and configure the Compute service (Nova) on the controller node (controller01). Prerequisites Before starting, make sure you have the basic Keystone credentials and databases created (admin-openrc available). Create the databases (on controller01) Connect to the SQL server as root to create the necessary databases: vagrant@controller01:~$ sudo mysql Create the nova_api, nova, and nova_cell0 databases: CREATE DATABASE nova_api; CREATE DATABASE nova; CREATE DATABASE nova_cell0; Grant permissions to the nova account (replace NOVA_DBPASS with your password):

  • openstack
  • installation
  • nova
Sunday, November 23, 2025 | 3 minutes Read
Hero Image
10 - Install and configure Nova on compute nodes

On this page I configure a compute node (for example compute01) so it can run instances with Nova. I use QEMU/KVM when the hardware supports it; if not, I configure pure QEMU. Before starting, make sure you have: Added the controller name and IP in /etc/hosts on the compute node. Service credentials (admin-openrc) and access to the database server. Install and configure the components (on the compute node) vagrant@compute01:~$ sudo apt install nova-compute -y Edit /etc/nova/nova.conf and point the connection strings to the controller databases:

  • openstack
  • installation
  • nova
Sunday, November 23, 2025 | 2 minutes Read
Hero Image
11 - Configure Neutron on the controller node

This page installs and configures the Neutron networking service on the controller node (controller01). Neutron manages virtual networks, routers, subnets, and other networking components for instances. Prerequisites Before starting, ensure you have: Keystone installed and reachable. A MySQL/MariaDB database available. Administrative credentials (admin-openrc) to create users and services. Create the database Connect to the database server as root to create the Neutron database: Access the SQL client: vagrant@controller01:~$ sudo mysql Create the neutron database: MariaDB [(none)]> CREATE DATABASE neutron; Grant privileges to user neutron (replace NEUTRON_DBPASS with your password): MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \ IDENTIFIED BY 'NEUTRON_DBPASS'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \ IDENTIFIED BY 'NEUTRON_DBPASS'; Exit the client when finished. Create the user and service endpoints Load your admin credentials to work with the OpenStack CLI:

  • openstack
  • installation
  • neutron
Sunday, November 23, 2025 | 4 minutes Read
Hero Image
12 - Configure Neutron on compute nodes

On this page, we configure Neutron on the compute node (compute01). The compute node manages network connectivity and security groups for the instances that run on it. Prerequisites Make sure you have completed all previous posts before starting. Install the components vagrant@compute01:~$ sudo apt install -y neutron-linuxbridge-agent Configure the common component Edit /etc/neutron/neutron.conf to configure authentication and the message queue. In [DEFAULT], configure access to RabbitMQ and the authentication strategy:

  • openstack
  • installation
  • neutron
Sunday, November 23, 2025 | 3 minutes Read
Hero Image
13 - Verify the Minimum OpenStack Installation

On this post we perform an end-to-end verification from the controller node (controller01). First we check the network agents, then we create the internal network and subnet, configure a router, prepare the external network, check image and flavor, create an SSH keypair, launch an instance and validate connectivity (ICMP/SSH) using a floating IP. Example outputs are included to compare against your environment. Before starting, load your admin credentials if they are not already in the environment:

  • openstack
  • installation
  • verification
Sunday, November 23, 2025 | 6 minutes Read
Hero Image
14 - Install Cinder (controller node)

This post details the steps we follow to install and configure Cinder, the OpenStack block storage service, on the controller node (controller01). We include the commands to create the database, configure services, endpoints and the Nova integration. Create the Cinder database Access MySQL and create the database and user: vagrant@controller01:~$ sudo mysql CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'CINDER_DB_PASS'; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'CINDER_DB_PASS'; EXIT; Create the Cinder user and assign the admin role Load the admin credentials and create the cinder user in the service project:

  • openstack
  • installation
  • cinder
Sunday, November 23, 2025 | 3 minutes Read
Hero Image
15 - Install and configure Cinder on storage nodes

This post explains how to install and configure OpenStack’s volume service (Cinder) on a storage node using LVM. Note: run commands on the storage node (storage01) and use them as shown. Install required packages sudo apt install -y lvm2 thin-provisioning-tools Verify the /dev/vdb disk fdisk -l Make sure /dev/vdb appears and has no partitions before continuing. Create the LVM physical volume sudo pvcreate /dev/vdb Create the cinder-volumes volume group sudo vgcreate cinder-volumes /dev/vdb Edit /etc/lvm/lvm.conf Under the devices section, add or modify the filter line to prevent LVM from scanning unwanted disks:

  • openstack
  • installation
  • cinder
Sunday, November 23, 2025 | 2 minutes Read
Hero Image
16 - Install and configure Horizon on the controller node

This post explains how to install and configure the Horizon web dashboard on the controller node (controller01). Install required packages sudo apt update sudo apt install -y openstack-dashboard Edit Horizon main configuration Edit /etc/openstack-dashboard/local_settings.py and ensure the following lines are set. Use sudo with vim or nano if preferred. sudo nano /etc/openstack-dashboard/local_settings.py Key entries: OPENSTACK_HOST = "controller01" SESSION_ENGINE = 'django.contrib.sessions.backends.cache' CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache', 'LOCATION': 'controller01:11211', } } OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True OPENSTACK_API_VERSIONS = { "identity": 3, "image": 2, "volume": 3, } OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default" OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user" Note: change volume: 2 to volume: 3 because we use Cinder v3 endpoints. If you prefer v2, set OPENSTACK_API_VERSIONS['volume'] = 2.

  • openstack
  • installation
  • horizon
Sunday, November 23, 2025 | 2 minutes Read
Hero Image
How to create and manage snapshots in KVM

Snapshots let you capture a VM’s state at a specific moment so you can roll back if something goes wrong (updates, risky changes, tests). In KVM with libvirt there are two main families: Internal snapshots: the snapshot content is stored inside the qcow2 file itself. They usually require the VM to be powered off and only work with qcow2 storage (not raw, LVM, etc.). External snapshots: they create separate overlay files (qcow2); these are the most used for hot snapshots (running VM). They allow more flexible flows and can be consolidated later (blockcommit). Additionally, a snapshot can be:

  • KVM
  • Virtualization
  • Libvirt
  • Linux
  • VM
  • Snapshots
Friday, October 17, 2025 | 5 minutes Read
Hero Image
Installing NVIDIA Drivers on Debian 13

The installation of NVIDIA drivers in the Linux universe has traditionally been a challenge, especially in distributions like Debian, where free software policies often complicate the process. In this post, I will explain a simple way to install NVIDIA drivers using the official Debian 13 (Trixie) repositories. In addition, at the end of the article, you will learn how to install a key tool called Nvidia Optimus, which gives you the ability to choose which graphics card your system will use.

  • NVIDIA Drivers
  • Linux
Sunday, August 24, 2025 | 4 minutes Read
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • »»
Navigation
  • About Me
  • Skills
  • Education
  • Recent Posts
  • Certifications
Contact me:
  • contacto@javiercd.es
  • javierasping
  • Francisco Javier Cruces Doval

Liability Notice: This theme is under MIT license. So, you can use it for non-commercial, commercial, or private uses. You can modify or distribute the theme without requiring any permission from the theme author. However, the theme author does not provide any warranty or takes any liability for any issue with the theme.


Toha Theme Logo Toha
© 2023 Copyright.
Powered by Hugo Logo