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 / computer / Perguntas / 1884389
Accepted
Max
Max
Asked: 2025-03-04 19:16:26 +0800 CST2025-03-04 19:16:26 +0800 CST 2025-03-04 19:16:26 +0800 CST

É possível combinar dois pen drives em uma única partição para armazenar um arquivo muito grande? Se sim, como isso pode ser feito?

  • 772

Sei que isso parece estranho, mas tenho vários pen drives USB de 64 GB e preciso armazenar um arquivo de 100 GB, o que excede a capacidade de armazenamento de um único pen drive USB. Existe uma maneira de combinar esses dois pen drives USB em uma única partição lógica que apareceria como um disco maior?

Observe que estou usando o Debian Linux em vez do Windows.

Sempre trabalharei com os dois pen drives conectados ao meu laptop e não acessarei o arquivo com apenas um USB conectado.

Para esclarecer minha pergunta, deixe-me dar um exemplo. Por exemplo, tenho um arquivo que contém os dados do seguinte:

1234567890, e eu gostaria de dividir o arquivo para 12345e 67890se cada pen drive USB puder conter apenas 5 caracteres de dados. Mas o arquivo só é acessível se 2 pen drives USB forem conectados simultaneamente.

hard-drive
  • 7 7 respostas
  • 4865 Views

