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>``