Skip to content

Commit

Permalink
aprimorando o index.md
Browse files Browse the repository at this point in the history
  • Loading branch information
EduardoVasconceloss authored Aug 3, 2023
1 parent 1b4fe1a commit da5775b
Showing 1 changed file with 60 additions and 71 deletions.
131 changes: 60 additions & 71 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
# Documentação Cluster Beowulf - MATA58
# Script para Cluster Beowulf

Bem vindo! Nessa documentação irei te ensinar como você pode realizar atividades em um cluster beowulf de maneira mais "automatizada" através de um script em bash.

## Configure o arquivo hosts da sua máquina

Na sua máquina, você deve declarar quem é o node1 e quem é o node2 e atribuir um IP para eles. Para fazer isso você deve alterar o arquivo "hosts", para isso, execute o seguinte comando:
Na sua máquina, você deve declarar quem é o node1 e quem é o node2 e atribuir um IP para eles. Para fazer isso você deve alterar o arquivo ``hosts``, para isso, execute o seguinte comando:

```bash
nano /etc/hosts
```

Agora você pode modificar o arquivo, use meu arquivo hosts como referência.

```bash
127.0.0.1 localhost
127.0.1.1 node1.ufba node1
10.0.0.12 node2.ufba node2
127.0.1.1 node1
10.0.0.12 node2

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
Expand All @@ -24,30 +27,34 @@ ff02::2 ip6-allrouters

## Vamos criar uma chave SSH para podemos conectar nosso cluster.

Antes de tudo, você deve mudar uma linha em um arquivo de configuração do debian executando o seguinte comando:
Antes de tudo, você deve mudar uma linha em um arquivo de configuração do Debian executando o seguinte comando:

```bash
nano /etc/ssh/sshd_config

# Altere a linha que contém "PermitRootLogin", ela deve ficar desse jeito:
PermitRootLogin yes
```

Para aplicar as alterações feitas, reinicie sua máquina, você pode usar o comando "sudo systemctl reboot"
Para aplicar as alterações feitas, reinicie o serviço ``sshd``, você pode usar o comando ``sudo systemctl reboot``

Para a conexão do cluster funcionar, precisamos da chave SSH. Somente assim as máquinas poderão comunicar-se entre si com segurança e agilidade.
Execute o seguinte comando nos dois nodes para gerar a chave SSH:

```bash
ssh-keygen
# Agora é só dar enter até cansar
```

Após isso, vamos criar um arquivo de configuração ssh nos dois nodes para automatizar a "passagem" das chaves SSH de um node para o outro
Execute esse comando:

```bash
nano ~/.ssh/config
```

Certo, falta colocar as configurações dentro do arquivo, então copie e cole as informações abaixo:

```bash
Host node1
Hostname node1
Expand All @@ -60,19 +67,22 @@ Host node2
```

Além disso, mude as permissões do arquivo de configuração nos dois nodes:

```bash
chmod 600 ~/.ssh/config
```

Por fim, execute esses comandos, nos dois nodes, para "enviar" a chave ssh de um node para o outro:

```bash
ssh-copy-id node1
ssh-copy-id node2
```

## Baixando o nosso cluster.sh

Baixe o arquivo "cluster.sh" que pode ser encontrado no repositório desse trabalho no github, através desse [link](https://github.com/EduardoVasconceloss/cluster-beowulf-MATA58/). Você também pode baixar esse repositório via comandos:
Baixe o arquivo "cluster.sh" que pode ser encontrado no repositório desse trabalho no github, através desse [repositório](https://github.com/EduardoVasconceloss/cluster-beowulf-MATA58/). Você também pode clonar o repositório para ter acesso a esse script:

```bash
sudo apt install git
git clone https://github.com/EduardoVasconceloss/cluster-beowulf-MATA58.git
Expand All @@ -82,104 +92,83 @@ git clone https://github.com/EduardoVasconceloss/cluster-beowulf-MATA58.git

O nosso cluster tem 7 funcionalidades, sendo elas:

- mostrar: função que executa o comando "ls"
- ``mostrar``: função que executa o comando ``ls``

- copiar: função que executa o comando "cp"
- ``copiar``: função que executa o comando ``cp``

- mover: função que executa o comando "mv"
- ``mover``: função que executa o comando ``mv``

- definir_permissoes: função que executa o comando "chmod"
- ``definir_permissoes``: função que executa o comando ``chmod``

- criar_usuario: função que executa o comando "useradd"
- ``criar_usuario``: função que executa o comando ``useradd``

- criar_grupo: função que executa o comando "groupadd"
- ``criar_grupo``: função que executa o comando ``groupadd``

- deletar: função que executa o comando "rm"
- ``deletar``: função que executa o comando ``rm``

## Executando o nosso cluster.sh

Para executar o cluster, você deve executar o arquivo bash:
Para executar o cluster, você deve executar o script:

```bash
./cluster.sh
```

