서버
서버(server)란 네트워크를 통해 정보나 서비스를 클라이언트에게 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램(server program) 또는 장치(device)를 의미한다. 주로 리눅스 등의 운영 체제를 설치한 대형 컴퓨터를 쓴다. 서버용 운영체제(OS)는 시장 점유율 순으로 리눅스, 윈도우, 솔라리스 등이 있다.
[아사달] 스마트 호스팅 |
개요
서버는 프린터 제어나 파일 관리 등 네트워크 전체를 감시, 제어하거나, 메인프레임이나 공중망을 통한 다른 네트워크와의 연결, 데이터 프로그램 파일 같은 소프트웨어 자원이나 모뎀, 팩스, 프린터, 기타 장비 등 하드웨어 자원을 공유할 수 있도록 도와주는 역할을 한다. 서버는 사용자의 요청으로 서비스를 하는데 이처럼 구성된 시스템을 클라이언트 서버 시스템이라고 한다. 이것은 하나 이상의 응용 프로그램을 상호 협력적인 환경에서 운용하는 분산처리 형태를 의미한다. 즉, 서비스를 요청하는 사용자와 사용자의 요청을 처리하는 서버와의 협동작업을 통해서 사용자가 원하는 결과를 얻는 처리방식이 클라이언트 서버 시스템이다. 사용자의 수가 5~20대 정도인 소규모 랜(LAN)의 경우에는 한 대의 서버로 충분히 모든 서비스를 소화할 수 있으나, 대규모 랜의 경우에는 여러 대의 서버를 배치하고, 파일 관리는 파일 서버, 프린터 제어는 프린터 서버, 인터넷 등의 외부와의 교환은 통신 서버가 담당하는 등 각각 역할을 세분하게 된다.
컴퓨팅에서의 서버라는 용어의 이용은 대기 행렬이론에서 비롯한 것이다. 컴퓨팅에서 서버는 적어도 RFC 5(1969년)로 거슬러 올라가며, 이 RFC는 아르파넷(ARPANET)을 기술하는 최초의 문서들 가운데 하나이며 사용자와 대비되고 있고 두 가지 종류의 호스트와는 구별하고 있다. 서버 호스트, 사용자 호스트, 서비스를 제공하는 것을 뜻하는 서빙(serving)이라는 용어 또한 RFC 4와 같은 초기 문서들로 거슬러 올라간다. 또한, 서버의 제조사에 따라 IBM 서버, HP 서버, 델(Dell) 서버 등이 있다. [1]
특징
서버 선택
서버의 경우에는 잘못된 선택으로 서비스의 실패, 사업의 실패로 결과가 이어질 수 있기 때문에 데스크톱 컴퓨터를 고를 때보다 많은 시간과 노력을 들여야 한다. 이것을 미리 방지하기 위해, 서버를 선택할 때 시스템을 운영하는 목적과 하드웨어 자원의 사용량을 예상하고 어느 정도의 자원이 필요한지 예측해봐야 한다. 그 후 중앙처리장치(CPU), 램(RAM), 디스크를 결정하고, 부가적으로 관리 기능 여부, 확장성에 대해 고려해볼 수 있다. 먼저, 중앙처리장치는 데이터를 처리하는 연산장치이다. 코어 수, 주파수, 캐시, 가상화 지원 등 몇 가지 요소를 고려하여 선택할 수 있다. 램은 데이터를 저장하거나 저장된 데이터를 읽어내는 기억 장치로 디스크와 달리 전원이 꺼지면 데이터가 지워지는 특징이 있다. 저장 용량, 속도 등을 고려해야 한다. 대표적인 저장장치로 용량, 회전수, 전송 속도, 인터페이스, SSD 등을 고려해야 하는 디스크가 있다. 또한, 레이드(RAID)는 여러 대의 디스크를 하나로 묶어 대용량의 저장장치로 만들 수 있는 2개 이상의 디스크를 효율적으로 관리하기 위한 기술이다.
데이터센터는 장소에 서버를 위치 시켜 운영하게 된다. 이 말은 서버 관리자가 서버를 눈으로 직접 보고 만질 상황이 많지 않다는 뜻이다. 만약, 서버가 예기치 않게 다운되어 강제로 전원 버튼을 눌러야 하는 상황이 발생하면 사무실이 데이터 센터와 멀리 떨어져 있는 경우, 시스템을 이용할 수 없는 시간이 더 길어질 수도 있다. 그래서 일부 서버 업체에서는 원격에서도 서버의 전원을 켜고 끄거나 서버 상태를 모니터링할 수 있게 해주는 기능을 탑재하고 있다. 서버 선택 시, 이런 기능이 제공되고 있는지 확인하여 문제 상황에 빠르고 적절하게 대처할 수 있어야 한다. 마지막으로, 서버를 운영하다 보면 이용자가 증가하거나 사업 확장 등의 이유로 더 많은 용량과 성능이 필요하게 될 수도 있다. 이때 서버의 확장 공간이 얼마나 있는지에 따라 스케일 업을 할지 스케일 아웃을 할지 결정해야 하는 확장성이 있다.[2]
- 스케일업 : 스케일업은 서버에 CPU나 RAM 등을 추가하거나 고성능의 부품, 서버로 교환하는 방법을 의미한다. 예를 들어, 1의 처리 능력을 갖춘 서버 한 대를 5의 처리 능력을 갖춘 서버로 업그레이드하는 것이다. CPU나 RAM을 추가한다면 사용하고 있는 서버에 추가 부품을 장착할 수 있는 여유 슬롯이 있어야 하며, 그러지 않는다면 서버 자체를 고성능으로 교체해야 한다. 스케일 업의 경우, 서버 한 대에 모든 부하가 집중되므로 장애 시 영향을 크게 받을 수 있는 위험성이 있다.[3]
- 스케일아웃 : 스케일아웃은 서버를 여러 대 추가하여 시스템을 확장하는 방법이다. 예를 들어, 1의 처리 능력을 갖춘 서버에 같은 서버 4대를 더 추가하여 총 5의 처리 능력을 만드는 것이다. 서버가 여러 대가 되기 때문에 각 서버에 걸리는 부하를 균등하게 해주는 로드밸런싱이 필수적으로 동반되어야 한다. 스케일 아웃의 경우, 서버 한 대가 장애로 다운되더라도 다른 서버로 서비스 제공이 가능하다는 장점이 있다.[3]
서버용 운영체제
- 리눅스(Linux) : 가장 많은 서버가 사용하고 있는 운영체제다. 지원되는 하드웨어도 많고 동작하는 언어도 MS사의 윈도우를 제외하면 가장 많다. 특히 리눅스의 가장 큰 장점은 라이센스 비용이 없다는 점과 소스가 모두 공개되어 있다는 점이다. 따라서 자신이 필요한 부분만을 골라서 운영체제를 구성할 수 있다는 장점이 있다. 그 때문에 서버용 OS로서도 불필요한 부분들은 제거하고 필요한 부분으로만 구성해 가벼운 OS로 만들어서 사용할 수 있어서 많이 사용된다. 다만 리눅스 서버 제공 기업 자체가 거대 기업이 아니라서 사후 지원과 같은 서비스 부분에서 많이 부족하여 이 부분에 대한 개선이 필요한 OS이기도 하다.[4]
- 윈도우(Windows) : 서버 점유율 2위를 차지하고 있는 MS사의 운영체제다. 윈도우는 세계에서 가장 많은 사람이 일반 OS로 사용하고 있는 만큼 다른 윈도우의 닷넷 기반 프로그램과의 연계와 구동 가능성이 매우 뛰어난 게 장점이다. 하지만 반대로 생각해보면 닷넷 기반의 프로그램이 아닌 경우에는 구동시키기가 힘들어 전체적인 호환성 면은 상당히 떨어진다는 단점이 있다. 또한 기업용의 서버로서 사용하게 되는 서비스들을 MS가 전체적으로 지원하고 있어서 기업 서버로는 윈도우를 사용하는 것이 리눅스보다 훨씬 효율적이라고 할 수 있다. 그리고 MS사에서 직접적으로 서버 관련 고객 지원을 해주기 때문에 사후관리, 고객지원 면에서 다른 업체들보다 앞서 있다고 할 수 있다.[4]
- 솔라리스(Solaris) : 유닉스 기반 서버 중에 한 종류다. 썬(Sun)이라는 업체에서 제작했고 이후에 Sun을 오라클에서 인수하면서 현재는 오라클에서 지원과 개발을 맡은 서버용 운영체제(OS)이다.
- 유닉스(UNIX) : 유닉스는 HP와 IBM, 오라클의 세계적으로 큰 기업들이 주도권을 쥐고 있는 서버인 만큼 성능도 좋고 대기업용으로 적합한 OS다. 또한 대기업들이 서비스하는 만큼 사후지원도 좋다.[4]
홈서버
홈서버는 가정에서 간단하게 사용하기 위한 서버다. 홈서버를 구축하는 데는 단점이 많이 따른다. 대역폭을 많이 사용할 경우 인터넷 계약 해지가 될 수도 있고 홈서버 구축에 관해 공부하는데도 많은 시간이 들어간다. 공짜 기기를 사용한다고 해도 x86이라면 전성비 때문에 데이터 센터보다 싸지 않다. 거기다 네트워크 해킹, 화재 위험성이나 관리 노력 등을 생각하면 데이터 센터 사용이 훨씬 합리적이다. 그런데도 홈서버를 구축하는 것은 주로 학습, 취미 등에 목적이 있다. 예를 들어 자기 소유의 홈서버를 학습목적으로 해킹을 해도 절대 처벌받지 않는다. 또 토렌트나 데이터 백업 등 부하가 지속해서 걸리는 작업을 할 때도 유용하다. 이런 작업을 주 컴퓨터에서 하면 사용자는 작업하는 시간 동안 컴퓨터를 느리게 써야 한다.[5]
- 단일 기판 컴퓨터
단일 기판 컴퓨터(SBC)는 아두이노로도 텍스트로그를 기록하는 정도의 서버는 구현할 수 있다. 아두이노와 연동된 센서로 텍스트 데이터를 기록하고 그것을 볼 목적으로 웹 모듈을 단다. 웹하드 서비스를 만들 수도 있다. 하지만, 아두이노는 8비트 MCU를 사용하므로 본격적으로 서버로 쓰는 것은 거의 불가능하다. 또한, 동시접속자 50명 이하라면 ARM 서버를 사용해 볼 만하다. 라즈베리 파이에 충전기 꽂아서 쓰는 것도 포함된다. ARM은 안 좋은 하드웨어를 쉽게 구할 수 있고, 전기요금 폭탄 맞을 일도 없다. 그러나, 모바일 목적 기기다 보니 성능이 좋지 않다는 단점이 있다. 부동소수점 연산 능력도 낮다. 따라서 웹서버 정도만 되어도 부적합하다. 그리고 OS를 ARM 계열용을 써야 하므로 리눅스가 아니라면 쓰기 힘들다. 단일 기판 컴퓨터는 라즈베리파이같이 컴퓨팅 성능이 상당한 저가의 개발자 보드가 나오자 여기에 나스(NAS)용 운영체제를 깔아서 자작 나스로 만드는 경우가 늘어났다. 대부분은 크기가 소형이라 상용 소형 나스와 비슷한 크기를 가진 나스를 만들 수 있다. 널리 알려진 것으로 라즈베리 파이가 있으며, 비글 보드부터 초소형 x86 기반 보드인 라떼 판다에 이르기까지 여러 가지 옵션을 선택할 수 있다. 리눅스를 설치해 저전력 홈서버로도 사용할 수 있다. 이들은 대부분 임베디드 사용을 전제하고 만들어져 대부분 전력 소모 측면에서 구형 데스크톱에 비해 훨씬 유리하다. 성능은 비슷한 가격에 구매할 수 있는 나스 신품보다 훨씬 뛰어나지만, 중고 구형 노트북보다는 가성비가 좋지 않다.[5]
- 안드로이드 기기
안드로이드 스마트폰과 휴대폰 충전기로도 간단한 NAS나 서버의 흉내가 가능하다. 쓰지 않는 안드로이드 공기계로 서버를 만들기도 한다. 가장 큰 장점은 경량, 작은 크기, 무소음, 저전력이다. 완충된 스마트폰이 소모하는 전력은 2.5W 미만으로 매우 적다. 팬을 이용해 열을 식히는 것이 아니기 때문에 오랫동안 관리 없이 방치하더라도 먼지가 쌓여서 불이 날 걱정이 거의 없다. 단점은 용량, ARM 계열의CPU 속도 한계, 네트워크 속도 등이 있다. 또한 네트워크 링크가 무선랜에 의존하게 되므로 큰 트래픽이 요구되는 경우 적합하지 않다.[5]
서버의 가상화와 이중화
- 서버 가상화
서버 가상화(server virtualization)는 하나의 서버에서 여러 개의 애플리케이션, 미들웨어 및 운영체제들이 제각기 서로 알 필요도 없고, 서로 영향을 미치지 않으면서 동시에 사용될 수 있도록 해준다. 서버 가상화의 초기 형태에는 가상 메모리, 가상 I/O 그리고 에뮬레이션 등이 포함되었다. 이러한 초기 형태의 가상화 기술들은 곧 애플리케이션 및 서브 시스템의 가상화로 발전되어서 다수의 애플리케이션, 서브 시스템 또는 미들웨어 스택들이 하나의 운영체제 아래에서 통제를 받으면서 수행될 수 있게 해준다.[6]
- 물리적 분할 : 서버 가상화는 하드웨어 자원들이 물리적으로 분할이라는 하위 자원 단위로 분할되어 사용할 수 있게 해준다. 이때의 물리적 분할은 대개 CPU 프로세서와 I/O 디바이스를 경계로 이루어지며, 각 파티션은 최소한 1개 이상의 CPU 프로세서를 가져야 한다. 각 파티션은 물리적으로 격리된 형태로 구성되고, 그래서 파티션들은 일반적으로 유연하지 못하고 전체 시스템을 재부팅 하지 전까지는 변경되지 못한다.[6]
- 가상 머신 : 1970년대 초반 가상 머신의 도래는 가상화의 새로운 장을 열었다. 가상 머신을 이용한 서버 가상화는 소프트웨어적 파티셔닝 또는 OS 이미지 가상화라고도 불린다. 여기서 가상 머신은 일종의 단순화되고 변형된 모체 OS로써, 이런 OS 위에 우리가 알고 있는 리눅스, 윈도우와 같은 완전한 OS 시스템이 설치되어 돌아갈 수 있게 된다. 가상 머신 위에서 가동되는 개별 OS 이미지는 실제 디바이스와 에뮬레이션된 디바이스 모두를 액세스할 수 있다. 가상 머신은 치밀하고 가변적이어서, 실제 및 가상 자원들 모두가 공유될 뿐만 아니라 가상 머신들 사이에서 시스템 재시작 없이도 동적으로 스위칭 될 수 있도록 해준다. 가상 머신을 통해 OS 이미지를 가상화하는 능력이 주어짐에 따라, 사용자들은 추가 하드웨어 구입 없이도 새로운 OS의 설치, 애플리케이션의 테스팅 및 업그레이드를 동일한 물리적 서버상에서 동시에 수행 시킬 수 있다.[6]
- 논리적 분할 : 논리적 분할(Logical Partitioning)은 가상 머신과 물리적 분할 사이에 있는 뛰어난 서버 가상화 기능이다. 논리적 분할은 별도의 모체가 되는 OS 없이 하이퍼바이저(Hypervisor)라는 펌웨어 수준에서 하나 또는 그 이상의 OS 이미지들이 하나의 물리적 서버 위에서 동작할 수 있도록 해준다. 이러한 각 논리적 파티셔닝을 통해 물리적 파티셔닝 기능을 구현할 수도 있다.[6]
- 서버 이중화
많은 기업에서는 IT 서비스의 연속성을 지속적으로 보장하기 위해 운영서버의 이중화 구성을 한다. 이렇게 서비스의 연속성을 유지하기 위한 구성을 이중화 HA (High Availability) 고가용성 이라고 한다. 즉, 가용성이 높다는 뜻으로 서버, 네트워크 프로그램 등의 정보시스템이 오랜 시간 동안 지속적으로 정상 운영 가능한 성질을 말한다. 예를 들어 서버 2대를 이중화 구성을 해놓았을 경우, 한쪽 서버가 장애 시 다른 한쪽 서버가 해당 서비스를 대신 운영하여 가용성을 높이는 구성이다.
공유디스크 기반으로, 각 서버간에 공유 디스크를 중심으로 서버 시스템을 클러스터에 구성하여 2개 이상의 시스템을 이중화한다. 만약, 클러스터로 묶인 2개 이상의 서버중 운영중인 서버 1대가 장애가 발생할 경우, 대기중인 다른서버가 즉시 서비스를 대행하여 수행하여 시스템 장애를 빠른 시간 안에 복구한다. 대략 수초 에서 수분 정도면 가능하다. 운영서버와 백업서버 데이터 동기화로는 운영서버와 대기서버의 데이터가 실시간으로 동기화 되어 이중화 되고 운영중인 서버가 장애가 발생할 경우 대기중인 서버가 동기화된 데이터를 기반으로 서비스를 대신 수행하여 시스템 장애를 복구 및 서비스를 대행한다.[7]
비교
- 서버와 개인용 컴퓨터
서버는 개인용 컴퓨터와 크게 다르지 않다. 메인보드, 중앙처리장치, 램 등으로 구성되어 있으며, 이 하드웨어에 운영체제(OS) 등을 설치해서 보다 다양한 역할을 수행하게 할 수 있다. 서버와 개인용 컴퓨터의 다른 점은 설계 목적에 있다. 개인용 컴퓨터는 일반 사용자를 위해 상대적으로 작은 크기의 하드웨어에서도 원활한 그래픽, 사운드를 가진 멀티미디어 환경을 제공하는 데에 목적이 있다. 이것을 이용해 일반 사용자들은 컴퓨터로 일을 하거나 영화 보기, 게임 등을 할 수 있다. 서버는 언제, 어디서나 접속할 수 있는 웹사이트 같은 365일 중단 없는 서비스를 제공하기 위해 신뢰성에 초점이 맞춰져 있다. 디자인도 서버가 가동하면서 발생하는 열을 효율적으로 배출할 수 있도록 설계되어 있다. 몇몇 부품은 하나가 고장이 나더라도 똑같은 다른 부품이 곧바로 대체할 수 있도록 이중화되어 있기도 하다. 또한, 서버는 대용량의 데이터를 빠르게 처리하기 위한 컴퓨팅 능력을 제공하는 데 목적이 있다. 서버의 컴퓨팅 능력을 결정짓는 중앙처리장치와 램을 여러 개 장착해서 필요에 따라 이 능력을 확장할 수 있기도 하다. 중앙처리장치는 보통 2개에서 많게는 6개 이상까지 장착할 수 있고 램은 12개 이상을 장착할 수도 있다. 일반적인 컴퓨터가 중앙처리장치1개를 장착할 수 있고 램을 4개까지 장착할 수 있는 것에 비하면 엄청난 처리 능력을 갖추고 있다고 볼 수 있다.
원칙적으로 서버에는 높은 안정성이 요구되므로, HP, IBM, 델과 같은 유명한 서버 제조 업체가 제공하는 정품 서버를 사용하고, 서버 전용 운영 체제를 설치하는 것이 좋다. 정품 서버는 서버 보증 기간을 일반 컴퓨터보다 더 오래 두고 있고, 기술지원 체계도 잘 갖추어져 있다. 일반 컴퓨터도 서버의 역할을 할 수는 있지만, 서버를 완전히 대체할 수는 없다. 목적에 맞는 인프라를 적절히 선정해서 이후 인프라를 운영하면서 발생할 수 있는 실패 가능성을 줄여야 한다.[8]
종류
- 웹서버
웹서버(web server)는 HTML로 만든 웹 페이지가 들어 있는 파일을 사용자에게 제공하는 서버 프로그램이다. 하드웨어, 소프트웨어 혹은 두 개 모두를 의미한다. 하드웨어 측면에서 웹서버는 웹사이트의 HTML 문서, 이미지, CSS, 자바스크립트 파일 등을 저장하는 컴퓨터다. 그리고 이 파일들을 최종 소비자의 장치에 전달한다. 웹서버는 인터넷에 연결되어 있다. 소프트웨어 측면에서, 웹서버는 기본적으로 웹 사용자가 어떻게 호스트 파일들에 접근하는지 관리한다. 웹서버는 처음에 HTML 문서라고 불리는 웹 사이트의 파일들과 이미지, CSS 스타일 시트, 자바스크립트 파일, 폰트, 비디오를 포함한 관련된 것들을 저장해야 한다. 사용자는 컴퓨터에 있는 그 파일들을 불러올 수 있지만, 그것들을 전담하는 웹 서버에 저장하는 것이 더 편리하다. 대표적인 웹 서버 프로그램에는 아파치(Apache), 아이아이에스(IIS), 웹투비(WebtoB), 웹티어(WebTier) 등이 있다.[9]
- 이미지 서버(image server) : 아이콘, 사진, 그림, 이미지 등을 저장하고 관리하는 서버를 말한다.
- 동영상 서버(video server) : 영화, 드라마, 뉴스, 방송 등 동영상 파일을 저장하고 관리하는 서버를 말한다.
- 백업 서버(backup server) : 서버 장애에 대비하여 원본 데이터를 복제하여 사본을 만들고 별도로 저장·관리하는 서버를 말한다.
- 와스서버
와스서버(Web Application Server)는 JSP, ASP, PHP등 사용자의 입력을 받아 서버에서 무언가를 처리하고 그 결과를 보여주는 동적인 데이터를 처리하는 웹서버다. Web Application Server의 약자로서, 자바(Java) 등으로 만든 웹 응용 프로그램이 설치되어 작동하는 웹 애플리케이션 서버를 말한다. 미들웨어(middleware)의 일종이다. 와스서버는 규모가 크고 엔터프라이즈 환경에 필요한 트랜잭션, 보안, 트래픽관리, DB커넥션 풀, 사용자 관리 등의 다양한 기능을 제공하는 소프트웨어를 의미한다. 와스서버는 사용자 요청(웹 브라우저)->웹서버->와스서버->웹서버->사용자 응답 메시지(웹 브라우저)로 구성된다. 와스서버는 정적인 처리, 동적인 처리 둘 다 가능하지만 정적인 처리를 와스서버가 하게 되면 부하가 많이 걸려서 좋지 않다. 대표적인 와스(WAS) 제품에는 톰캣(Tomcat), 제우스(JEUS), 제이보스(JBoss), 웹로직(WebLogic), 웹스피어(WebSphere), 레진(Resin), 글래스피시(GlassFish) 등이 있다. 한국에서는 WAS라고 하지만, 영어권에서는 Application Server(약칭 AS)라고 한다.[10]
- 디비서버
디비서버(DB server)는 데이터베이스 서버(database server)의 약자로서, 데이터베이스(DB)를 저장 및 관리하는 서버를 말한다. 오라클(Oracle), 마이에스큐엘(MySQL), 엠에스에스큐엘(MS-SQL), 큐브리드(Cubrid) 등 다양한 데이터베이스 관리 시스템(DBMS)으로 만든 데이터가 저장 및 관리된다. 개인이 취미로 돌리는 웹 서버 정도에선 애플리케이션 서버(Application server)와 같은 서버에서 돌아가는 것이 대부분이다. 하지만 대형 서비스로 간다면 독립된 데이터베이스 서버를 구동하는 것을 자주 볼 수 있다. 보통 기업 보유 자산 중 가장 빠르고 가장 메모리가 많고 SSD가 많은 서버, 즉 제일 성능이 좋은 서버가 데이터베이스 서버로 사용된다.[11]
- 메일서버
메일서버(mail server)는 사용자 간에 메일을 주고받기 위해서 사용되는 컴퓨터 시스템이다. 인터넷을 통해 이메일이나 웹메일을 보내고 받고 저장 및 관리하는 서버를 말한다. 메일서버는 PC에서 보낸 메일을 보관하고 있거나 다른 메일서버로 메일을 보내기도 한다. 메일서버는 때로 MTA(Mail Transfer Agent)라고도 불리며 수신되는 전자우편을 받아주고 송신되는 전자우편을 배달하기 위해 전달해 주는 역할을 하는 일종의 응용프로그램을 가리킨다. 하지만 이런 메일서버 프로그램만을 전담하여 운영하는 컴퓨터 하드웨어 역시 메일서버라는 같은 이름으로 불린다.[12]
- 파일서버
파일서버(file server)는 각종 문서 파일이나 대용량 첨부파일을 별도로 저장하고 관리하는 서버를 말한다. 또한, 워크스테이션이 접근할 수 있는 컴퓨터 파일을 공유하고 있는 기억공간의 위치를 제공하는 것이 주목적을 가진 네트워크에 추가된 컴퓨터를 말한다. 파일서버는 일반적으로 어떠한 계산도 수행하지 않으며 클라이언트의 중간에 어떠한 프로그램도 실행하지 않는다. 데이터의 빠른 저장과 워크스테이션이 중대한 계산을 제공하는 데이터 수신이 파일 서버의 주된 설계 목적이다. 파일 서버는 접근 방식에 따라 분류할 수 있다. 인터넷 파일서버는 주로 파일 전송 프로토콜(FTP)을 통해서나 HTTP(정적 파일과 함께 동적 웹 콘텐츠를 제공하는, 조금은 다른 방식으로)를 통해서 종종 접근된다. LAN 상의 서버는 윈도우 및 유닉스 계열의 SMB/CIFS 프로토콜 및 유닉스 계열 시스템인 NFS 프로토콜에 의해 접근되는 것이 보통이다. 파일서버의 설계는 기억 공간, 접근 속도, 복구 가능성, 관리적 용이성, 보안 등을 염두에 두고 만들어진다. 새로운 하드웨어와 기술이 급속히 오래된 장비의 구식 화를가속하는 꾸준히 변화하는 환경에 위치하는지, 오래된 기기와 호환되는 방식으로 지원이 가능한지도 변수다.[13]
- 네임서버
네임서버(name server)는 도메인 이름과 IP 주소를 연결해 주는 서버를 말한다. DNS라고도 한다. 컴퓨터는 IP라고 불리는 일련의 숫자들을 통해 인터넷 주소를 인식하게 된다. 하지만 이런 숫자들은 사람이 기억하고 사용하기가 어렵기 때문에 단어와 숫자의 조합을 사용하여 사용자들이 더 쉽게 이용할 수 있는 도메인 이름이 생기게 되었다. 대부분의 도메인 이름은 2개의 네임 서버를 갖는데, 이것은 두 개의네임 서버가 서로 병렬적으로 동작하면서 네임서비스를 보다 안정적으로 연결되도록 한다. 네임 서버는 도메인과 IP를 연결해주는 역할을 한다. 원래 모든 인터넷 주소는 IP주소로 되어있다. 하지만 그와 같이 숫자로 된 주소는 복잡하고 기억하기 어렵기 때문에 간단하게 표기 할 수 있는 도메인이 주소 역할을 할 수 있게끔 규약이 생겼고, 해당 홈페이지의 고유 주소인 IP를 도메인으로 변환하여 연결해주는 기능이 담긴 것이네임 서버다. 그 때문에 아무리 도메인을 등록하였어도 네임 서버에 해당 도메인이 어떤 아이피로 연결되는 정보가 없다면 그 도메인으로 어떤 주소도 접속이 되지 않으며, 페이지를 표시할 수 없다는 메시지를 보여주게 된다.[14]
- 코로케이션 서버
코로케이션 서버(co-location server)는 서버로 쓸 컴퓨터를 직접 구매하고 인터넷데이터센터(IDC)에 서버를 직접 입주 시켜 운영하는 형태를 말한다. 서버용 컴퓨터는 이론적으로는 일반 PC도 가능하지만, 인터넷 사업을 하기 위해선 전용 서버를 사용하는 경우가 더 많다. 서버 컴퓨터는 CPU(중앙처리장치)와 메모리, 그리고 저장장치로 구성되어 있어 구조적으로는 일반 PC와 유사하지만, 각각 부품의 성능이나 가격은 일반 PC의 것을 훨씬 뛰어넘는다. 하지만 한 번 코로케이션 서버를 구비해 두면 이후에 드는 비용은 상대적으로 적어지며, 설치 기업이 자체적으로 정기적인 관리를 할 수 있는 능력까지 있다면 한층 사후 비용을 줄일 수 있다. 더욱이, 기업 자체적으로 서버에 탑재된 하드웨어 및 소프트웨어를 자유롭게 선택할 수 있음으로 해당 기업의 특성에 맞는 서버 환경을 꾸미기에도 유리한 편이다. 다만, 이후에 신속하게 서버를 증설하거나 교체하는 데는 아무래도 불리하므로 환경 변화가 심한 기업에는 적합하지 않다.[15]
- 서버호스팅(server hosting) : 코로케이션 서버를 구비할 여건이 되지 않는 기업들이 전문 업체를 통해 서버를 임대해 사용하는 경우이다. 이렇게 하면 코로케이션 서버를 설치하는 것에 비해 초기 비용이 훨씬 낮으며, 서버 하드웨어 상태를 신경 쓸 필요가 없음으로 상대적으로 관리도 수월한 것이 장점이다. 이러한 점 때문에 규모가 작은 중소기업에서 서버 호스팅을 이용하는 경우가 많다. 다만, 어디까지나 임대한 서버를 사용해야 하므로 정기적으로 사용료를 지불해야 하며, 서버의 규모나 사용 기간이 늘어날수록 정기적으로 지출되는 비용 또한 많이 증가한다.[15]
- 클라우드 서버
클라우드 서버(cloud server)는 이용료를 내고 외부 업체의 서버를 활용한다는 점에서는 서버 호스팅과 유사하지만, 세부적인 특징은 차이가 있다. 서버 호스팅의 경우, 임대 업체가 보유한 실제 서버의 일부를 사용하는 것이지만 클라우드 서비스는 실제 서버가 아닌 클라우드 공간상에 존재하는 가상 서버를 이용한다. 클라우드란 인터넷상에 존재하는 방대한 데이터 저장 공간 및 네트워크 구조를 의미하는 것으로, 이것은 유기적으로 결합한 다수의 하드웨어 및 소프트웨어, 그리고 서비스로 구성되어있다. 이것을 이용하면 이론상 거의 무한으로 확장할 수 있는 용량과 처리속도를 갖추고 거의 모든 운영 형태에 대응할 수 있는 가상 서버를 구축할 수 있다. 국내에서 클라우드 서버를 서비스하는 업체는 KT와 호스트웨이가 대표적이다. 클라우드 서버의 가장 큰 장점은 물리적인 서버가 아닌 가상 서버를 사용하기 때문에 처음 서버를 도입할 때 해당 서버의 사양(CPU, 메모리 등)이나 시스템 구조(운영체제, 응용프로그램 등)를 자유롭게 설정할 수 있다. 그리고 환경이 변하는 경우에도 번거로운 과정 없이 간단하고 신속하게 서버의 사양과 시스템 구조를 재설정할 수 있다.[15]
각주
- ↑ 서버 위키백과 - https://ko.wikipedia.org/wiki/%EC%84%9C%EB%B2%84
- ↑ 라이브러리, 〈서버 선택 시, 이것만은 꼭 확인하세요!〉, 《가비아》
- ↑ 3.0 3.1 라이브러리, 〈서버 확장을 위한 두 가지 방법: 스케일 아웃과 스케일 업〉, 《가비아》
- ↑ 4.0 4.1 4.2 이다벼파파 윤정호, 〈서버OS종류 - 유윈시스템〉, 《네이버 블로그》, 2012-03-02
- ↑ 5.0 5.1 5.2 홈서버 나무위키 - https://namu.wiki/w/%ED%99%88%EC%84%9C%EB%B2%84
- ↑ 6.0 6.1 6.2 6.3 깨비형 , 〈서버 가상화〉, 《티스토리》, 2012-07-13
- ↑ 씨엠테스기술사사무소 , 〈서버이중화〉, 《네이버 블로그》, 2018-10-08
- ↑ 라이브러리, 〈서버와 일반 컴퓨터, 무엇이 다를까?〉, 《가비아》
- ↑ MDN contributors, 〈웹 서버란 무엇일까?〉, 《모질라웹닥스》, 2020-02-27
- ↑ 〈WEB서버와 WAS서버의 차이 〉, 《티스토리》, 2019-02-15
- ↑ 서버 나무위키 - https://namu.wiki/w/%EC%84%9C%EB%B2%84
- ↑ SEsik , 〈메일서버(Mail Server)이란 무엇인가 〉, 《티스토리》, 2014-12-26
- ↑ 파일서버 위키백과 - https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC_%EC%84%9C%EB%B2%84
- ↑ 〈(도메인-네임서버) 네임서버란 무엇인가요?〉, 《도메인클럽》
- ↑ 15.0 15.1 15.2 김영우 기자 , 〈서버(server)좀 써볼까? - 1부:서버의 종류〉, 《아이티 동아》, 2012-07-11
참고자료
- 서버 위키백과 - https://ko.wikipedia.org/wiki/%EC%84%9C%EB%B2%84
- 홈서버 나무위키 - https://namu.wiki/w/%ED%99%88%EC%84%9C%EB%B2%84
- 서버 나무위키 - https://namu.wiki/w/%EC%84%9C%EB%B2%84
- 파일서버 위키백과 - https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC_%EC%84%9C%EB%B2%84
- MDN contributors, 〈웹 서버란 무엇일까?〉, 《모질라웹닥스》, 2020-02-27
- 〈WEB서버와 WAS서버의 차이 〉, 《티스토리》, 2019-02-15
- SEsik , 〈메일서버(Mail Server)이란 무엇인가 〉, 《티스토리》, 2014-12-26
- 〈(도메인-네임서버) 네임서버란 무엇인가요?〉, 《도메인클럽》
- 김영우 기자 , 〈서버(server)좀 써볼까? - 1부:서버의 종류〉, 《아이티 동아》, 2012-07-11
- 라이브러리, 〈서버 선택 시, 이것만은 꼭 확인하세요!〉, 《가비아》
- 라이브러리, 〈서버 확장을 위한 두 가지 방법: 스케일 아웃과 스케일 업〉, 《가비아》
- 이다벼파파 윤정호, 〈서버OS종류 - 유윈시스템〉, 《네이버 블로그》, 2012-03-02
- 라이브러리, 〈서버와 일반 컴퓨터, 무엇이 다를까?〉, 《가비아》
- 깨비형, 〈서버 가상화 〉, 《티스토리》, 2012-07-13
- 씨엠테스기술사사무소 , 〈서버이중화〉, 《네이버 블로그》, 2018-10-08
같이 보기
|
|
|