/ tmp 아래에 약 30M 파일을 실수로 생성 한 버그가있는 프로그램을 작성했습니다. (버그는 몇 주 전에 소개되었으며 초당 몇 개의 서브 디렉토리를 작성하고있었습니다.) / tmp의 이름을 / tmp2로 바꾸고 파일을 삭제해야합니다. 시스템은 FreeBSD 10이고 루트 파일 시스템은 zfs입니다.
한편 미러의 드라이브 중 하나가 잘못되어 교체했습니다. 드라이브에는 2 개의 120GB SSD 디스크가 있습니다.
문제는 다음과 같습니다. 하드 드라이브를 교체하고 전체 어레이를 리 실버 링하는 데 1 시간도 걸리지 않았습니다. / tmp2 파일 삭제는 또 다른 이야기입니다. 파일을 제거하기 위해 다른 프로그램을 작성했으며 초당 30-70 개의 하위 디렉토리 만 삭제할 수 있습니다. 모든 파일을 삭제하는 데 2-4 일이 걸립니다.
전체 어레이를 리 실버 링하는 데 1 시간이 걸리지 만 디스크에서 삭제하는 데 4 일이 걸립니까? 왜 성능이 좋지 않습니까? 초당 70 회 삭제는 매우 나쁜 성능으로 보입니다.
/ tmp2의 inode를 수동으로 삭제할 수는 있지만 공간을 확보하지 못합니다.
이것이 zfs 나 하드 드라이브에 문제가 될 수 있습니까?
df -h
및 zpool list
및 zfs list
.
rm -rf /tmp2
을하지 않습니까?
/tmp
이어야하며 tmpfs
메모리에 저장됩니다.