AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / 问题

Perguntas[backup](server)

Martin Hope
QGuy
Asked: 2024-07-25 20:49:21 +0800 CST

Por que meu pg_basebackup é incompatível com Postgres?

  • 5

Eu tenho um script de shell de backup que executa o pg_basebackup todas as noites. Quando tento executá-lo, recebo esta mensagem de erro dizendo que pg_basebackup aparentemente não é compatível com Postgres.app versão 16.3.

2024-07-25 14:38:37 - Backup script started.
2024-07-25 14:38:37 - PG_USER: postgres
2024-07-25 14:38:37 - BACKUP_DIR: /Volumes/Atoma/Backup
2024-07-25 14:38:37 - TEMP_BACKUP_DIR: /Volumes/Atoma/tmp_backup
2024-07-25 14:38:37 - DAY_OF_WEEK: Donnerstag
2024-07-25 14:38:37 - BACKUP_NAME: Donnerstag.tar.gz
2024-07-25 14:38:37 - LOG_FILE: /Users/tristan/Server_Backup/daily.log
2024-07-25 14:38:37 - Starting backup for Donnerstag.
2024-07-25 14:38:37 - Running pg_basebackup command.
pg_basebackup: error: incompatible server version 16.3 (Postgres.app)
pg_basebackup: removing contents of data directory "/Volumes/Atoma/tmp_backup"
2024-07-25 14:38:38 - Backup failed for Donnerstag.
2024-07-25 14:38:38 - Backup script finished.

Eu uso o macOS Sonoma 14.5 (23F79). Este é o meu script de backup:

#!/bin/zsh


# Variables
PG_USER="xyz"
PG_USER_PW="xyz"
PORT="5432"
HOST="localhost"

BACKUP_DIR="/Volumes/Atoma/Backup"
TEMP_BACKUP_DIR="/Volumes/Atoma/tmp_backup"
DAY_OF_WEEK=$(date +%A)
BACKUP_NAME="$DAY_OF_WEEK.tar.gz"
LOG_FILE="/Users/tristan/Server_Backup/daily.log"

# create temporary directory (needed for pg_basebackup)
mkdir -p $TEMP_BACKUP_DIR

# log with timestamp
log_with_timestamp() {
  echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> $LOG_FILE
}

# Start logging
log_with_timestamp "Backup script started."

# Logging variables
log_with_timestamp "PG_USER: $PG_USER"
log_with_timestamp "BACKUP_DIR: $BACKUP_DIR"
log_with_timestamp "TEMP_BACKUP_DIR: $TEMP_BACKUP_DIR"
log_with_timestamp "DAY_OF_WEEK: $DAY_OF_WEEK"
log_with_timestamp "BACKUP_NAME: $BACKUP_NAME"
log_with_timestamp "LOG_FILE: $LOG_FILE"

# Start backup log process
log_with_timestamp "Starting backup for $DAY_OF_WEEK."

# Set the PGPASSWORD environment variable
export PGPASSWORD=$PG_USER_PW

# Run pg_basebackup
log_with_timestamp "Running pg_basebackup command."
if pg_basebackup -h $HOST -p $PORT -U $PG_USER -D $TEMP_BACKUP_DIR -Ft -z -P -Xs 2>> $LOG_FILE; then
    # Compress the backup and move it to the final destination
    mv $TEMP_BACKUP_DIR/$BACKUP_NAME $BACKUP_DIR
    log_with_timestamp "Backup completed successfully for $DAY_OF_WEEK."
else
    log_with_timestamp "Backup failed for $DAY_OF_WEEK."
fi

# Clean up temporary backup directory
rm -rf $TEMP_BACKUP_DIR

# Unset the PGPASSWORD environment variable for security
unset PGPASSWORD

# End of script
log_with_timestamp "Backup script finished."
backup
  • 1 respostas
  • 50 Views
Martin Hope
hyhno01
Asked: 2024-07-08 21:06:24 +0800 CST

Ubuntu: Use anacron e rsync para backups mensais em unidade externa

  • 5

Meu objetivo é gravar backups mensais do meu /home/diretório do Ubuntu em um drive externo, que depois de conectá-lo ao computador posso ver em /media/ironman/Elements. Para esse fim eu uso rsync.

