내 Linode 서버에는 350Gb 볼륨이 연결되어 있습니다. 공간이 부족해서 대시보드에서 400GB로 크기를 조정하고 서버를 다시 시작했습니다. 그런 다음 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/클라우드 호스팅 서비스에서는 그렇게 하는 것이 불가능합니다. 자신이 버린 데이터와 다른 고객이 버린 데이터를 구별할 수 없기 때문에 작업을 완료할 수 없을 뿐만 아니라 개인 정보 보호를 이유로 거부합니다. 동일한 호스트에 있는 다른 고객의 지속적인 쓰기 활동으로 인해 데이터가 실제로 덮어쓰여질 수도 있으므로 두 경우 모두 논란의 여지가 있습니다.