私のLinodeサーバーには350Gbボリュームが接続されています。スペースが足りなくなったため、ダッシュボードで400 GBにサイズ変更してサーバーを再起動しました。その後、df -hコマンドを使用してディスクのサイズが変更されたことを確認しましたが、まだ96%使用されているとマークされます。
そのため、まず次のようにボリュームをアンマウントしてから、umount /var/www/disk
このコマンドを実行しました。 sudo mkfs -t ext4 /dev/sdc
ボリュームを再マウントし、ls
コマンドを使用してファイルを確認した後、見つからないファイルと見つからないファイル以外には何もありませんでした。 df -hを使用すると、ディスクは400GB、20GBを使用していますが、紛失+見つかったファイル以外は何も見えません。
ダッシュボードでボリュームのサイズを変更した後、サーバーを再起動するまで端末に接続し続け、使用したコマンド全体とその出力を上にスクロールしてコピーしました。データが非常に重要なので、データを再インポートするのに役立ちます。私はあなたに非常に感謝します。
root@ubuntu:/var/www/html/processing# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 78G 48G 27G 65% /
devtmpfs 2.0G 4.0K 2.0G 1% /dev
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 392M 392K 392M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sdc 345G 315G 15G 96% /var/www/disk
root@ubuntu:/var/www/html/processing# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 1004M 0 disk [SWAP]
sdc 8:32 0 400G 0 disk /var/www/disk
sda 8:0 0 79G 0 disk /
root@ubuntu:/var/www/html/processing# sudo mkfs -t ext4 /dev/sdc
mke2fs 1.42.9 (4-Feb-2014)
/dev/sdc is entire device, not just one partition!
Proceed anyway? (y,n) y
/dev/sdc is mounted; will not make a filesystem here!
root@ubuntu:/var/www/html/processing# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 78G 48G 27G 65% /
devtmpfs 2.0G 4.0K 2.0G 1% /dev
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 392M 392K 392M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sdc 345G 315G 15G 96% /var/www/disk
root@ubuntu:/var/www/html/processing# sudo mkfs -t ext4 /dev/sdc
mke2fs 1.42.9 (4-Feb-2014)
/dev/sdc is entire device, not just one partition!
Proceed anyway? (y,n) y
/dev/sdc is mounted; will not make a filesystem here!
root@ubuntu:/var/www/html/processing# sudo killall php screen
root@ubuntu:/var/www/html/processing# sudo umount /disk
umount: /disk: not found
root@ubuntu:/var/www/html/processing# sudo umount /var/www/disk
umount: /var/www/disk: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
root@ubuntu:/var/www/html/processing# fuser -kim /var/www/disk
/var/www/disk: 1206
Kill process 1206 ? (y/N) y
root@ubuntu:/var/www/html/processing# sudo umount /var/www/disk
root@ubuntu:/var/www/html/processing# sudo mkfs -t ext4 /dev/sdc
mke2fs 1.42.9 (4-Feb-2014)
/dev/sdc is entire device, not just one partition!
Proceed anyway? (y,n) y
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
26214400 inodes, 104857600 blocks
5242880 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
3200 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
root@ubuntu:/var/www/html/processing# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 78G 48G 27G 65% /
devtmpfs 2.0G 4.0K 2.0G 1% /dev
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 392M 392K 392M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
root@ubuntu:/var/www/html/processing# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 1004M 0 disk [SWAP]
sdc 8:32 0 400G 0 disk
sda 8:0 0 79G 0 disk /
root@ubuntu:/var/www/html/processing# sudo mount /dev/sdc/ /var/www/disk
root@ubuntu:/var/www/html/processing# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 78G 48G 27G 65% /
devtmpfs 2.0G 4.0K 2.0G 1% /dev
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 392M 392K 392M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sdc 394G 71M 374G 1% /var/www/disk
root@ubuntu:/var/www/html/processing# cd /var/www/disk
root@ubuntu:/var/www/disk# ls
lost+found
root@ubuntu:/var/www/disk# sudo umount /var/www/disk
umount: /var/www/disk: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
root@ubuntu:/var/www/disk# fuser -kim /var/www/disk
/var/www/disk: 1573c
Kill process 1573 ? (y/N) y
Connection to 45.79.22.163 closed.
zeeshan@zeeshan-VirtualBox:~$ sudo ssh [email protected]
[email protected]'s password:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 5.4.10-x86_64-linode132 x86_64)
* Documentation: https://help.ubuntu.com/
New release '16.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Last login: Thu Feb 27 07:40:09 2020 from 119.155.0.120
root@ubuntu:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 78G 48G 27G 65% /
devtmpfs 2.0G 4.0K 2.0G 1% /dev
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 392M 392K 392M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sdc 394G 71M 374G 1% /var/www/disk
root@ubuntu:~# fuser -kim /var/www/disk
root@ubuntu:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 78G 48G 27G 65% /
devtmpfs 2.0G 4.0K 2.0G 1% /dev
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 392M 392K 392M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sdc 394G 71M 374G 1% /var/www/disk
root@ubuntu:~# sudo killall php screen
php: no process found
screen: no process found
答え1
申し訳ありません。すべてが消え、あなた(またはあなたのホスト)がバックアップを持っていない場合は復元する方法はありません。
回復はmkfs
本当に難しいですが、次のメッセージが表示された場合は完全に不可能です。
Discarding device blocks: done
このようにして、すべてのデータが消えます。そして、このメッセージはブロックが実際に削除された場合にのみ表示されます。削除をサポートしていないデバイスでは、メッセージはまったく表示されません。
mke2fs
(mkfs.ext4
およびその他)は常に完全に廃棄する必要があります。これが発生しないようにするには、このnodiscard
オプションを明示的に指定する必要があります。マンページから:
-E extended-options
[...]
discard
Attempt to discard blocks at mkfs time (discarding
blocks initially is useful on solid state devices
and sparse / thin-provisioned storage). When the
device advertises that discard also zeroes data (any
subsequent read after the discard and before write
returns zero), then mark all not-yet-zeroed inode
tables as zeroed. This significantly speeds up
filesystem initialization. This is set as default.
nodiscard
Do not attempt to discard blocks at mkfs time.
SSDは削除をサポートしますが、イメージファイル(スパスファイルをサポートするファイルシステム)、ループデバイス、および一般的な仮想ハードドライブイメージも削除をサポートします。これにより、仮想マシンは未使用のブロックを破棄し、ホストは未使用のスペースを他の目的に使用できます。一部のホストでは、十分な空き容量がある場合はサーバー状態のスナップショットを作成できます。しかし、これは通常手動プロセスなので、今は役に立ちません。
技術的には、データは削除をサポートしていないホストハードドライブの「空き容量」のどこかにまだ存在する可能性があります。またはホストSSD(後でホスト削除が発生した場合)fstrim
。そのため、ホストホスティングホストサーバー制御(VPS)でこれが発生した場合はフィルタリングを試みることができますが、VPS /クラウドホスティングサービスではこれを行うことはできません。自分が捨てたデータと他の顧客が捨てたデータを区別できないため、作業を完了できないだけでなく、プライバシーを理由に拒否します。同じホスト上の他の顧客の継続的な書き込みアクティビティによってデータが実際に上書きされる可能性があるため、どちらの場合も議論の余地があります。