Mudanças entre as edições de "Minicluster:Linux"

De WikiLICC
Ir para: navegação, pesquisa
m (Veja também)
m (Escravo: Configurações)
 
(128 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 9: Linha 9:
 
* [http://www.pcworld.idg.com.au/article/208829/debian_linux_cluster_beats_supercomputer_tsunami_warnings?pp=1] ''We tried several Linux flavours, including Red Hat, Mandrake, Fedora etc,...'''Debian''' as the most stable in servers, especially when things are being done pretty much in automatic mode. In our workstations the preference among programmers is Ubuntu, which is basically Debian-based...''
 
* [http://www.pcworld.idg.com.au/article/208829/debian_linux_cluster_beats_supercomputer_tsunami_warnings?pp=1] ''We tried several Linux flavours, including Red Hat, Mandrake, Fedora etc,...'''Debian''' as the most stable in servers, especially when things are being done pretty much in automatic mode. In our workstations the preference among programmers is Ubuntu, which is basically Debian-based...''
  
Mesmo assim, não há preferências claras e acabamos escolhendo o Fedora pois possui ampla documentação na internet e está em contínua atualização. No momento a versão atual é [http://www.fedoraproject.org Fedora 12] e a máquina possui '''arquitetura x86-64'''.
+
Mesmo assim, não há preferências claras e acabamos escolhendo o Fedora pois possui ampla documentação na internet e está em continua atualização. No momento a versão atual é [http://www.fedoraproject.org Fedora 25] e a máquina possui '''arquitetura x86-64'''.
  
==Windows XP==
+
* Para versão Fedora13, ver [[Minicluster:Linux:Fedora13]]
Optei não apagar a instalação do Windows XP.
 
* Ligar a máquina e terminar a instalação do Windows XP
 
* Baixar atualizações disponíveis
 
* Desfragmentar o drive C:
 
  
==Fedora==
+
==Fedora25==
A partir do DVD de instalação do Fedora 12 (downloaded in 20100415).
+
* Download do Fedora-25-Workstation 64 bits.
 +
* Selecionar o drive: (ATA ST32500318AS) com tamanho 238475 MB (Serial Number 9VY0K045)
  
* Dar o boot via DVD
+
===Partições===
* Testar a mídia (pode pular esse passo)
+
Criar as partições.
* Escolher linguagem English
+
* Selecionar Create custom layout. Crie as partições:
* Escolher teclado: Brazilian (ABNT2)
+
** '''/boot''': 1000 MiB, '''ext4''', /sda1
** Basic Storage
+
** '''/home''': 5 GiB, '''ext4''', /sda2
 +
** '''/''':    50 GiB, '''ext4''', /sda3
 +
** '''/swap''': 5 GiB, '''swap''', /sda5
 +
 
 +
Seta o nome da máquina mestre:
 +
hostnamectl set-hostname one
 +
 
 +
==Pacotes Fedora 25==
 +
* Atualizar os pacotes do Linux depois da instalacão:
 +
dnf update dnf
 +
dnf update
 +
 
 +
* Instalar um desktop mais leve:
 +
dnf group install lxde-desktop
 +
 
 +
* Remover
 +
dnf remove vim-minimal        # conflito com o vim-enhanced abaixo
 +
 
 +
* Instalar
 +
dnf install sudo              # removido com o comando acima?
 +
dnf install htop atop
 +
dnf install vim-enhanced  emacs
 +
dnf install terminator
 +
dnf install gcc-gfortran gcc-g++
 +
dnf install mariadb php
 +
dnf install wol                # Pacote WakeOnLan
 +
 
 +
* Instalar gcc 4.9
 +
** [[Minicluster:Gcc49]]
 +
 
 +
* Ativar ssh
 +
systemctl enable sshd.service  # habilita iniciar no boot
 +
systemctl start  sshd.service  # inicia o sshd
 +
 
 +
 
 +
* Outros:
 +
** [[Linux:Pacotes]], firefox, java-1.x.x, thunderbird, cmake...,
 +
 
 +
===MPI===
 +
Instalar openmpi. Ver [https://fedoraproject.org/wiki/Packaging:MPI]. (No F13 tinhamos mpich2 e mpich2-devel)
 +
dnf install openmpi
 +
 
 +
==Configurações: mestre e escravo==
 +
* Desabilitar alguns serviços (ver [http://www.hscripts.com/tutorials/linux-services/acpid.html Serviços]):
 +
systemctl disable bluetooth.service
 +
* Outros servicos desabilitados no fedora13: ip6tables,irda,  speech-dispatcherd, btseed, bttrack, dc-client, dc-server (desabilitados nos escravos fedora13: cups)
 +
 
 +
* Configurações para todos os usuários. Na inicialização:
 +
[root@one]$ vi /etc/profile.d/usuarios.sh
 +
#  configuracoes pessoais
 +
if [ "$PS1" ]; then
 +
  PS1="[\u@\h:\l \W]\\$ ";
 +
  if [ `id -u` = "0" ]; then
 +
    PS1='\[\033[01;31m\]\u\[\033[01;37m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w \[\033[01;33m\]\$\[\033[00;37m\] ';
 +
  else
 +
    PS1='\[\033[01;33m\]\u\[\033[01;37m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w \[\033[01;33m\]\$\[\033[00;37m\] ';
 +
  fi
 +
fi
 +
 +
PATH=$PATH:$HOME/bin
 +
export PATH
 +
 +
alias vi=vim
 +
# LANG="en_US.UTF-8"
 +
 
 +
Dica: O que estiver no diretório /etc/skel (testar) é copiado para todos os usuários.
 +
 
 +
==Configurações: mestre==
 +
=== Placa de rede e Internet ===
  
* Hostname: um.phantom (seguir com dois,tres,quatro,...)
+
Na máquina mestre foi adicionada uma placa de rede extra para comunicação com o exterior (na verdade essa está ligada ao switch e a placa onboard está ligada a web).
* Selecionar time zone: São Paulo
 
  
===Partições===
+
Apenas na primeira vez foi necessário liberar a placa de rede onboard para acessar a rede UFRGS
O Harddisk (ATA ST3250318AS) possui tamanho 238473 MB ('''NÃO''' apagar a partição de Recovery que possui tamanho 16386 MB).
+
* Usando o Firefox, foi informado o nome da máquina '''one'''
* Selecionar Create custom layout:
+
* A máquina mestre recebeu o IP 143.54.226.116
* A partição Windows será encolhida para 50000 MB.
 
** Selecione /dev/sda1.
 
** Selecione ''Resize'' e o tamanho 50000 MB.
 
  
* Criar partição '''/boot'''
+
===Hostnames===
** Clique em '''new'''.
+
[root@one]$ vi /etc/hosts
** Em '''Mount Point''' selecione '''/boot'''
+
** Em '''File System Type''' selecione '''ext3''' ('''tem''' de ser do tipo '''ext3''')
+
127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4 one.matrix
** Em '''Size''' informe 1000 (MB)
+
::1        localhost localhost.localdomain localhost6 localhost6.localdomain6 one.matrix
* Criar partição '''swap'''
+
** Clique em '''new'''.
+
143.54.226.61  euler
** Em '''File System Type''' selecione '''swap'''
+
143.54.226.62  turing
** Em '''Size''' informe 5000 (MB)
+
143.54.226.118  hunter  hunter.mat.ufrgs.br
* Criar partição '''/'''
+
** Clique em '''new'''.
+
192.168.0.108 cell108
** Em '''Mount Point''' selecione '''/'''
+
192.168.0.109 cell109
** Em '''File System Type''' selecione '''ext4'''
+
192.168.0.110 cell110
** Em '''Size''' informe 40000 (MB)
+
192.168.0.111 cell111
 +
 +
192.168.0.112 cell112
 +
192.168.0.113 cell113
 +
192.168.0.114 cell114
 +
192.168.0.115 cell115
 +
 +
192.168.0.116 cell116
 +
192.168.0.117 cell117
 +
192.168.0.118 cell118
 +
192.168.0.119 cell119
 +
 +
192.168.0.120 cell120
 +
192.168.0.121 cell121
 +
192.168.0.122 cell122
 +
192.168.0.123 cell123
  
Em caso de falha, rodar no windows duas vezes
+
=== Firewall ===
  chkdsk /f
+
Foi necessário desativar o firewall do linux (configurar de maneira correta seria uma opção melhor, mas para o momento deixamos sem [http://news.softpedia.com/news/Iptables-Basic-Guide-35969.shtml])
***https://bugzilla.redhat.com/show_bug.cgi?id=502422
+
[root@one]$ systemctl status  firewalld
 +
[root@one]$ systemctl disable firewalld
 +
Se for necessário reiniciar use:
 +
  [root@one]$ systemctl enable firewalld
 +
Veja em [https://www.liquidweb.com/kb/how-to-start-and-enable-firewalld-on-fedora-23/] ou mais antigos [http://lists.mcs.anl.gov/pipermail/mpich-discuss/2006-August/001521.html] e [http://lists.mcs.anl.gov/pipermail/mpich-discuss/2006-August/001526.html] e followups.
  
===Pacotes===
+
=== SELinux ===
Selecionar alguns pacotes a mais para instalar:
+
Pode ser complicado configurar, foi desligado por sugestão do DRBL. Veja [[SELinux]].
* Applications/Editions/emacs
 
* Applications/Eng Scientific
 
* Applications/Graphical Internet/Thunderbird
 
* Applications/Java Development
 
* Servers/MySQL
 
* Servers/DNS Name
 
* Servers/Server Configurations tools
 
* Servers/Windows File System
 
  
==Depois de instalar==
+
Para desabilitar o SELinux, configure
===Para entrar na internet===
+
root@one $ vi /etc/selinux/config
* Foi informado o nome da máquina '''phum''' (seguindo phdois,phtres,...)
+
...
** Recebeu o IP 143.54.226.166
+
SELINUX=disabled
 +
...
 +
e para mostrar o status,
 +
root@one $ /usr/sbin/sestatus
 +
SELinux status:                disabled
  
==Update==
+
=== Usuários e grupos ===
Atualizar os pacotes do Linux
+
Mudar o grupo 500 para grupo docentes e adicionar o grupo 501 alunos,
  yum update
+
[root@one]$ groupmod -g 500 -n docentes dago
  yum install mpich\*
+
[root@one]$ groupadd -g 501 alunos
 +
[root@one]$ grep 50[0-1] /etc/group
 +
  docentes:x:500:
 +
  alunos:x:501:
  
  
 
=Two cores ALIVE=
 
=Two cores ALIVE=
 
  grep -i core /proc/cpuinfo
 
  grep -i core /proc/cpuinfo
 
+
 
  model name      : Intel(R) Core(TM)2 Duo CPU    E7500  @ 2.93GHz
 
  model name      : Intel(R) Core(TM)2 Duo CPU    E7500  @ 2.93GHz
 
  core id        : 0
 
  core id        : 0
Linha 87: Linha 166:
 
  cpu cores      : 2
 
  cpu cores      : 2
  
==Comando top==
+
Com o comanto ''htop'' podemos ver os processos rodando por cpu. Também top, atop.
O comando ''top'' é utilizado para verificar quais processos estão rodando.
+
 
  [user] $ top
+
=Kernel=
  Tasks: 168 total,  2 running, 166 sleeping,  0 stopped,  0 zombie
+
 
<font color='red'>Cpu0</font>  : 1.0%us,  0.8%sy,  0.0%ni, 77.1%id, 20.6%wa, 0.4%hi,  0.0%si,  0.0%st
+
Último kernel instalado:
  <font color='red'>Cpu1</font>  :  1.3%us,  0.9%sy,  0.0%ni, 80.8%id, 17.0%wa, 0.0%hi,  0.0%si,  0.0%st
+
  [root]$ uname -a
  Mem:  2031852k total,  1858956k used,  172896k free,  109204k buffers
+
  Linux one 4.8.6-300.fc25.x86_64 #1 SMP Tue Nov 1 12:36:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Swap:  5119988k total,        0k used,  5119988k free,  1028704k cached
+
 
 
+
<!--
  PID USER  PR  NI  VIRT  SHR S %CPU %MEM    TIME+  PPID <font color='red'>P</font>  TIME CODE COMMAND
+
== Escravo: Configurações ==
13192 root  20  0  398m 8148 S  3.2 4.8  0:06.85 13168 <font color='red'>0</font>  0:06    4 <font color='red'>programa1</font>
+
Não vamos instalar diretamente nos escravos. Usaremos DRBL.
12793 dago  20  0  544m  18m S  0.3  1.5  0:04.14    1 <font color='red'>1</font>  0:04    4 <font color='red'>top</font>
+
=== Update e Instalação ===
   
+
Não possui acesso a internet. Existem várias possibilidades, porém estou tentando o seguinte:
Veja o manual com
+
 
man top
+
* Baixar os pacotes .rpm necessários na máquina mestre e copiá-los para a máquina escravo.
;Opções interessantes: clique no programa top aberto.
+
  tcl-8.5.7-5.fc13.x86_64.rpm
: h : mostra um help
+
  environment-modules-3.2.7b-7.fc13.x86_64.rpm
: 1 :  mostra um/ou mais processadores
+
  mpich2-1.2.1p1-2.fc13.x86_64.rpm
: f : adiciona mais colunas. Use ''j'' para coluna processador
+
  mpich2-devel-1.2.1p1-2.fc13.x86_64.rpm
: z : habilita cores
+
* Importar as [http://www.linuxquestions.org/questions/fedora-35/public-key-not-installed-468615/ keys] necessárias para instalar os pacotes (não instalou direito usando apenas rpm):
: u : mostra um usuário especĩfico
+
  [root@cell100]$ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-x86_64
: W :  Escreve arquivo de configuração
+
ou melhor ainda, editar /etc/yum.conf para não reclamar sobre signature files
Salve suas configurações com a opção ''W''.
+
  [root@cell100]$ vi /etc/yum.conf
 +
  ..
 +
  gpgcheck=0
 +
  ..
  
=Problemas=
+
* Instalar usando yum
* O kernel '''2.6.32.11-99.fc12.x86_64''' NÃO está terminando de dar o boot (tranca depois de habilitar a tela gráfica sem fornecer a caixa para login).
 
  
* O kernel '''2.6.31.5-127.fc12.x86_64''' está FUNCIONANDO.
+
[root@cell100]$ yum localinstall tcl-8.5.7-5.fc13.x86_64.rpm    --disablerepo=fedora --disablerepo=updates
 +
[root@cell100]$ yum localinstall environment-modules-3.2.7b-7.fc13.x86_64.rpm --disablerepo=fedora --disablerepo=updates
 +
[root@cell100]$ yum localinstall mpich2-1.2.1p1-2.fc13.x86_64.rpm    --disablerepo=fedora --disablerepo=updates
 +
[root@cell100]$ yum localinstall mpich2-devel-1.2.1p1-2.fc13.x86_64.rpm --disablerepo=fedora --disablerepo=updates
 +
-->
  
 
==Veja também==
 
==Veja também==
Linha 121: Linha 206:
  
 
* http://www.linux.org/docs/ldp/howto/Beowulf-HOWTO/x49.html
 
* http://www.linux.org/docs/ldp/howto/Beowulf-HOWTO/x49.html
 +
* http://www.phy.duke.edu/~rgb/brahma//beowulf_book/beowulf_book.html
 +
* http://www.westgrid.ca/support/software
 +
 +
[[Categoria:Minicluster]]

Edição atual tal como às 01h49min de 19 de julho de 2017

O pacote MPICH2 é fornecido para os Linux:

  • Debian 1.2.1
    • Ubuntu 1.2 (based on Debian)
  • Fedora/RHEL/CentOS 1.2.1
  • Gentoo
  • FreeBSD 1.2.1

Uma opinião do controle de Tsunamis

  • [1] We tried several Linux flavours, including Red Hat, Mandrake, Fedora etc,...Debian as the most stable in servers, especially when things are being done pretty much in automatic mode. In our workstations the preference among programmers is Ubuntu, which is basically Debian-based...

Mesmo assim, não há preferências claras e acabamos escolhendo o Fedora pois possui ampla documentação na internet e está em continua atualização. No momento a versão atual é Fedora 25 e a máquina possui arquitetura x86-64.

Fedora25

  • Download do Fedora-25-Workstation 64 bits.
  • Selecionar o drive: (ATA ST32500318AS) com tamanho 238475 MB (Serial Number 9VY0K045)

Partições

Criar as partições.

  • Selecionar Create custom layout. Crie as partições:
    • /boot: 1000 MiB, ext4, /sda1
    • /home: 5 GiB, ext4, /sda2
    • /: 50 GiB, ext4, /sda3
    • /swap: 5 GiB, swap, /sda5

Seta o nome da máquina mestre:

hostnamectl set-hostname one

Pacotes Fedora 25

  • Atualizar os pacotes do Linux depois da instalacão:
dnf update dnf
dnf update
  • Instalar um desktop mais leve:
dnf group install lxde-desktop
  • Remover
dnf remove vim-minimal         # conflito com o vim-enhanced abaixo
  • Instalar
dnf install sudo               # removido com o comando acima?
dnf install htop atop
dnf install vim-enhanced  emacs
dnf install terminator
dnf install gcc-gfortran gcc-g++
dnf install mariadb php
dnf install wol                 # Pacote WakeOnLan
  • Ativar ssh
systemctl enable sshd.service  # habilita iniciar no boot
systemctl start  sshd.service  # inicia o sshd


  • Outros:

MPI

Instalar openmpi. Ver [2]. (No F13 tinhamos mpich2 e mpich2-devel)

dnf install openmpi

Configurações: mestre e escravo

  • Desabilitar alguns serviços (ver Serviços):
systemctl disable bluetooth.service
  • Outros servicos desabilitados no fedora13: ip6tables,irda, speech-dispatcherd, btseed, bttrack, dc-client, dc-server (desabilitados nos escravos fedora13: cups)
  • Configurações para todos os usuários. Na inicialização:
[root@one]$ vi /etc/profile.d/usuarios.sh
#   configuracoes pessoais
if [ "$PS1" ]; then
  PS1="[\u@\h:\l \W]\\$ ";
  if [ `id -u` = "0" ]; then
    PS1='\[\033[01;31m\]\u\[\033[01;37m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w \[\033[01;33m\]\$\[\033[00;37m\] ';
  else
    PS1='\[\033[01;33m\]\u\[\033[01;37m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w \[\033[01;33m\]\$\[\033[00;37m\] ';
  fi
fi

PATH=$PATH:$HOME/bin
export PATH

alias vi=vim
# LANG="en_US.UTF-8"

Dica: O que estiver no diretório /etc/skel (testar) é copiado para todos os usuários.

Configurações: mestre

Placa de rede e Internet

Na máquina mestre foi adicionada uma placa de rede extra para comunicação com o exterior (na verdade essa está ligada ao switch e a placa onboard está ligada a web).

Apenas na primeira vez foi necessário liberar a placa de rede onboard para acessar a rede UFRGS

  • Usando o Firefox, foi informado o nome da máquina one
  • A máquina mestre recebeu o IP 143.54.226.116

Hostnames

[root@one]$ vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 one.matrix
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 one.matrix

143.54.226.61   euler
143.54.226.62   turing
143.54.226.118  hunter   hunter.mat.ufrgs.br

192.168.0.108 cell108
192.168.0.109 cell109
192.168.0.110 cell110
192.168.0.111 cell111

192.168.0.112 cell112
192.168.0.113 cell113
192.168.0.114 cell114
192.168.0.115 cell115

192.168.0.116 cell116
192.168.0.117 cell117
192.168.0.118 cell118
192.168.0.119 cell119

192.168.0.120 cell120
192.168.0.121 cell121
192.168.0.122 cell122
192.168.0.123 cell123

Firewall

Foi necessário desativar o firewall do linux (configurar de maneira correta seria uma opção melhor, mas para o momento deixamos sem [3])

[root@one]$ systemctl status  firewalld
[root@one]$ systemctl disable firewalld

Se for necessário reiniciar use:

[root@one]$ systemctl enable firewalld

Veja em [4] ou mais antigos [5] e [6] e followups.

SELinux

Pode ser complicado configurar, foi desligado por sugestão do DRBL. Veja SELinux.

Para desabilitar o SELinux, configure

root@one $ vi /etc/selinux/config
...
SELINUX=disabled
...

e para mostrar o status,

root@one $ /usr/sbin/sestatus
SELinux status:                 disabled

Usuários e grupos

Mudar o grupo 500 para grupo docentes e adicionar o grupo 501 alunos,

[root@one]$ groupmod -g 500 -n docentes dago
[root@one]$ groupadd -g 501 alunos
[root@one]$ grep 50[0-1] /etc/group
docentes:x:500:
alunos:x:501:


Two cores ALIVE

grep -i core /proc/cpuinfo

model name      : Intel(R) Core(TM)2 Duo CPU     E7500  @ 2.93GHz
core id         : 0
cpu cores       : 2
model name      : Intel(R) Core(TM)2 Duo CPU     E7500  @ 2.93GHz
core id         : 1
cpu cores       : 2

Com o comanto htop podemos ver os processos rodando por cpu. Também top, atop.

Kernel

Último kernel instalado:

[root]$ uname -a
Linux one 4.8.6-300.fc25.x86_64 #1 SMP Tue Nov 1 12:36:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


Veja também