Caso o cluster não esteja executando, você pode tentar mudar as permissões do arquivo:

```bash
chmod +x cluster.sh
```

Obs: O comando só será executado em um node caso seja executado nos dois. Se um arquivo não puder ser exluído no node1, ele não será excluído em nenhum node.

Ao executar o cluster, irá aparecer uma linha com a informação "Digite um comando: ", agora você tem sete opções de comandos para executar.
Ao executar o cluster, irá aparecer uma linha com a informação **"Digite um comando: "**, agora você tem sete opções de comandos para executar.

- mostrar: Para executar a funcionalidade "mostrar", rode um comando com essa estrutura:
- mostrar: Para executar a funcionalidade ``mostrar``, rode um comando com essa estrutura:

```
mostrar /caminho/para/o/arquivo
```
```bash
mostrar /caminho/para/o/arquivo
```

- copiar: Para executar a funcionalidade "copiar", rode um comando com essa estrutura:
- copiar: Para executar a funcionalidade ``copiar``, rode um comando com essa estrutura:

```
copiar /caminho/de/origem/para/o/arquivo/ /caminho/de/destino/para/o/arquivo
```bash
copiar /caminho/de/origem/para/o/arquivo/ /caminho/de/destino/para/o/arquivo

# Você também pode mover pastas
mover -r /caminho/de/origem/para/a/pasta/ /caminho/de/destino/para/a/pasta/
```
# Você também pode mover pastas
mover -r /caminho/de/origem/para/a/pasta/ /caminho/de/destino/para/a/pasta/
```

- mover: Para executar a funcionalidade "mover", rode um comando com essa estrutura:
- mover: Para executar a funcionalidade ``mover``, rode um comando com essa estrutura:

```
mover /caminho/de/origem/para/o/arquivo/ /caminho/de/destino/para/o/arquivo
```bash
mover /caminho/de/origem/para/o/arquivo/ /caminho/de/destino/para/o/arquivo

# Você também pode mover pastas
mover -r /caminho/de/origem/para/a/pasta/ /caminho/de/destino/para/a/pasta/
```
# Você também pode mover pastas
mover -r /caminho/de/origem/para/a/pasta/ /caminho/de/destino/para/a/pasta/
```

- definir_permissoes: Para executar a funcionalidade "definir_permissoes", rode um comando com essa estrutura:
- definir_permissoes: Para executar a funcionalidade ``definir_permissoes``, rode um comando com essa estrutura:

```
definir_permissoes +x /caminho/para/o/arquivo
```
```bash
definir_permissoes +x /caminho/para/o/arquivo
```

- criar_usuario: Para executar a funcionalidade "criar_usuario", rode um comando com essa estrutura:
- criar_usuario: Para executar a funcionalidade ``criar_usuario``, rode um comando com essa estrutura:

```
criar_usuario seu_nome
```
```bash
criar_usuario seu_nome
```

- criar_grupo: Para executar a funcionalidade "criar_grupo", rode um comando com essa estrutura:
- criar_grupo: Para executar a funcionalidade ``criar_grupo``, rode um comando com essa estrutura:

```
criar_grupo seu_grupo
```
```bash
criar_grupo seu_grupo
```

- deletar: Para executar a funcionalidade "deletar", rode um comando com essa estrutura:

```
deletar /caminho/para/o/arquivo
```

## Relatório do trabalho

- Definição do escopo do projeto e atribuição de responsabilidades - Prazo: 2 dias (08/06/2023 - 10/06/2023) (Landerson, Ryan, Eduardo, Wellington)

- Desenvolvimento do código-fonte - Prazo: 20 dias (08/07/2023 - 28/07/2023) (Landerson, Ryan, Eduardo, Wellington)

- Criação do manual de uso - Prazo: 2 dias (25/06/2023 - 27/06/2023) (Wellington)

- Revisão do código e realização de testes - Prazo: 2 dias (28/06/2023 - 25/06/2023) (Eduardo e Wellington)

- Criação das instruções de instalação - Prazo: 2 dias (28/06/2023 - 30/06/2023) (Ryan)

- Criação de vídeo explicativo de até 10 minutos - Prazo: 4 dias (01/07/2023 - 04/07/2023) (Landerson)

- Revisão e aprovação do vídeo - Prazo: 3 dias (05/07/2023 - 09/07/2023) (Eduardo)
- deletar: Para executar a funcionalidade ``deletar``, rode um comando com essa estrutura:

- Revisão final de todo o projeto - Prazo: 3 dias (6/07/2023 - 09/07/2023) (Landerson, Ryan, Eduardo, Wellington)
```bash
deletar /caminho/para/o/arquivo
```

## Integrantes do grupo:
- 222116281, Landerson E Miranda
- 222116288, Wellington Miguel de Jesus Silva
- 222116306, Carlos Eduardo Lima Botelho Vasconcelos
- 222116286, Ryan Reis dos Santos

0 comments on commit da5775b

Please sign in to comment.