以前はWindowsでフォーマットされたNTFSドライブであった8 TBドライブがあります。このドライブには、サイズが7 TB(7.696)の大きなファイルがあります。 .581.394.432バイト)。
OSをLinuxに切り替えたところ、fdisk -l
からパーティションが整列されていないことが通知されました。ドライブを正しい配置とext4ファイルシステム形式で再フォーマットしました。
rsync
を使用してすべてのファイルをドライブに戻しました。何も変なことに気づかなかった。警告やエラーは発生しませんでした。
これで、ドライブが0バイトの空き領域でいっぱいになっているように見えます。ドライブは7.937.399.177.216バイトとして表示されます。前述の大きなファイルを除いて、ドライブから最大200GBのファイルを移動しました。ただし、ドライブはまだいっぱいとして表示されます。ドライブに何も書き込めません。ここで何かが非常にずれているため、データが破損するのではないかと心配しています。
何が起こっているのか、そして私に何ができるのかについてのアドバイスは素晴らしいでしょう。私はすでにそのドライブをミラーリングしていたので、他のバックアップはありません...イメージとドキュメントを失いたくありません。
df -HT /dev/sda1
の出力:
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext4 8,0T 7,7T 0 100% /media/archive
du -h -s /media/archive/*
の出力:
7,1T /media/archive/data
16K /media/archive/lost+found
Sudo fdisk -l
の出力:
Disk /dev/sda: 7,28 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: ST8000AS0002-1NA
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/sda1 2048 15628053134 15628051087 7,3T Linux filesystem
df -i
の出力:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 244191232 12 244191220 1% /media/archive
Sudo lsof +L1
の出力:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAME
pulseaudi 816 spe 6u REG 0,5 67108864 0 30384 /memfd:pulseaudio (deleted)
pulseaudi 823 gdm 6u REG 0,5 67108864 0 31009 /memfd:pulseaudio (deleted)
Xorg 1029 gdm 23u REG 0,5 4 0 33053 /memfd:xshmfence (deleted)
ファイルシステムには、ルートプロセス用に予約されたスペースがあります。つまり、100%と0が使用可能であることがわかりますが、rootの場合は、実際に使用するスペースがあります。
したがって、問題がわかった場合は、残りのファイルをrootとしてコピーすることができます。
ルート用に予約されているスペースがある理由を知りたい場合は、 この質問 を確認してください。この問題については、カーネル開発者からの引用もあります。
したがって、まだいくらかのスペースが残っていますが、通常のユーザー向けではありません。ディスクが94%になると、通常のユーザー用の空き容量が表示されます。
これを確認するには、ファイルシステムを作成して入力します。次に例を示します。
# create a 10M disk
dd if=/dev/zero of=mytestdisk bs=1M count=10
# format it to ext4
/usr/sbin/mkfs -t ext4 mytestdisk
# mount it
Sudo mount mytestdisk MOUNTPOINT
# put a big (disk-wise) file in
dd if=/dev/zero of=/MOUNTPOINT/fillitup.txt bs=1M count=8
df
を実行すると、次のように表示されます。
S.ficheros bloques de 1K Usados Disponibles Uso% Montado en
[...]
/dev/loop0 8887 8364 0 100% /MOUNTPOINT
これは(rootとして)機能しますが:
Sudo date > /MOUNTPOINT/date.txt
これは(通常のユーザーとして)そうではありませんが:
date > /MOUNTPOINT/date.txt
OSをLinuxに切り替えたところ、fdisk-lでパーティションが整列されていないことがわかりました。ドライブを正しい配置とext4ファイルシステム形式で再フォーマットしました。
アラインメントは、パーティションで動作しているプロセスです。フォーマットはパーティション内で動作するため、配置の不一致は修復されません。実際に何をしたかを説明する必要があります。