'IT'에 해당되는 글 34건

  1. 2021.01.26 도커 1
  2. 2021.01.25 Persistence
  3. 2020.07.23 Flow Control
  4. 2017.07.12 BIG-IP SNAT
  5. 2017.07.11 BIG-IP iRule, Virtual Server
  6. 2017.07.11 BIG-IP Protocol Profile
  7. 2017.07.10 ONTAP - Cluster
  8. 2017.02.27 포티넷 방화벽 - FG600D
  9. 2016.01.06 실무랜 스위칭 - VLAN
  10. 2015.04.07 스토리지 성능 분석

도커 1

IT/도커 2021. 1. 26. 08:48

도커

컨테이너형? 가상화를 구현하기 위한 상주 어플리케이션, 이를 관리하는 명령형 도구로 구성.

어플리케이션 배포에 특화되어 있음.

도커 이전 컨테이너형 가상화 에는 LXC(Linux Containers)가 가장 유명 했으며 도커 초기에는 LXC를 런타임으로 사용 했음. 현재는 rucC를 사용.

* 컨테이너형 가상화 기술

컨테이너형 가상화를 사용하면 가상화 소프트웨어 없이도 운영 체제의 리소스를 격리해 가상 운영 체제로 만들 수 있음. 이 가상 운영 체제를 컨테이너라고 하며 컨테이너를 만들면서 발생하는 오버헤드는 다른 가상화 소프트웨어보다 더 적고 빠르게 시작 및 종료가 가능, 이에 들어가는 리소스도 작은 편임.

그림1

 

◈ 도커와 LXC 차이

- 호스트 운영 체제의 영향을 받지 않는 실행 환경

- DSL(Dockerfile)을 이용한 컨테이너 구성 및 어플리케이션 배포 정의:  Dockerfile  코드를 기반으로 복제 및 배포가 이루어지기 때문에 재현성이 높음. 만들어진 기존 컨테이너를 다른 환경에서 동작시키기 위한 매커니즘이 잘 만들어져 있음.

- 이미지 버전 관리

- 레이어 구조를 갖는 이미지 포맷

- 도커 레지스트리

- 프로그램 가능한 다양한 기능의 API

 

도커 사용?

- 코드를 통한 실행 환경 구축과 어플리케이션 구성

- 실행 환경과 어플리케이션 일체화로 이식성 향상

- 시스템을 구성하는 어플리케이션 및 미들웨어의 관리 용이성

- 코드로 관리하는 인프라와 불변 인프라의 두 개념을 낮은 비용으로 실현 가능

- 도커 컨테이너는 운영체제와 어플리케이션을 함께 담는 개념.

 

◈ 컨테이너와 VM 차이

컨테이너는 VM과 유사하나 VM은 아니다. OS가 필요하지 않음? 

Docker 이미지 파일은 엄처 작고 가벼우며 Library를 공유.

 

 도커 컨테이너 오케스트레이션 

- 여러 컨테이너를 사용하는 어플리케이션을 쉽게 관리할 수 있도록 -> 도커 컴포즈

- Yaml 포맷으로 작성된 설정 파일로 컨테이너를 정의하거나 컨테이너 간의 의존 관계를 정의해 시작 순서를 제어할 수 있음.

- 도커 스웜(Docker Swarm): 여러 컨테이너를 관리하는 것만이 목적인 도커 컴포즈와 달리 컨테이너 증감, 노드의 리소스를 효율적으로 활용하기 위한 컨테이너 배치, 로드 밸런신 기능 등의 기능을 갖춤. 배포 시에 롤링 업데이트가 가능.

- 쿠버네티스: 구글의 오픈소스 소프트웨어, 사실상 컨테이너 오케스트레이션 표준. 도커 스웜보다 기능이 충실하며 확장성이 높음.

 

 

 

 

'IT > 도커' 카테고리의 다른 글

도커교육 -1일 (실습)  (0) 2021.02.09
도커 교육 - 1일 (이론)  (0) 2021.02.02
Posted by jk.jeong
,

Persistence