A unidade externa nem sempre está montada, então criei um script interativo, solicitando que eu monte a unidade quando ela não estiver. Quero agendar esse script anacronporque meu laptop é desligado regularmente. Acho que minha configuração não funciona por causa da parte interativa: quando executo o script na linha de comando, posso ver naturalmente sua saída na mesma linha de comando. No entanto, o anacron não é executado na linha de comando.

Este é o roteiro em/home/ironman/scripts/backup_anacron.sh

#!/bin/bash

# Variables
SOURCE_DIR="/home/ironman"
TARGET_DIR="/media/ironman/Elements/backup_$(date +%Y%m%d)"
EXCLUDES="--exclude=\"lost+found\" --exclude=\".cache\""
RSYNC_CMD="rsync -a --info=progress2 $EXCLUDES $SOURCE_DIR/ $TARGET_DIR"


# Function to check if the drive is mounted
check_mount() {
    if grep -qs "/media/ironman/Elements " /proc/mounts; then
        echo "Backup drive is mounted."
        return 0
    else
        return 1
    fi
}

# Check whether backup drive has enough free space
check_space() {
    # Get available space on target drive in kilobytes
    available_space=$(df --output=avail "/media/ironman/Elements" | tail -1)
    # Get required space for the source directory in kilobytes
    required_space=$(du -sk "$SOURCE_DIR" | cut -f1)
    
    if [ "$available_space" -ge "$required_space" ]; then
        echo "Enough space on backup drive. Required: $required_space KB, Available: $available_space KB."
        return 0
    else
        echo "Not enough space on backup drive. Required: $required_space KB, Available: $available_space KB. Manual backup necessary"
        echo $RSYNC_CMD
        exit 1
    fi
}

# Initial check
check_mount
if [ $? -eq 1 ]; then

    # If the drive is not mounted, prompt the user
    echo "Please mount drive within one minute."

    # Wait for up to 60 seconds for the drive to be mounted
    for i in {1..60}; do
    
        # check every second if drive is mounted
        sleep 1
        check_mount
        if [ $? -eq 0 ]; then
        
            # if enough space available, execute rsync, else print error message
        check_space
        if [ $? -eq 0 ]; then
                eval $RSYNC_CMD
                exit 0 
            fi
        fi
    done
fi


# If the drive is still not mounted after 60 seconds, print an error message
if [ $? -eq 1 ]; then
    echo "Backup drive is not mounted. Could not backup /home/ironman/. Command for manual backup:"
    echo $RSYNC_CMD
    exit 1
fi

# if enough space available, execute rsync, else exit script
check_space
if [ $? -eq 0 ]; then
    eval $RSYNC_CMD
    exit 0
fi

Adicionei a seguinte linha no final de /etc/anacrontab:

@monthly 15 backup.monthly nice /home/ironman/scripts/backup_anacron.sh

Quando forço a execução das tarefas mensais /usr/sbin/anacron -n -f cron.monthly, nada acontece. O que estou fazendo de errado?

backup
  • 3 respostas
  • 29 Views
Martin Hope
Antonello
Asked: 2024-02-12 17:38:11 +0800 CST

Espaço total em bkps usando rsync e hardlinks: quem está certo entre du e interface web Synlogy?

  • 5

Eu bkp minha partição raiz do servidor em um Synology NAS (fs: btrfs) montado como NFS usando /mnt/bkpseste script que é baseado em rsync e hard links, para ter bkps diários.

Se eu verificar o espaço duno servidor parece que tudo está funcionando bem, cada pasta de backup diário tem 28 GB, mas o tamanho total é de apenas 29 GB:

root@ncy-beta-compserver:/mnt/bkps/root_bkps# du -hs bkps-root.2024-2-12
28G bkps-root.2024-2-12
root@ncy-beta-compserver:/mnt/bkps/root_bkps# du -hs bkps-root.2024-2-11
28G bkps-root.2024-2-11
root@ncy-beta-compserver:/mnt/bkps/root_bkps# cd ..
root@ncy-beta-compserver:/mnt/bkps# du -hs root_bkps/
29G root_bkps/

