
얼마 전 작은 쇼핑몰을 운영하는 분이 델서버 견적을 들고 왔다. 하루 방문자가 3천 명쯤인데 CPU는 24코어, 메모리는 128GB였다. 서버가 느려서 바꾸려는 줄 알았더니 기존 VPS의 디스크 공간이 부족한 게 전부였다. 이럴 때 장비부터 사면 문제는 그대로 남고 관리할 일만 늘어난다.
델서버를 고를 때는 모델 이름보다 서버가 처리할 일을 먼저 적는 편이 낫다. 웹 요청이 많은지, 데이터베이스가 무거운지, 파일을 많이 쌓는지에 따라 필요한 부품이 달라진다. 장비를 직접 둘 공간과 장애를 처리할 사람도 있어야 한다.
방문자 수보다 바쁜 시간의 부하를 본다
하루 방문자 1만 명이라는 숫자만으로 CPU를 고를 수는 없다. 방문자가 하루에 고르게 들어오는 사이트와 점심시간 10분에 몰리는 사이트는 같은 방문자 수라도 필요한 처리 능력이 다르다. 이미지와 문서를 주로 내려주는 서버인지, 검색·주문·로그인 요청마다 데이터베이스를 조회하는 서버인지도 구분해야 한다.
기존 서버가 있다면 최소 일주일, 가능하면 가장 바쁜 행사 기간까지 CPU 사용률, 메모리 점유량, 디스크 대기 시간, 초당 요청 수를 기록한다. 평균값만 보면 짧은 병목이 가려진다. 특히 CPU가 한동안 100%에 붙어 있는지, 메모리 부족으로 스왑을 쓰는지, 저장 장치 응답이 밀리는지를 같이 봐야 한다.
출발점으로는 웹 애플리케이션과 작은 데이터베이스를 한 장비에서 운영할 때 4~8코어, 메모리 16~32GB 정도를 검토할 수 있다. 다만 이 숫자는 구매 기준이 아니라 측정 전의 가설이다. 캐시가 잘 맞는 정적 사이트에는 남을 수 있고, 검색이나 보고서 생성이 많은 서비스에는 모자랄 수 있다. 동시 접속자 20명과 200명도 요청당 작업량이 다르면 필요한 사양이 달라진다.
저장 장치는 용량보다 복구 방식을 먼저 고른다
운영 중인 서버에서는 디스크 용량이 부족해지는 속도부터 계산한다. 현재 데이터가 300GB이고 매달 20GB씩 늘어난다면 1년 뒤에는 단순 계산으로 540GB다. 여기에 운영체제, 로그, 임시 파일, 데이터베이스 작업 공간을 더해야 한다. 남는 공간을 거의 없애고 시작하면 백업 파일을 만들거나 장애를 조사할 때 곤란해진다.
디스크 두 개를 미러링하는 RAID 1은 한 개가 고장 났을 때 서비스를 계속 운영할 가능성을 높인다. 하지만 파일을 잘못 지우거나 데이터가 손상되면 두 디스크에 같은 문제가 반영된다. RAID는 백업이 아니다. 백업은 별도 장비나 저장 공간에 두고, 서버 관리자 계정 하나가 운영 데이터와 백업을 모두 지울 수 없도록 권한을 나누는 편이 안전하다.
백업 주기도 업무가 감당할 수 있는 데이터 손실량으로 정한다. 하루치 주문을 잃으면 안 되는 서비스에 하루 한 번 백업은 부족하다. 반대로 가끔 내용이 바뀌는 안내 사이트라면 같은 빈도로 복잡한 체계를 만들 필요가 없다. 백업 파일이 있다는 사실보다 새 서버에 실제로 복원해 보고 걸린 시간을 기록하는 일이 더 중요하다.
델서버를 사기 전에 운영 비용을 더한다
델의 PowerEdge 계열을 검토할 때는 CPU와 메모리 가격만 보면 견적이 싸 보인다. 실제 운영에는 디스크 예비품, 전력, 냉각, 설치 공간, 네트워크, 장애 대응 시간이 붙는다. 사무실에 장비를 둔다면 정전 때 버틸 UPS와 외부 회선 장애 대책도 따져야 한다. 팬 소음과 열 때문에 책상 옆에 계속 두기 어려운 경우도 있다.
원격 관리 기능은 현장에 가지 않고 전원 상태와 하드웨어 오류를 확인할 때 유용하다. 델서버라면 iDRAC 접근 경로와 계정 관리도 구매 단계에서 함께 설계한다. 관리 화면을 운영 서비스와 같은 공개 경로에 무심코 놓지 말고, 접근할 사람과 방법을 제한해야 한다. 하드웨어 보증 조건은 부품을 언제, 어디서 교체받을 수 있는지까지 확인한다. ‘보증 있음’만으로 장애 시간이 정해지지는 않는다.
서버 한 대를 계속 관리할 사람이 없다면 VPS나 관리형 호스팅이 더 쌀 수 있다. 특히 트래픽이 작고 서비스가 한두 개라면 장비 구매비를 여러 해로 나눠도 운영 인건비와 백업 비용에서 차이가 난다. 반면 일정한 부하가 오래 유지되고 저장 공간이 크거나 장비 설정을 세밀하게 제어해야 한다면 직접 운영할 이유가 생긴다. 어느 쪽이든 월 비용과 장애 시 복구 시간을 같이 비교해야 한다.
이전은 전환 시간보다 되돌리는 절차가 중요하다
새 델서버로 옮길 때는 먼저 기존 서비스의 구성부터 적는다. 운영체제 버전, 웹서버 설정, 데이터베이스 버전, 인증서, 예약 작업, 방화벽 규칙, 파일 권한이 빠지기 쉽다. 파일만 복사해 화면이 뜬다고 이전이 끝난 것은 아니다. 주문 알림이나 야간 작업이 며칠 뒤에야 실패하기도 한다.
이전 전에는 전체 백업을 만들고 시험 복원을 한 번 수행한다. 새 서버에서는 운영 데이터의 사본으로 기능을 확인한 뒤, 쓰기 작업이 발생하는 서비스의 전환 순서를 정한다. 데이터베이스를 쓰는 서비스라면 마지막 동기화 시점과 잠시 쓰기를 멈출 시간을 합의해야 한다. 전환 후에는 첫 화면뿐 아니라 로그인, 결제 또는 등록, 파일 업로드, 메일 발송, 예약 작업까지 확인한다.
기존 서버는 전환 직후 바로 지우지 않는다. 새 장비에서 문제가 났을 때 어느 시점의 데이터로, 누가, 몇 분 안에 되돌릴지 정해 두어야 한다. 되돌리는 동안 새 서버에 쌓인 데이터가 있다면 처리 방법도 필요하다. 이 절차가 없으면 작은 설정 오류도 긴 장애로 번진다.
나는 델서버 견적을 볼 때 가장 비싼 CPU보다 복원 기록과 예비 디스크가 먼저 눈에 들어온다. 사양은 측정해서 늘릴 수 있지만, 잃어버린 데이터와 준비하지 못한 복구 시간은 구매 뒤에 돈을 더 쓴다고 바로 돌아오지 않는다.
