Por que uma operação de cópia para um diretório que serve como ponto de montagem não copia os dados para a unidade montada?
Comprei uma unidade de 2 terabytes e montei-a em um subdiretório dentro do meu diretório pessoal.
Onde /dev/sdb
está minha unidade de sistema de 500 GB e /dev/sda
minha unidade de dados de 2 TB:
Partition Mountpoint
/dev/sdb1 -> /
/dev/sdb3 -> /home
/dev/sdb2 -> swap
/dev/sda1 -> /home/data
Tudo isso parece funcionar e até aparece df -h
corretamente (ou seja, /dev/sda1
está montado em /home/data
[para regenerar o fstab que inicializei no meu ambiente ao vivo do disco de arco e montei as partições nas pastas nas /mnt
quais eu queria particionar, executando genfstab -U /mnt > /mnt/etc/fstab
; funcionou] )
Ontem à noite, configurei minha caixa para executar uma operação de cópia de 650 GB para /home/data
. Imagine minha surpresa quando toneladas de operações de cópia falharam devido à falta de espaço em disco.
df -h
mostra que /dev/sdb3
está cheio, mas /dev/sda1
está quase vazio (77 MB). O ponto de montagem está funcionando corretamente, até onde posso dizer, mas a operação de cópia colocou todos os dados em /dev/sdb3
! Presumivelmente, se eu desmontar a unidade, a música ainda estará no formato /home/data
.
Claramente, há algo sobre montagem e fstab que não estou entendendo completamente.
A entrada específica no fstab diz:
# /dev/sdb1
UUID=<UUID> / ext4 rw,relatime 01
# /dev/sdb3
UUID=<UUID> /home ext4 rw,relatime 02
# /dev/sda1
UUID=<UUID> /home/data ext4 rw,relatime 02
Antes de regenerar o fstab, eu tinha uma entrada de troca no fstab. Não sei porque não se regenerou.
Atualização: consegui obter a saída de mount
:
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=4051032k,nr_inodes=1012758,mode=755)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/sdb1 on / type ext4 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=44,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13569)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
configfs on /sys/kernel/config type configfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
/dev/sdb3 on /home type ext4 (rw,relatime)
/dev/sda1 on /home/data type ext4 (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=811560k,mode=700,uid=1000,gid=1000)
Você menciona que seu comando de cópia é
cp -r /mnt/music data/
quando você está no~
.Isso significa que você está copiando seus dados para
/home/<username>/data
, já~
que expandiria para/home/username
.No entanto, sua unidade externa é montada como
/home/data
, de acordo com amount
saída fornecida. Para terminar seu objetivo, você precisa fazer duas coisas:/home/<username/data
para o/home/data
diretório.rsync -avHP /home/<username>/data/* /home/data/
(ou alguma variação)/home/data
, e apenas acesse-o dessa maneira~
para acessá-lo:ln -s /home/data ~/data
/home/<username>/data