私の/homeパーティションのうち最大1TBにアクセスできません。

私の/homeパーティションのうち最大1TBにアクセスできません。

/homeのパーティションの総スペースは1.6TBです。このパーティションは複数のユーザーで構成されます。スペース通知が不足しているため、ナビゲーションの結果、ファイル全体に現在204 GBのデータしか含まれていませんでした。記載されている空き容量は約100 GBです。このパーティションでは、ほぼ1TBのディスク容量が失われます。

[root@cfdlab home]# df -h --total
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda5       197G   23G  165G  12% /
devtmpfs         32G     0   32G   0% /dev
tmpfs            32G   69M   32G   1% /dev/shm
tmpfs            32G  3.4G   28G  11% /run
tmpfs            32G     0   32G   0% /sys/fs/cgroup
/dev/sdb1       1.8T   95G  1.7T   6% /data
/dev/sda7        29G   12G   16G  44% /var
/dev/sda3       1.5T  1.4T   36G  98% /home
/dev/sda2       976M  296M  613M  33% /boot
tmpfs           6.3G   60K  6.3G   1% /run/user/0
tmpfs           6.3G     0  6.3G   0% /run/user/1015
tmpfs           6.3G     0  6.3G   0% /run/user/1012
tmpfs           6.3G     0  6.3G   0% /run/user/1006
tmpfs           6.3G     0  6.3G   0% /run/user/1007
total           3.7T  1.5T  2.0T  44% -
[root@cfdlab home]# du -hs * du -sch .[!.]* * |sort -h
du: cannot access ‘du’: No such file or directory
16K lost+found
60K psf
108K    test
208K    praveen
220K    log
77M D
113M    H
127M    cfd
334M    .Trash-0
2.0G    C
5.1G    G
7.9G    F
60G B
60G E
69G A
204G    total

編集する:

extⁿファイルシステムで引数なしでresize2fsを実行すると、利用可能なスペースに拡張されます。

ext4 ファイルシステムで実行されます。しかし走れば投げる。

resize2fs 1.42.9 (28-Dec-2013)
The filesystem is already 401449984 blocks long.  Nothing to do!

実行することで

[root@cfdlab ~]# du -xhcs /home/* /home/.*
87G /home/A
60G /home/B
2.0G    /home/C
127M    /home/cfd
77M /home/D
19G /home/E
7.9G    /home/F
5.1G    /home/G
113M    /home/H
220K    /home/log
16K /home/lost+found
208K    /home/praveen
60K /home/psf
108K    /home/test
334M    /home/.
23G /home/..
203G    total

役に立ったことを願っています!

答え1

LinuxとUnixでは、プロセスが開いている間にファイルが削除されることがあります。ただし、オペレーティングシステムはまだそれを追跡します。ファイルを読み書きするには、プロセスが最初にファイルを開くように要求する必要があります。その後、ファイル記述子を受け取ります。処理または終了が完了したら、ファイルを閉じる必要があります。

プロセスが開いたファイル記述子を保持している間にファイルを削除すると、プロセスが終了するまでデータは実際に解放されません。これは非常に危険な問題を避けるために行われます。プロセスAがファイルを保持している場合、突然両方のプロセスが同じファイルに書き込まれ、プロセスAがプロセスBが書き込んだファイルを破損する可能性があります。

ファイルとプロセスIDを見つけるにはを使用しますlsof | grep '(deleted)'。最初の列には、プロセス名、プロセスID、プロセスのユーザー名がリストされます。削除されたファイルを含むプロセスの性質に応じて、プロセスを停止するか(kill [pid])システムを再起動する必要があるかを決定できます。

プロセスに1TBの古いデータが保存されている場合、何かが非常に間違っているようです。しかし、これはもちろん、ボックスをどのように使用するかによって異なります。

関連情報