FileSystem Un-mount 시 강제 제거 ( lazy ) 옵션 문의드립니다.
글쓴이: astzlra955 / 작성시간: 월, 2015/09/07 - 2:40오후
안녕하세요.
제가 ext4로 된 partition을 un-mount 해야 할 일이 있는데,
-16 에러 ( device busy )가 발생하면서 un-mount가 fail 됩니다.
그래서 open 되어있는 file이 있나 lsof 로 확인해 보았는데,
open 된 file은 아무것도 없었습니다.
질문1 : 파일이 open 되지 않았는데, device busy가 될 수도 있나요?
질문2 : 그리고 file open이 되지 않은 상태에서 강제 unmount ( lazy ) 옵션으로, 강제 un-mount 하면 file들이 깨지는 등 문제점이 발생할 가능성이 있을까요?
Forums:
강제 un-mount 하는 방법은 존재하지
강제 un-mount 하는 방법은 존재하지 않습니다.
lazy unmount 는 usage count 를 미리 감소시켜서 나중에 자동으로 unmount 가 되도록 하는 방식입니다.
lsof 로 어디까지 검사되는지 모르겠는데,
어느 디렉토리에 다른 파일 시스템을 mount 한 게 없는지, 혹은 어느 디렉토리를 다른 곳에 mount --bind 한 것이 없는지도 확인하세요.
/proc 에서 cwd가 해당 마운트 지점인
/proc 에서 cwd가 해당 마운트 지점인 process가 있는지도 확인해 보세요. cwd가 해당 partition에 존재할 경우에도 busy 가 됩니다.
답변 감사드립니다.
lazy 옵션이 그런 의미였군요 감사합니다.
다른 파일시스템을 mount 하거나 mount --bind한 것은 없습니다.
일단 fuser를 통해서 확인하면 어떤 파일을 잡고있는지는 나오지 않지만, 어떤 process가 해당 파티션의 un-mount를 못하게 하는지는 나오는 것 같아서 이 방법을 사용하고 있습니다.
추가로 cwd는 처음알았네요... 확인해 보도록 하겠습니다.
답변 감사드립니다
lsof 로 웬만한 것은 거의 다 확인이 되는 걸로
lsof 로 웬만한 것은 거의 다 확인이 되는 걸로 압니다. file open, directory open, cwd, device open, named socket open 등등요.
mount 가 쌓여있지 않은 것이 확실하다면, FIFO open 이나 inotify watch 를 의심해보세요.
제 기억에... FIFO open 도 lsof 로 확인이 가능했었던 것 같고, inotify 는 확인이 안되지만 inotify watch 가 걸려있어도 unmount 가 되긴 했었던 것 같네요.
친절한 답변 감사드립니다.
어떤 부분에서 문제가 생긴 것인지는 모르겠으나,
lsof에 아무것도 잡히지 않는데, 실패하는 경우가 있었습니다.
inotify를 한번 확인해볼게요.
좋은 하루 보내세요~
댓글 달기