IT/Load Balancing 2021. 1. 25. 10:12

Persistence

- 어플리케이션이 사용 중인 세션을 같은 서버에 지속적으로 할당하는 기능.

- 하나의 서버에서 처리하고 있던 것을 처리 도중 다른 서버로 부하분산시키면 처리 자체에 정합성이 맞지 않음.

ex) 쇼핑몰 - '장바구니에 넣고 정산한다' 라는 일련의 동작을 하나의 세션, 하나의 처리로 간주하고 지속적으로 하나의 서버에만 할당하여 처리 정합성을 보장.

종류 Persistence 설명
L3 Persistence 출발지 IP Persistence 출발지IP주소를 기준으로 일정 시간, 동일한 서버에 할당
목적지 IP Persistence 목적지IP주소를 기준으로 일정 시간, 동일한 서버에 할당
L7 Persistence Cookie Persistence
(Insert Method)
어떤 서버에 접속했는지 알리는 쿠키를 응답문에 삽입해, 쿠키 유효기간 동안 동일한 서버에 할당
HTTP Header Persistence 특정  HTTP헤더를 기준으로 일정 시간, 동일한 서버에 할당

* Cookie Persistence 장비에 따라서 Persistence Record를 작성하지 않는 경우가 있음. Persistence Record를 만들지 않는 경우는 Cookie 정보만 보고 Persistence를 실행.

1.  출발지 IP Persistence

접속 클라이언트 IP주소를 사용해 동일한 서버에 지속적으로 할당하는  L3 Persistence. L3 계층으로 서비스를 거치지 않아 알기 쉬운 구성. 일정 시간 사용하지 않으면 해당 레코드를 삭제. 시간은 너무 짧으면 다른 서버에 할당, 너무 길면 장치나 서버에 부하가 걸릴 수 있음. NAPT환경이나 Proxy 서버를 경유하는 환경에서는 한 대의 서버에 수많은 접속이 할당되는 단점. 

2. 목적지 IP Persistence

서버의 IP 주소를 기준으로 같은 서버에 할당하는 L3 Persistence. 서버 부하분산 환경 보다 회선 부하분산 환경에서 많이 사용.

3. Cookie Persistence

HTTPS와 SSL 가속 환경의 HTTPS에서만 유효한 L7 Persistence. 쿠키가 가진 정보를 기준으로 일정 시간 세션을 지속. 클라이언트마다 유연하게 세션을 유지할 수 있어서 HTTP 부하분산 시 자주 사용.

 

4. HTTP Header Persistence

'IT > Load Balancing' 카테고리의 다른 글

BIG-IP SNAT  (0) 2017.07.12
BIG-IP iRule, Virtual Server  (0) 2017.07.11
BIG-IP Protocol Profile  (0) 2017.07.11
부하분산 방식 2  (0) 2015.01.30
부하분산 방식  (0) 2014.09.17
Posted by jk.jeong
,

Flow Control

IT/JUNOS 2020. 7. 23. 08:48

EX9214와 스토리지 간 데이터 통신 문제 발생

set interfaces xe-0/1/0 ether-options no-flow-control

1. Flow Control

End -to-End

flow control은 네트워크와 상관없이 순수하게 End 호스트의 TCP Rx Socket buffer의 overflow를 방지하는 매커니즘

즉, 송신측과 수신측의 데이터처리 속도 차이를 해결하기 위한 기법

- 수신측이 송신측보다 속도가 빠른 것은 문제되지 않음. 송신측이 수신측보다 속도가 빠르면 문제가 발생

- 수신측에서 수신된 데이터 처리를 위해 윗 계층으로 서비스하는 속도보다 송신측에서 보내는 데이터 속도가 더 빠르다면 수신측에서 제한된 큐를 초과하여 이후에 도착하는 데이터 손실을 가져올 수 있음

- 불필요하게 응답과 재저농의 데이터가 다시 송신측과 수신측 간에 빈번히 발생, 이러한 위험을 줄이기 위해 강제로 송신측의 데이터 전송을 줄임.

1) Stop & Wait 방식

매번 전송한 패킷에 대해 확인 응답을 받아야만 다음 패킷을 전송하는 방법

2) 슬라이딩 윈도우

수신측에서 설정한 윈도우 크기만큼 송신 측에서 확인 응답없이 세그먼트를 전송할 수 있게 하여 데이터 흐름을 동적으로 조절하여 제어하는 기법

송신 버퍼의 범위는 수신 측의 여유 버퍼 공간을 반영하여 동적으로 바뀜으로써 흐름제어를 수행

2. Congestion Control

네트워크 혼잡으로 패킷 loss가 발생할 때 congestion을 감소 시키기 위해 동작하는 알고리즘

송신측의 데이터 전달과 네트워크 처리 속도 차이를 해결하기 위한 기법

 

 

'IT > JUNOS' 카테고리의 다른 글

2. JUNOS Architecture - 네전따  (0) 2014.05.15
1. JUNOS Architecture - 네전따  (0) 2014.05.14
JUNOS Architecture 이해하기  (0) 2014.03.26
Posted by jk.jeong
,

BIG-IP SNAT

IT/Load Balancing 2017. 7. 12. 08:46

SNAT

- Secure Network Address Translation, 'NAT' / ' NAPT'


1. NAT

- 정적 NAT(1:1 NAT). 서버 측 IP주소와 클라이언트 측 IP주소를 일대일로 연동할 때 사용.

 

2. SNAT

- BIG-IP의 PAT(IP 매스커레이드)

- 복수의 서버를 가지고 인터넷과 통신할 경우 출발지 IP주소를 하나 또는 복수의 IP주소로 변환.

 

 

 

1) SNAT automap
- BIG-IP의 IP주소로 변환하는 SNAT. 이중화 구성의 경우 공유 IP주소(VIP)

- 전달된 패킷의 출발지 IP주소가 'Original Address'와 일치하면 BIG-IP 주소로 변환.

 

2) SNAT IP Address

- 'SNAT IP Address'는 설정한 IP주소로 변환하는 SNAT.

- Virtual Server 의 IP주소를 설정할 수도 있음. Pool Member의 트래픽을 Virtual Server의 IP주소로 인터넷에 공개하고 싶을 때. BIG-IP는 전달된 패킷의 출발지 IP주소가 Original Address와 일치하면 설정한 IP주소로 변환.

 

3) SNAT Pool Member

- 미리 설정해 둔 복수의 IP주소로 변환하는 SNAT.

- SNAT automap과 SNAT IP Address는 설정한 하나의 IP로 변환하기 때문에 편리하긴 하나 대량의 트래픽이 발생하면 변환되는 포트 번호가 고갈될 수도 있음. (TCP-IP주소당 64,511 (well-known 1024개)

- 포트를 모두 사용해 버리면 이후 연결은 TCP RST 패킷을 보낸 후 끊음.

- 변환하는 IP주소를 복수 개로 한 후 SNAT Pool이라는 형태로 설정.

 

 

 

4) SNAT 특수한 사용

- VLAN간 부하 분산에도 사용. 같은 IP 서브넷 내에서의 부하분산.

 

** 왜 같은 IP 서브넷 내의 부하 분산에 SNAT가 필요??

통신

a)  웹 서버가 같은 IP 서브넷에 있는 Virtual Server 와 통신이 되는지 확인

b) BIG-IP는 Pool Member인 AP 서버를 선택 후 전송

c) 전달받은 AP 서버는 출발지 IP주소로 패킷을 돌려 줌.

- 같은 IP 서브넷에 있기 때문에 출발지 IP주소의 ARP Request에 웹 서버가 응답

 

=> 정상적인 통신이 성립하지 않음. BIG-IP는 자신을 경유하는 모든 연결을 연결 테이블로 관리. 오고가는 연결을 별도로 관리하고 연결이 정합성을 잃으면 해당 연결을 파기.

위 경우 가는 연결은 BIG-IP를 경유하지만 돌아오는 연결은 BIG-IP를 거치지 않으므로 연결 정합성이 없어 연결을 파기.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'IT > Load Balancing' 카테고리의 다른 글

Persistence  (0) 2021.01.25
BIG-IP iRule, Virtual Server  (0) 2017.07.11
BIG-IP Protocol Profile  (0) 2017.07.11
부하분산 방식 2  (0) 2015.01.30
부하분산 방식  (0) 2014.09.17
Posted by jk.jeong
,

iRule


- BIG-IP에서 사용할 수 있는 TCP(Tool Command Language) 기반의 스크립트 언어.

- iRule이 연동된 Virtual Server는 스크립트 내용을 바탕으로 패킷에 대한 세세한 트래픽 제어나 컨텐츠 처리

- iRule은 Profile로 먼저 프로토콜과 어플리케이션 기능을 정의한 후 사용해야 함.

- ex

when HTTP_REQUEST {

          switch -glob [HTTP::url] {

          "*.png" {pool PL-IMG}

          default {pool PL-HTTP}

          }

}

=> '.png'가 포함된 경우 web01의 POOL(PL-IMG)로 전송, 그 외 리퀘스트는 (PL-HTTP)로 전송하도록.


Virtual Server


- Profile이나 iRule 연동, 클라이언트 트래픽을 접수하는 IP주소나 포트 번호를 연동.


'IT > Load Balancing' 카테고리의 다른 글

Persistence  (0) 2021.01.25
BIG-IP SNAT  (0) 2017.07.12
BIG-IP Protocol Profile  (0) 2017.07.11
부하분산 방식 2  (0) 2015.01.30
부하분산 방식  (0) 2014.09.17
Posted by jk.jeong
,

Protocol Profile

- 전송된 트래픽을 L4 계층에서 처리하고 싶을 때 사용.


1) FastL4 Profile

- 4계층 TCP나 UDP 계층에서 부하분산할 때 사용하는 Profile

- 어플리케이션 계층의 처리가 필요 없을 때, Virtual Server의 타입을 performance(Layer4)로 설정하고 Protocol Profile에서 FastL4 Profile을 선택

- 단순 부한 분산에 효율적

- Idle Timeout, BIG-IP는 경유하는 모든 연결을 연결 테이블로 관리. 연결들은 Idle Timeout에서 설정한 시간 동안 사용할 수 없을 때 연결 테이블에서 삭제. 

- 설계 시 경유하는 연결 특성(DB 등)을 이해한 후 'Idle Timeout' 값을 설정.


2) TCP Profile

- Virtual Server 타입을 'Standard'로 하고 L7계층의 Service Profile을 적용할 때, L4계층 동작을 설정하는 Profile. L7 계층을 부하분산하려고 해도 먼저 L4계층을 먼저 인식해야 함. L4계층의 TCP 동작을 정의.

- BIG-IP가 어플리케이션 계층의 Service Profile을 적용하게 되면 full proxy 형태로 동작.

- 모든 어플리케이션 트래픽을 일단 BIG-IP가 접수한 후 트래픽 내용을 분석. TCP의 Open 처리(3-w-hs)나 Close 처리도 일단 BIG-IP가 처리를 끝낸 후 Pool Member에 전달.  이 때 TCP처리의 각종 설정을 함.

TCP Profile 설정


TCP Profile TCP 동작 설정

- TCP처리에 관련된 설정 'Time Wait', 'Fin Wait', 등 Wait 값은 OS따라 다름


** full proxy

- L7까지 포함한 Proxy? 

- F5 Full Proxy TCP를 구성하게 되면 Client 와 Server 간의 TCP 연결의 상대방은 모두 F5가 됨. TCP에서 사용되는 모든 TCP Stack 정보들은 Client - F5, f5-Server 구간으로 분리.


Full Proxy 참고

https://devcentral.f5.com/articles/the-concise-guide-to-proxies



3) UDP 프로파일

- UDP는 단방향 트래픽, UDP를 사용하는 어플리케이션 부하분산.



4) SSL Profile

- SSL 가속 시 사용.

- 전자 서명서와 비밀키는 'Local Traffic > SSL Certificate' 에서 관리.

- Client Profile & Server Profile: SSL 처리를 관리하는 방향이 다를 뿐 설정 항목은 기본적으로 동일. 일반적으로 클라이언트와 BIG-IP로 SSL 가속을 많이 사용.






'IT > Load Balancing' 카테고리의 다른 글

BIG-IP SNAT  (0) 2017.07.12
BIG-IP iRule, Virtual Server  (0) 2017.07.11
부하분산 방식 2  (0) 2015.01.30
부하분산 방식  (0) 2014.09.17
NAT  (0) 2014.09.12
Posted by jk.jeong
,

ONTAP - Cluster

IT/Storage 2017. 7. 10. 10:56

클러스터 구성 요소


1. Nodes (Controller + Disk Shelf)

- 구성: Network ports / Expansion slots / Nonvolatile Memory(NVRAM, NVMEM)

          Disks

2. HA Pair

- 파트너 간 2개의 커넥선 노드

- 같은 Disk shelves 에 연결

- 파트너 디스크 fail 시 남은 노드에서 디스크 제어

- HA pair 연결 구성: HA interconnect / Multipath HA shelf connectivity / Cluster interconnect connectivity

3. Networks

- Cluster interconnect : 노드간 연결, private network

- Management network 

- Data network : one or more networks 필요, Ethernet / FC / converged network


4. Ports & Logical Interfaces


Data ONTAP 스토리지 아키텍처

- Physical Layer : RAID Groups of Disks > Aggregate

- Logical Layer : FlexVol Volumes > Files and LUNs


1. Physical Storage

1) Disk

- Disk ownership은 하나의 컨트롤러에 할당

- spare로 두거나 RAID 그룹에 추가

2) RAID Group

- disk collection 

- data is striped across the disks.

3) Aggregate

- 하나 이상의 RAID group 집합

- 하나의 컨트롤러가 ownership을 가짐.


2. Logical Storage

1) SVM(Storage Virtual Machine)

- data volumes 컨테이터

- 클라이언트 데이터는 LIF를 통해 

2) Volume

- file or LUNs의 논리 데이터 컨테이너

- 하나 이상의 FlexVol , 한 개의 확장 가능한 무한 볼륨?

3) LIF

- 포토와 연결된 네트워크 주소 대표.

- 클라이언트 데이터 엑세스


SVM with FlexVol Volumes

A200::>vserver setup

...

A200>vserver show

- SVM root volume = 1GB, root volumes는 공간이나 inode의 부족으로 인해 SVM root volume에 볼륨을 마운트 할 때 오류를 방지.

- SVM은 자동 시작 실행. 기본적으로 vsadmin 사용자 계정이 만들어 지고 잠긴 상태가 됨.

- FlexVol volume: NAS 환경에서 파일 시스템, SAN 환경에서의 LUN 컨테이너

- QTree: FlexVol의 더 작은 세그먼트 분할 / quotas(할당량), security, CIFS oplock 설정 관리

- LUN : SCSI disk의 Logical Unit

- Infinite Volume : 최대 20억 개 파링과 수십 petabytes의 데이터를 저장할 수 있는 확장 가능한 볼륨 1개


클러스터 설정

- 지원 클러스터 설정

Single-Node / Two-Node Switchless / Multinode Switched / MetroCluster

1) Single-node Cluster
















'IT > Storage' 카테고리의 다른 글

NetApp ONTAP2  (0) 2021.07.07
CIFS Properties 설정  (0) 2021.02.19
스토리지 성능 분석  (0) 2015.04.07
VOLUME  (0) 2014.06.19
NetApp - Software 용어  (0) 2014.06.17
Posted by jk.jeong
,

FortiGate 600D


제품 정보


전원이중화

600D까지는 제품 자체에 전원 이중화가 되어 있지 않는 듯 하다.

별도 External 전원 공급 장치를 연결해서 이중화 구성이 필요.

FortiRPS





1. OS 아키텍쳐

 1) 구성

  FortiASIC - CP <Content Processor> & NP <Network Processor> (High-End급) 

 2) Traffic 처리 순서

  Traffic Ingress -> Routing Modult -> VPN EID -> F/W <ASIC> 

  AISC안에는 CF(AV엔진), F/W, VPN, QOS가 동작하며 세션 테이블은 CPU에서 만들어 짐.

    


2. Mode

 1) NAT / Route 모드

 - 모드의 기본 정책은 모든 트래픽이 외부로 나갈 수 있음

 2) TP 모드

 - 모드의 기본 정책은 모든 트래픽이 외부로 나가거나 외부의 트래픽이 들어올 수 있음





 

Posted by jk.jeong
,

1. VLAN으로 브로드캐스트 도메인 나누기

- VLAN이란 네트워크 상의 노드들을 물리적인 위치와 관계없이 세그먼트를 분리하는 방법

- 브로드캐스트 도메인을 나눔.

- 대표적인 브로드캐스트 프레임: ARP, NetBIOS name query, RIP 등

- 대규모 LAN 환경에서 브로드 캐스트 프레임은 네트워크 성능에 상당한 영향을 끼침.

- VLAN으로 세그먼트를 분리할 경우 브로드캐스트 도메인이 분리되어 네트워크 대역폭을 보다 효과적으로 사용.

 

2. VLAN의 동작

- VLAN을 구분하는 방법은 각 스위치 벤더마다 차이가 있음.

- 스위치 각 포트에 VLAN ID를 할당하여 프레임이 스위치 포트에 수신될 때 해당  VLAN ID로 포장하여 스위치 내부 백플레인으로 전달. 각 포트는 자신에게 할당된  VLAN ID와 같은 프레임만 수신.

- 스위치가 VLAN ID를 읽어 해당 VLAN에 소속된 포트로 프레임을 전달하면 해당 포트는 VLAN 태그를 제거하고, CRC 검사를 한 후 본래의 이더넷 프레임을 추출하여 목적지 포트로 전달.

 

3. VLAN 구성 방법

 1) End-to-End VLAN 구성

 - 사용자들의 물리적인 위치와 이동에 관계없이 사용자의 VLAN 멤버쉽을 같게 설정할 수 있음.

 - 단점은 관리자가 사용자가 접속된 포트를 알아야 함. 관리의 어려움

 2) 로컬 VLAN

 - 지리적으로 인접한 디바이스들을 하나의 멤버로 만드는 것.

 

 

Posted by jk.jeong
,


1. 스토리지 성능에 영향을 미치는 요소들

 - 블록 크기(data block size)

 - 랜덤/순차성 (I/O mix of random or sequential access patterns)

 - 읽기/쓰기 비율 (balance of read and write operations)

 - 측정 도구 (tool)

 - 측정 시스템 구성 환경 (system configuration)


2. 스토리지 성능평가를 위한 블록크기

 1) OLTP, random 데이터용 스토리지

  - 블록크기: 4KB, 8KB (512B, 128KB)

  - 주요 응용: E-mail, web, OLTP, 전자결재

  - 중요성능지표: IOPS

  - 512B 일때 최고성능 값이므로 대부분 512B 채택하나 비현실적...?

 2) Stream, sequential 데이터용 스토리지

  - 블록크기: 256KB, 1024KB

  - 주요응용: VOD, batch, backup

  - 주요 성능 지표 : MB/s

  - 블록 크기가 클수록 최고 성능 값


3. Read/Write 비율

 1) R,W 비율 결정

  - Read only

  - Write only

  - Read : Write = 0.5 : 0.5

 2) 주요 근거

 - 벤더들은 최고 성능 획득에 주력하여 read only 일 경우가 많음

 - 다양한 read:write 비율 적용 필요



'IT > Storage' 카테고리의 다른 글

CIFS Properties 설정  (0) 2021.02.19
ONTAP - Cluster  (0) 2017.07.10
VOLUME  (0) 2014.06.19
NetApp - Software 용어  (0) 2014.06.17
Snapshot  (0) 2014.06.17
Posted by jk.jeong
,