CPU Hot-Plug em Servidores Linux

CPU Hot-Plug em Servidores Linux

Dentro do Linux é possível realizar o hot-plug de CPU, mas o que é “hot-plug“?

Hot-plug é um mecanismo de “troca de hardware à quente”, ou seja, enquanto o servidor ainda está ligado, não sendo necessário que o mesmo seja desligado para que ele reconheça e habilite o novo hardware que está sendo adicionado. A vantagem de se ter um servidor que suporta esse tipo recurso, é poder realizar manutenções e alterações físicas no hardware com o servidor ainda ligado, sendo assim, não há downtime nas aplicações que rodam nele.

Lembrando que para servidores físicos é necessário que a BIOS tenha suporte ao hot-plug e também possua mais de um slot para processadores.

Agora que entendemos o que é o hot-plug em si, podemos habilitar e desabilitar os núcleos logicamente.

 

Hands-On!

A partir do momento em que adicionamos um processador, o diretório “/sys/devices/system/cpu/” será populado com os núcleos deste processador. A população do diretório também acontece quando é aumentado a quantidade de vCPUS em um servidor virtualizado.

root@ubuntu:~# ls -l /sys/devices/system/cpu/
total 0
drwxr-xr-x 6 root root 0 Jan 21 19:18 cpu0
drwxr-xr-x 6 root root 0 Jan 21 19:18 cpu1
drwxr-xr-x 6 root root 0 Jan 21 19:18 cpu2
drwxr-xr-x 6 root root 0 Jan 22 18:53 cpu3
drwxr-xr-x 5 root root 0 Jan 21 19:18 cpu4
drwxr-xr-x 5 root root 0 Jan 21 19:18 cpu5
drwxr-xr-x 5 root root 0 Jan 21 19:18 cpu6
drwxr-xr-x 5 root root 0 Jan 21 19:19 cpu7
drwxr-xr-x 2 root root 0 Jan 21 19:18 cpufreq
drwxr-xr-x 2 root root 0 Jan 21 19:18 cpuidle
drwxr-xr-x 2 root root 0 Jan 21 19:18 hotplug
-r--r--r-- 1 root root 4096 Jan 21 19:18 isolated
-r--r--r-- 1 root root 4096 Jan 21 19:18 kernel_max
-r--r--r-- 1 root root 4096 Jan 21 19:18 modalias
-r--r--r-- 1 root root 4096 Jan 21 19:18 offline
-r--r--r-- 1 root root 4096 Jan 21 19:18 online
-r--r--r-- 1 root root 4096 Jan 21 19:18 possible
drwxr-xr-x 2 root root 0 Jan 21 19:18 power
-r--r--r-- 1 root root 4096 Jan 21 19:18 present
drwxr-xr-x 2 root root 0 Jan 21 19:18 smt
-rw-r--r-- 1 root root 4096 Jan 21 19:18 uevent
drwxr-xr-x 2 root root 0 Jan 21 19:18 vulnerabilities
root@ubuntu:~#

Através do retorno da listagem do diretório, podemos notar que existem alguns arquivos destacados, sendo eles:

  • cpuX – Dentro destes diretórios há arquivos que podemos utilizar na manipulação do núcleo do processador.
  • offline – Neste arquivo há os núcleos que estão logicamente desativados.
  • online – Dentro deste arquivo há os núcleos que estão habilitados no servidor.

E dentro do diretório referente ao novo núcleo, existe um arquivo chamado “online”. Através desse arquivo, podemos gerenciar o status de tal núcleo no servidor, sendo assim, podemos habilitá-lo ou desabilitá-lo.

Por exemplo, para verificar o status do núcleo através do arquivo, podemos exibir o conteúdo do arquivo “online” dentro do diretório “cpu7”:

root@ubuntu:~# cat /sys/devices/system/cpu/cpu7/online
0
root@ubuntu:~#

Como conteúdo deste arquivo, podemos ter duas informações:

  • 0 – Significa que este núcleo está desabilitado;
  • 1 – Significa que este núcleo está habilitado.

Para habilitar, simplesmente podemos redirecionar o numeral “1” para dentro deste arquivo.

root@ubuntu:~# echo 1 > /sys/devices/system/cpu/cpu7/online
root@ubuntu:~#

Caso queira desabilitar o núcleo, é só redirecionar o numeral “0” para o mesmo arquivo.

root@ubuntu:~# echo 0 > /sys/devices/system/cpu/cpu7/online
root@ubuntu:~#

 

Conclusão

Neste post vimos que é possível aumentar o poder de processamento em nosso servidor sem ter que desligá-lo para isso, o que no dia a dia se torna um recurso muito importante.

Até a próxima!

 

CURSOSCONSULTORIA    CONTATO

Anterior Status do Caça Talentos Melhor Idade 2019
Próxima Terraform #parte3 - Criando dependências entre recursos

About author

Vinicius Felix
Vinicius Felix 3 posts

Vinicius Felix da Silva, atua como Analista de Infraestrutura, é entusiasta em tecnologias de software livre e é formado em Redes de Computadores pelo SENAC. Possui a certificação LPI 1.

View all posts by this author →

Você pode gostar também

Infraestrutura

Vault: Autenticação SSH com OneTime Password

Vault é uma ferramenta desenvolvida pela HashiCorp, essa ferramenta tem como objetivo fazer um armazenamento inteligente de “segredos”, podem ser eles, chaves de ssh, dados de acesso a um banco

Infraestrutura

Linux Bonding: Alta Disponibilidade em Interfaces de Rede

Quando falamos de infraestrutura, um dos pré-requisitos é se pensar em alta disponibilidade, seja ela de: Máquinas Virtuais Storages Máquinas Físicas Links de Internet E etc. Nesse post vou explicar

Infraestrutura

Workshop sobre infraestrutura ágil.

No dia 10/11/2016, aconteceu na sede da 4linux em São Paulo o workshop “Infraestrutura Ágil”. A procura foi grande pois o público estava muito interessado em ouvir sobre  DOCKER, GIT,