No entanto, se eu for para a interface da web do Synology NAS -> Estação de arquivo e selecionar "propriedade" para a pasta, obtenho cada pasta bkp diária de 28 GB, mas a pasta bkp total é de 55 GB!

Quem está certo ?

backup
  • 1 respostas
  • 24 Views
Martin Hope
JustJoe
Asked: 2023-08-01 17:22:03 +0800 CST

Como configurar um controlador LSI MegaRAID para hospedar discos de backup não RAID que permitem hot swap

  • 9

Estou executando um servidor com um controlador LSI MegaRAID que possui 4 slots no backplane para 4 HDDs SATA. Dois desses slots são usados ​​para HDDs configurados como RAID1, que é usado como o "armazenamento principal" do servidor.

Agora estou planejando tornar meu procedimento de backup mais robusto. Atualmente, uso 3 unidades SSD USB portáteis onde conecto uma de cada vez ao servidor e deixo o software de backup armazenar os dados de backup no SSD. Eu viro regularmente o SSD conectado e guardo os outros em um local seguro. Essa configuração funciona muito bem, exceto que a conexão USB às vezes causa problemas.

Minha ideia agora é conseguir mais dois caddies para os slots de HDD do servidor e montar drives SATA SSD neles. No final, tenho 3 caddies com um SSD em cada um que deve servir como mídia de backup. Da mesma forma que com as unidades USB anteriores, vou conectá-las round robin (uma de cada vez) no servidor (slot 0) e fazer com que o software de backup armazene seus dados no disco de backup atualmente conectado.

Essa é a teoria. Como devo configurar os três HDDs de backup SATA no controlador LSI/MegaRAID? Um dos pontos mais importantes é que não quero reconfigurar/reparar a configuração toda vez que retiro e coloco um disco de backup. Minha configuração ideal seria que eu pudesse conectar qualquer um desses 3 discos no slot 0 do painel traseiro e o controlador apenas montasse a unidade da mesma forma que um disco USB faria, que eu apenas conecto no barramento.

Qualquer ideia ou recomendação seria ótima!

Obrigado!

backup
  • 1 respostas
  • 54 Views
Martin Hope
ericx
Asked: 2023-06-03 02:32:40 +0800 CST

Como salvar o estado de habilitação do systemd

  • 5

Gostaria de poder duplicar a lista de systemdunidades habilitadas de uma máquina para outra.

Uma systemdunidade é habilitada ou desabilitada com base na existência (ou falta) de um link simbólico. Neste momento, a melhor ferramenta que consegui pensar é treeou talvez find? Então, em teoria, eu poderia escrever algo; mas já não existe uma ferramenta para fazer isso?

Em um mundo perfeito, ele examinaria todos os vários diretórios onde esses links simbólicos são criados (conheço 3: /etc/systemd /run/systemd ~/.config/systemd/user) e renderizaria um arquivo legível que poderia ser usado para reproduzir as configurações em outro computador. Também útil para backup.

backup
  • 2 respostas
  • 47 Views
Martin Hope
Snappawapa
Asked: 2023-05-27 07:27:42 +0800 CST

Arquivos de dados Mongodb corrompidos quando copiados em

  • 5

Tenho certeza de que existe uma solução direta, estou executando um serviço Mongodb da seguinte forma:

[Unit]
Description=Mongo server for Open Quartermaster. Version ${version}, using MongoDB tagged to "4".
Documentation=https://github.com/Epic-Breakfast-Productions/OpenQuarterMaster/tree/main/software/Infrastructure
After=docker.service
Wants=network-online.target docker.socket
Requires=docker.socket

[Service]
Type=simple
Restart=always
TimeoutSec=5m

#ExecStartPre=/bin/bash -c "/usr/bin/docker container inspect oqm_mongo 2> /dev/null || "
ExecStartPre=/bin/bash -c "/usr/bin/docker stop -t 10 oqm_infra_mongo || echo 'Could not stop mongo container'"
ExecStartPre=/bin/bash -c "/usr/bin/docker rm oqm_infra_mongo || echo 'Could not remove mongo container'"
ExecStartPre=/bin/bash -c "/usr/bin/docker pull mongo:4"

ExecStart=/bin/bash -c "/usr/bin/docker run \
                                 --name oqm_infra_mongo \
                                 -p=27017:27017 \
                                 -v /data/oqm/db/mongo/:/data/db  \
                                 mongo:4 mongod --replSet rs0"
ExecStartPost=/bin/bash -c "running=\"false\"; \
                            while [ \"$running\" != \"true\" ]; do \
                                sleep 1s; \
                                /usr/bin/docker exec oqm_infra_mongo mongo --eval \"\"; \
                                if [ \"$?\" = \"0\" ]; then \
                                    echo \"Mongo container running and available!\"; \
                                    running=\"true\"; \
                                fi \
                            done \
                            "
ExecStartPost=/bin/bash -c "/usr/bin/docker exec oqm_infra_mongo mongo --eval \"rs.initiate({'_id':'rs0', 'members':[{'_id':0,'host':'localhost:27017'}]})\" || echo 'Probably already initialized.'"

ExecStop=/bin/bash -c "/usr/bin/docker stop -t 10 oqm_infra_mongo || echo 'Could not stop mongo container'"
ExecStopPost=/bin/bash -c "/usr/bin/docker rm oqm_infra_mongo || echo 'Could not remove mongo container'"

[Install]
WantedBy=multi-user.target

Estou fazendo com que o docker mapeie o diretório /data/oqm/db/mongo/ do host e parece que isso funciona bem; olhando do host, vejo o diretório preenchido quando executado. Essa configuração parece funcionar bem entre as reinicializações e persiste bem.

No entanto, quando tento fazer backup e restaurar os dados copiando os dados neste diretório e voltando, ao tentar trazer o serviço de volta, Mongo vomita, alegando que os dados estão corrompidos. Alguma ideia?

Para esclarecer, meu backup e restauração acontecem quando o serviço é interrompido e consiste em:

Fazendo backup:

  1. Parando o serviço (usando systemd)
  2. Copiando os arquivos no diretório de dados
  3. Iniciando o backup do serviço (usando systemd)

Restaurando:

  1. Parando o serviço (usando systemd)
  2. nuking os arquivos existentes no diretório de dados
  3. copiando de volta os arquivos copiados anteriormente
  4. Iniciando o serviço (usando systemd) (falha)

Estou tentando este método, pois geralmente é descrito nos documentos: https://www.mongodb.com/docs/manual/core/backups/#back-up-with-cp-or-rsync

Trecho dos logs de erro:


May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.275+00:00"},"s":"I",  "c":"STORAGE",  "id":22315,   "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=11224M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress,compact_progress],"}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.686+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1685192819:686027][1:0x7fefd1197cc0], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 1 through 3"}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.719+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1685192819:719823][1:0x7fefd1197cc0], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 2 through 3"}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.749+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1685192819:749492][1:0x7fefd1197cc0], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 3 through 3"}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.801+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31804,"message":"[1685192819:801911][1:0x7fefd1197cc0], txn-recover: __recovery_setup_file, 643: metadata corruption: files file:collection-0-6243490866083295563.wt and file:collection-0--9007965794334803376.wt have the same file ID 4: WT_PANIC: WiredTiger library panic"}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.801+00:00"},"s":"F",  "c":"-",        "id":23089,   "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":50853,"file":"src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp","line":481}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.802+00:00"},"s":"F",  "c":"-",        "id":23090,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.802+00:00"},"s":"F",  "c":"CONTROL",  "id":4757800, "ctx":"initandlisten","msg":"Writing fatal message","attr":{"message":"Got signal: 6 (Aborted).\n"}}

Atualização: depois que foi sugerido, verifiquei novamente se as permissões estão sendo preservadas e definitivamente estão sendo preservadas agora. Infelizmente, ainda atingindo o mesmo problema

backup
  • 1 respostas
  • 56 Views
Martin Hope
Tessaract
Asked: 2022-11-13 16:19:16 +0800 CST

Como o Backup do Azure faz backup de VMs em execução?

  • 8

Estamos planejando implementar backups de backup do Azure de nossas VMs, mas estou lutando para encontrar alguma documentação que indique claramente como os backups são feitos.

Vejo que os instantâneos estão sendo tirados, mas como o Backup do Azure faz backup das VMs sem desligá-los? Se uma máquina estiver gravando arquivos ou alterando configurações, como/em que ponto o backup será feito se não estiver sendo desligado?