7 respostas

  • Voted
  1. Velvet
    2025-03-04T19:30:50+08:002025-03-04T19:30:50+08:00

    O que você quer alcançar pode ser feito dividindo um arquivo em partes menores. Depende se você precisa de acesso direto ao seu arquivo de 100 GB ou se ele é somente para fins de arquivamento. Se for o último, essa abordagem pode ser útil.

    Neste exemplo, estou usando o 7-Zip para criar um tararquivo dividido em pedaços de 100 MB:

    insira a descrição da imagem aqui

    Isso também funciona para outros formatos de arquivo, como zipou 7z.

    Aqui eu dividi some_large_file.iso (1,04 GB) em pedaços de 100 MB:

    insira a descrição da imagem aqui

    No seu caso, você dividiria seu arquivo em unidades de 64 GB ( 64G ). Dependendo do tamanho real dos seus pendrives, talvez seja necessário reduzir um pouco esse tamanho.

    • 31
  2. Kamil Maciorowski
    2025-03-05T05:01:59+08:002025-03-05T05:01:59+08:00

    Se "partição lógica que pareceria um disco maior" não for um requisito rigoroso, você pode usar o Btrfs.

    Primeiro decida se você quer comprometer pendrives USB inteiros para o sistema de arquivos que você vai criar, ou se você quer criar uma tabela de partição em cada um. O último método é mais canônico , o primeiro método é mais simples.

    A maioria dos comandos nesta resposta precisa de acesso root. Para ser breve, não incluo sudoexplicitamente nos comandos. Use sudoonde necessário.

    Vamos supor que os dispositivos que você deseja usar sejam /dev/sdxe /dev/sdy. Por precaução, execute wipefs -a /dev/sdx /dev/sdy, para que os dispositivos pareçam limpos.

    Se você quiser usar partições em vez de dispositivos inteiros, crie uma partição grande por dispositivo (com fdisk, gdiskou uma ferramenta similar). Se a ferramenta de sua escolha perguntar se deve criar um novo sistema de arquivos, recuse. Se a ferramenta encontrar uma assinatura antiga e perguntar se deve apagá-la, afirme. Depois de criar partições (digamos /dev/sdx1e /dev/sdy1), apenas no caso de você poder executar wipefs -a /dev/sdx1 /dev/sdy1, para que elas pareçam limpas com certeza.

    Agora crie um Btrfs nos dispositivos. Ele será

    mkfs.btrfs -d single -m dup /dev/sdx /dev/sdy
    

    ou

    mkfs.btrfs -d single -m dup /dev/sdx1 /dev/sdy1
    

    dependendo se você deseja usar todos os dispositivos ou as partições.

    Isso não criará uma "partição lógica que apareceria como um disco maior"; quero dizer, não aparecerá nenhuma que /dev/somethingvocê possa acessar no nível de bloco. Ainda assim, um sistema de arquivos maior será criado e estará pronto para ser montado.

    Para montar o sistema de arquivos, monte qualquer um dos seus dispositivos, não importa qual. Se o kernel souber quais outros dispositivos pertencem ao mesmo sistema de arquivos, ele os usará corretamente. Se algum dos dispositivos estiver faltando (realmente faltando ou "perdido" pelo kernel), o kernel não permitirá que você monte o sistema de arquivos. Logo após criar o sistema de arquivos, o kernel deve saber os dispositivos e a montagem deve funcionar diretamente. Após uma reinicialização ou após (re)conectar o(s) dispositivo(s) ao mesmo ou a outro Linux, você pode precisar executar btrfs device scanprimeiro, para fazer o kernel examinar todos os dispositivos e aprender o que Btrfs está onde. Não há mal nenhum em executar, btrfs device scanmesmo que o kernel já saiba; então, em caso de dúvida, apenas execute.

    É assim que você monta:

    mount /dev/sd… /path/to/mountpoint
    

    onde sd…é um dos dispositivos que pertencem ao sistema de arquivos. No nosso exemplo, pode ser sdxor sdy(se o sistema de arquivos estiver nesses dispositivos inteiros), or sdx1or sdy1(se o sistema de arquivos estiver dentro dessas partições).

    Você desmonta da maneira mais regular:

    umount /path/to/mountpoint
    

    Notas:

    • Para armazenar arquivos ainda maiores, você pode usar três ou mais dispositivos mkfs.btrfsem primeiro lugar; ou pode adicionar um dispositivo ao Btrfs mais tarde com btrfs device add …(veja man 8 btrfs-device).

    • Você pode usar dispositivos inteiros, partições e/ou até mesmo arquivos regulares* como "dispositivos" comprometidos com Btrfs. Você pode misturar esses tipos.

      * No caso de arquivos regulares, você precisa criar dispositivos de loop (com losetup) antes de btrfs device scan.

    • O comentário que diz "pen drives USB são notoriamente não confiáveis ​​e você estará dobrando a chance de algo dar errado" está basicamente certo. Estou lhe dando uma maneira de fazer o que você quer porque é possível. Pessoalmente, eu usaria Btrfs em vários pen drives USB apenas para armazenamento de curto prazo (ad hoc) de dados descartáveis.

    • 23
  3. vidarlo
    2025-03-05T04:09:40+08:002025-03-05T04:09:40+08:00

    Use splitpara dividir os arquivos:

    split -b 60G filename
    

    Dará a você filename01e filename02. Para restaurar o original basta fazer

    cat filename01 filename02 > filename
    
    • 15
  4. Max
    2025-03-05T09:26:06+08:002025-03-05T09:26:06+08:00

    Resumi as respostas e comentários, e cheguei a 2 soluções principais. A primeira solução é a mais segura, mas é meio complexa, a terceira, no entanto, se apega à questão da origem:

    Solução 1: Criando um volume lógico LVM em várias unidades flash

    Obrigado @GlennWillen pelo comentário sobre o link e o lembrete.

    • https://luppeng.wordpress.com/2023/10/01/creating-a-lvm-logical-volume-across-several-usb-flash-drives/

    Nota: As etapas a seguir foram copiadas do site

    Etapa 1 – Crie uma partição em cada uma das unidades flash USB

    Antes de começar, lembre-se de conectar todos os quatro USBs

    $ sudo fdisk /dev/sdb
    
    Welcome to fdisk (util-linux 2.37.2).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): p
    Disk /dev/sdb: 1.87 GiB, 2002780160 bytes, 3911680 sectors
    Disk model: Flash Disk
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x6a5f5bac
    
    Command (m for help): n
    Partition type
      p   primary (0 primary, 0 extended, 4 free)
      e   extended (container for logical partitions)
    Select (default p): p
    Partition number (1-4, default 1):
    First sector (2048-3911679, default 2048):
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-3911679, default 3911679):
    
    Created a new partition 1 of type 'Linux' and of size 1.9 GiB.
    
    Command (m for help): p
    Disk /dev/sdb: 1.87 GiB, 2002780160 bytes, 3911680 sectors
    Disk model: Flash Disk
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x6a5f5bac
    
    Device     Boot Start     End Sectors  Size Id Type
    /dev/sdb1        2048 3911679 3909632  1.9G 83 Linux
    
    Command (m for help): w
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.
    
    Etapa 2 – Crie os volumes físicos (PVs) do LVM

    Assim que os drives estiverem prontos, criaremos os PVs nos drives flash USB. Há um mapeamento 1:1 entre os PVs e as partições.

    Como cada pen drive USB foi configurado para ter uma partição que abrange todo o disco, nenhum dispositivo de partição (por exemplo, /dev/sdb1) aparecerá. Podemos então criar os PVs no próprio dispositivo “raw”:

    $ sudo pvcreate /dev/sdb /dev/sdc /dev/sdd /dev/sde
    Physical volume "/dev/sdb" successfully created.
    Physical volume "/dev/sdc" successfully created.
    Physical volume "/dev/sdd" successfully created.
    Physical volume "/dev/sde" successfully created.
    
    Etapa 3 – Crie o Grupo de Volume LVM (VG) usando os PVs

    Nesta etapa, agruparemos os PVs em um VG. Esta camada é importante, pois abstrai os discos físicos (representados por seus PVs correspondentes), permitindo alguns dos principais benefícios do uso do LVM, como redimensionamento adicionando/removendo discos físicos enquanto o volume está em uso.

    $ sudo vgcreate vg00 /dev/sdb /dev/sdc /dev/sdd /dev/sde
    Volume group "vg00" successfully created
    
    Etapa 4 – Crie o Volume Lógico (LV) LVM usando o VG

    Para a etapa final do LVM, criaremos um volume lógico que usa o VG vg00 que criamos na etapa anterior:

    $ sudo lvcreate -n my_volume -l 100%FREE vg00
    Logical volume "lv01" created.
    
    Etapa 5 – Crie o sistema de arquivos e monte-o

    O Volume Lógico LVM se comporta de forma semelhante a um dispositivo de bloco – precisamos instalar um sistema de arquivos e montá-lo antes de podermos usá-lo: $ sudo mkfs.ext4 /dev/mapper/vg00-lv01

    $ sudo mount -t ext4 /dev/mapper/vg00-lv01 <PATH TO MOUNT POINT>
    

    Solução 2: Divida o arquivo ao meio e recombine-o ao usá-lo.

    Obrigado @vidarlo pela resposta e pela sugestão.

    • Use splitpara dividir os arquivos:

      split -b 60G filename
      

      Observe que -bo tamanho em bytes por arquivo de saída
      será fornecido a filename01você filename02.

    • Para restaurar o original basta fazer:

      cat filename01 filename02 > filename
      

    Solução 3: Usando tecnologia RAID

    RAID (Redundant Array of Independent Disks) é uma tecnologia usada para combinar vários dispositivos de armazenamento (como discos rígidos ou pen drives USB) em uma única unidade lógica. Pode fornecer benefícios de desempenho, redundância ou ambos, dependendo do nível de RAID usado.

    Solução estendida: compacte a pasta e armazene-a por partes

    Obrigado @velvet pela resposta e sugestão

    Outra solução é 7-zipdividir o arquivo compactado e criar um .tararquivo.

    Use 7z para compactar o arquivo em pedaços de 100 MB (ou o que você quiser)

    insira a descrição da imagem aqui

    Resultado

    insira a descrição da imagem aqui

    • 12
  5. fred_dot_u
    2025-03-04T20:31:16+08:002025-03-04T20:31:16+08:00

    O equivalente do Windows parece ser JBOD e uma busca por "JBOD Linux" retorna alguns resultados possivelmente úteis. Um deles é uma postagem no Ask Ubuntu que sugere usar o Fuse (link para o Fuse no site vinculado) especificamente como uma resposta ao uso do JBOD no Linux.

    Não sou competente o suficiente para validar essa resposta, mas ela foi aceita pelo autor original da postagem para seus propósitos.

    Houve outros resultados que não busquei e que ficam como exercício para o leitor.

    • 5
  6. David G.
    2025-03-06T06:35:21+08:002025-03-06T06:35:21+08:00

    Se você só quer acesso somente leitura a um arquivo de 100 GB e ele é um pouco compactável, você pode tentar executá mksquashfs-lo para ver se ele pode compactar pequeno o suficiente para caber em um disco. Se sim, você pode montar o squashfs de um pen drive onde você precisa usá-lo. Espere mksquashfslevar muito tempo.

    • 2
  7. Best Answer
    Jack Simth
    2025-03-07T02:37:05+08:002025-03-07T02:37:05+08:00

    No Linux? Sim, é fácil (para certos valores de "fácil" - eu não gostaria de ter que explicar isso para minha sogra idosa pelo telefone - mas como copiar/colar? Nada mal).

    Primeiro, conecte todos os USBs que você quer usar. Segundo, liste todos eles: ls /dev/disk/by-id (se sua distro não usa esse conjunto específico de links, tudo bem; execute ls /dev/sd*antes de conectar os USBs, então execute novamente talvez cinco segundos depois - as entradas "novas" são os USBs).

    Crie a matriz RAID: sudo mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=[number of USBs] [listing of the block devices from above]

    Formate o array RAID. Estou usando ext4aqui, mas qualquer formato que seu SO suporte funcionará bem: sudo mkfs.ext4 /dev/md0

    Crie um ponto de montagem: mkdir -p [anywhere on the FS you want, maybe /home/[your username]/myMount or /dev/shm/myUSBRaid]

    Feito isso, agora você pode montar o array: sudo mount /dev/md0 [mount point from above]

    ...e certifique-se de que você pode acessá-lo: sudo chown [your username] [mount point from above]

    ...e então é só um pedaço de sistema de arquivos como qualquer outro. Copie! Quando terminar, desmonte-o: sudo umount /dev/md0

    Uma nota: Isso /dev/md0pode mudar depois que você desconectar/reconectar os USBs - mas deve ser sempre /dev/md[something]assim para que você possa consultá-lo vials /dev/md*

    • 2

relate perguntas

  • Sistema que pode ler o disco rígido e gravar exclusivamente na RAM?

  • Devo substituir/atualizar meu disco rígido após 5 anos?

  • Devo particionar um SSD secundário (sem sistema operacional) usado para armazenamento? [fechado]

  • A execução do CrystalDiskMark causa BSOD no Windows 10

  • O fenômeno 'Write cliff' só acontece com discos SSD?

Sidebar

Stats

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

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

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