web-dev-qa-db-ja.com

再フォーマット/パーティションの調整後、ハードドライブがいっぱいと表示されます。どうすればよいですか?

以前は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)
1
Spenhouet

ファイルシステムには、ルートプロセス用に予約されたスペースがあります。つまり、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
0

OSをLinuxに切り替えたところ、fdisk-lでパーティションが整列されていないことがわかりました。ドライブを正しい配置とext4ファイルシステム形式で再フォーマットしました。

アラインメントは、パーティションで動作しているプロセスです。フォーマットはパーティション内で動作するため、配置の不一致は修復されません。実際に何をしたかを説明する必要があります。

0
r2d3