backup
  • 3 respostas
  • 387 Views
Martin Hope
vpseg
Asked: 2022-04-09 09:04:38 +0800 CST

Qual é a maneira correta de fazer backup de arquivos de concessão ISC DHCPd?

  • 1

De acordo com esta resposta , os arquivos de concessão DHCPd são limpos a cada hora. O objetivo é fazer backup do arquivo de concessões continuamente, para que nunca haja perda de uma concessão. Isso é dificultado, pois não está claro se o temporizador de horas é baseado no horário do sistema (por exemplo, o arquivo é reescrito às 1h, 2h, 3h etc.) ou no tempo de processo (service_start + 1h, service_start + 2h, etc). Digamos que o arquivo de concessões seja limpo exatamente às 3h e uma concessão seja concedida às 2h58:55; o serviço que faz backup do arquivo de concessão precisaria ser executado rapidamente antes que o arquivo fosse limpo.

O processo DHCPd faz seu próprio backup do arquivo para /var/lib/dhcpd/dhcpd.leases~. A melhor aposta parece ser fazer um script que faça backup desse arquivo em outro local a cada hora. Mas se o processo DHCPd for reiniciado e o cronômetro for relativo ao processo, seria possível alinhar a marca de hora nas tarefas de backup, o que pode terminar em um processo lendo enquanto o outro grava, e isso pode danificar o arquivo ( dependendo de como é feito). Portanto, a tarefa de backup precisaria de algum conhecimento de quando o DHCPd é iniciado. Isso está ficando complicado.

Qual é a maneira 'correta' de fazer backup do arquivo de concessões DHCPd, para que nenhuma concessão seja perdida?

backup redhat isc-dhcp
  • 1 respostas
  • 59 Views
Martin Hope
Joel Divekar
Asked: 2022-02-06 23:44:29 +0800 CST

mariabackup falha com Erro: não é possível mkdir 2: /data/backups/mariadb/

  • 0

Tentando usar o mariabackup para fazer backup de todos os nossos bancos de dados. Primeiro diretório de backup criado como

mkdir -p /mnt/data/backup/mariadb
chown -R mysql:mysql /mnt/data/backup/mariadb

E prossiga para fazer backup

# mariabackup --backup --target-dir=/mnt/data/backups/mariadb/ --user=root --password=xxxxxxxx
[00] 2022-02-06 11:28:46 Connecting to MySQL server host: localhost, user: root, password: set, port: not set, socket: /mnt/data/mysql/mysql.sock
[00] 2022-02-06 11:28:46 Using server version 10.3.28-MariaDB
mariabackup based on MariaDB server 10.3.28-MariaDB Linux (x86_64)
[00] 2022-02-06 11:28:46 uses posix_fadvise().
[00] 2022-02-06 11:28:46 cd to /mnt/data/mysql/
[00] 2022-02-06 11:28:46 open files limit requested 0, set to 1024
[00] 2022-02-06 11:28:46 mariabackup: using the following InnoDB configuration:
[00] 2022-02-06 11:28:46 innodb_data_home_dir = 
[00] 2022-02-06 11:28:46 innodb_data_file_path = ibdata1:12M:autoextend
[00] 2022-02-06 11:28:46 innodb_log_group_home_dir = ./
[00] 2022-02-06 11:28:46 InnoDB: Using Linux native AIO
2022-02-06 11:28:46 0 [Note] InnoDB: Number of pools: 1
[00] 2022-02-06 11:28:46 Error: cannot mkdir 2: /mnt/data/backups/mariadb/

tentei goggling e várias opções, não funcionou, então finalmente tentei sem a opção --target-directory e fiz backup novamente e funcionou com sucesso e consegui isso

# ls -ld /mnt/data/backup
drwxr-xr-x 3 mysql mysql 21 Feb  6 11:41 /mnt/data/backup

# pwd
/mnt/data/mysql

# ll
total 8
drwxr-xr-x  3 mysql mysql   21 Feb  6 11:41 backup
drwxr-xr-x 27 mysql mysql 4096 Feb  4 19:07 mysql
drwx------ 27 root  root  4096 Feb  6 11:22 xtrabackup_backupfiles

