Resultados 1 a 9 de 9
  1. #1
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010
    Posts
    18,556

    Como instalar Go, Minio, Restic, Zpaq no ARMv8

    Com a configuração do VPS básico da Scaleway passando de 2 para 4 cores dedicados a oferta ficou mais interessante do que os 2 "cores" do VPS similar com processador Intel C2750 (4c/8t), especialmente para testes com Restic e Zpaq.

    Contudo, existem dois pequenos empecilhos:

    1. Minio e Restic são programados na linguagem GO e https://golang.org/dl/ no momento não disponibiliza o código compilado para ARMv8.

    2. Almas caridosas colocaram à disposição a versão 1.6.2 compilada para ARMv8 mas Minio e Restic possuem o requisito de versão 1.7+

    A sugestão é utilizar Go 1.6.2 para gerar a última versão (1.8.3).

    No caso do VPS Scaleway, não é preciso torcer para dar certo porque funciona:

    ALL TESTS PASSED

    ---
    Installed Go for linux/arm64 in /root/go
    Installed commands in /root/go/bin

    :~/go/src# go version
    go version go1.8.3 linux/arm64

    Como instalei:


    1. Baixei do site samaritano a versão 1.6.2 compilada (60MB) em um diretório temporário:

    mkdir /go162

    cd /go162

    wget https://github.com/hypriot/golang-ar...x-arm64.tar.gz

    tar -xzf go1.6.2.linux-arm64.tar.gz

    2. Baixei o código-fonte da versão estável mais atual:

    wget https://storage.googleapis.com/golan...8.3.src.tar.gz
    tar -C ${HOME} -xzf go1.8.3.src.tar.gz (ou outro diretório à sua escolha)

    3. Instalei compilador C & Cia

    apt-get install build-essential

    4. Executei o script para gerar a versão 1.8.3

    cd ${HOME}/go/src

    env GO_TEST_TIMEOUT_SCALE=10 GOROOT_BOOTSTRAP=/go162 ./all.bash

    5. Por comodidade, inclui GOROOT and GOPATH no ~/.bashrc

    export GOROOT=${HOME}/go
    export GOPATH=${HOME}/work
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

    source ~/.bashrc


    go version

  2. #2
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010
    Posts
    18,556

    Zpaq no ARMv8

    O zpaq requer compilador C++ , make, e unzip


    apt-get install build-essential unzip

    cd /usr/local/src (ou outro diretório à livre escolha)

    wget http://mattmahoney.net/dc/zpaq715.zip

    unzip zpaq715.zip


    Para processadores ARM é preciso editar o arquivo Makefile

    original:
    ...
    # CPPFLAGS+=NOJIT
    CXXFLAGS=-O3 -march=native
    ...

    modificado:
    ...
    CPPFLAGS+= -DNOJIT
    CXXFLAGS=-O3
    ...


    "-march=native" não está definido no Debian 8. No Ubuntu 16, funciona. Experimente na sua distribuição antes de retirar.


    make

    make check

    make install

    zpaq


    O programa fará uso dos 4 cores caso não seja utilizada a opção -t<n>

  3. #3
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010
    Posts
    18,556

    Restic

    apt-get install git

    cd /usr/local/src

    git clone https://github.com/restic/restic

    cd restic

    go version
    go version go1.8.3 linux/arm64

    go run build.go

    cp restic /usr/local/bin

    restic version
    restic 0.6.1 (v0.6.1-131-g144b7f3)
    compiled with go1.8.3 on linux/arm64

  4. #4
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010
    Posts
    18,556

    Minio

    go version

    go get -u github.com/minio/minio



    minio

    Exemplo

    minio server --address 127.0.0.1:7000 /home/shared &

    [2] 465
    :/usr/local/src# Created minio configuration file successfully at /root/.minio

    Endpoint: http://127.0.0.1:7000
    AccessKey: 3L1QSSLEK99U5C3Y3G15
    SecretKey: xDc7e9PP4a+hSuWNubfU7+DPvTQ3PbFzZxYUz12w

    Browser Access:
    http://127.0.0.1:7000

    Command-line Access: https://docs.minio.io/docs/minio-cli...ickstart-guide
    $ mc config host add myminio http://127.0.0.1:7000 3L1QSSLEK99U5C3Y3G15 xDc7e9PP4a+hSuWNubfU7+DPvTQ3PbFzZxYUz12w

    Object API (Amazon S3 compatible):
    Go: https://docs.minio.io/docs/golang-cl...ickstart-guide
    Java: https://docs.minio.io/docs/java-client-quickstart-guide
    Python: https://docs.minio.io/docs/python-cl...ickstart-guide
    JavaScript: https://docs.minio.io/docs/javascrip...ickstart-guide
    .NET: https://docs.minio.io/docs/dotnet-cl...ickstart-guide

    Drive Capacity: 42 GiB Free, 46 GiB Total

    export AWS_ACCESS_KEY_ID=3L1QSSLEK99U5C3Y3G15
    export AWS_SECRET_ACCESS_KEY=xDc7e9PP4a+hSuWNubfU7+DPvTQ3PbFzZxYUz12w

    restic -r s3:http://127.0.0.1:7000/teste init
    enter password for new backend:
    enter password again:
    created restic backend 2a63c76841 at s3:http://127.0.0.1:7000/teste

    Please note that knowledge of your password is required to access
    the repository. Losing your password means that your data is
    irrecoverably lost.


    time restic -r s3:http://127.0.0.1:7000/teste backup go162
    enter password for repository:
    scan [/usr/local/src/go162]
    scanned 706 directories, 5623 files in 0:00
    [0:24] 100.00% 10.648 MiB/s 255.542 MiB / 255.542 MiB 6329 / 6329 items 0 errors ETA 0:00
    duration: 0:24, 10.37MiB/s
    snapshot e3fae9b8 saved

    real 0m29.159s
    user 1m3.624s
    sys 0m10.464s


    restic -r s3:http://127.0.0.1:7000/teste snapshots
    enter password for repository:
    ID Date Host Tags Directory
    ----------------------------------------------------------------------
    e3fae9b8 2017-06-22 19:09:24 fr93 /usr/local/src/go162

  5. #5
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010
    Posts
    18,556

    Minio Client (mc)

    Minio Client provides a modern alternative to UNIX commands like ls, cat, cp, mirror, diff etc. It supports filesystems and Amazon S3 compatible cloud storage service (AWS Signature v2 and v4).


    Install from Source

    Source installation is intended only for developers and advanced users. mc update command does not support upgrading from source based installation.


    go get -d github.com/minio/mc

    cd ${GOPATH}/src/github.com/minio/mc

    make


    Test Your Setup

    mc is pre-configured with https://play.minio.io:9000, aliased as "play". It is a hosted Minio server for testing and development purpose. To test Amazon S3, simply replace "play" with "s3" or the alias you used at the time of setup.

    Example:

    List all buckets from https://play.minio.io:9000

    mc ls play

    Código:
    [2016-03-22 19:47:48 PDT]     0B my-bucketname/
    [2016-03-22 22:01:07 PDT]     0B mytestbucket/
    [2016-03-22 20:04:39 PDT]     0B mybucketname/
    [2016-01-28 17:23:11 PST]     0B newbucket/
    [2016-03-20 09:08:36 PDT]     0B s3git-test/




    Código:
    ls            List files and folders.
    mb            Make a bucket or folder.
    cat           Display contents of a file.
    pipe          Write contents of stdin to target. When no target is specified, it writes to stdout.
    share         Generate URL for sharing.
    cp            Copy one or more objects to a target.
    mirror        Mirror folders recursively from a single source to single destination.
    diff          Compute differences between two folders.
    rm            Remove file or bucket [WARNING: Use with care].
    events        Manage bucket notification.
    watch         Watch for events on object storage and filesystem.
    policy        Set public policy on bucket or prefix.
    session       Manage saved sessions of cp and mirror operations.
    config        Manage configuration file.
    update        Check for a new software update.
    version       Print version.
    Exemplos

    Minio Cloud Storage

    mc config host add minio http://192.168.1.51 BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 S3v4


    Amazon S3 Cloud Storage

    mc config host add s3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 S3v4


    Google Cloud Storage

    mc config host add gcs https://storage.googleapis.com BKIKJAA5BMMU2RHO6IBB V8f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 S3v2



    https://docs.minio.io/docs/minio-cli...e-guide#mirror

  6. #6
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010
    Posts
    18,556

    mc

    Servidor Minio:
    Endpoint: http://127.0.0.1:7000
    AccessKey: 3L1QSSLEK99U5C3Y3G15
    SecretKey: xDc7e9PP4a+hSuWNubfU7+DPvTQ3PbFzZxYUz12w

    ============================

    Cliente:

    Configure the client to connect to your Minio server

    root@fr93:~# mc config host add fr93 http://127.0.0.1:7000 3L1QSSLEK99U5C3Y3G15 xDc7e9PP4a+hSuWNubfU7+DPvTQ3PbFzZxYUz12w
    Added `fr93` successfully.



    Create a new bucket

    root@fr93:~# mc mb fr93/usr-local-src
    Bucket created successfully `fr93/usr-local-src`.



    Push data to this usr-local-src storage bucket

    root@fr93:~# mc mirror /usr/local/src fr93/usr-local-src
    ...c/zpaq715.zip: 376.87 MB / 376.87 MB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 2.76 MB/s 2m16s


    root@fr93:~# mc ls fr93
    [2017-06-23 10:59:50 UTC] 0B usr-local-src/


    root@fr93:~# mc ls fr93/usr-local-src/
    Código:
    [2017-06-23 10:57:34 UTC] 2.7KiB COPYING
    [2017-06-23 10:57:34 UTC]   859B Makefile
    [2017-06-23 10:57:38 UTC]  61MiB go1.6.2.linux-arm64.tar.gz
    [2017-06-23 10:59:24 UTC] 266KiB libzpaq.cpp
    [2017-06-23 10:59:24 UTC]  60KiB libzpaq.h
    [2017-06-23 10:59:24 UTC] 272KiB libzpaq.o
    [2017-06-23 10:59:24 UTC] 3.7KiB readme.txt
    [2017-06-23 10:59:50 UTC] 350KiB zpaq
    [2017-06-23 10:59:50 UTC]  40KiB zpaq.1
    [2017-06-23 10:59:50 UTC] 124KiB zpaq.cpp
    [2017-06-23 10:59:50 UTC] 1.0MiB zpaq.exe
    [2017-06-23 10:59:50 UTC] 256KiB zpaq.o
    [2017-06-23 10:59:50 UTC]  32KiB zpaq.pod
    [2017-06-23 10:59:50 UTC] 1.1MiB zpaq64.exe
    [2017-06-23 10:59:50 UTC] 977KiB zpaq715.zip
    [2017-06-23 11:03:00 UTC]     0B go162/
    [2017-06-23 11:03:00 UTC]     0B restic/

    root@fr93:~# tar -czf - /usr/local/src | mc pipe fr93/usr-local-src/archive-`date +%Y-%m-%d`.tar.gz


    root@fr93:~# mc ls fr93/usr-local-src/
    Código:
    [2017-06-23 10:57:34 UTC] 2.7KiB COPYING
    [2017-06-23 10:57:34 UTC]   859B Makefile
    [2017-06-23 11:05:49 UTC] 168MiB archive-2017-06-23.tar.gz
    [2017-06-23 10:57:38 UTC]  61MiB go1.6.2.linux-arm64.tar.gz
    [2017-06-23 10:59:24 UTC] 266KiB libzpaq.cpp
    [2017-06-23 10:59:24 UTC]  60KiB libzpaq.h
    [2017-06-23 10:59:24 UTC] 272KiB libzpaq.o
    [2017-06-23 10:59:24 UTC] 3.7KiB readme.txt
    [2017-06-23 10:59:50 UTC] 350KiB zpaq
    [2017-06-23 10:59:50 UTC]  40KiB zpaq.1
    [2017-06-23 10:59:50 UTC] 124KiB zpaq.cpp
    [2017-06-23 10:59:50 UTC] 1.0MiB zpaq.exe
    [2017-06-23 10:59:50 UTC] 256KiB zpaq.o
    [2017-06-23 10:59:50 UTC]  32KiB zpaq.pod
    [2017-06-23 10:59:50 UTC] 1.1MiB zpaq64.exe
    [2017-06-23 10:59:50 UTC] 977KiB zpaq715.zip
    [2017-06-23 11:14:12 UTC]     0B go162/
    [2017-06-23 11:14:12 UTC]     0B restic/


    root@fr93:~# mc cp fr93/usr-local-src/zpaq715.zip /lixo/zpk.zip
    ...c/zpaq715.zip: 977.19 KB / 977.19 KB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 100.00% 30.18 MB/s 0

    sroot@fr93:~# ls -l /lixo
    total 980
    -rw-r--r-- 1 root root 1000646 Jun 23 11:16 zpk.zip


    root@fr93:~# mc ls /lixo
    [2017-06-23 11:16:59 UTC] 977KiB zpk.zip


    root@fr93:~# mc share download fr93/usr-local-src/zpaq715.zip
    URL: http://127.0.0.1:7000/usr-local-src/zpaq715.zip
    Expire: 7 days 0 hours 0 minutes 0 seconds
    Share: http://127.0.0.1:7000/usr-local-src/...a8f4aeb93ec737




    root@fr93:~# mc share download --expire "3s" fr93/usr-local-src/zpaq715.zip
    URL: http://127.0.0.1:7000/usr-local-src/zpaq715.zip
    Expire: 3 seconds
    Share: http://127.0.0.1:7000/usr-local-src/...58dda6c9de213f



    root@fr93:~# mc share list download
    URL: http://127.0.0.1:7000/usr-local-src/zpaq715.zip
    Expire: 6 days 23 hours 56 minutes 14 seconds
    Share: http://127.0.0.1:7000/usr-local-src/...a8f4aeb93ec737



    Continuously watch for changes on a local directory and mirror the changes

    root@fr93:~# mc mirror -w /usr/local/src fr93/usr-local-src &
    [1] 4263

    root@fr93:~# nano /usr/local/src/wht-br.txt

    root@fr93:~# mc cat fr93/usr-local-src/wht-br.txt
    teste


    Lembrando que é compativel com S3 Amazon e Google, mc no desktop Windows e/ou servidor pode ser muito útil.
    Última edição por 5ms; 23-06-2017 às 10:43.

  7. #7
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010
    Posts
    18,556

    Minio - Erasure coding utilizado não é o open source da Backblaze

    cat xl.json
    {"version":"1.0.1","format":"xl","stat":{"size":9, "modTime":"2017-06-24T16:42:39.820592039Z"},"erasure":{"algorithm":"klauspost/reedsolomon/vandermonde","data":2,"parity":2,"blockSize":10485760,"index" :1,"distribution":[1,2,3,4],"checksum":[{"name":"part.1","algorithm":"blake2b","hash":"1baec409baa163b4ecbe9794430799cffed51cd8 e01b973388c77fd32b6af8c231ca82eb2715657fd7edf1c2ec 5e7f80229238106cbcdca3eba10c0d9d352a69"}]},"minio":{"release":"DEVELOPMENT.2017-06-24T13-58-19Z"},"meta":{"content-type":"text/plain; charset=utf-8","etag":"c55909f361108f9a60288aae488c0ec8-1"},"parts":[{"number":1,"name":"part.1","etag":"16d8b114551ed2 f718e0ad53abae7e74","size":9}]}root@fr80:/z0/minio/alien/jabuti.txt#



    Backblaze Open Sources Reed-Solomon Erasure Coding Source Code
    June 16th, 2015

    ...

    To make Backblaze Vaults work, we needed an erasure coding library to compute “parity” and then use it to reconstruct files. When a file is stored in a Vault, it is broken into 17 pieces, all the same size. Then three additional pieces are created that hold parity, resulting in a total of 20 pieces. The original file can then be reconstructed from any 17 of the 20 pieces.

    We needed a simple, reliable, and efficient Java library to do Reed-Solomon coding, but didn’t find any. So we built our own. And now we are releasing that code for you to use in your own projects.

    ...



    Minio: Fast hashing in Golang using BLAKE2


    ...

    Bit rot protection

    At Minio (for the XL version) we use erasure encoding to protect against loss of data. Objects are split into (by default) 8 data chunks in combination with 8 parity chunks onto a total of 16 hard disks. This means that (in the very unlikely event) of a loss of even 8 hard disks it is still possible to reconstruct the original object and return it to the user (note that a hard disk can of course be replaced and will then be reconstructed automatically).

    To protect against bit rot as may happen over time, Minio verifies the integrity of any data chunk read back from disk by computing the hash of the chunk and comparing this to the initially computed hash. Only in the case both hashes are identical it is guaranteed that the data has not been altered in any way (and is thus safe to return to the client). In case of any difference between the hashes the block itself is discarded and has to be reconstructed from the other data and parity chunks.

    As this verification step is a very frequent operation it will be clear that the performance of the hashing technique has a great impact on the overall system performance. As such Minio has invested in an as fast as possible yet reliable hashing technique and found BLAKE2 to be a good candidate.
    Who else is this for?

    In addition to bit rot protection there are many other software use cases for fast hashing. Here you can think of deduplication in storage systems, intrusion detection, version control systems, and integrity checking. Also in these applications hashing is a very frequent task so any performance gains achievable here will have a great overall performance impact.




    blake2s gives better results than blake2b (twice as quick)
    Seems to indicate that there's some kind of performance penalty on Atom when executing SSE with 64-bit operands.

    Interestingly enough the blake2b reference implementation (plain C) on Atom gives better performance than its SSE optimized counter part.

    ...

    Conclusion seems to be that the SSE implementation of Atom helps to a little extent but is not up to par with the implementations on other chip sets.
    Última edição por 5ms; 24-06-2017 às 16:21.

  8. #8
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010
    Posts
    18,556

    Minio - Healing

    ls -l /z0/minio/alien /z1/minio/alien /z2/minio/alien /z3/minio/alien
    /z0/minio/alien:
    total 0

    /z1/minio/alien:
    total 0

    /z2/minio/alien:
    total 0

    /z3/minio/alien:

    total 0


    mc mirror restic fr80/alien/restic

    mc ls fr80/alien/restic

    Código:
    [2017-06-24 17:33:09 UTC]    24B .envrc
    [2017-06-24 17:33:10 UTC]    52B .gitignore
    [2017-06-24 17:33:10 UTC]    20B .hound.yml
    [2017-06-24 17:33:10 UTC]   744B .travis.yml
    [2017-06-24 17:33:10 UTC] 5.2KiB CHANGELOG.md
    [2017-06-24 17:33:10 UTC] 7.8KiB CONTRIBUTING.md
    [2017-06-24 17:33:10 UTC] 1.8KiB Dockerfile
    [2017-06-24 17:33:10 UTC] 1.3KiB LICENSE
    [2017-06-24 17:33:10 UTC]   114B Makefile
    [2017-06-24 17:33:10 UTC] 4.1KiB README.rst
    [2017-06-24 17:33:10 UTC]     6B VERSION
    [2017-06-24 17:33:10 UTC] 3.6KiB Vagrantfile
    [2017-06-24 17:33:10 UTC]   668B appveyor.yml
    [2017-06-24 17:33:10 UTC]  10KiB build.go
    [2017-06-24 17:33:11 UTC] 8.3MiB restic
    [2017-06-24 17:33:11 UTC]  10KiB run_integration_tests.go
    [2017-06-24 17:33:47 UTC]     0B .git/
    [2017-06-24 17:33:47 UTC]     0B .github/
    [2017-06-24 17:33:47 UTC]     0B doc/
    [2017-06-24 17:33:47 UTC]     0B src/
    [2017-06-24 17:33:47 UTC]     0B vendor/
    ls -l /z0/minio/alien /z1/minio/alien /z2/minio/alien /z3/minio/alien
    /z0/minio/alien:
    total 4
    drwxr-xr-x 23 root root 4096 Jun 24 17:33 restic

    /z1/minio/alien:
    total 4
    drwxr-xr-x 23 root root 4096 Jun 24 17:33 restic

    /z2/minio/alien:
    total 4
    drwxr-xr-x 23 root root 4096 Jun 24 17:33 restic

    /z3/minio/alien:
    total 4
    drwxr-xr-x 23 root root 4096 Jun 24 17:33 restic



    rm -r /z0/minio/alien/restic /z3/minio/alien/restic


    ls -l /z0/minio/alien /z1/minio/alien /z2/minio/alien /z3/minio/alien
    /z0/minio/alien:
    total 0

    /z1/minio/alien:
    total 4
    drwxr-xr-x 23 root root 4096 Jun 24 17:33 restic

    /z2/minio/alien:
    total 4
    drwxr-xr-x 23 root root 4096 Jun 24 17:33 restic

    /z3/minio/alien:
    total 0


    mc admin heal --recursive --fake fr80/alien/restic
    Object: alien/restic/.envrc, can be healed.
    Object: alien/restic/.git/HEAD, can be healed.
    Object: alien/restic/.git/config, can be healed.
    Object: alien/restic/.git/description, can be healed.
    Object: alien/restic/.git/hooks/applypatch-msg.sample, can be healed.
    Object: alien/restic/.git/hooks/commit-msg.sample, can be healed.
    Object: alien/restic/.git/hooks/post-update.sample, can be healed.
    Object: alien/restic/.git/hooks/pre-applypatch.sample, can be healed.
    Object: alien/restic/.git/hooks/pre-commit.sample, can be healed.
    Object: alien/restic/.git/hooks/pre-push.sample, can be healed.
    ...


    mc admin heal --recursive fr80/alien/restic
    Object alien/restic/.envrc is healed on all disks
    Object alien/restic/.git/HEAD is healed on all disks
    Object alien/restic/.git/config is healed on all disks
    Object alien/restic/.git/description is healed on all disks
    Object alien/restic/.git/hooks/applypatch-msg.sample is healed on all disks
    Object alien/restic/.git/hooks/commit-msg.sample is healed on all disks
    Object alien/restic/.git/hooks/post-update.sample is healed on all disks
    Object alien/restic/.git/hooks/pre-applypatch.sample is healed on all disks
    Object alien/restic/.git/hooks/pre-commit.sample is healed on all disks
    Object alien/restic/.git/hooks/pre-push.sample is healed on all disks
    ...


    ls -l /z0/minio/alien /z1/minio/alien /z2/minio/alien /z3/minio/alien
    /z0/minio/alien:
    total 4
    drwxr-xr-x 23 root root 4096 Jun 24 17:41 restic

    /z1/minio/alien:
    total 4
    drwxr-xr-x 23 root root 4096 Jun 24 17:33 restic

    /z2/minio/alien:
    total 4
    drwxr-xr-x 23 root root 4096 Jun 24 17:33 restic

    /z3/minio/alien:
    total 4
    drwxr-xr-x 23 root root 4096 Jun 24 17:41 restic
    Última edição por 5ms; 24-06-2017 às 16:53.

  9. #9
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010
    Posts
    18,556

    Healing: Restic + Minio

    ls /z0/minio /z1/minio /z2/minio /z3/minio
    /z0/minio:
    fr30-home

    /z1/minio:
    fr30-home

    /z2/minio:
    fr30-home

    /z3/minio:
    fr30-home


    mc ls fr80
    [2017-06-24 18:00:35 UTC] 0B fr30-home/

    export AWS_ACCESS_KEY_ID= ...
    export AWS_SECRET_ACCESS_KEY= ...

    NOTA: https (default) => restic -r s3:servidor-fr80 ...

    restic -r s3:http://servidor-fr80/teste-restic-s3 init
    enter password for new backend:
    enter password again:
    created restic backend 8b82066e27 at s3:http://servidor-fr80/teste-restic-s3

    Please note that knowledge of your password is required to access
    the repository. Losing your password means that your data is
    irrecoverably lost.



    ls -l /z0/minio /z1/minio /z2/minio /z3/minio
    /z0/minio:
    total 8
    drwxr-xr-x 7 root root 4096 Jun 24 18:00 fr30-home
    drwxr-xr-x 3 root root 4096 Jun 24 18:22 teste-restic-s3

    /z1/minio:
    total 8
    drwxr-xr-x 7 root root 4096 Jun 24 15:51 fr30-home
    drwxr-xr-x 3 root root 4096 Jun 24 18:22 teste-restic-s3

    /z2/minio:
    total 8
    drwxr-xr-x 7 root root 4096 Jun 24 15:51 fr30-home
    drwxr-xr-x 3 root root 4096 Jun 24 18:22 teste-restic-s3

    /z3/minio:
    total 8
    drwxr-xr-x 7 root root 4096 Jun 24 15:51 fr30-home
    drwxr-xr-x 3 root root 4096 Jun 24 18:22 teste-restic-s3


    mc ls fr80
    Código:
    [2017-06-24 15:51:15 UTC]     0B fr30-home/
    [2017-06-24 18:22:58 UTC]     0B teste-restic-s3/
    restic -r s3:http://servidor-fr80/teste-restic-s3 backup /usr/local/src
    enter password for repository:
    scan [/usr/local/src]
    scanned 160 directories, 1121 files in 0:00
    [0:04] 100.00% 36.847 MiB/s 147.387 MiB / 147.387 MiB 1281 / 1281 items 0 errors ETA 0:00
    duration: 0:04, 34.11MiB/s
    snapshot fd4064d6 saved


    restic -r s3:http://servidor-fr80/teste-restic-s3 snapshots
    Código:
    enter password for repository:
    ID        Date                 Host        Tags        Directory
    ----------------------------------------------------------------------
    fd4064d6  2017-06-24 18:27:59  fr80                    /usr/local/src

    ls -l /z0/minio/teste-restic-s3/restic
    Código:
    total 20
    drwxr-xr-x  2 root root 4096 Jun 24 18:22 config
    drwxr-xr-x 33 root root 4096 Jun 24 18:28 data
    drwxr-xr-x  3 root root 4096 Jun 24 18:28 index
    drwxr-xr-x  3 root root 4096 Jun 24 18:22 keys
    drwxr-xr-x  3 root root 4096 Jun 24 18:28 snapshots
    ls -la /z0/minio/teste-restic-s3/restic/config/part.1
    -rw-r--r-- 1 root root 78 Jun 24 18:22 /z0/minio/teste-restic-s3/restic/config/part.1

    rm -r /z3/minio/teste-restic-s3/restic/snapshots
    rm -r /z1/minio/teste-restic-s3/restic/data/02
    rm -r /z2/minio/teste-restic-s3/restic/data/7c
    rm -r /z2/minio/teste-restic-s3/restic/keys
    rm -r /z0/minio/teste-restic-s3/restic/config/part.1

    ls -la /z0/minio/teste-restic-s3/restic/config/part.1
    ls: cannot access /z0/minio/teste-restic-s3/restic/config/part.1: No such file or directory

    ls -la /z2/minio/teste-restic-s3/restic/keys
    ls: cannot access /z2/minio/teste-restic-s3/restic/keys: No such file or directory

    restic -r s3:http://servidor-fr80/teste-restic-s3 list keys
    enter password for repository:
    74f4277dcc9ff3ca8fb10f5866d2ac631d85abb66fe6017df3 464e021382dc6c



    restic -r s3:http://servidor-fr80/teste-restic-s3 snapshots
    Código:
    enter password for repository:
    ID        Date                 Host        Tags        Directory
    ----------------------------------------------------------------------
    fd4064d6  2017-06-24 18:27:59  fr80                    /usr/local/src
    mc admin heal --recursive --fake fr80/teste-restic-s3
    Object: teste-restic-s3/restic/config, can be healed.
    Object: teste-restic-s3/restic/data/02/02ce2b6405029e4135cb78e2cfa95511709b3f37c63779df85 5a29d2e3e3a5ad, can be healed.
    Object: teste-restic-s3/restic/data/7c/7c05cafb504a5b32ef6a458594044f854a3dcb748446d721ed 83540577be482a, can be healed.
    Object: teste-restic-s3/restic/keys/74f4277dcc9ff3ca8fb10f5866d2ac631d85abb66fe6017df3 464e021382dc6c, can be healed.
    Object: teste-restic-s3/restic/snapshots/fd4064d68ccfa1f8cd746e08c0967cf9c49488776127409454 589cbec0b9f770, can be healed.


    mc admin heal --recursive fr80/teste-restic-s3
    Object teste-restic-s3/restic/config is healed on all disks
    Object teste-restic-s3/restic/data/02/02ce2b6405029e4135cb78e2cfa95511709b3f37c63779df85 5a29d2e3e3a5ad is healed on all disks
    Object teste-restic-s3/restic/data/7c/7c05cafb504a5b32ef6a458594044f854a3dcb748446d721ed 83540577be482a is healed on all disks
    Object teste-restic-s3/restic/keys/74f4277dcc9ff3ca8fb10f5866d2ac631d85abb66fe6017df3 464e021382dc6c is healed on all disks
    Object teste-restic-s3/restic/snapshots/fd4064d68ccfa1f8cd746e08c0967cf9c49488776127409454 589cbec0b9f770 is healed on all disks


    ls -la /z0/minio/teste-restic-s3/restic/config/part.1
    -rw-r--r-- 1 root root 78 Jun 24 18:47 /z0/minio/teste-restic-s3/restic/config/part.1

    ls -la /z2/minio/teste-restic-s3/restic/keys
    total 12
    drwxr-xr-x 3 root root 4096 Jun 24 18:47 .
    drwxr-xr-x 7 root root 4096 Jun 24 18:47 ..
    drwxr-xr-x 2 root root 4096 Jun 24 18:47 74f4277dcc9ff3ca8fb10f5866d2ac631d85abb66fe6017df3 464e021382dc6c


    rm -r /z1/minio/teste-restic-s3/restic/data/02
    rm -r /z2/minio/teste-restic-s3/restic/data/02
    rm -r /z3/minio/teste-restic-s3/restic/data/02

    mc admin heal --recursive --fake fr80/teste-restic-s3
    mc: <ERROR> restic/data/02/02ce2b6405029e4135cb78e2cfa95511709b3f37c63779df85 5a29d2e3e3a5ad cannot be healed until quorum is available.
    Última edição por 5ms; 24-06-2017 às 18:22.

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •