1. 용어

1.1. GPT

GPT는 파티션 배치(Partition Layout)에 관련된 대한 표준이다. GUID(globally unique identifiers) 를 사용하여 파티션을 식별한다. 일반적으로 UEFI 표준에 포함되나 BIOS 시스템에서도 사용된다. 기존에 사용되던 MBR은 2TB(2^32 * 2^9) 이상의 디스크를 인식할 수 없는 문제가 있었다. GPT는 64비트 주소 체계를 사용하여 8ZiB(2^64 * 2^9)까지의 디스크 용량을 지원한다.

GPT는 CHS대신 LBA라는 주소 지정 방식을 이용한다. 섹터의 크기가 512Bytes라 가정하면 LBA 0번은 보호된 MBR, LBA 1번은 GPT 헤더, LBA 2번 ~ LBA 33번은 파티션 테이블이다. LBA 34번부터 디스크에서 이용가능한 섹터이다.

1.2. Cylinder-head-sector(CHS)

CHS은 디스크의 각 데이터 블록의 주소를 표현하는 방법이다. 이 방법을 사용하여 각 섹터를 식별할 수 있게 된다.

1.3. Logical Block Addressing(LBA)

논리 블록 주소 지정은 디스크의 각 데이터 블록를 표현하는 방법이다. GPT, MBR은 LBA를 활용한다.

1.4. 유닉스 서버와 x86서버

유닉스 서버와 x86서버는 사용하는 OS와 칩셋을 기준으로 서버를 나누는 용어이다. 유닉스 서버는 벤더에서 생산한 CPU 칩셋과 유닉스 기반 OS를 탑재한 서버이다. Oracle, IBM서버가 있다. x86 서버는 인텔이나 AMD의 CPU 칩셋을 탑재한 서버이다.

1.5. M.2

M.2는 컴퓨터 확장 카드와 관련된 커넥터를 위한 폼팩터이다. NGFF(Next Generation Form Factor)로 불리운다. M.2는 작고, 가볍고, 슬림하며 노트북이나 태블릿과 같은 소형 장치에 유용하다. M.2는 PCIe 3.0(최대 4레인)와 SATA 3.0, USB 3.0 인터페이스를 지원한다.

1.6. 다중 채널 메모리 구조(Multi-channel memory architecture)

다중 채널 메모리 구조는 DRAM과 메모리 컨트롤러 사이에 채널을 추가함으로써 데이터의 전송속도를 빠르게 하는 기술이다.

1.7. 듀얼 채널 메모리 구조(Dual-channel memory architecture)

듀얼 채널이 허용되는 컨트롤러는 2개의 64비트의 데이터 채널을 이용한다.

1.8. 호스트 버스 어댑터(Host bus adapter)

호스트 컨트롤러, 호스트 어댑터 등으로 불리며 서버와 외부 장치간의 연결을 위한 인터페이스를 뜻한다. SCSI 호스트 어댑터, FC 인터페이스 카드, 네트워크 인터페이스 카드, SATA 컨트롤러 등이 있다.

1.9. 네트워크 인터페이스 카드(NIC, Network Interface Card)

광 케이블 또는 UTP 케이블과 연결되며 이더넷 표준을 따른다.

대표적인 이더넷 표준에는 Fast Ethernet(100BASE-T 등), Gigabit Ethernet(1000BASE-T, 1000BASE-SX), 10 Gigabit Ethernet(10GBASE-T, 1000BASE-SR)등이 있다.

1.10. I/O 제어

  • IOH(I/O Handler, North bridge): CPU와 고속 장치들(PCIe, Network) 간 통신을 하게하고 이를 제어하는 칩셋이다.
  • ICH(I/O Controller Hub, South bridge): 저속의 주변 장치(USB, CD)와 통신을 하게하고 이를 제어하는 칩셋이다.

1.11. Serial ATA(SATA)

SATA(Serial ATA) 는 HDD, SSD와 같은 저장장치와 직렬로 통신할 수 있는 인터페이스이다. SATA 포트에 데이터 커넥터와 파워 커넥터를 각각 연결하여 SATA HDD를 사용할 수 있다. SATA HDD는 SAS 인터페이스에 사용할 수 있으며 SFF-8482 커넥터(전원 공급 및 데이터 일체형)을 이용해 SAS포트에 연결해서 사용할 수 있다.

1.12. AHCI(Advanced Host Controller Interface)

AHCI는 SATA HBA의 동작을 명시한 인터페이스이다. AHCI는 핫 스와핑(hot swapping), NCQ(native command queuing)과 같은 고급기능을 사용할 수 있게 한다. AHCI는 하드웨어 설계자와 개발자가 SATA/AHCI 어댑터를 개발할 수 있는 방법을 제시한다.

1.13. NVM Express(NVMe)

드라이버와 비휘발성 메모리 서브시스템(non-volatile memory subsystem) 간의 통신에 사용되는 레지스터 레벨의 인터페이스를 뜻한다. 기존의 AHCI는 저속의 하드디스크를 위해 설계된 인터페이스 이므로 SSD의 성능을 최대한으로 끌어낼 수 없다. 따라서 NVMe와 같은 PCIe 버스를 기반으로 하는 컨트롤러가 개발되었다.

1.14. Serial Attached SCSI (SAS)

SCSI 저장 장치 간 직렬 전송 프로토콜을 정의한 인터페이스이다. 반대로 SAS 하드디스크를 SATA 포트에 연결할 수 없다.

전송속도

  • SAS-2: 6.0 Gbit/s
  • SAS-3: 12.0 Gbit/s

구성요소

  • 초기자(initiator): 장치 서비스를 시작하는 클라이언트를 갖는 SCSI 장치(SCSI 프로토콜을 지원하는 장치) 이다. HBA나 온보드 형태로 존재한다.
  • 타겟(target): SCSI 명령을 수신하고 실행을 위해 1개 이상의 논리적인 장치(HDD, RAID)로 전달하는 SCSI 장치이다.
  • 서비스 전달 서브시스템(service delivery subsystem): 초기자와 타겟 사이에서 정보를 전달하는 SCSI I/O 시스템의 부분을 뜻한다.
  • 확장 장치(expander device): 여러개의 SAS 장치(초기자, 타겟)간 통신을 하게 해주는 장치를 뜻한다. 서비스 전달 서브시스템의 구성요소이다.

1.15. RAID(Redundant array of independent disks)

RAID는 디스크 중첩구성(Disk redundancy)이나 성능 향상을 목적으로 여러개의 물리적 디스크를 하나의 논리적 단위로 묶는 스토리지 가상화 기술이다. RAID는 소프트웨어 또는 하드웨어 장치로 존재한다.

디스크 구성 방법은 RAID와 그뒤에 숫자를 붙여서 표현한다.

  • RAID 0: 미러링이나 패리티없는 스트라이핑 구성이다. 볼륨의 크기는 전체 디스크 크기의 합이다.
  • RAID 1: 패러티나 스트라이핑 없는 미러링 구성이다. 데이터가 동시에 여러개의 디스크에 쓰기된다. 컨트롤러나 소프트웨어에서 성능최적화를 하였다면 RAID의 처리량은 전체 디스크의 처리량의 합과 같지만, 일반적으로 실제 읽기속도는 가장 빠른 드라이브의 읽기 속도보다 느리다. 쓰기시에 여러개의 디스크를 업데이트해야 하므로 필연적으로 느리며, 가장 느린 디스크의 성능 만큼 성능이 저하된다.
  • RAID 1+0: 미러링된 드라이브들을 스트라이핑한 구성이다.

1.16. SATA 컨트롤러 동작 모드(Operating modes)

SATA 컨트롤러는 여러가지 운영 모드를 제공한다.

  • PATA(IDE, 에뮬레이션): 레거시 OS에서 SATA 컨트롤러를 사용할 수 있도록 한다.
  • AHCI: AHCI 만 지원하는 모드이다.
  • RAID: AHCI와 함께 RAID를 지원하는 모드이다. 인텔은 RAID 모드를 권고한다.

1.17. 키비, 메비, 기비 바이트(KiB, MiB, GiB)

기존의 메가 바이트(MB)는 10의 거듭제곱이지만 키비(KiB), 메비(MiB) ,기비(GiB) 바이트는 이진 접두어로 사용된다. 따라서 이 단위는 2진 컴퓨터에 더 적절하다고 할 수 있다. 이 용어는 IEC(International Electrotechnical Commission)에 의해 1998년에 정의되었으며 정확하게 2의 거듭제곱을 표현하기 위해 MB를 대체했다. 여기서 정확하게라는 의미는 국제 단위 체계(International System of Units)와 차이를 둔다는 의미이다. 하지만 아직 널리 인정받고 있고 있지 않다.

1.18. SMB

SMB(Server Message Block) 는 네트워크 파일 공유 프로토콜이다. CIFS는 SMB의 표현식(dialects) 중 하나이다.

1.19. NFS

NFS(Network File System) 은 컴퓨터 사용자가 네트워크상의 파일에 접근할 때 직접 연결된 스토리지에 접근하는 것 처럼 접근하도록 지원해주는 프로토콜이다.

1.22. 포트(Port)

포트는 케이블이나 플러그가 연결되는 부분이다. 모니터, 키보드나 다른 장치를 연결하기 위해 사용된다.

1.23. Fibre Channel Adapter

서버와 SAN의 연결을 제공하는 어댑터이다.

1.24. Fiber jumper

LC, SC 등 다른 커넥터와 함께 장치와 장치를 연결하는 선이다.

1.25. LC Connector

광 케이블의 끝부분에 연결되는 커넥터이다. 스토리지, SAN 스위치, NIC등 보편적으로 사용된다. 이 제품이 LC 커넥터이다.

1.26. SFP(Small Form-Factor Pluggable)

전기 신호가와 광학 신호간 신호 변환을 담당한다. 일반적으로 LC Connector가 연결된다. 이 제품이 LC 커넥터와 함께 사용되는 SFP 이다.

1.27. SAN Network

스토리지를 이용하는 네트워크를 뜻한다. 스토리지를 이용하기 위한 대표적인 프로토콜로 iscsi, fc, infinity band이 있다.

iscsi는 IP 주소를 부여 받아 스토리지에 접근하는 방식인데 보통의 NIC과 네트워크 스위치를 그대로 사용할 수 있다. fc는 장치별 WWN(World Wide Name)를 갖고 FC Adapter와 SAN 스위치를 사용하여 네트워크를 구성하는 방식이다. FC Adaper 제품으로는 Emulex나 QLogic이 유명하다.

1.28. Multipath I/O

다중 경로 I/O는 멀티 컨트롤러를 지원하는 스토리지를 사용하는 가장 기본적인 방식이다. 2개의 경로를 사용하고 알고리즘을 선택하여 성능, 안정성을 높일 수 있다. 스토리지가 iscsi 방식을 사용하는 경우 TCP/IP 네트워크를 사용하므로 서버 입장에서 반드시 2개의 포트(케이블)를 사용할 필요는 없다. 하지만 fc 방식을 사용하는 경우 2개의 포트(케이블)를 사용해야 구현 가능하다.

실제로 서버에 2개의 경로를 붙인다면 서버에서 2개의 장치가 인식되며 Multipath 드라이버에 의해 둘 중 하나의 경로를 이용하는 방식이다.

Windows는 Multipath I/O를 기본적으로 지원하며 MPIO라는 프로그램에서 새 장치를 추가하는 방식으로 이용할 수 있다. 예를들어 ISCSI 기반의 Multipath를 사용하고 싶은 경우 iSCSI 장치에 대한 지원을 체크하여 추가하면 된다.

1.29. UTP 케이블

일반적으로 컴퓨터 네트워크, 전화에서 사용되는 케이블로, 절연된 2개의 구리선을 꼬아 플라스틱 피복을 입혀 만든 선이다.

1.30. Category 5,6 cable(Cat 5,6)

컴퓨터 네트워크를 위한 UTP 케이블을 뜻한다. 일반적으로 CAT 5 는 기가비트 이더넷, CAT 6는 10 기가비트 이더넷 표준에서 사용된다.

1.31. 광 케이블 vs UTP 케이블

광 케이블은 길이가 길더라도 신호 손상이 적지만 UTP 케이블은 신호 손상이 발생한다.

1.32. 8P8C

일반적으로 UTP 케이블의 끝부분에 사용되는 커넥터이다. 흔히 RJ45라 부르곤 한다.

1.33. RJ45 vs 8P8C

일반적으로 RJ45는 전화 네트워크에서 사용되며, 컴퓨터 네트워크에서는 외형이 비슷한 8P8C가 사용된다.