저만의 무중단 서버운영 노하우..(?)
안녕하세요. 달소입니다.
서버포럼이나 블로그를 운영하면서 얻는 저만의 무중단서비스 노하우입니다.
아무래도 서버를 운영하다보면 OS패치도있고 Docker Image와 같은 서비스의 업데이트도 있기때문에 중단을 할수밖에 없는 사태가 오긴합니다.
저 같은경우 아무래도 서브서버도 있고,, 사용자분들의 불편을 최대한 줄이기위해 여러가지 방법을 써서 다운타임을 줄이고있는데 몇 가지 방법을 소개해드리고자합니다.
(오늘도 npmplus 서비스를 무사히 업데이트했습니다 ㅎ)
*예기치못한변수가 있기때문에,, 항상 백업은 필수입니다.
1. 스냅샷
무조건입니다... 무슨작업을 하던지 스냅샷을찍을 수 있으면 무조건 찍어놓으세요.
백업도 필수이지만 문제발생시 백업에서 복구하는것보다 스냅샷이 월등히 빠릅니다.
+스냅샷 복구하고나면 NTP가 약간꼬이니 다시 동기화해주세요.
2. 보조 서버/VM 이용하기
서버 한대가있을때는 보조 서버/VM을 이용하는방법도 있습니다.
저같은경우 NPM과 같은 리버스프록시 이미지를 업데이트할때 사용하는데요.
다른 한대에 동일한 환경으로 서비스를 구동시켜놓고 DNS만 바꿔서 서비스를 한대씩 옮깁니다.
(공인ip가 여러개일때 사용가능)
공인IP가 부족하다면 클플터널이나 오라클클라우드(Tailscale) 등을 이용하는방법도 있습니다.
3. 클라우드를 잠시 이용하기
이건 인터넷공사를 할때 잠시 이용했습니다.
구글클라우드,오라클,애저 클라우드 모두 처음가입하게되면 $300달러 상당의 크레딧을 한달동안 사용하게 해줍니다.
그곳에서 VM셋팅을 하고 서비스를 아래처럼 한대씩 옮깁니다.
Data 이전 -> DNS 변경으로 서비스 확인
보안의 경우 아무리 강조해도 지나치지 않으니 항상 최신버전의 패치를 하시는걸 추천드립니다.
스냅샷과 백업역시 100만번 중요합니다
앞으로도 무중단 서비스를위해,, 열심히 노력해보겠습니다.
감사합니다 :)
cmt alert