본문 바로가기

웹개발/CS

[server] 서버의 운용 관리

서버의 운용관리는 크게 설정 변경과 트러블 대처로 나눌 수 있다. 

 

  • 설정 변경: 사용자나 시스템의 요구에 맞춰 수행하는 작업
  • 트러블 대처: 사전 대처(트러블을 예방 또는 트러블이 발생했을 때를 대비해 미리 수행하는 작업)와 사후 대처(트러블이 발생한 후 복구작업)

 

설정 변경

서버의 원격관리

업데이트 프로그램의 인스톨

서버 OS에 버그나 보안 구멍이 있는 경우 업데이트 프로그램을 다운로드하여 인스톨한다(수동이 기본). 

 

업데이트 프로그램을 인스톨하는 순서

  1. 검증 서버에 인스톨하여 애플리케이션의 동작을 확인한다.
    • 가동 중인 서버에서 바로 인스톨이 아니라 문제가 나오지 않는지 검증 서버에서 먼저 확인하고 인스톨한다. 이때 서버의 재시작에 걸리는 시간도 측정해둔다.
  2. 정식 서버에는 클라이언트에 영향이 없는 시간을 골라 인스톨한다. 
    • 업데이트 프로그램을 인스톨해서 재시작하는 동안에는 서비스를 제공할 수 없으므로 클라이언트에게 영향이 없는 시간대를 고르거나 사전에 서비스 정지 안내를 해둔다. 

사내에 WSUS(Windows Server Update) 서버를 구출하면 Windows와 같은 마이크로소프트 제품의 업데이트 프로그램을 일괄적으로 관리할 수 있다. 

 

..

트러블 대처

백업과 복원

데이터가 소실되었을 대 마지막 수단이 백업 데이터로부터 복원하는 것이다. 

*백업: 장애 시를 대비하여 데이터의 복사본을 저장해 놓는 처리

*복원(리스토어): 백업 데이터로부터 다시 되돌리는 작업

대표적인 백업 및 복원 소프트웨어로는 'Backup Exec', 'Arcserve Backup', 'Windows Server 백업'이 있다. 

 

일일 백업은 자동화하여 야간이나 새벽 등 클라이언트가 액세스해 오지 않는 시간대에 수행한다. 

주간이나 월간 백업은 보통 기간을 들여 서버 전체를 백업한다. 

 

파일이나 폴더 단위, 디스크나 파티션 단위로 지정해 중요도에 따라 백업 대상을 정하고 내장 하드디스크나 NAS, 클라우드 서비스, 테이프 장치 등 저장할 장소를 정해 저장한다.

 

백업 방법

  • 전체 백업: 모든 데이터를 백업
  • 차등 백업: 전체 백업에서 변경 및 주가된 데이터를 모두 백업
  • 중분 백업: 이전 백업에서 변경 및 푸가된 데이터만을 백업 

 

커맨드로 네트워크 상태를 파악 

네트워크에 장애가 발생 했을 때 CLI(Command Line Interface) 상에서 네트워크 상태를 확인하는 명령이 '네트워크 커맨드'이다. 종류는 Windows는 '커맨드 프롬프트', UNIX 계열 OS는 'Terminal'에서 입력한다.

 

  • ipconfig:  IP 주소나 서브넷 마스크 등 네트워크와 관련된 설정을 표시
  • ping: 특정 IP주소에 대한 소통 상태를 확인
  • tracert: 특정 IP 주소에 대한 경로를 확인
  • arp: ARP 테이블의 정보를 표시
  • nslookup: DNS에 의한 이름 해결을 확인
  • netstat: 커넥션 정보(연결되어 있는 IP주소나 포트번호)나 루트 정보를 표시

 

네트워크 장애가 있을 때는 물리 계층부터 순서대로 확인한다.

  1. NIC이 정상적으로 연결되어 있는지 물리 계층을 확인한다.
  2. 기본 게이트웨이의 MAC 주소를 인식하고 있는지 확인한다. (ping으로 기본 게이트웨이 연결 확인, arp로 기본 게이트웨이의 MAC 주소 확인)
  3. 목적하는 컴퓨터까지 통신 경로가 확보되어 있는지 확인한다. (ping으로 목적지 IP주소 연결 확인, tracert로 경로 확인)
  4. 방화벽에서 통신이 필터링되고 있지 않은지 확인한다.
  5. DNS 서버에서 이름 해결이 되어 있는지 확인한다.(nslookup으로 이름 해결 확인 )
  6. 커맨드로 장애 찾기

 

 

 

NTP 서버

NTP(Network Time Protocol)라는 프로토콜을 이용해 시간을 동기화하는 서버이다.

서비스에 트러블이 발생했을 때 서버나 네트워크 기기의 시간이 어긋나 있으면 발생한 현상을 시간대별로 나열할 수 없기 때문에 시간을 맞추기 위해 NTP 서버를 지정하여 시간을 알려주도록 설정한다. 

대표적인 NTP 소프트웨어로는 ntpd, w32time 이 있다. 

 

NTP서버는 신뢰성보다 신속성이 요구되기 때문에 UDP(포트번호 123)를 사용한다. 그리고 '스트레이텀'이라는 값을 이용한 계층 구조로 되어 있어 상위에서 하위로 정보를 동기화한다.  

 

 

Syslog 서버

서비스에 트러블이 발생했을 때 서버나 네트워크 기기의 로그(기록)을 확인함으로써 언제 어떤 기기에 어떤 현상이 발생했는지를 정리할 수 있다. 이러한 로그를 수집하는 서버가 Syslog 서버이다.

 

로그를 정리할 때 사용하는 항목은 Syslog 메세지에 들어있는 'Facility'와 'Severity'이다. 

  • Facility: 로그의 종류, OS의 중핵 부분을 나타내는 'kern'이나 상주 프로그램을 나타내는 'daemon' 등 24종류가 있다.
  • Severity: 로그의 긴급도 및 중요도, 긴급 사태를 나타내는 'Emergency'나 위험한 상태를 나타내는 'Alert' 등 8종류가 있다. 

트러블이 발생했을 때는 방대한 양의 로그가 출력되므로 로그에 들어있는 문자열을 필터링 해 중요한 로그만을 찾아내야 한다.

 

 

SNMP 서버

'상태 및 성능 감시', '설정 변경', '장애 감지' 이렇게 세 가지의 기능을 가진다.

  • 상태 및 성능 감시: SNMP 서버는 SNMP 클라이언트가 갖고 있는 MIB(Management Information Base) 정보를 SNMP(Simple Network Management Protocol)를 이용해 정기적으로 취득한다. SNMP는 취득한 데이터를 그래프화 하는 등 관리자가 보기 쉽게 한다. 
  • 설정 변경: 설정을 변경하고 싶은 SNMP 클라이언트에게 액세스 하여 MIB 정보를 수정한다. 
  • 장애 감지: SNMP 클라이언트는 장애가 발생하면 SNMP로 장애정보를 보내고 SNMP 서버가 장애 정보를 받으면 경고 메시지를 팝업 하는 등 처리를 한다. 

 

'웹개발 > CS' 카테고리의 다른 글

[network] 1계층 & 2계층 - 신호의 전송과 충돌  (1) 2021.06.24
[network] 네트워크 기초 지식2  (0) 2021.06.22
[server] 서버 보안  (0) 2021.06.21
[server] 서버 장애 보호  (0) 2021.06.21
[server] 공개 서버의 기본  (0) 2021.06.21