Skip to content
Snippets Groups Projects
Select Git revision
  • main default
1 result

main.py

Blame
  • acesso.rst NaN GiB
    Acesso ao cluster
    *****************
    
    Esta página destina a mostrar meios de interagir com o cluster do C3SL. Acessar remotamente o cluster e copiar arquivos do computador pessoal para o cluster e depois copiar arquivos do cluster para computador pessoal.
    
    .. contents:: Formas de acesso
       :depth: 4
    
    Acesso via ssh
    ==============
    | A forma de acessar o cluster é por meio do protocolo de acesso ssh (secure shell).
    | O nome do cluster para acesso é: c3hpc.c3sl.ufpr.br
    
    Acesso ssh Linux
    ----------------
    A principal forma de utilizar o *ssh* no Linux é por meio do terminal.
    
    *ssh* terminal Linux
    ^^^^^^^^^^^^^^^^^^^^
    | Abra o terminal e digite o comando: ``ssh <login>@c3hpc.c3sl.ufpr.br``. 
    | Onde:
    
    - <login> é o seu usuário do cluster
    
    Exemplo de acesso por terminal Linux
    """"""""""""""""""""""""""""""""""""
    
    .. code-block:: console
    
      odair:~/ $ ssh odair@c3hpc.c3sl.ufpr.br                                        
      Linux c3hpc 5.10.0-16-amd64 #1 SMP Debian 5.10.127-1 (2022-06-30) x86_64
      ================================================================================
    
      Suporte: c3hpc@c3sl.ufpr.br
    
      ===============================================================================
      Last login: Wed Aug 31 19:28:56 2022 from 2801:82:80ff:8001:216:ccff:feaa:77
      ➜  ~
    
    Acesso ssh windows
    ------------------
    TODO
    
    Termius
    ^^^^^^^
    TODO
    
    
    Copiar de arquivos para o cluster
    =================================
    Para copiar arquivos para o cluster é possível utilizar os comandos: *scp* ou *rsync*
    
    Comando *scp*
    -------------
    | O comando scp (secure copy) funciona da mesma maneira que o comando *cp* só que precisa passar o servidor para onde está copiando.
    
    | Para copiar um arquivo local para o cluster utilize o comando:
    | ``scp <arquivo> <login>@c3hpc.c3sl.ufpr.br:~/<destino>``
    | Onde:
    
    	* <arquivo> é o nome ou caminho para o arquivo que deseja copiar.
    	* <login> É o seu usuário no cluster.
    	* <destino> É o nome ou caminho de destino do arquivo no cluster.
    
    | Para copiar diretórios é necessário passar a opção *-r*
    | ``scp -r <diretório> <login>@c3hpc.c3sl.ufpr.br:~/<destino>``
    
    Exemplo de cópia com *scp*
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
    O exemplo a seguir mostra como copiar um arquivo ou diretório com scp para sua conta no cluster:
    
    .. code-block:: console
    
      [odair@zaros ~]$ scp -r experimentos/ odair@c3hpc.c3sl.ufpr.br:~/
      exp2                         100%    0     0.0KB/s   00:00
      exp1                         100%    0     0.0KB/s   00:00
      script.sh                    100%    0     0.0KB/s   00:00
      [odair@zaros ~]$
    
    Para copiar do cluster para sua máquina local é só inverter a ordem dos parâmetros:
    
    .. code-block:: console
    
      [odair@zaros ~]$ scp -r  odair@c3hpc.c3sl.ufpr.br:~/experimentos resultados
      [odair@zaros ~]$ ls resultados/
      exp1  exp2  script.sh
      [odair@zaros ~]$
    
    Comando *rsync*
    ---------------
    | O comando rsync é mais robusto que o scp, e segue a mesma lógica de uso.
    | Para copiar um arquivo local para o cluster use:
    | ``rsync -avhHP <arquivo> <login>@c3hpc.c3sl.ufpr.br:~/<destino>``
    | Para copiar um arquivo remoto do cluster para a sua máquina utilize:
    | ``rsync -avhHP <login>@c3hpc.c3sl.ufpr.br:/<arquivo> <destino>``
    
    Onde:
    
    - ``<arquivo>`` É o nome ou caminho para o arquivo que deseja copiar.
    - ``<login>`` É o seu usuário no cluster.
    - ``<destino>`` É o nome ou caminho de destino do arquivo no cluster.
    
    Os parâmetros utilizados no comando do ``rsync`` significam:
    
    - ``-a`` Copiar tanto arquivo quanto diretório.
    - ``-v`` Mostrar uma saída mais detalhada.
    - ``-h`` Mostrar valores em unidades humanas, como MB, GB
    - ``-H`` Copiar e manter hard-links.
    - ``-P`` Mostrar o progresso durante a cópia
    
    Exemplo de cópia com comando *rsync*
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Copiando diretório local para o cluster:
    
    .. code-block:: console
    
      [odair@zaros ~]$ rsync -avhHP experimentos_v2/ odair@c3hpc.c3sl.ufpr.br:~/experimentos_v2/
      sending incremental file list
      created directory /home/odair/experimentos_v2
      ./
      exp1
                    0 100%    0,00kB/s    0:00:00 (xfr#1, to-chk=2/4)
      exp2
                    0 100%    0,00kB/s    0:00:00 (xfr#2, to-chk=1/4)
      script.sh
                    0 100%    0,00kB/s    0:00:00 (xfr#3, to-chk=0/4)
      
      sent 233 bytes  received 130 bytes  242,00 bytes/sec
      total size is 0  speedup is 0,00
      [odair@zaros ~]$
    
    
    Copiando diretório remoto do cluster para máquina local
    
    .. code-block:: console
    
    	[odair@zaros ~]$ rsync -avhHP odair@c3hpc.c3sl.ufpr.br:~/experimentos_v2/ resultados_2
    	receiving incremental file list
    	created directory resultados_2
    	./
    	exp1
    			  0 100%    0,00kB/s    0:00:00 (xfr#1, to-chk=2/4)
    	exp2
    			  0 100%    0,00kB/s    0:00:00 (xfr#2, to-chk=1/4)
    	script.sh
    			  0 100%    0,00kB/s    0:00:00 (xfr#3, to-chk=0/4)
    
    	sent 88 bytes  received 235 bytes  129,20 bytes/sec
    	total size is 0  speedup is 0,00
    	[odair@zaros ~]$ ls resultados_2/
    	exp1  exp2  script.sh
    	[odair@zaros ~]$
    
    .. tip::
    
    	| Recomendo criar um alias no .bashrc ou .zshrc para comandos de cópias, uma sugestão de alias é:
    	| ``alias copy="rsync -ahH --info=progress2 --mkpath"``
    
    	| O parametro ``--mkpath`` cria subdiretórios no destino, caso ele não exista, consulte ``man rsync`` para mais informações
    	| Com esse alias basta fazer:
    
        | ``copy <arquivo> <login>@c3hpc.c3sl.ufpr.br:<destino>``
        | ``copy <login>@c3hpc.c3sl.ufpr.br:<arquivo> <destino>``