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 Terraform e como ele se encaixa na Infraestrutura Ágil
Antes de entendermos como o Terraform funciona na prática é necessário compreendermos do que se trata a infraestrutura ágil e onde o Terraform se encaixa. Infraestrutura Ágil Infraestrutura ágil é
Keycloak: Gerenciamento de Identidade e Acesso para WebApps e Serviços RESTful
O Keycloak [1] é um software open source de gerenciamento de identidade e acesso voltado para WebApps e RESTful web services. Inicialmente desenvolvido em 2014 pela comunidade de JBoss. Em
Guia completo: Instalação e configuração do SQL Server no Linux
O SQL server é um sistema gerenciador de banco de dados relacional, mantido pela Microsoft. Originalmente estava disponível apenas para distribuições Windows, como o Windows Server. Desde a versão do