XFS – Resize the immutable file system

In the Veeam Backup & Replication environment, it may be necessary to expand the allocated space of a Linux repository.

In my environment, there is an Ubuntu 22.04 server to which a second disk(dev/sdb) was added, formatted as xfs, and made available as mount point /mnt/backup/ .

The server is used in hardened repository mode (immutability)

Let’s look at the simple procedure:

  • The packages to install are cloud-guest-utils and gdisk:
    “sudo apt -y install cloud-guest-utils gdisk”
  • To find out the structure of the file system use the command:
    “sudo lsblk”

      • The result shows the sizing, and mount point of Ubuntu server file system:
        sda 8:0 0 16G 0 disk
        ├─sda1 8:1 0 1M 0 part
        ├─sda2 8:2 0 1.8G 0 part /boot
        └─sda3 8:3 0 14.2G 0 part
        └─ubuntu–vg-ubuntu–lv 253:0 0 10G 0 lvm /
        sdb 8:16 0 100G 0 disk. └─sdb1 8:17 0 80G 0 part /mnt/backup
        sr0 11:0 1 1024M 0 rom
  • To find out if the file system has additional space to allocate:
    “sudo growpart /dev/sdb 1”

    • The result shows the item changed
      CHANGED: partition=1 start=2048 old: size=167770079 end=167772126 new: size=209713119 end=209715166
  • The final command that widens the file system is: sudo “xfs_growfs /mnt/backup/”
  • Check the result through the command already seen: sudo lsblk”

Kubernets: Why adopt it?

Kubernetes (k8s), is an open source platform, introduced by Google, introduced as a simple container orchestration tool but has become the de facto cloud-native platform.

Because “ k8s “is it so widely used?

As it is able to respond effectively to the requests of users of service, adapt to the creativity of cloud architects, and be so stable that meets the demands of the operation.

These advantages can be summarized as follows:

  • Reliable
  • Scalable
  • Self-healing
  • Rapid
  • Efficient
  • Sure
  • Agile
  • Transportable

In this article we will develop the 8 arguments just indicated:

1- Reliability means an architecture capable of functioning even if a part of it is no longer available. K8s was conceived with a natively clustered philosophy.

2- Scalability is required to handle any peak workload. In other words, it is capable of responding to requests for new resources on demand.

The architecture model on which it is based is the decoupling. Every single component has its own characteristics and can be easily added to the k8s environment.

Through the configuration files, the various objects are authorized to communicate with each other.

The key components K8S are the nodes, the K8S services components are load balancers, name-spaces, and so on (see next items)

3- Healing: K8s acts to ensure that the current state automatically matches the desired state of the architecture .

4- Fast: K8s is able to distribute components immediately. In this way, it is possible to respond to an overload management request and/or the need to quickly implement new services.

5- Efficiency is the ratio between the useful work and the total amount of energy used to obtain the result. K8s for its architecture has the best relationship because it has essentiality in its DNA.

6- Security works closely with K8S.

a- The images that turn in the containers are by their definition immutable. This approach has a great advantage because:

No changes it is implemented at the system (container) level.

– Nothing can change the nucleus service unless the entire image is deleted and redistributed.

Let’s compare this approach with a standard environment, where there is a Linux VM.

If we wanted to install, modify, update an application on the latter, we would have to act via apt-get on the necessary packages.

By doing so, we will change the environment by actually opening a security breach.

In K8s the image is not modified but deleted and recreated.

b- Another big advantage is that configuration changes are managed through declarative files (configuration files). These files have a description of the final state of the system. The result is that they show the effect of the configuration before it is run.

7- Agility means greater ease and efficiency in creating container images than using VM images. The developer can write code regardless of compatibility issues.

8- Portability sets the standard for the software development life cycle.

Note 1: The first version of Kubernetes dates back to 2014 and was created to respond to the need to implement a solid cluster solution for container environments.

Take care and see you soon