본문 바로가기
리눅스

(번역) Server (computing)

by 다움위키 2025. 1. 13.

원문 보기: https://dawoum.duckdns.org/wiki/Server_(computing)

 

Original article: w:Server (computing)

서버컴퓨터 네트워크에서 "클라이언트"라고 하는 다른 컴퓨터에 정보를 제공하는 컴퓨터입니다. 이 아키텍처클라이언트-서버 모델이라고 불립니다. 서버는 여러 클라이언트 사이에 데이터나 자원을 공유하거나 클라이언트를 위해 계산을 수행하는 것과 같이 종종 "서비스"라고 하는 다양한 기능을 제공할 수 있습니다. 단일 서버는 여러 클라이언트에게 서비스를 제공할 수 있고, 단일 클라이언트는 여러 서버를 사용할 수 있습니다. 클라이언트 프로세스는 같은 장치에서 실행되거나 네트워크를 통해 다른 장치의 서버에 연결할 수 있습니다. 전형적인 서버는 데이터베이스 서버, 파일 서버, 메일 서버, 인쇄 서버, 웹 서버, 게임 서버, 및 응용 프로그램 서버입니다.

클라이언트-서버 시스템은 보통 요청-응답 모델에 의해 가장 자주 구현되며 (종종 이와 동일시됨): 클라이언트가 서버에 요청을 보내고, 서버는 어떤 동작을 수행하고 전형적으로 결과나 확인과 함께 클라이언트에 응답을 보냅니다. 컴퓨터를 "서버급 하드웨어"로 지정하는 것은 해당 컴퓨터에서 서버를 실행하도록 특화되었음을 의미합니다. 이것은 종종 표준 개인용 컴퓨터보다 더 강력하고 안정적임을 의미하지만, 대안적으로, 대규모 컴퓨팅 클러스터는 비교적 간단하고, 교체 가능한 서버 구성 요소로 구성될 수 있습니다.

History

컴퓨팅에서 서버라는 단어의 사용은 대기열 이론에서 유래되었으며, 이 이론은 20세기 중반에 시작되었으며, 특히 Kendall (1953)에서 ("서비스"와 함께) 사용되었으며, 이 논문은 Kendall의 표기법을 소개한 것입니다. Erlang (1909)과 같은 초기 논문에서, "[전화] 교환원"과 같은 보다 구체적인 용어가 사용되었습니다.

컴퓨팅에서, "서버"는 적어도 RFC 5 (1969)로 거슬러 올라가며, 이는 ARPANET (인터넷의 전신)을 설명하는 가장 초기 문서 중 하나이고, "사용자"와 대조되어 두 가지 유형의 호스트: "서버-호스트"와 "사용자-호스트"를 구별합니다. "서빙"의 사용도 RFC 4와 같은 초기 문서로 거슬러 올라가며, "서빙-호스트"와 "사용-호스트"를 대조합니다.

Jargon File에서는 보통 원격 요청에 대한 서비스를 수행하는 프로세스의 공통적인 의미로 서버를 정의하며, 1981년 버전은 다음과 같습니다:

서버(SERVER) n. 요청자를 위해 서비스를 수행하는 일종의 데몬(DAEMON)으로, 종종 서버가 실행되는 컴퓨터가 아닌 다른 컴퓨터에서 실행됩니다.

2000년대 초반에는 평균 서버 활용률이 5~15%였지만, 가상화 도입과 함께 필요한 서버 수를 줄이기 위해 이 수치가 증가하기 시작했습니다.

Operation

엄밀히 말해서, 서버라는 용어는 컴퓨터 프로그램이나 프로세스 (실행 중인 프로그램)를 가리킵니다. 비유적으로, 그것은 하나 또는 여러 서버 프로그램을 실행하는 데 사용되는 (또는 전용된) 장치를 가리킵니다. 네트워크에서, 그러한 장치는 호스트라고 불립니다. 서버 외에도, serveservice (각각 동사와 명사로)라는 단어가 자주 사용되지만, servicerservant는 그렇지 않습니다. 단어 service (명사)는 기능의 추상적 형태를 가리킬 수 있습니다 (예를 들어, 웹 서비스). 대안적으로, 그것은 컴퓨터를 서버로 바꾸는 컴퓨터 프로그램을 가리킬 수 있습니다 (예를 들어, Windows 서비스). 원래 "서버는 사용자에게 서비스를 제공합니다" (및 "사용자는 서버를 사용합니다")라는 의미로 사용되었으며, "복종한다"는 의미에서, 오늘날에는 종종 "서버는 데이터를 제공합니다"라고 말합니다. 예를 들어, 웹 서버는 "사용자에게 웹 페이지를 제공합니다" 또는 "사용자의 요청을 처리합니다".

