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
Crie sua primeira aplicação em Python: Guia passo a passo
Neste post estaremos aprendendo a criar uma aplicação simples utiliando a linguagem de programação “Python”. Primeiramente, obviamente, será necessário ter o python instalado em nossas máquinas, podemos adquirí-lo de
Aprenda a criar mapas de rede com o novo curso de Monitoramento Zabbix
Assista ao vídeo e confira o Screencast Tutorial: Criando mapas de rede para monitoramento com Zabbix. Conheça nosso novo curso Monitoramento de Redes com Zabbix agora com Oracle e Jboss. Baixe também
Guia Prático: Aprenda a Manipular Dados no MongoDB
Dando continuidade na série de MongoDB, após construir um Cluster de MongoDB usando o passo a passo do desse artigo, vamos agora manipular os dados dentro desse banco, ou como