티스토리 뷰
학교에서 사용하는 우분투 서버를 관리하고 있었습니다.
교내 정전때문에 서버가 꺼질 때 혹여나 문제가 생길까 백업을 위해 접속했는데
ls: reading directory '.': Input/output error
라는 에러와 함께 /home 디렉토리 자체가 조회가 되지않았습니다. /home 디렉토리를 추가 disk에 mount시켜 사용하고 있었는데 해당 디스크에 문제가 생긴 듯 했습니다.
disk mount 확인
df -h
해당 명령어를 통해 확인해보니 /home 디렉토리에 mount된 하드디스크가 보이지 않았습니다.
이후 해당 하드디스크가 인식이 되어있나 확인해보기 위해 해당 디스크를 확인해봅니다.
blkid
일단 /dev/sdc1에 해당하는 disk가 잡히는 것은 확인했습니다.
mount -a
해당 disk를 mount하기 위해 해당 명령어를 입력해보니
mount: /dev/sdc1: can't read superblock
오류가 발생하며 마운트가 되지 않았습니다.
해당 오류의 원인으로는
- 하드디스크가 물리적 손상을 입어 해당 block 손상
- 오류로 해당 block이 잘못 write된 경우
Disk recover
해당 디스크를 복구하는데 e2fsck 명령어를 사용했습니다. 해당 명령어는 ext4 filesystem뿐만 아니라 ext2, ext3 를 복구하는데도 사용된다.
e2fsck /dev/sdc1
해당 명령어를 통해 bad block들이 나올 때마다 확인을 해주면 복구가 끝난다.
※ 점검, 복구하려는 disk를 umount한 상황에서 해당 명령어 사용
이후 다시
mount -a
제대로 /home 디렉토리가 mount 되었는지 확인한다.
mount 된 것을 확인하였다.
서버관리를 하면서 여러가지 서비스를 배포하면서 여러 의존성들이 생겼는데, 이와 비슷한 에러가 발생할 때 다음 관리자가 제대로 대처할 수 있을까란 생각이 들었습니다.
지금 서버가 노후화되어 더욱 에러가 자주 발생할 때 대처하기 위해 자동화를 어느정도 해놓아겠네요.😂
'서버 관리' 카테고리의 다른 글
e2fsck 디스크 복구 실패 시 해결 방안 (0) | 2024.05.05 |
---|
- Total
- Today
- Yesterday
- 뿌요뿌요 테트리스
- 구름ide
- 프로젝트
- C
- 런타임 에러
- 코딩
- Web
- 앱
- 토이프로젝트
- 정보보호병
- Django
- 웹IDE
- Python
- pintos
- pvm
- ttyd
- 뿌요뿌요
- 사이버정보지식방
- 싸지방
- 분할 정복
- codeanywhere
- 해커톤
- 리눅스
- FastAPI
- 시간 초과
- 백준
- letsencrypt
- 서버 관리
- react
- System call
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |