Maximize o poder do seu servidor com Hot-Plug no 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!
About author
Você pode gostar também
Entenda o que é um chatbot e como ele pode revolucionar o atendimento ao cliente
A procura por soluções de chatbot (atendimento automatizado por chat) vem crescendo muito nos últimos tempos, ainda mais nestes tempos de pandemia. Muitos criticam seu uso pois isso retira uma
Guia prático para atualizar o Zabbix 4.0 LTS para a 5.0 LTS
Assim como muitas ferramentas Open Source, o Zabbix vem aprimorando seus recursos através de um ciclo contínuo de desenvolvimento sempre tentando atender as necessidades de clientes e da própria comunidade,
Como otimizar a monitoração de infraestrutura com Prometheus e Grafana
Um dos dos pilares do DevOps é a monitoração contínua de nossa infraestrutura e de nossos serviços. Através do monitoramento, podemos extrair informações importantes sobre a saúde de nossos componentes,