서버는 클라이언트-서버 모델의 일부입니다; 이 모델에서, 서버는 클라이언트에 데이터를 제공합니다. 클라이언트와 서버 사이의 통신의 본성은 요청과 응답입니다. 이는 관계가 주문형 상호 작용인 피어-투-피어 모델과 대조됩니다. 원칙적으로, 또 다른 프로세스 (특히 원격으로, 특히 자원을 공유하기 위해)에 의해 사용되거나 호출될 수 있는 임의의 컴퓨터화된 프로세스는 서버이고, 호출하는 프로세스 또는 프로세스들은 클라이언트입니다. 따라서 네트워크에 연결된 임의의 일반적인-목적 컴퓨터는 서버를 호스팅할 수 있습니다. 예를 들어, 만약 장치의 파일이 어떤 프로세스에 의해 공유되면, 해당 프로세스는 파일 서버입니다. 마찬가지로, 웹 서버 소프트웨어는 임의의 유능한 컴퓨터에서 실행될 수 있고, 따라서 랩탑이나 개인용 컴퓨터는 웹 서버를 호스팅할 수 있습니다.

요청-응답이 가장 공통적인 클라이언트-서버 디자인이지만, 게시-구독 패턴과 같은 다른 디자인도 있습니다. 게시-구독 패턴에서, 클라이언트는 지정된 유형의 메시지를 구독하여 pub-sub 서버에 등록합니다; 이 초기 등록은 요청-응답에 의해 수행될 수 있습니다. 그 후, pub-sub 서버는 임의의 추가 요청 없이 일치하는 메시지를 클라이언트에 전달합니다: 요청-응답에서처럼 클라이언트가 서버에서 메시지를 끌어오는 것이 아니라 서버가 클라이언트에 메시지를 푸시합니다.

Purpose

Main category: Servers (computing)

서버의 역할은 데이터를 공유하고 자원을 공유하고 작업을 분배하는 것입니다. 서버 컴퓨터는 자체 컴퓨터 프로그램도 제공할 수 있습니다; 시나리오에 따라, 이는 quid pro quo 트랜잭션의 일부이거나, 단순히 기술적 가능성이 될 수 있습니다. 다음 테이블은 서버가 사용되는 여러 시나리오를 보여줍니다.

인터넷의 거의 전체 구조는 클라이언트-서버 모델을 기반으로 합니다. 상위 루트 네임서버, DNS, 및 라우터가 인터넷 트래픽을 지시합니다. 전 세계적으로 끊임없이 실행되는 수백만 개의 서버가 인터넷에 연결되어 있으며, 일반 인터넷 사용자가 수행하는 거의 모든 작업에는 하나 이상의 서버와 하나 이상의 상호 작용이 필요합니다. 전용 서버를 사용하지 않는 예외가 있습니다; 예를 들어, 피어-투-피어 파일 공유 및 일부 전화 구현 (예를 들어, pre-Microsoft Skyp).

Hardware

서버에 대한 하드웨어 요구 사항은 서버의 목적과 그 소프트웨어에 따라 크게 다릅니다. 서버는 종종 연결하는 클라이언트보다 더 강력하고 비쌉니다.

이름 서버는 하드웨어와 소프트웨어 조각 모두에 사용됩니다. 하드웨어 서버에 대해, 보통 하이-엔드 기계를 의미하는 것으로 제한되지만 소프트웨어 서버는 다양한 하드웨어에서 실행될 수 있습니다.

서버는 보통 네트워크를 통해 접근되므로, 많은 서버가 컴퓨터 모니터나 입력 장치, 오디오 하드웨어, 및 USB 인터페이스 없이 무인으로 실행됩니다. 많은 서버에는 그래픽 사용자 인터페이스 (GUI)가 없습니다. 그것들은 원격으로 구성되고 관리됩니다. 원격 관리에는 Microsoft Management Console (MMC), PowerShell, SSH, 및 Dell의 iDRAC 또는 HP의 iLo와 같은 브라우저-기반 대역-외 관리 시스템을 포함한 다양한 방법을 통해 수행할 수 있습니다.

Large servers

대규모 전통적인 단일 서버는 중단 없이 장시간 실행되어야 합니다. 가용성이 매우 높아야 하며, 하드웨어 안정성과 내구성이 매우 중요합니다. 미션-크리티컬 엔터프라이즈 서버는 내결함성이 매우 뛰어나고 가동 시간을 극대화하기 위해 낮은 장애율을 갖는 특수 하드웨어를 사용합니다. 무정전 전원 공급 장치를 통합하여 정전을 방지할 수 있습니다. 서버에는 전형적으로 이중 전원 공급 장치, RAID 디스크 시스템, 및 ECC 메모리와 같은 하드웨어 중복성과 광범위한 부팅-전 메모리 테스트와 검증이 포함됩니다. 중요한 구성 요소는 핫 스왑이 가능하여 기술자가 서버를 종료하지 않고도 실행 중인 서버에서 부품을 교체할 수 있고, 과열을 방지하기 위해, 서버에 더 강력한 팬이 있거나 수냉식을 사용할 수 있습니다. 그것들은 전형적으로 IPMI를 기반으로 하는 대역-외 관리를 사용하여 구성, 전원 켜기/끄기ㅡ 또는 원격으로 재부팅하도록 구성될 수 있습니다. 서버 케이스는 보통 평평하고 넓고, 19-인치 랙이나 Open Rack에 랙-장착되도록 설계되었습니다.

이들 유형의 서버는 종종 전용 데이터 센터에 보관됩니다. 이것들은 통상적으로 매우 안정적인 전력과 인터넷, 강화된 보안을 갖추고 있습니다. 소음도 그다지 문제가 되지 않지만, 전력 소비와 열 출력은 심각한 문제가 될 수 있습니다. 서버실에는 에어컨 장치가 장착되어 있습니다.

Clusters

Main article: Server farm

서버 팜(server farm) 또는 서버 클러스터(server cluster)는 단일 장치의 기능을 훨씬 뛰어넘는 서버 기능을 제공하기 위해 조직에 의해 유지 관리되는 컴퓨터 서버 모음입니다. 최신 데이터 센터는 이제 훨씬 더 간단한 서버의 매우 큰 클러스터로 구축되는 경우가 많고, 이 개념을 중심으로 협력적인 노력인 Open Compute Project가 있습니다.

Appliances

네트워크 어플라이언스라고 불리는 소규모 전문 서버 종류는 일반적으로 규모가 작으며, 공통 데스크탑 컴퓨터보다 종종 더 작습니다.

Mobile

모바일 서버는 랩탑과 같은 휴대형 폼 팩터를 가집니다. 대규모 데이터 센터나 랙 서버와 달리, 모바일 서버는 전통적인 서버가 전력 요구 사항, 크기, 및 배포 시간 때문에 실행 불가능한 비상, 재해, 또는 임시 환경에 이동-중 또는 임시(ad hoc) 배포하도록 설계되었습니다. 소위 "이동형 서버" 기술의 주요 수혜자로는 네트워크 관리자, 소프트웨어 또는 데이터베이스 개발자, 교육 센터, 군인, 법 집행 기관, 법의학, 비상 구호 그룹, 및 서비스 기관이 있습니다. 휴대성을 용이하게 하기 위해, 키보드, 디스플레이, 배터리 (무정전 전원 공급 장치, 고장 시 전원 중복성 제공), 및 마우스와 같은 기능이 모두 섀시에 통합되었습니다.

Operating systems

인터넷에서, 서버 중 지배적인 운영 시스템LinuxFreeBSD를 기반으로 하는 유닉스-계열 오픈-소스 배포판이며, Windows Server도 상당한 점유율을 차지하고 있습니다. z/OSmacOS Server와 같은 독점 운영 시스템도 배포되지만, 그 수는 훨씬 적습니다. 리눅스를 실행하는 서버는 공통적으로 웹-서버 또는 데이터뱅크로 사용됩니다. Windows 서버는 Windows 클라이언트로 구성된 네트워크에 사용됩니다.

전문 서버-지향 운영 시스템은 다음과 같은 전통적으로 가졌던 기능을 가지고 있었습니다:

  • GUI는 사용할 수 없거나 선택적입니다
  • 재시작 없이 하드웨어와 소프트웨어를 어느 정도 재구성하고 업데이트할 수 있는 기능
  • 중요 데이터의 정기적이고 빈번한 온라인 백업을 허용하는 고급 백업 기능
  • 다양한 볼륨 또는 장치 사이의 투명한 데이터 전송
  • 유연하고 진보된 네트워킹 기능
  • UNIX에서 데몬과 Windows에서 서비스와 같은 자동화 기능
  • 고급 사용자, 자원, 데이터, 및 메모리 보호 기능을 통해 엄격한 시스템 보안을 제공
  • 과열, 프로세서와 디스크 오류와 같은 조건에 대한 고급 감지 및 경고.

실제로, 오늘날 많은 데스크탑과 서버 운영 시스템은 유사한 코드 기반을 공유하고 있으며, 대부분 구성에서 다릅니다.

Energy consumption

2010년에, 데이터 센터 (서버, 냉각 시스템, 및 기타 전기 인프라)는 전 세계 전기 에너지 소비량의 1.1–1.5%, 미국에서는 1.7–2.2%를 차지했습니다. 한 추정에 따르면 정보와 통신 기술에 대한 총 에너지 소비는 효율성을 높여 경제의 나머지 부분에서 탄소 발자국(carbon footprint)을 5배 이상 절감합니다.

데이터와 대역폭에 대한 수요 증가로 인해 글로벌 에너지 소비가 증가하고 있습니다. Natural Resources Defense Council (NRDC)에 따르면 데이터 센터는 2013년에 910억 킬로와트시 (kWh)의 전기 에너지를 사용했으며 이는 글로벌 전기 사용량의 3%를 차지합니다.

환경 단체들은 데이터 센터의 탄소 배출량에 주목하고 있습니다. 데이터 센터는 1년에 2억 톤의 이산화탄소(carbon dioxide)를 배출하기 때문입니다.

Further reading