O que eu fiz de errado ou como executo isso com ----target-directory

backup mariadb rocky-linux
  • 2 respostas
  • 281 Views
Martin Hope
Greg Nelson
Asked: 2022-01-05 18:49:53 +0800 CST

Usuário iniciante do btrfs: falhas de soma de verificação e erros de entrada/saída em abundância

  • 0

Um colega de casa me sugeriu que eu deveria usar btrfs em vez do que tenho feito até agora, que é usar mdadm com unidades clonadas e adicionar uma unidade extra à matriz para "clonar" um backup. O sistema possui três unidades, todas de modelos fisicamente diferentes:

  • /dev/sda: TOSHIBA HDWQ140
  • /dev/sdb: HGST HUS724040AL
  • /dev/sdc: WDC WDS250G2B0B

Bem, eu instalei o btrfs, mas agora ele está em execução há quase um ano e descubro que deveria ter um trabalho cron semanal em execução para "limpá-lo". Comecei a tentar configurar um script para isso, embora pareça um sistema estupidamente DIY que exige que você pesquise um script no Google (o principal hit que encontrei foi de algo como 2014) e o instale para manter seu sistema de arquivos em execução.

Enquanto eu estava fazendo todas essas coisas administrativas, encontrei alguns arquivos que precisavam ser movidos ... Vou pular os detalhes sangrentos, mas mover os arquivos de um sistema de arquivos btrfs para outro e de volta gerou todos os tipos de "entrada/saída errors" (nunca vi isso com ext4), e até mesmo esta jóia:

Jan  4 21:19:19 host kernel: [9771285.171522] attempt to access beyond end of device
Jan  4 21:19:19 host kernel: [9771285.171522] sda1: rw=1, want=70370535518208, limit=7814035087
Jan  4 21:19:19 host kernel: [9771285.171529] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 1, rd 0, flush 0, corrupt 5, gen 0

Estou assumindo que estes estão relacionados. Mas aqui está a coisa realmente estúpida. Estou recebendo erros de soma de verificação não apenas em arquivos que estão parados há um ano, mas em arquivos que literalmente copiei apenas algumas horas atrás para uma unidade física diferente . Além disso, quase todos eles estão em arquivos enormes (coisas como imagens ISO de DVD) se isso for alguma indicação de alguma coisa?

Então, sim, eu poderia estar vendo uma falha de unidade tripla simultânea ou o btrfs apenas corrompe meus arquivos para mim?

Além disso, cada postagem do pessoal experiente do btrfs inclui um pequeno e fofo "bem, você deve restaurar isso a partir de backups ... você tem backups, não é". Então me digam, o que exatamente você usa para fazer backup de um disco rígido de 4 TB? Porque eu não posso exatamente, você sabe, gravá-lo em um DVD, e se os discos rígidos não são tão confiáveis, então para que servem os backups em discos rígidos?

Perguntas tão sérias:

  1. Esses erros de soma de verificação são realmente normais e esperados?
  2. Por que estou vendo eles em arquivos que só foram copiados hoje?
  3. Esfoliantes regulares serão suficientes para proteger contra isso?
  4. Devo comprar novos discos rígidos e jogar fora todos os que estão atualmente na máquina porque eles realmente estão falhando?
  5. Como você recomenda fazer backup de unidades de dados de vários terabytes?

Atualização 2022-01-07: eu corri smartctlem todas as unidades e elas não estão relatando nenhum problema. Raw UDMA_CRC_Error_Count é 0 para todas as unidades. Tentei restaurar arquivos corrompidos... o arquivo tar copiado para a máquina falhou após alguns arquivos com um erro de E/S. Realmente não faço ideia do que está acontecendo aqui:

  • Se as unidades ou os cabos estivessem ruins, isso apareceria no SMART, certo?
  • Se a CPU ou a memória estivessem ruins, o sistema não estaria funcionando perfeitamente? (Atualmente até 115 dias sem problemas óbvios)?
  • Se isso fosse um bug generalizado com o btrfs, não estaria em toda a internet?

Então, onde poderia estar realmente o problema?

backup ubuntu-20.04 btrfs checksum
  • 1 respostas
  • 195 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve