DB TroubleShooting (1)

EnoSoup·2021년 7월 23일
0

MongoDB

목록 보기
1/5
post-thumbnail

상황

21.4.7, 12:50 PM 사내 추천DB 서버 인스턴스 유형 변경 간 System OS 부팅이 되지 않는 현상이 발생하였음.

  • 시스템 부팅 중 ERROR 내역

원인

/etc/fstab 문제

  1. 인스턴스 유형 변경 후 서비스 부팅 중 File System 인식 불가
  2. System은 계속 UUID=098ad5f7-4ca6-4010-bb4f-5e2e5f9f34f6 스토리지 연결 시도 중
  3. UUID=098ad5f7-4ca6-4010-bb4f-5e2e5f9f34f6 파일시스템은 없음.
  4. automount 불가능으로 인한 SystemCheck Failed 발생
[[1;31m TIME [0m] Timed out waiting for device dev-di...\x2dbb4f\x2d5e2e5f9f34f6.device.
[[1;33mDEPEND[0m] Dependency failed for File System C...5f7-4ca6-4010-bb4f-5e2e5f9f34f6.
[[1;33mDEPEND[0m] Dependency failed for /data/data.
[[1;33mDEPEND[0m] Dependency failed for Local File Systems.
[[1;33mDEPEND[0m] Dependency failed for Mark the need to relabel after reboot.
[[1;33mDEPEND[0m] Dependency failed for Relabel all filesystems, if necessary.
[[1;33mDEPEND[0m] Dependency failed f
[[32m  OK  [0m] Started Emergency Shell.
        Starting Emergency Shell...
[[32m  OK  [0m] Reached target Emergency Mode
        or Migrate local... structure to the new structure.

해결

임시 인스턴스 생성, 문제 스토리지 복원

  • EC2 Console 접속
  • 임시 EC2 인스턴스 생성
  • G2-MongoDB-Recom 서버와 동일 한 가용영역(PrivateA-C)로 생성
  • G2-MongoDB-Recom 인스턴스 중지
  • G2-MongoDB-Recom Root 볼륨(1TB) 분리
  • 임시 EC2 인스턴스에 분리한 볼륨 연결
  • 임시 EC2 인스턴스 SSH 접속
  • Mount 지점 디렉터리 생성
$ sudo mkdir /mnt/rescue
  • 연결 한 볼륨을 임시 EC2 인스턴스 마운트
$ lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1       259:2    0    1T  0 disk
├─nvme0n1p1   259:3    0 1024G  0 part /
└─nvme0n1p128 259:4    0    1M  0 part

$ sudo mount /dev/nvme0n1p1 /mnt/rescue
  • Mount 한 볼륨 내부 /etc/fstab 설정 변경
$ sudo vi /mnt/rescue/etc/fstab
UUID=55da5202-8008-43e8-8ade-2572319d9185      /               xfs    defaults,noatime  1   0
#UUID=f72acf86-b941-4708-9fe7-41973381eb94     /data/log       xfs    defaults,noatime  0   2
#UUID=cc6d89cc-31c4-4312-ae1f-1a0d573270f6     /data/journal   xfs    defaults,noatime  0   2
#UUID=098ad5f7-4ca6-4010-bb4f-5e2e5f9f34f6     /data/data      xfs    defaults,noatime  0   2
  • 파일 저장 후 Mount 해제
$ sudo umount /mnt/rescue
  • 임시 EC2 인스턴스에서 복원한 볼륨 분리
  • 복원한 볼륨을 G2-MongoDB-Recom 서버로 연결
  • G2-MongoDB-Recom 서버 인스턴스 시작 (정상 확인)
  • G2-MongoDB-Recom 서버 SSH 접속
  • /etc/fstab 설정 변경
$ sudo vi /etc/fstab
UUID=55da5202-8008-43e8-8ade-2572319d9185     /               xfs    defaults,noatime  1   0
UUID=f72acf86-b941-4708-9fe7-41973381eb94     /data/log	      xfs    defaults,noatime  0   2
UUID=cc6d89cc-31c4-4312-ae1f-1a0d573270f6     /data/journal   xfs    defaults,noatime  0   2
  • 볼륨 연결
$ sudo mount -a
$ sudo swapon -a
  • 연결 확인
$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs   16G     0   16G   0% /dev
tmpfs          tmpfs      16G     0   16G   0% /dev/shm
tmpfs          tmpfs      16G  568K   16G   1% /run
tmpfs          tmpfs      16G     0   16G   0% /sys/fs/cgroup
/dev/nvme0n1p1 xfs       1.0T  270G  755G  27% /
/dev/nvme1n1   xfs       100G   37G   64G  37% /data/log
/dev/nvme2n1   xfs       5.0G  1.4G  3.7G  27% /data/journal
tmpfs          tmpfs     3.1G     0  3.1G   0% /run/user/1000
  • 서비스 정상화 확인
$ sudo netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      4507/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      4067/master
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      4892/mongod
tcp        0      0 127.0.0.1:34027         0.0.0.0:*               LISTEN      3896/containerd
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      3161/rpcbind
tcp6       0      0 :::22                   :::*                    LISTEN      4507/sshd
tcp6       0      0 :::9216                 :::*                    LISTEN      3116/mongodb_export
tcp6       0      0 :::111                  :::*                    LISTEN      3161/rpcbind

$ sudo netstat -napo | grep -i "27017" | wc -l
227

참고

profile
Cloud Engineer@Plateer. 클라우드 상에서 엔지니어링을 재미있게 하는 엔지니어입니다.

0개의 댓글