기초 물방울/리눅스&VM
시스템 수업 2일차 (컴퓨터구조, RAID, HBA, GBIC)
Weeding
2022. 10. 6. 00:36
반응형
SMALL
서버 vs 데스크탑 차이
- 공통점
- 메인보드, CPU, 메모리, 디스크 등 부품으로 구성. - 서버는 24시간, 365일 가동되는것을 전제로 함.
- 고장 나더라도 최대한 시스템이 멈추지 않게 설계되어있음.
1. 부품 자체의 품질이 높아 일반 컴퓨터와 비교하면 고장이 잘 나지 않음
2. 주요 부품을 "이중화" (무중단 서비스를 위해)
--> 디스크, NIC 등 무조건 이중화 하는게 좋음 (고객에게 고지 필요)
3. 벤더 사의 지원이 충실 (벤더의 서비스를 구매)
--> Dell > HP > Cisco - 그리고 서버는 일반 컴퓨터와 비교했을 때, "훨씬 더 많은 메모리와 하드디스크 등의 하드웨어 자원을 장착"할 수 있는 것이 많다. (메모리는 최대 24개, 일반 컴퓨터는 최대 8개?)
- 일반 컴퓨터는 개인의 이용 목적이기에 그래픽이나 음향 등 멀티미디어 기능에 충실.
서버의 조건들은?
- CPU
- 소켓수, 코어 수, 캐시 용량, 주파 수, 가상화 지원 (요새는 왠만하면 다 지원) - RAID
- RAID 1/5/6/10 .....
- 구성에 따라 용량이 달라짐 - PSU (=Power Supply unit)
- 총 와트 수, 이중화(무중단 서비스를 위해, 대부분 사용) - NIC
- 2포트, 4포트, 8포트 등 - 메모리(용량, 전송 속도), 디스크(용량, 회전 수, HDD, SSD)
- 보증기간, 지원 수준, 확장성, 물리적인 사이즈(1U,2U), 무게
서버 사양은 어떻게 결정하나?
- 보통 임시로 결정한 서버 사양의 기기를 현장에 투입해 실제 하드웨어 자원의 이용 상황을 측정한 다음, 서버와 서버의 부품을 늘리거나 줄임.
--> 큰 사이트의 경우에는 POC로 검증
--> POC란?
= 새로운 프로젝트가 실제로 실현 가능한지 기술적인 관점에서부터 검증하는 과정을 의미함. - 서버의 수용량을 늘리고 싶다면?
1. Scale Up (성능 Up)
2. Scale Out (대수 Up)
서버는 어떤 형태로 구분할까?
- 1. 랙 마운트형 서버
- 랙 안에 설치되는 서버를 의미
- 보통 1U, 2U, 4U로 구성됨.
- 대부분 데이터센터에서는 랙 마운트형 서버를 사용. - 2. 타워형 서버
- 사내서버룸이나 사무실 또는 점포 등에 설치되는 서버
- 저소음 서버
** 블레이드 서버
- 고밀도 서버
- 별도의 케이스가 없다. 따라서, 전원공급장치나 케이스 전반을 위한 냉각 장치도 없어서 "블레이드 인클로저"라 불리는 집합용 케이스에 꽃아서 사용해야 함.
- 인클로저에는 전원장치와 냉각 장치 등이 달려있어서 공통적인 기능을 제공해주며, 이 안에 꽃아 사용함.
- IDC는 공간 효율이 곧 돈이기에 고밀도로 설치.
- 블레이드 서버는 다른 벤더 인클루져에 호환이 되지 않는다!
- 단점은
1. 랙 서버에 비해 비쌈
2. 랙 서버에 비해 자유로운 구성이 힘듬
3. 랙 서버에 비해 기술력을 요함.
1. cisco 블레이드 서버
- 대규모 환경에 적합
- 비싼데 많이 못들어감... 인기가 하락하는중
- 패브릭 인터커넥터가 없으면 구성이 되지 않음.
- 시스코 서버는 "정책 기반"이라 배포같은게 다른 벤더에 비해 수월함.
2. HP
- 많이 탑재됨 (최대16대)
- 유닉스 서버 탑재 가능
- SAN 스위치 연결 가능
- 가성비 좋음
- 독립적 환경에서는 가장 좋다고 볼 수 있는 서버
- ProLiant로 시작 .. ex) HPE ProLiant DL(랙형) / ML(타워형)
3. DELL
- 최근 많이 사용중
- 한국 서폿이 많아서 편리함..
=CPU에서 사용하는 용어=
CPU
- 연산과 계산의 작업을 담당.
- 몇소켓이냐? = CPU의 개수는 몇개냐?
- CPU 주요 계산 부분이 코어 수에 따라 달라지기에 최근에는 "멀티 코어"로 사용
(= 코어 수가 많을수록 동시에 많은 데이터 처리 가능!) - 계산을 하고 있는 부품 --> Hz --> CPU는 "속도"로 이야기함
- --> 빠르면 빠를수록 "성능"이 좋다.
- 레지스터라는 기억장치가 있다
- ALU(연산장치)
- 레지스터와 연산장치에서 계산을하고 메모리로 결과값을 반환
Thread
- 코어가 일꾼이라면 쓰레드는 두 개의 팔과 같은 역할.
- 즉, 하나의 코어에서 처리할 수 있는 수 라고 볼수있다.
- Hyper Threading
- 하나의 코어로 두 개의 처리를 실행할 수 있는 기술.
Cashe
- CPU와 메인 메모리 사이에 캐시 메모리라는 빠른 속도의 메모리가 있다.
- 즉, 프로세서 상 존재하는 고속 메모리인것.
(= CPU 처리 성능을 높임) - CPU가 일 처리를 할 때 기억장치를 거쳐오게 되는데 CPU에 비해 속도가 너무 느리면 병목현상이 발생해버리기 때문에, 이러한 현상을 보완해주기 위해 Cashe memory 라는 것이 존재함!
- L1 > L2 > L3 (1차캐시메모리/2차/3차, 속도는 1차가 가장 빠름, 그만큼 비쌈)
동작 주파 수
- Operating frequncy
- 1초당 클럭(cpu의 처리 속도, GHz 단위 사용) 수
- 동작 주파수가 높을수록 처리 속도가 빨라지지만, 전력 효율이 나쁘다.
(몇만대 서버에 CPU가 탑재되있는 센터라면.... 고려해야하는 부분)
소켓
- cpu를 메인보드에 연결할 때 사용하는 연결 방식
- cpu외에도 다른 부품들이 서로 잘 연결 될 수 있게 같은 판 위에 올려져있는데 그 판이 "메인보드"
--> 메인보드는 당연히 부품들이 딱 붙어 있을 수 밖에 없는 구조로 되어있다.
-----> 여기서 cpu가 붙어 있는 자리를 "소켓"이라고 함!! - 소켓의 형태
1. LGA (Land Grid Array)
- 메인보드에 핀이 부착되어 있는 방식
- 핀이 없어서 관리하기 편함, but 내구성이 낮음.
2. PGA (Pin Grid Array)
- cpu 바닥에 핀이 붙어 있는 방식
- 관리에 유의해야하지만 직접적인 노출이 없어서 내구성이 좋음
3. BGA (Ball Grid Array)
- 소켓 없이 메인보드에 바로 납땜하는 방식
- 가장 내구성이 좋지만 납땜이라 업그레이드가 어려움.
데스크탑 CPU와 서버 CPU의 차이는?
- 코어(Core) = 일반 PC
- 제온(Xeon) = 서버
제온(Xeon)
- 서버, 워크스테이션 등 특별한 용도의 컴퓨터를 위해 개발된 CPU
- 가상화(VM), 병렬처리, 멀티코어, 신호 암호화, ECC 메모리 지원, 다중 CPU 소켓 등 의 기능을 제공
서버 CPU의 주요 기능
1. 멀티코어
- 제온 프로세서는 수십 개의 CPU 코어를 탑재하고 있다.
- 이는 병렬처리를 극대화하기 위함.
(여러개의 프로세서를 통해 하나의 프로그램을 처리하는 것 = 처리 부하를 분담 = 처리 속도 향상) - --> 코어 하나의 클록(처리속도)을 향상시키는 것은 한계가 있기 때문에 현재 HPC와 클라우드 컴퓨팅 환경은 최대한 많은 코어를 연결해 병렬처리속도를 향상시키는 것에 초점을 맞추고 있다.
- --> 대부분의 제온 프로세서는 발열을 줄이기 위해 (=데이터센터 유지비용 때문) 개별 코어의 클록을 일반 PC용 프로세서보다 낮게 설계함.
2. ECC 메모리
- 제온 프로세서는 서버에서 발생하는 처리 오류를 방지하기 위해 서버용 ECC(오류검출) 메모리를 지원함.
- 제온 프로세서를 탑재한 서버 대부분이 ECC 메모리를 채택
3. 다중 CPU 소켓
- 제온 프로세서는 병렬처리의 효율을 극대화하고, 데이터센터의 공간을 절약하기 위해 하나의 메인보드에 여러 개의 CPU를 연결할 수 있다.
- 일반적으로 상위 모델일 수록 하나의 보드에 더 많은 CPU를 심을 수 있다.
제온 CPU
- 코드네임 Skylake를 기점으로 이전에는 E3 / E5 / E7 / D 등으로 구분.
- 이후 부터는 플레티넘, 골드, 실버, 브론즈 로 모델을 나눔. (기준 = 성능&용도)
- 최근 장비들은 대부분 골드 이상의 CPU를 사용!
- 플래티넘
- 2, 4, 8개의 고급 소켓 성능으로 가장 까다로운 워크로드 및 서비스를 위해 설계된 프로세서
골드
- 최대 4소켓까지 확장 가능한 성능, 고급 안정성 및 고급 보안 솔루션
CPU를 선정 하는 방법은?
1. 성능
- 요구하는 연산 능력을 만족하는가?
2. 가격
- CPU 종류에 따라 가격 차이가 심함.
- 사용할 소프트웨어의 라이센스 체계 또한 확인해야 함.
- --> CPU의 코어 수와 소켓 수로 가격이 달라지는 소프트웨어가 있기에 비용을 줄이려면 CPU의 종류와 개수를 조정!
3. 소비 전력
- 장비가 많아지면 그만큼 소비전력도 ↑
=메모리에서 사용하는 용어=
1. 슬롯
- 메인보드에 있는 메모리 삽입구
2. 채널
- CPU와 메인보드의 칩셋이 복수의 채널을 지원하면, 채널별로 같은 종류의 메모리를 탑재해 데이터 폭과 성능을 ↑
- ex) 하나의 메모리는 64bit의 데이터 폭으로 전송, 듀얼 채널에서는 128bit의 데이터 폭으로 전송!
3. 랭크
- 메모리 컨트롤러가 메모리의 DRAM에서 데이터를 입출력하는 단위를 가리킴.
- 하나의 랭크는 64bit 단위로 입출력
- 싱글 랭크 메모리에서는 하나의 메모리에 64bit(ECC용 9bit를 추가하여 72bit)의 DRAM 칩이 탑재되어 있음.
- 듀얼랭크에선? 128bit(ECC용 16bit을 추가하여 144bit)
4. ECC 메모리
- 메모리 고장으로 비트 반전 오류가 발생했을 때, 자동으로 보정 및 감지할수 있도록 ECC(Error Correction Code = 오류보정 부호)라고 불리는 패리티 정보가 추가된 메모리
- 일정 임계치 값을 넘기면 알람이 발생하고, 사용 불가능 상태로 변경됨.
- 클라이언트들이 ECC 카운트가 쌓인걸 보고 문의를 할 수 있음. 벤더쪽에 요청하면 리셋하고 다시 카운트해보라고도 하며, 이런식으로 실무에서 체크해야하는 것이 있다.
5. DIMM
- 아무 기능 없는 메모리
- 일반적으로 PC에서 사용
그 외
REG, LV(저전압), UDIMM, RDIMM 등등이 있다.
★ 서버에서 장착할 때 혼용해서 사용하면 안된다 ★
- DDR, DDR2, DDR3, DDR4의 단자는 홈으로 구분이 가능.
- 홈을 다르게 넣은 이유는 각 규격의 동작 방식이 미묘하게 다르기 때문!
- 또한, 램을 잘못 꽃는 것을 막기 위해 일부러 단자를 다르게 함.
메모리 사용 규칙은 ?
- 각 프로세서의 메모리 구성은 같아야 함.
- 작업 전 가이드라인을 필히 확인.
- RDIMM 메모리와 UDIMM 메모리는 섞어 쓸 수 없다.
- 각 채널에 탑재하는 메모리는 같은 종류로 해야 한다!
- 원칙적으로 ECC 메모리와 비 ECC 메모리는 섞어 쓸 수 없다!
하드디스크 인터페이스
1. SATA
- 직렬 방식
- IDE에서 발전한 HDD
- 요즘은 거의 사용하지 않음.
2. SCSI
- 병렬 방식
- SCSI 타입은 주로 서버에서 많이 사용되는 연결 방식
- 이것도 거의 사용하지 않음.
3. SAS
- Serial-Attached SCSI
- SCSI의 병렬 구조를 직렬로 변경 (속도 4배 향상)
- 쉽게 SATA + SCSI의 장점을 합친 것
- SCSI의 한 단계 업그레이드 버전으로 서버용 HDD로 가장 많이 사용.
- SATA처럼 직렬 인터 페이스.
- SAS 3.0 전송 속도는 12GB/s
- SATA와는 가운데 홈 부분이 다르다.
- RPM 분당 회전수가 높을 수록 고가
- SAS 케이블은 전원과 데이터부분이 하나로 일체되어 있다.
HDD와 SSD의 차이는?
- HDD
= 플래터라는 자기 디스크에 저장된 "데이터를 회전시켜서 읽고 쓰는 방식" - SSD
= 정적 플래시 메모리 칩을 사용하여 데이터를 저장
** 플래시 메모리 = 비휘발성 반도체 저장장치(전기적으로 데이터를 지우고 기록할 수 있는) - SSD는 기계적으로 플래터를 회전하여 데이터를 찾지 않기 때문에 HDD보다 데이터를 저장하고 읽는 속도가 빠르다!
RAID 컨트롤러
- RAID 인프라에서 디스크 드라이브를 관리하는 스토리지 구성 요소 유형
- RAID 디스크를 관리하는 컴퓨터나 서버에 물리 디스크 드라이브를 "논리 장치로 제공"
- 디스크 어레이 컨트롤러 라고도 칭함.
- RAID 컨트롤러는 다음을기반으로 분류됨.
1. 지원하는 RAID 레벨
2. 내부 또는 외부 포트 수
3. 드라이브 유형 (SAS / SATA / PATA)
4. 지원할 수 있는 드라이브 수
5. 기본 캐시 메모리 (캐시 배터리라는게 따로 장착 되어있다.)
** 캐시 베터리란?
= 비정상적으로 전원이 차단되었을 때 RAID 컨트롤러의 캐시에 커밋되지 않은 데이터들은 소멸됨.
--> 이러한 데이터들을 살리기 위해 "캐시배터리" 를 이용함!
----> 서버에 전원은 차단되었지만 캐시배터리를 이용하여 캐시를 활성화 시켜놓음.
--------> 종류는 BBWC BBU / FBWC BBU
RAID 구성
- Redundant Array of Inexpensive/Independent Disk
- RAID는 여러개의 디스크를 묶어 하나의 디스크처럼 사용하는 기술
= array controller가 하는 역할
= 즉, 저장장치 여러 개를 묶어 고용량/고성능 저장 장치 한 개와 같은 효과를 얻기 위해 개발된 기법
= 초기에는 폐기하기엔 아깝고 단독으로 쓰기에는 성능이 부족한(Inexpensive) 저장장치를 재활용할 목적으로 사용.
현재는 Inexpensive 보다는 Independent로 해석하는 추세. - RAID의 기대 효과
1. 대용량의 단일 볼륨을 사용하는 효과
2. 디스크 I/O 병렬화로 인한 성능 향상
(RAID 0, 5, 6 등, 각 레벨에 따라 신뢰성을 높이거나 속도를 향상하기 위해 사용)
** 디스크 I/O 성능이란?
- 서버와 스토리지 사이에 주고받는 데이터의 읽기 쓰기 성능을 가리킴
- 특히 1초당 처리할 수 있는 I/O 수치를 IOPS(Input/Output per Second)라고 한다.
3. 병렬로 연결을 하여 사용하기에 2개의 디스크를 연결해 사용 할 때 2배 빠르게 사용이 가능함!
이처럼, 디스크를 병렬로 여러개 사용할 때의 디스크 수를 '스트라이핑 개수'라 부르며, 스트라이핑 개수를 늘릴수록 디스크 I/O 성능이 높아짐.
4. 데이터 복제로 인한 안정성 향상 (RAID 1 등)
※ Striping
- 논리적으로 연속된 데이터 세그먼트들이 물리적으로 여러 개의 디스크 드라이브에 라운드로빈 방식으로 나누어 저장
- 쉽게 이야기해 데이터를 여러 개의 디스크에 일정 크기의 바이트나 섹터 단위로 나누어 저장
- 스트라이핑을 사용하면 빠르게 데이터를 읽고 쓸 수 있다.
※ Mirring
- 데이터를 그대로 복제하는 것으로 신뢰성 확보를 위해 사용.
RAID 0
- Striping 방식
- 최소 2개의 디스크가 필요 (min(N) == 2)
- RAID를 구성하는 모든 디스크에 데이터를 분할하여 저장
- 전체 디스크를 모두 동시에 사용하기 때문에 "고성능 구현을 극도로 추구"
- 하지만 하나의 디스크라도 문제가 생기면 전체 RAID가 깨지기에 안정성은 ↓
- 그렇기에 실제 서버에서는 거의 사용하지 않는다!
★ RAID 1
- Mirroring 방식
- 최소 2개의 디스크가 필요 (min(N) == 2)
- RAID 1은 모든 디스크에 데이터를 복제하여 기록함.
즉, 동일한 데이터를 N개로 복제하여 각 디스크에 저장함.
때문에, 여러 디스크로 RAID를 구성해도, 실제 사용 가능한 용량은 단일 디스크의 용량과 동일 ★
----> 한개의 디스크는 복제용으로 사용한다 ★ - Write 시에는 복제하여 기록하기 대문에 단일 디스크보다 성능이 낮게 나올 수 있다.
- 하지만, Read 시에는 단일 디스크의 N배의 성능이 나옴.
- "무정지 구현을 극도로 추구하여 안정성이 높다"
☆ RAID 5
- Disk 3장 이상일때 가장 많이 사용.
- 패리티가 있는 Block level striping 기반
- 용량 및 성능이 단일 디스크 대비 (N-1) 배 증가.
- 1개의 디스크 에러 시 복구 가능! (2개 이상 디스크 에러 시 복구 불가능)
- RAID 0에서 성능, 용량을 조금 줄이는 대신 안정성을 높인 RAID Level
RAID 6
- RAID 5에서 성능&용량을 좀 더 줄이고, 안정성을 높인 방식
- 최소 4개의 디스크로 구성 가능
- 2개의 디스크 에러 시 복구 가능.
RAID 0+1
- 스트라이핑 한 후 이를 다시 미러링 하는 구성
- 최소 4개의 디스크가 필요함.
- ex) 디스크가 6개일 경우 3개씩 스트라이핑 한 후 이를 미러링
- Disk 0과 2가 동시에 나갈 경우 전체 디스크가 깨짐.
RAID 1+0
- 미러링 한 후 이를 다시 스트라이핑
- 최소 4개의 디스크가 필요
- ex) 디스크가 6개일 경우 최소 2개씩 미러링 한 후 스트라이핑
- Disk 0과 2가 동시에 나가더라도 전체 디스크가 깨지지 않는다.
- Disk 0과 1이 동시에 나가면 깨짐
- 0+1에 비해 1+0이 깨질 확률이 더 낮으므로 상대적으로 안정성이 더 높다.
RAID 구성 시 실제 사용 가능 용량
- ex) 500GB 디스크 12개를 사용 할 때의 실제 용량 계산
- RAID 0 = 500GB X 12개 = 6TB (실제 용량)
- RAID 1 = 구성 불가능 (RAID1+0으로 구성)
- RAID 5 = 500GB X (12-1)개 = 5.5TB
- RAID 6 = 500GB X (12-2)개 = 5TB
- RAID 10 = 500GB X (12/2)개 = 3TB
- 용량이 적어질수록 안정성은 높아진다!
네트워크 인터페이스 컨트롤러
- NIC
- 컴퓨터를 네트워크에 연결하여 통신하기 위해 사용하는 하드웨어 장치
호스트 버스 어댑터
- HBA , Host Bus Adapter
- 컴퓨터 하드웨어에서 호스트 시스템 역할을 하는 컴퓨터를 기타 네트워크와 스토리지 장치에 연결.
- 주로 SCSI, Fiber Channel, SATA 장치들을 연결하기 위한 장치들을 의미함.
- 주로 SAN과 같은 파이버 스토리지 환경에서 사용됨!
- = 서버와 외부 다른 장비 사이의 통신을 위한 카드.
= 즉, 다른 인터페이스를 꽃기 위한 카드
= 왜 필요? 서버와 장치들 제조사마다 인터페이스가 다르기 때문에 서로 호환을 시켜주기 위해 필요하다!
( -> 요새는 왠만해서는 다 호환 가능하다고.....)
GBIC
- Giga Bit Interface Converter
- 광신호(Optical Signal)를 디지털 신호(Digital Signal)로 바꿔주는 Tansceiver
- 네트워크 장치들을 파이버채널이나 기가비트 이더넷과 같은 광섬유 기반의 전송 시스템에 부착하기 위한 인터페이스
- WAN에서 사용되는 것 = 광케이블
스위치나 브릿지에 연결 할 때 사용되는 것 = GBIC 매체
SFP
- Small Form-factor Pluggable
- 광 모듈 트랜시버에 사용되며 이 모듈은 광/디지털 변환인 소형 GBIC이라고 한다.
- 실제로 단순 크기 차이!! mini-GBIC이라고도 부름.
RJ45
- 일반적으로 가장 많이 사용하는 커넥터
LC Type
- SFP Type Transceiver
- 대형서버, SAN 스위치, 스토리지 등에서 가장 많이 사용되는 종류
Power supply
- 구동에 필요한 전력을 컴퓨터 등 전자기기 또는 전기 부하에 공급해 주는 전기 장치로 입력 전력으로 부터 필요한 출력 전력을 생성하는 전력 회로
- 대부분의 서버에는 2개씩 이중화로 구성되어 있으며, 하나의 Power Supply가 문제가 생겨도 다른 하나의 Power Supply로 운영 할 수 있도록 구성.
FAN
- 서버 내부의 온도 조절을 위한 장치
- 하나가 장애가 발생해도 온라인 중에 핫스왑이 가능하게 설계되어 있다.
- 장비들마다 넣는 방향이 다른 점 유의!
Dedicated iLO 4 connector
- IP할당 포트, 매니징까지도 가능 -> Remote Console, 하드웨어 관리 -> 라이센스 필요.
반응형
LIST