반응형

0. VLAN을 알기 위한 사전 지식

 

# [Network] 스위치 ( Switch )

1. 스위치 ( Switch ) 란? 소규모 네트워크 안에서 컴퓨터, 프린터 등 디바이스들을 서로 연결해주어 자원을 공유할 수 있도록 해주는 장비이다. 일반적으로 OSI 7 계층 구조에서 데이터링크 ( 2계층 )

leehi0110.tistory.com

 

# [Network] LAN ( Local Area Network )

1. LAN 이란? LAN이란 Local Area Network의 약자로 근거리 통신망을 의미한다. LAN은 Ethernet, Token Ring, FDDI 형태로 구축 가능하며 일반적으로 이더넷이 가장 광범위하게 이용된다. ✓ Ethernet ? 2023.07.19 - [Inf

leehi0110.tistory.com

 

# [Network] ARP ( Address Resolution Protocol )

1. ARP 란? ARP ( Address Resolution Protocol ) 이란 논리적인 IP 주소 ( L3, 네트워크 계층 )를 실제 물리 주소인 MAC 주소 ( Media Access Control / L2, 데이터링크 계층 )로 바꾸어 주는 역할을 하는 '주소 해설 프로

leehi0110.tistory.com

1. VLAN 이란?

  • VLAN ( Virtual Local Area Network ) 이란 가상 근거리 통신망으로 LAN을 논리적으로 분할 및 구성하여 가상 작업 그룹을 구현하는 기술이다.
  • LAN은 ARP가 닿는 동일한 네트워크 대역으로 다른 대역과의 통신을 위해서는 3계층을 거쳐야 하고 VLAN 기능이 없다면 하나의 스위치에는 하나의 대역만 설정이 가능하다.
  • 아래와 같이 각 스위치에 대역이 설정 되고, 다른 대역과의 통신을 위해서는 Router를 통해 통신 할 수 있다.

  • VLAN은 이를 해결하기 위해 사용되는 기술로, 동일한 스위치에 꽂혀 있더라도 VLAN을 다르게 설정하여 별도의 스위치에 있는 것처럼 작동시킬 수 있다.
  • 아래 이미지와 같이, VLAN 설정을 통해 동일한 스위치에 다른 대역으로 설정되어 있지만 3계층의 라우터를 통해 통신이 가능한 형태가 된다.

  • 1 ~ 1049까지의 번호를 사용하여 VLAN을 설정할 수 있고, 이를 VLAN ID라고 한다.
  • 즉, VLAN을 통해 브로드 캐스트 도메인을 나누어 하나의 물리적인 스위치를 다수의 논리적인 LAN으로 나누어 사용할 수 있는 것이다.

2. VLAN 장점

  • VLAN을 사용하면 Network의 보안성을 강화 할 수 있다.
    • 동일한 VLAN에 속한 장비들이 서로의 통신 내용을 훔쳐보는 것이 매우 쉽기 때문에 서로 다른 VLAN을 설정할 경우 통신 내용을 훔쳐보는 것이 어려워진다.
    • 서로 다른 VLAN을 통해 통신하기 위해서는 Layer 3의 장비 ( ex. Router, L3 Switch )를 거쳐야 하는데 해당 장비에 보안 정책을 적용할 경우 보안을 강화할 수 있다.

3. VLAN 동작 방식

    스위치는 포트에 설정된 VLAN을 기반으로 트래픽 전달 여부를 판단한다.

  • PC1의 경우 VLAN이 10으로 설정 된, Switch의 e2와 Router의 F0/0과 통신이 가능하다.
  • PC1이 다른 VLAN으로 설정 된 PC2 혹은 PC3과 통신을 위해서는 Layer 3 계층 장비의 Inter-VLAN Routing 기능을 이용해 통신이 가능하다.

 

  • PC2의 경우 VLAN이 20으로 설정 된, Switch의 e3과 Router의 F0/1과 통신이 가능할 뿐 아니라 동일한 대역의 PC3와 통신이 가능하다.
  • PC3의 경우 VLAN이 20으로 설정 된, Switch의 e4와 Router의 F0/1과 통신이 가능할 뿐 아니라 동일한 대역의 PC2와 통신이 가능하다.

 

Ref.

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형
반응형

1. Role에 속해 있는 T-code 조회 방법

  - Case 1) T0-code : PFCG

  • T-code : PFCG → Role 이름 입력 → Display → Menu

  - Case 2) Table : AGR_1251

  • T-code : SE16 → Table Name : AGR_1251 → Table Contents ( F7 ) → AGR_NAME에 "Role 이름" & OBJECT에 "S_TCODE" 입력 → Execute (  F8 )
  • 해당 테이블을 이용하면 Role이 가지고 있는 T-code List를 Excel로 추출 할 수 있다. [ 맨 아래 이미지 참고 ] 

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형
반응형

1. ARP 란?

  • ARP ( Address Resolution Protocol ) 이란 논리적인 IP 주소 ( L3, 네트워크 계층 )를 실제 물리 주소인 MAC 주소 ( Media Access Control / L2, 데이터링크 계층 )로 바꾸어 주는 역할을 하는 '주소 해설 프로토콜' 이다.
  • 처음 통신을 시작할 때는 상대방의 MAC Address를 모르기 때문에 ARP 프로토콜을 사용하여 상대방의 MAC 주소를 알아낸다.
  • 반대로, MAC 주소를 IP 주소로 바꿔주는 역할을 하는 프로토콜을 RARP ( Reverse Address Resolution Protocol ) 이라 한다.
IP 주소 ? 인터넷에 연결되어 있는 모든 호스트나 라우터 장비의 인터페이스에 할당된 논리적인 주소
MAC 주소 ? 물리적인 네트워크 주소로, 네트워크 인터페이스 카드 ( NIC ) 에 할당된 하드웨어 고유 식별 번호

 

2. ARP를 사용하는 이유

  • 두 단말 간 통신을 위해서는 IP 주소와 MAC 주소를 이용하는데, IP 주소와 MAC Address와 매칭을 통해 목적지 IP의 단말이 소유한 MAC 주소로 찾아 갈 수 있다.
  • 비유를 들면, 논리적인 IP 주소는 사람의 이름이고 물리적인 MAC 주소는 주민등록번호기 때문에 동일한 이름 ( IP Address ) 이더라도 주민등록번호 ( MAC Address )를 통해 구별 ( 통신 ) 이 가능해진다.
IP 주소만 사용할 수 없는 이유

IP는 논리적인 주소이기 때문에 가변적이다. 사람의 이름처럼 동명이인일 수도 있고, 개명을 할 수 도 있기 때문에 IP 주소만으로는 통신이 불가능하다.

MAC 주소만 사용할 수 없는 이유

라우터를 통해 전 세계의 PC와 통신하기 위해서는 각 MAC 주소를 등록해야 되는데 저장 공간의 한계가 있다.
  • 각각의 주소만 사용하지 못하는 문제를 해결하기 위해 여러 대의 단말을 묶어 IP 주소로 만들고  MAC 주소를 거치는 ARP를 사용하게 되었다.

3. ARP 프로토콜 동작 순서

  ARP 프로토콜은 같은 네트워크에 있을 때와 그렇지 않을 때 다르게 동작한다.

  같은 네트워크 내에 있는 단말들의 MAC 주소는 스위치와 같은 중계 장치가 MAC 주소 테이블에 정보를 저장하고
      관리하고 있어 통신이 가능하다.

  Case 1 ) 같은 네트워크에 속해 있는 경우

  •   같은 네트워크 내에 있는 단말들의 MAC 주소는 중계 장치 (ex. Switch )가 주소 테이블 정보를 저정하고 관리하고 있기 때문에, 해당 정보를 이용해 통신이 가능하다.

  • A가 B와 통신하기 위해 브로드캐스팅 방식을 이용해 ARP Request를 전송한다. 이 때, B의 MAC 주소를 모르기 때문에 목적지 MAC주소를 브로드캐스트로 설정하여 전달한다

  • ARP Request Packet을 받은 Switch가 B의 MAC 주소를 가지고 있지 않다면 자신의 모든 포트에 연결된 단말에 ARP Request Packet을 전달 한다.

  • ARP Request를 전달 받은 C는 패킷을 확인 후 자신에게 온 요청이 아니기에 패킷을 폐기하고, B는 Request Packet 정보를 활용해 Reply Packet을 전달한다.

  • Reply Packet을 통해 B의 정보를 알게 된 A는 해당 정보를 이용해 B와 통신하고, ARP Table에 B의 IP 주소와 MAC 주소를 대응시켜 저장한 뒤, 추후에 사용하게 된다.
  • ARP Table 정보는 아래의 명령어로 조회 할 수 있다.
NT	: arp -a
Linux	: arp -v

  Case 2 ) 다른 네트워크에 속해 있는 경우

  • 중계 장비에서 보관하는 MAC 주소 테이블에는 다른 네트워크에 속해있는 단말의 MAC 주소가 없기 때문에 ARP 프로토콜을 이용해 IP 주소와 MAC 주소간 변환을 이용해 통신을 수행한다.

  • A는 B와 통신을 위해 같은 네트워크 대역에 브로드캐스팅 방식으로 ARP Packet을 전달한다. 이 때, 목적지 B의 MAC 주소를 모르기 때문에 기본 게이트웨이로 설정하여 전달한다.

  • 라우터는 해당 ARP Request Packet을 받고 목적지 B의 IP가 같은 네트워크에 있지 않음을 확인하고, A와 같은 네트워크 대역의 라우터 인터페이스 MAC 주소를 실어서 응답한다.

  • A는 B와 통신하기 위해 B의 IP와 응답 받은 라우터의 MAC 주소를 실어 라우터에게 ARP Request를 전달한다.

  • 라우터는 B의 IP 대역으로 패킷을 보낸 뒤, 자신도 목적지의 MAC 주소를 확인하기 위해 브로드캐스트 메시지를 전달해 요청 IP를 가진 단말이 있는지 확인한다.

  • B 단말은 자신의 IP가 목적지인 패킷을 확인하고 자신의 MAC 주소를 실어서 응답한다.

  • 이 후, 라우터를 통해 A와 B는 통신을 시작한다. 이렇게 얻어진 MAC 주소는 일정 시간 동안 저장되어 사용되고, 이를 ARP Cache라고 한다.

 

 

Ref.

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'Infra > Network' 카테고리의 다른 글

# [Network] Trunk ( Tagging )  (0) 2023.08.14
# [Network] VLAN  (0) 2023.08.10
# [Network] LAN ( Local Area Network )  (0) 2023.07.28
# [Network] 이더넷 (Ethernet)  (0) 2023.07.19
# [Network] DNS  (0) 2023.07.06
반응형

1. Favorite 추가 및 삭제 [ 사용자가 직접 하는 방식 ]

  -  Favorite에 Transaction 등록

  • Favorite 우클릭 -> Insert Transaction -> Transaction 추가

  -  Description 변경

  • 변경을 원하는 즐겨찾기 선택 -> 상단 Favorite -> Change -> Text 입력 후 Continue ( Enter )

  -  Favorite에 Transaction 삭제

  • Transaction 우클릭 -> Delete Favorites

2. Favorite 다운로드 및 업로드 [ 사용자가 직접 하는 방식 ]

  ※ 다운로드 및 업로드를 위한 권한 확인

  • Autorization Obj : S_GUI
  • Activity : 60 ( Import ) / 61 ( Export )

  -  Favorites Download ( 즐겨찾기 다운로드 )

  • Favorites -> Download to PC ( txt 파일로 다운로드 )

  -  Favorites Upload ( 즐겨찾기 업로드 )

  • Favorites -> Upload from PC -> 다운로드한 파일을 Upload

3. Favorites 등록 [ 관리자가 해주는 방법 ]

  -  특정 사용자의 Favorites Download

  • T-code : SE37 -> MENU_FAVORITES_DOWNLOAD -> Execute -> 즐겨찾기 다운로드를 원하는 ID 입력

  -  특정 사용자에게 Favorites Upload

  • T-code : SE37 -> MENU_FAVORITES_UPLOAD -> Execute -> 즐겨찾기 업로드를 원하는 ID 입력

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'SAP > BC' 카테고리의 다른 글

# [SAP] Role Import / Export  (0) 2023.08.11
# [SAP] 권한에 속한 T-code  (0) 2023.08.04
# [SAP] SAP Directory Structure [ 파일 시스템 아키텍처 ]  (0) 2023.07.03
# [SAP] Logon Group - SMLG  (0) 2023.05.25
# [SAP] SAP GUI - SAPUILandscape.xml  (0) 2023.05.23
반응형

1. LAN 이란?

  • LAN이란 Local Area Network의 약자로 근거리 통신망을 의미한다.
  • LAN은 Ethernet, Token Ring, FDDI 형태로 구축 가능하며 일반적으로 이더넷이 가장 광범위하게 이용된다.

    ✓ Ethernet ? 2023.07.19 - [Infra/Network] - # [Network] 이더넷 (Ethernet)

 

# [Network] 이더넷 (Ethernet)

0. 이더넷을 이해하기 위한 사전 지식 - LAN ( Local Area Network ) ? 근거리 통신망으로 비교적 가까운 거리에 위치한 장치들이 연결된 네트워크 - WAN ( Wide Area Network ) ? 원거리 통신망으로 여러 개의 LAN

leehi0110.tistory.com

  • 동일 건물과 같이 제한 된 지역에서 통신을 위해 구성된 네트워크로 LAN을 구축하면 외부에서 LAN 내부에 접근할 수 없다.
  • LAN은 토폴로지에 따라 버스형, 링형, 스타형, 계층형, 매쉬형 등으로 구분할 수 있다.

    ✓ 토폴로지 ? 네트워크를 구성하는 각 노드 간 연결 상태에 대한 배치로 "통신망 주고"이며 망의 구성이라고 이해하면 된다.

2. LAN 통신의 장단점

  • 장점
    • 전송되는 패킷 손실 및 지연이 적으며 사용자 간 쉽고 빠르게 자료를 공유 할 수 있다.
    • 신뢰성이 높고 구축 비용이 적다.
  • 단점
    • 전송 거리가 짧아 물리적인 거리에 제약이 있다.
    • UTP 및 광케이블로 구축되지만, 네트워크에 노드가 많아지면 충돌이 발생하여 성능이 떨어진다.

3. LAN 구축 형태

 

  1) Bus Topology ( 버스형 )

  • 모든 노드들은 간선을 공유하여 버스에 T자형으로 연결되어 Point to Point 형태를 가진다.
  • 각 노드들은 어댑터를 사용하여 간선에 연결할 수 있고, 한 노드의 고장이 전체 네트워크에 영향을 주지 않는다.

  2) Ring Topology ( 환형 )

  • 각 링크가 단방향 이어서 데이터는 한 방향으로만 전송된다.
  • 통신제어가 간단하고 신뢰성이 높으며 장거리 네트워크에서 사용 가능하다.

  3) Star Topology ( 성형 )

  • 중앙제어 방식으로 모든 기기가 Point to Point 방식으로 연결되어 있다.
  • 하나의 기기의 고장이 전체에 영향을 미치지 않지만, 중앙 제어 장비가 고장 나면 모든 시스템에 영향을 미친다.
  • Fast Ethernet의 주요 토폴로지에 해당된다.

  4) Mash Topology ( 망형 )

  • 네트워크 상의 모든 컴퓨터들이 연결되어진 형태로 어떠한 경우에도 네트워크가 동작하는 장점을 가진다.
  • 네트워크에 연결된 기기의 수가 많을 경우 모든 기기와 연결해야 하기 때문에 케이블 사용량이 많으며, 구조가 복잡해져 관리가 어려워진다.

 

Ref.

 

[ 네트워크 쉽게 이해하기 3편 ] LAN 이란? LAN의 토폴로지

이번 장에서는 서비스 영역에 따른 네트워크 종류 중 LAN 이란 녀석에 대해서 알아보겠습니다.우선 LAN 은 Local Area Network 의 약자로써 근거리 통신 망을 의미 하게 됩니다.LAN의 역사를 잠깐 알아보

mindnet.tistory.com

 

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'Infra > Network' 카테고리의 다른 글

# [Network] VLAN  (0) 2023.08.10
# [Network] ARP ( Address Resolution Protocol )  (0) 2023.08.03
# [Network] 이더넷 (Ethernet)  (0) 2023.07.19
# [Network] DNS  (0) 2023.07.06
# [Network] 허브 ( Hub )  (0) 2023.06.27
반응형

1. LVM 이란?

  • LVM ( Logical Volume Manager )는 논리 볼륨 관리자라는 의미로 커널의 한 부분이다.
  • LVM을 이용하여 여러 개의 디스크를 하나의 논리적인 볼륨 그룹(VG)로 묶은 뒤, 논리 볼륨(LV)으로 나누고 할당하여 사용이 가능하다.
  • 각 논리 볼륨(LV)은 독립적이기 때문에 필요한 파일 시스템을 각각 설치하여 사용 할 수 있다.

2. LVM 장점

  • 유연한 용량 조절이 가능하다. ( 크기 변경 시 기존 데이터의 이전이 필요하지 않음 )
  • 크기 조절이 가능한 Storage pool
  • 편의에 따른 장치 이름 지정

3. LVM 관련 용어 및 구성

  • PV ( Physical Volume ) : 실제 디스크 장치를 분할한 파티션 된 상태로 "LVM"에서 사용하기 위한 개념
  • PE ( Physical Extent ) : PV를 구성하는 일정한 크기의 Block으로 일반적으로 1PE는 4MB에 해당된다.

  • VG ( Volume Group ) : PV들이 모여서 생성된 그룹으로 LV를 할당 할 수 있는 공간

  • LV ( Logical Volume ) : 사용자가 사용하기 위해 할당 받는 단위로 LE로 이루어져 있다.
  • LE ( Logical Extent ) : LV의 저장 공간을 가리키는 단위로, PE와 1:1로 대응한다.

4. LVM 구성

  0. 

  • 현재 파일 시스템 마운트 상태 확인
[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   11M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  1.3G   49G   3% /
/dev/sda1               1014M  150M  865M  15% /boot
/dev/mapper/centos-home   46G   33M   46G   1% /home
tmpfs                    376M     0  376M   0% /run/user/0
  • 추가된 디스크 확인
[root@localhost ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes

[root@localhost ~]# fdisk -l /dev/sdc

Disk /dev/sdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes

  1. 물리 디스크를 사용해 파티션 생성

  • sdb를 이용해 파티션 생성
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xb01ddc0b.

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.

Command (m for help): n // 새 파티션 추가
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599):
Using default value 104857599
Partition 1 of type Linux and of size 50 GiB is set

Command (m for help): p // (프린트) 현재 파티션 정보 출력

Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes
Disk label type: dos
Disk identifier: 0xb01ddc0b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   104857599    52427776   83  Linux

Command (m for help): t // (파티션 시스템 id 변경)
Selected partition 1
Hex code (type L to list all codes): 8e // Linux LVM Type Code = 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p

Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes
Disk label type: dos
Disk identifier: 0xb01ddc0b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   104857599    52427776   8e  Linux LVM // LVM으로 변경 완료

Command (m for help): w // 설정값 저장
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
  • sdc를 이용해 파티션 생성
[root@localhost ~]# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x3718ceae.

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599):
Using default value 104857599
Partition 1 of type Linux and of size 50 GiB is set

Command (m for help): p

Disk /dev/sdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes
Disk label type: dos
Disk identifier: 0x3718ceae

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048   104857599    52427776   83  Linux

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p

Disk /dev/sdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes
Disk label type: dos
Disk identifier: 0x3718ceae

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048   104857599    52427776   8e  Linux LVM

Command (m for help): p

Disk /dev/sdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes
Disk label type: dos
Disk identifier: 0x3718ceae

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048   104857599    52427776   8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

  2. PV 생성

  • 현재 PV 정보 확인
    • Command : pvs 혹은 pvdisplay
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <99.00g 4.00m
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <99.00 GiB / not usable 3.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              25343
  Free PE               1
  Allocated PE          25342
PV UUID               pnsi31-xuOp-1vcy-DdPy-FQah-27cu-44UgQO
  • PV 생성
    • Command : pvcreate [ 파티션 ]
[root@localhost ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvcreate /dev/sdc1
  Physical volume "/dev/sdc1" successfully created.
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <99.00g   4.00m
  /dev/sdb1         lvm2 ---  <50.00g <50.00g
  /dev/sdc1         lvm2 ---  <50.00g <50.00g
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <99.00 GiB / not usable 3.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              25343
  Free PE               1
  Allocated PE          25342
  PV UUID               pnsi31-xuOp-1vcy-DdPy-FQah-27cu-44UgQO

  "/dev/sdc1" is a new physical volume of "<50.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name
  PV Size               <50.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               QYcdtG-Ekpk-1EA4-pCdj-uZpR-qJYk-TDQ22T

  "/dev/sdb1" is a new physical volume of "<50.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               <50.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               prU3XO-wXRT-vRIU-h1o5-GZT7-d5wh-gz84Uq

  3. VG 생성

  • 현재 VG 정보 확인
    • Command : vgs 혹은 vgdisplay
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   3   0 wz--n- <99.00g 4.00m
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <99.00 GiB
  PE Size               4.00 MiB
  Total PE              25343
  Alloc PE / Size       25342 / 98.99 GiB
  Free  PE / Size       1 / 4.00 MiB
VG UUID               JWHHLV-TI71-0eJD-OifG-Cvlk-1AN0-zV2fbL
  • VG 생성
    • Command : vgcreate [ 볼륨그룹명 ] [ 물리적볼륨 PV ]
[root@localhost ~]# vgcreate vg-volume1 /dev/sdb1
  Volume group "vg-volume1" successfully created
[root@localhost ~]# vgcreate vg-volume2 /dev/sdc1
  Volume group "vg-volume2" successfully created
[root@localhost ~]# vgs
  VG         #PV #LV #SN Attr   VSize   VFree
  centos       1   3   0 wz--n- <99.00g   4.00m
  vg-volume1   1   0   0 wz--n- <50.00g <50.00g
  vg-volume2   1   0   0 wz--n- <50.00g <50.00g
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               vg-volume2
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <50.00 GiB
  PE Size               4.00 MiB
  Total PE              12799
  Alloc PE / Size       0 / 0
  Free  PE / Size       12799 / <50.00 GiB
  VG UUID               jlwmqy-Jrb4-ekMF-qJXG-kDVG-bT0z-Dp0OFC

  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <99.00 GiB
  PE Size               4.00 MiB
  Total PE              25343
  Alloc PE / Size       25342 / 98.99 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               JWHHLV-TI71-0eJD-OifG-Cvlk-1AN0-zV2fbL

  --- Volume group ---
  VG Name               vg-volume1
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <50.00 GiB
  PE Size               4.00 MiB
  Total PE              12799
  Alloc PE / Size       0 / 0
  Free  PE / Size       12799 / <50.00 GiB
  VG UUID               WF0CTV-qbC4-PRsE-OeSs-pbOJ-8GrE-61jEEE

  4. LV 생성

  • 현재 LV 정보 확인
    • Command : lvs 혹은 lvdisplay
[root@localhost ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos -wi-ao---- <45.12g
  root centos -wi-ao----  50.00g
  swap centos -wi-ao----  <3.88g
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                80HPrb-hDLI-Y6c8-4n1x-GZfI-U9qI-zMYmn1
  LV Write Access        read/write
  LV Creation host, time localhost, 2023-07-19 20:11:36 -0400
  LV Status              available
  # open                 2
  LV Size                <3.88 GiB
  Current LE             992
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/home
  LV Name                home
  VG Name                centos
  LV UUID                7TNJI6-WBN4-IJrH-OB9Z-JuIL-e7cA-VKfIuY
  LV Write Access        read/write
  LV Creation host, time localhost, 2023-07-19 20:11:37 -0400
  LV Status              available
  # open                 1
  LV Size                <45.12 GiB
  Current LE             11550
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                MPkKt3-2yNl-2Ejp-FlMc-OM3y-Q605-zQiPkb
  LV Write Access        read/write
  LV Creation host, time localhost, 2023-07-19 20:11:38 -0400
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
  • LV 생성
    • Command ->
      • -L 옵션을 사용하여 K, M, G, T 단위로 사이즈 지정하는 명령어
      • lvcreate -n [ LV이름 ] -L [ LV용량 ] [ VG 이름 ]
      • -l 옵션을 사용하여, pe 개수로 용량을 설정하는 명령어 ( 1pe = 4MB )
      • lvcreate -n [ LV이름 ] -l [ pe개수 ] [ VG 이름 ]
[root@localhost ~]# lvcreate -n volume1lv -L 49G vg-volume1
  Logical volume "volume1lv" created.
[root@localhost ~]# lvcreate -n volume2lv -l 100%FREE vg-volume2
  Logical volume "volume2lv" created.
[root@localhost ~]# lvs
  LV        VG         Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home      centos     -wi-ao---- <45.12g
  root      centos     -wi-ao----  50.00g
  swap      centos     -wi-ao----  <3.88g
  volume1lv vg-volume1 -wi-a-----  49.00g
volume2lv vg-volume2 -wi-a----- <50.00g
  • LV 확장
    • Command : lvextend [ -l | -L ] [ LV 용량 ] [ VG 이름 ]
[root@localhost ~]# lvs
  LV        VG         Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home      centos     -wi-ao---- <45.12g
  root      centos     -wi-ao----  50.00g
  swap      centos     -wi-ao----  <3.88g
  volume1lv vg-volume1 -wi-a-----  49.00g
  volume2lv vg-volume2 -wi-a----- <50.00g

[root@localhost ~]# lvextend -l +100%FREE /dev/vg-volume1/volume1lv
  Size of logical volume vg-volume1/volume1lv changed from 49.00 GiB (12544 extents) to <50.00 GiB (12799 extents).
  Logical volume vg-volume1/volume1lv successfully resized.

[root@localhost ~]# lvs
  LV        VG         Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home      centos     -wi-ao---- <45.12g
  root      centos     -wi-ao----  50.00g
  swap      centos     -wi-ao----  <3.88g
  volume1lv vg-volume1 -wi-a----- <50.00g
volume2lv vg-volume2 -wi-a----- <50.00g

  5. 파일시스템 생성

  • Command : mkfs.[ Hexa Code ] [ 블록스토리지 경로 ]
[root@localhost ~]# mkfs.ext4 /dev/vg-volume1/volume1lv
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=256 blocks
3276800 inodes, 13106176 blocks
655308 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2162163712
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

[root@localhost ~]# mkfs.ext4 /dev/vg-volume2/volume2lv
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=256 blocks
3276800 inodes, 13106176 blocks
655308 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2162163712
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

  6. 마운트

  • 마운트 포인트 생성 ( 마운트 할 디렉토리 생성 )
    •  Command : mkdir [ -p ] [ directory path | directory name ]
[root@localhost ~]# mkdir -p /volume1
[root@localhost ~]# mkdir -p /volume2
  • LV 마운트
    • Command : mount [ option ] [ device ] [ directory ]
[root@localhost /]# mount /dev/vg-volume1/volume1lv /volume1
[root@localhost /]# df -h
Filesystem                         Size  Used Avail Use% Mounted on
devtmpfs                           1.9G     0  1.9G   0% /dev
tmpfs                              1.9G     0  1.9G   0% /dev/shm
tmpfs                              1.9G   11M  1.9G   1% /run
tmpfs                              1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root             50G  1.3G   49G   3% /
/dev/sda1                         1014M  150M  865M  15% /boot
/dev/mapper/centos-home             46G   33M   46G   1% /home
tmpfs                              376M     0  376M   0% /run/user/0
/dev/mapper/vg--volume1-volume1lv   50G   53M   47G   1% /volume1
[root@localhost /]# mount /dev/vg-volume2/volume2lv /volume2
[root@localhost /]# df -h
Filesystem                         Size  Used Avail Use% Mounted on
devtmpfs                           1.9G     0  1.9G   0% /dev
tmpfs                              1.9G     0  1.9G   0% /dev/shm
tmpfs                              1.9G   11M  1.9G   1% /run
tmpfs                              1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root             50G  1.3G   49G   3% /
/dev/sda1                         1014M  150M  865M  15% /boot
/dev/mapper/centos-home             46G   33M   46G   1% /home
tmpfs                              376M     0  376M   0% /run/user/0
/dev/mapper/vg--volume1-volume1lv   50G   53M   47G   1% /volume1
/dev/mapper/vg--volume2-volume2lv   50G   53M   47G   1% /volume2
  • fstab 파일을 이용한 자동 마운트

          ✓ /etc/fstab은 부팅 단계에서 마운트 되어야 할 볼륨 정보들이 저장되는 곳

[root@localhost etc]# cat fstab

#
# /etc/fstab
# Created by anaconda on Wed Jul 19 20:11:39 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root                                              /                          xfs     defaults        0 0
UUID=aef31d2f-8529-4597-bd38-ea7403f9cd51 /    boot                   xfs     defaults        0 0
/dev/mapper/centos-home /                                        home                  xfs     defaults        0 0
/dev/mapper/centos-swap                                            swap                  swap    defaults        0 0

[root@localhost etc]# vi fstab

#
# /etc/fstab
# Created by anaconda on Wed Jul 19 20:11:39 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=aef31d2f-8529-4597-bd38-ea7403f9cd51 /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/vg-volume1/volume1lv /volume1              ext4    defaults        0 0
/dev/vg-volume2/volume2lv /volume2              ext4    defaults        0 0

[root@localhost etc]# df -TH
Filesystem                        Type      Size  Used Avail Use% Mounted on
devtmpfs                          devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                             tmpfs     2.0G   11M  2.0G   1% /run
tmpfs                             tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos-root           xfs        54G  1.4G   53G   3% /
/dev/sda1                         xfs       1.1G  157M  907M  15% /boot
/dev/mapper/centos-home           xfs        49G   34M   49G   1% /home
/dev/mapper/vg--volume1-volume1lv ext4       53G   55M   50G   1% /volume1
/dev/mapper/vg--volume2-volume2lv ext4       53G   55M   50G   1% /volume2
[root@localhost etc]# umount -a
umount: /: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /sys/fs/cgroup/systemd: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /sys/fs/cgroup: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /run: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /dev: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@localhost etc]# df -TH
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G   11M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        54G  1.4G   53G   3% /
[root@localhost etc]# mount -a
[root@localhost etc]# df -TH
Filesystem                        Type      Size  Used Avail Use% Mounted on
devtmpfs                          devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                             tmpfs     2.0G   11M  2.0G   1% /run
tmpfs                             tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos-root           xfs        54G  1.4G   53G   3% /
/dev/sda1                         xfs       1.1G  157M  907M  15% /boot
/dev/mapper/centos-home           xfs        49G   34M   49G   1% /home
/dev/mapper/vg--volume1-volume1lv ext4       53G   55M   50G   1% /volume1
/dev/mapper/vg--volume2-volume2lv ext4       53G   55M   50G   1% /volume2

 

Ref

 

LVM(Logical Volume Manager) 의 개념과 설정 방법

LVM이란 LVM(Logical Volume Manager)는 리눅스의 저장 공간을 효율적이고 유연하게 관리하기 위한 커널의 한 부분이다. LVM vs. 일반 disk partitioning LVM이 아닌 기존 방식의 경우, 하드 디스크를 파티셔닝 한

greencloud33.tistory.com

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형
반응형

0. 이더넷을 이해하기 위한 사전 지식

  -  LAN ( Local Area Network ) ? 근거리 통신망으로 비교적 가까운 거리에 위치한 장치들이 연결된 네트워크

  -  WAN ( Wide Area Network ) ? 원거리 통신망으로 여러 개의 LAN이 모여 이루는 넓은 범위의 네트워크

1. 이더넷 (Ethernet) 이란?

  -  이더넷은 LAN을 위해 개발된 근거리 유선 네트워크 통신망 기술, 즉 네트워크를 만드는 하나의 방식이다.

  -  네트워크에 연결된 각 기기들이 48비트 길이의 고유 MAC 주소를 가지고 있는데 이를 이용해 데이터를 주고 받는다.

  -  CSMA/CD 프로토콜을 이용하여 통신하는 것이 가장 큰 특징이다.

    CSMA/CD ( Carrier Sense Multiple Access / Collision Detection ) ?
       반송파 감지 다중 액세스 / 충돌 검출 일반적으로 '눈치껏 알아서 통신하자'라는 말로 쓰이며 동작 방식은 아래와 같다'

  • 통신을 원하는 PC는 네트워크 상에 통신이 일어나고 있는지 확인 ( Carrier Sense ) 한다.
    • 네트워크 상에서 통신이 없으면 자신의 데이터를 네트워크 상에 전송한다.
    • 누군가 네트워크 상에서 통신하고 있으면 기다린다.
  • 두대 이상의 PC가 캐리어를 감지하다 동시에 데이터를 보내게 되는 경우 ( Multiple Access ), 충돌이 ( Collision ) 발생할 수 있다.
  • 데이터를 네트워크에 실어보내고 다른 PC 때문에 충돌이 발생하지 않는지 점검해야 한다. ( Collision Detection )
  • 만약, 충돌이 발생했다면 PC들은 랜덤한 시간 ( 사람이 체감하기 힘든 짧은 시간 ) 동안 기다린 다음 다시 데이터를 전송하게 된다.

 

반응형

'Infra > Network' 카테고리의 다른 글

# [Network] ARP ( Address Resolution Protocol )  (0) 2023.08.03
# [Network] LAN ( Local Area Network )  (0) 2023.07.28
# [Network] DNS  (0) 2023.07.06
# [Network] 허브 ( Hub )  (0) 2023.06.27
# [Network] 스위치 ( Switch )  (0) 2023.05.22
반응형

1. DNS ( Domain Name Server ) 란?

  -  등장 배경

  • 네트워크 안에서 host들을 식별하기 위한 목적으로 IP 주소를 사용한다.
  • 사람의 경우 특정 웹 사이트에 접속 시 IP가 아닌 도메인 이름을 사용하는데, 도메인 이름을 사용하는 경우에도 최종적으로 IP 주소를 알아야 상대
    장비와 연결이 가능하다.
  • 네트워크에서 도메인이나 호스트 이름을 IP 주소로 해석 해주는 TCP/IP Network Service인 DNS는 이를 위해 등장했다.

  -  DNS의 과거와 현재

  • 초창기 호스트 수가 많지 않을 때는 local의 hosts.txt 파일을 이용했지만, 호스트 수의 폭발적 증가로 hosts 파일의 수정 및 업데이트가 힘들어졌다.
  • 이를 해결하기 위해, 계층 구조를 가지는 분산 데이터베이스 구조의 DNS가 나오게 되었다.

2. DNS의 기본 원리

  ※  실제 DNS의 동작 과정은 아래의 5. DNS 동작 과정을 참고하자.

  -  사용자가 특정 웹사이트에 접속 하기 위해서는 아래 이미지와 같은 과정을 수행한다. ( 실제로 이렇게 단순하지는 않지만 개념 설명을 위해 단순화 )

  1.   사용자가 www.google.com을 입력 후 검색하면
  2.   DNS 서버에 해당 도메인과 연결된 IP가 있는지 확인한 후에, 사용자에게 IP를 전달해주면,
  3. 그 값을 이용해 www.google.com으로  로 접속한다. 

  -  실제로는 너무 많은 도메인 개수로 인해서 DNS 서버 종류를 계층화 하여 단계적으로 처리한다.

3. DNS 구성 요소

  -  도메인 네임 스페이스 ( Doamin Name Space )

  • DNS가 저장, 관리하는 계층적 구조를 의미한다.
  • 도메인 네임 스페이스는 최상위에 루트 DNS 서버가 존재하고, 그 하위로 인터넷에 연결된 모든 노드가 연속해서 이어진 계층 구조로 구성되어 있다.

  -  네임 서버 ( Name Server )

  • 문자열로 표현된 도메인 이름을 실제 컴퓨터가 통신할 때 사용할 수 있는 IP 주소로 변환시키기 위한 서버
  • 변환을 위해 도메인 네임 스페이스의 트리 구조에 대한 정보가 필요하기 때문에, 네임 서버는 이러한 정보를 가지고 있다.
  • 리졸버 ( Resolver )로 부터 요청 받은 도메인 이름에 대한 IP 정보를 다시 리졸버로 전달해주는 역할을 수행한다.

  -  리졸버 ( Resolver )

  • DNS 클라이언트의 요청을 네임 서버로 전달하고, 네임 서버로부터 전달 받은 정보 ( 도메인에 대한 IP 주소 )를 클라이언트에게 제공하는 기능을 수행한다.
  • 하나의 네임 서버에 DNS 요청을 전달하고, 해당 서버에 정보가 없으면 다른 네임 서버에게 요청을 보내 정보를 받아온다.
  • 자원의 한계로 리졸버의 모든 기능을 단말에 구현하는 것이 어려워 대부분의 기능은 DNS 서버에 구현하고, 클라이언트 호스트에는 리졸버의 단순한 기능만을 지닌 리졸버 루틴을 구현하는 옵션이 있다.

  -  스터브 리졸버 ( Stub Resolver )

  • 리졸버의 대부분의 기능을 DNS 서버에서 구현하고, 클라이언트 호스트에는 리졸버의 단순한 기능만을 지닌 리졸버 루틴을 구현
  • 스터브 리졸버는 수 많은 네임 서버의 구조를 파악할 필요 없이 리졸버가 구현된 네임 서버의 IP 주소만 파악하면 된다.
  • 스터브 리졸버는 설정된 네임 서버로 DNS 질의를 전달하고 네임 서버로부터 최종 결과를 응답 받아 웹 브라우저로 전달하는 인터페이스 기능을 수행한다.

4. DNS 서버 ( = Name Server ) 종류

  -  Root DNS Server

  • ICANN이 직접 관리하는 최상위 서버로, TLD DNS 서버 IP들을 저장해두고 안내하는 역할을 한다.

  -  TLD DNS Server

  • 도메인 등록 기관 ( Registry )이 관리하는 서버로, Authoritative DNS 서버 주소를 저장해두고 안내하는 역할을 한다.
  • 도메인 판매 업체의 DNS 설정이 변경 되면, 도메인 등록 기관으로 전달되기 때문에 어떤 도메인이 어떤 판매업체를 통해 구매 되었는지 확인이 가능하다.

  -  Authoritative ( 혹은 Second-Level Domain [ SLD ] ) DNS Server

  • 실제 도메인과 IP 주소의 관계가 기록되어 있는 서버
  • 일반적으로 도메인 / 호스팅 업체의 네임서로를 의미하며, 개인 DNS Server 구축시에도 여기에 해당된다.

  -  Recursive DNS Server

  • 인터넷 사용자가 가장 먼저 접근하는 DNS 서버로 관리 / 위임 받은 도메인 없이 모든 질의에 대해 응답하는 서버이다.
  • ISP 업체에서 제공하는 DNS 서버로 Local DNS Cache에 존재하는 경우 정보를 제공해주고, 그렇지 않은 경우 Authoritative DNS Server에 질의한다.

5. DNS 동작 과정

  -  가장 먼저, hosts file에 도메인과 IP가 매핑 되어 있는지 확인한다.

  -  다음으로 자체 DNS cache table을 조회한다.

  -  찾는 IP 정보가 없을 경우 Local DNS 서버에 도메인에 해당되는 IP 주소를 요청한다.

      ✓ Local DNS ? 가입한 통신사의 DNS 서버를 의미하며 컴퓨터의 LAN 선을 통해 인터넷이 연결 되면, 각 통신사 기지국의 DNS 서바가 등록된다.

  -  DNS Server 참조

  • Local DNS Server -> Root DNS Server
    1. Local DNS Server에 IP 정보가 없는 경우, Root DNS Server에 "www.naver.com"의 IP 주소를 요청한다.
    2. Root DNS Server는 TLD DNS Server 주소만 관리하기 때문에, ".com" 최상위 도메인을 관리하는 TLD DNS Server의 주소를 안내해준다.
  • Local DNS Server -> TLD DNS Server
    1. Local DNS Server는 ".com" 도메인을 관리하는 TLD Server에게 "www.naver.com"의 IP 주소를 요청한다.
    2. TLD DNS Server는 요청 도메인에 해당하는 IP가 없기 때문에, "naver.com"을 관리하는 SLD DNS Server의 주소를 안내해준다.
  • Local DNS Server -> SLD DNS Server
    1. Local DNS Server는 SLD DNS Server에게 "www.naver.com"의 IP 주소를 요청한다.
    2. SLD DNS Server는 요청 도메인에 대한 IP를 가지고 있으므로 Local DNS 서버에게 해당 IP를 알려준다.

  -  Local DNS -> Root DNS -> TLD DNS -> SLD DNS 순서로 도메인에 대한 IP 주소를 찾는 과정을 Recursive Query 라고 한다.

 

 

참조 : 
https://gentlysallim.com/dns%EB%9E%80-%EB%AD%90%EA%B3%A0-%EB%84%A4%EC%9E%84%EC%84%9C%EB%B2%84%EB%9E%80-%EB%AD%94%EC%A7%80-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC/

 

DNS란 뭐고, 네임서버란 뭔지 개념정리 | 살살살림

DNS란 건 뭐고, DNS 서버란 건 뭐고, 네임서버란 건 뭐고 이름부터 혼란스러운 개념. 사용자의 입장에서 왜 DNS 역할이 필요한지와 추천할 만한 무료 네임서버에 대해서 알.아.보.자.

gentlysallim.com

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=gaegurijump&logNo=110186376474

 

DNS(Domain Name System) 란?

DNS (Domain Name System)  인터넷을 이용할때 사용자는 외우기 어려운 IP주소 대신 외우기 ...

blog.naver.com

https://hanamon.kr/dns%EB%9E%80-%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B0%9C%EB%85%90%EB%B6%80%ED%84%B0-%EC%9E%91%EB%8F%99-%EB%B0%A9%EC%8B%9D%EA%B9%8C%EC%A7%80/

 

DNS란? (도메인 네임 시스템 개념부터 작동 방식까지) - 하나몬

이 게시물의 중요 포인트 DNS(도메인 네임 시스템)이 사람이 읽을 수 있는 도메인 이름(www.hanamon.kr)을 IP 주소로 변환하는 시스템이라는 것은 쉽게 알 수 있습니다. 이번 글에서는 이렇게 도메인

hanamon.kr

https://peemangit.tistory.com/52

 

DNS (Domain Name System)란?

1. DNS (Domain Name System) 1) DNS 등장 배경 인터넷 표준 프로토콜은 TCP/IP이다. TCP/IP 프로토콜을 사용하는 네트워크 안에서 Host들을 식별하기 위한 목적으로 IP 주소를 사용한다. 사람의 경우 숫자보다

peemangit.tistory.com

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'Infra > Network' 카테고리의 다른 글

# [Network] LAN ( Local Area Network )  (0) 2023.07.28
# [Network] 이더넷 (Ethernet)  (0) 2023.07.19
# [Network] 허브 ( Hub )  (0) 2023.06.27
# [Network] 스위치 ( Switch )  (0) 2023.05.22
# [Network] 게이트웨이 (Gateway)  (0) 2023.03.28
반응형

1. SAP Directory

  - SAP 설치를 위한 옵션을 설정하는 경우 SWPM ( Software Provisioning Manager )에 의해 디렉토리 리스트가 결정되고 자동으로 생성된다.

  -  SWPM이 생성하는 디렉토리 종류는 아래와 같다.

  •  Physically shared directories [ 물리적 공유 폴더 ]
  • Logically shared directories [ 논리적 공유 폴더]
  • Local directories [ 로컬 폴더 ]

2. SAP Netweaver 7.5 기반의 파일 시스템 아키텍처

  -  SAP Netweaver 7.5 혹은 그 이상의 시스템은 아래와 같은 구성을 가진다.

  -  SAP 시스템에서의 모든 어플리케이션 서버 인스턴스의 이름은 D<Instance number>이다.

3. Physically shared directories [ 물리적 공유 디렉토리 ]

  -  물리적으로 공유되는 폴더는 전역 호스트에 상주하며 NFS ( Network File System )에서 공유된다.

  - SAP Kennel 및 관련 파일을 포함한 /sapmnt/<SAPSID> 폴더는 첫 번째 호스트에 생성되고, 일반적으로 이 호스트는 Central Instance가 실행되는 호스트이다.

  -  SWPM은 SAP 설치 중 /sapmnt/<SAPSID> 하위에 다음과 같은 공유 디렉토리를 생성한다.

 

# SAP Profile

1. Profile 이란? - SAP Profiles are operating system files that contain instance configuration information. SAP profile은 인스턴스 정보를 가지고 있는 운영 시스템 파일이다. - SAP system can consist of one or more instances. Individua

leehi0110.tistory.com

  • exe : 실행 가능한 커널 프로그램을 가지고 있으며, 각 시스템 인스턴스의 exe 폴더로 복제
  • /usr/sap/trans : sap transport directory 로서 이관과 관련된 파일들을 가지고 있는 경로

4. Logically Shared Directories [ 논리적 공유 디렉토리 ]

  -  논리적으로 공유되는 폴더는 아래와 같이 전역 호스트에 대한 심볼릭 링크가 있는 로컬 호스트에 존재한다.

  • /usr/sap/<SAPSID>/SYS/global --- ( symbolic link ) --- /sapmnt/<SAPSID>/global
  • /usr/sap/<SAPSID>/SYS/profile --- ( symbolic link ) --- /sapmnt/<SAPSID>/profile
  • /usr/sap/<SAPSID>/SYS/exe     --- ( symbolic link ) --- /sapmnt/<SAPSID>/exe

  -  SWPM은 각 호스트의 /usr/sap/<SAPSID>/SYS 경로에 디렉터리를 생성한다.

  • 로컬 인스턴스가 시작될 때, sapcpe는 논리적으로 공유된 폴더에 있는 실행 파일과 비교 및 확인하여, 필요한 경우 로컬 인스턴스에 복제한다.
  • 다시 말해, 로컬 인스턴스 실행 시 sapcpe 프로그램은 /usr/sap/<SAPSID>/SYS/exe을 /sapmnt/<SAPSID>/exe 파일과 비교 후 필요시 자동 복제한다.

5. Local directories [ 로컬 디렉토리 ]

  -  SWPM은 로컬 호스트에 존재하는 로컬 디렉토리를 생성한다.

  -  /usr/sap/<SAPSID> 아래의 경로에는 심볼릭 링크로 연결된 디렉토리와 인스턴스에 관련된 하위 디렉토리를 포함하고 있다.

  -  SAP Netweaver 7.5 이상의 SAP SYSTEM은 아래와 같은 인스턴스 별 디렉토리를 가지고 있다.

  • /usr/sap/<SAPSID>/D<instance> : Primary and addtional application server instance directory
  • /usr/sap/<SAPSID>/ASCS<instance> : ABAP central instance directory
  • /usr/sap/<SAPSID>/ERS<instance> : ERS instance directory

    ✓ SAP Instance ?  2023.01.04 - [SAP/BC] - # SAP SYSTEM
 

# SAP SYSTEM

1. SAP SYSTEM 란? - SAP Solution이 설치된 software로 일반적으로 1대의 DB ( 이중화 하지 않은 경우 )와 여러개의 Application Server Instance로 구성된다. - SAP system은 ABAP System / JAVA System / ABAP + JAVA System으로 총 3

leehi0110.tistory.com

 

참조 : https://help.sap.com/docs/SLTOOLSET/ce9e270ad34949969c16d09d1b099a26/d8d6abf3dceb45b9aa7b5f4e44b0d4b4.html?version=CURRENT_VERSION&locale=en-US

 

SAP Help Portal

 

help.sap.com

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

 

반응형

'SAP > BC' 카테고리의 다른 글

# [SAP] 권한에 속한 T-code  (0) 2023.08.04
# [SAP] Favorite 추가 및 설정  (0) 2023.07.31
# [SAP] Logon Group - SMLG  (0) 2023.05.25
# [SAP] SAP GUI - SAPUILandscape.xml  (0) 2023.05.23
# [SAP] Technical Job ( Stepuser )  (0) 2023.04.04
반응형

1. 허브 (Hub) 란 ?

  • OSI 7계층 중, 1 계층인 물리 계층에서 동작하는 장비로, 네트워크 장비와 장비의 연결을 하는 역할을 한다.
  • 일반적으로, 다수의 PC와 장치들을 묶어서 LAN을 구성할 때 사용한다.
  • 기기 A -> 기기 B로 신호를 보낼 경우, 전송 신호는 B에게만 가는 것이 아니라 연결된 모든 기기에 전달 된다. ( 모든 신호를 Broadcast 한다. )

         ※ Broadcast ? 한 호스트에서 망 내부의 다른 모든 호스트에게 메시지 패킷을 전달하는 것

2. 허브의 장단점

  -  장점

  • 포트의 개수가 부족한 경우 허브를 연결하여 포트를 늘리는 멀티포트로서의 역할을 한다.
  • 설치 및 구성이 간편하여, 사용이 쉽다.

  -  단점

  • 브로드캐스트로 인해 원치 않는 데이터를 받을 PC는 데이터를 폐기해야 하고, 이는 과도한 트래픽으로 인한 충돌 문제를 유발한다.
  • 전송 대역의 속도를 연결된 컴퓨터의 개수만큼 나눠 갖는다.
    예를 들어 10Mbps의 전송 대역을 가진 라인에 컴퓨터 5대를 연결하면, 10 / 5 = 2Mbps의 속도를 갖는다.

3. 허브의 종류

  1) 더미 허브 ( Dummy Hub )

  • 컴퓨터와 컴퓨터를 연결시켜주는 일반적인 기능을 하는 허브
  • 반이중화 방식을 이용해 송수신이 동시에 이루어질 경우 충돌을 일으킨다.

  2) 스위치 허브 ( Switch Hub )

  • 2계층 장비로서 Switch는 자신에게 연결된 PC, Server들의 MAC Address를 저장하여 데이터를 목적지에만 전달한다.
  • 전이중화 방식을 이용해 데이터의 송수신이 동시에 이뤄진다.
  • 허브와 달리 연결된 장치의 수량에 따른 속도 저하가 없다.

  3) 인텔리전트 허브 ( Intelligent Hub )

  • NMS ( Network Management System )이 추가된 허브로, 망 관리 기능이 있다.
  • 특정 PC에 문제가 생길 경우, 해당 PC와 연결된 포트를 찾아 방출 시키는 기능이 있다.

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'Infra > Network' 카테고리의 다른 글

# [Network] 이더넷 (Ethernet)  (0) 2023.07.19
# [Network] DNS  (0) 2023.07.06
# [Network] 스위치 ( Switch )  (0) 2023.05.22
# [Network] 게이트웨이 (Gateway)  (0) 2023.03.28
# [Network] Quorum  (0) 2022.12.09
반응형

1. Logon Group 이란?

  • Logon groups are used to automatically distribute user logons to individual instance or to group of SAP instances ( Application Server )
    로그온 그룹이란 SAP Instance 그룹화 하거나, 유저 로그온 개별 인스턴스에 자동으로 분배할 있도록 하는데 사용 된다.
  • A user does not log on to a special instance but rather logs on to a so-called LOGON group, and is then logged on to the relevant instance with the lowest load
    사용자는 특정 인스턴스에 로그온 하는 것이 아닌, 로그온 그룹에 속한 부하가 가장 낮은 인스턴스에 로그인하는 것으로 로드밸런싱 된다.

2. Logon Group 설정 ( Tcode : SMLG )

    case ) Instance는 등록 돼 있지만, Logon Group이 없는 경우

    1) Logon Group -> 사용하고자 하는 그룹 이름 입력 -> Copy

    case ) 새로운 Logon Group에 인스턴스를 할당해 주고 싶은 경우

    ※ 아래의 예시는 Single Instance이지만, 여러개의 Instance를 가진 시스템의 경우 아래 방법을 통해 Instance별 Logon Group 관리 가능

    1) Create Assignment

    2) Logon Group 입력 및 Instance 설정

      - 사용하고자 하는 Logon Group 입력 후, 할당하고자 하는 Instance 선택

    다수의 Instance를 가진 시스템 예시는 아래와 같다.
    4개의 Instance들은 기본적으로 Test Logon Group에 속해있지만, 4번 Instance의 경우 TEST_CO Logon Group에 추가로 속해있다.

 

참조 : https://me.sap.com/notes/26317

 

https://me.sap.com/notes/26317

 

me.sap.com

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형
반응형

1. SAPUILandscape ?

  • SAP GUI는 사용자의 설정 및 Local configuration을 특정 파일들에 저장한다.
  • 그 중, SAPGUILandscape.xml은 사용자가 설정한 SAP 접속 정보, 계층 정보, 설명 등이 저장돼 있다.
  • SAP GUI 최초 실행 시, local configuration 파일이 비어있는 채로 생성 된다.
  • SAP GUI 740까지는 saplogon.ini 파일과 SAPUILandscaple.xml 파일을 함께 사용할 수 있었지만, 750 이상부터는 SAPUILandscape.xml 파일을 사용한다.

2. SAPUILandscape.xml file information

  • 해당 파일에는 Router entries, system status 확인을 위한 URL 등이 있지만 아래의 4가지가 가장 대표적인 정보이다.
  • Connections to SAP systems defined by the user
    유저가 정의한 SAP system 연결 정보
  • Hierarchical structure on the SAP Logon items when using hierarchical view
    계층 뷰를 보기 위해 사용되는 SAP Logon 항목 계층 구조 ( 폴더를 만들고 그 하단에 계층적으로 연결정보를 구성하는 것에 대한 정보 )
  • System description
    시스템 설명
  • Message server entries
    메시지 서버 접속 엔트리

3. Configuration file path

  • 파일 경로는 SAP Logon -> Options -> SAP Logon Options -> Configuration Files 에서 확인 할 수 있다.
  • 해당 경로에 saplogon.ini / SAPLogonTree.xml / saprules.xml 파일이 있는데 이는 구 버전에서 SAPUILandscape.xml의 역할을 했던 파일이다.

4. SAP GUI Version Upgrade

  • 740 -> 750 이상으로 올라갈 경우 saplogon.ini / SapLogonTree.xml / saprules.xml 을 이용해 SAPUILandscape.xml 파일을 만들어 접속 정보를 정의할 수 있다.

      1. saplogon.ini / SapLogonTree.xml / saprules.xml 파일을 백업

      2. SAP GUI Version Upgrade 후 해당 경로에 생성 된 SAPUILandscape.xml / SAPUILandscapeGlobal.xml 삭제 ( SAP GUI 최초 실행 시 자동 생성 )

      3. 백업 받은 세개의 파일을 Configuration Path에 덮어쓴 후, SAP GUI를 실행하면 해당 정보를 기반으로 SAPUILandscape.xml 및 SAPUILandscapeGlobal.xml 생성

 

참조 : https://help.sap.com/doc/df5f752eb4004b2c9ecab769c9f71208/770.01/en-US/sap_ui_landscape_conf_guide.pdf

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'SAP > BC' 카테고리의 다른 글

# [SAP] SAP Directory Structure [ 파일 시스템 아키텍처 ]  (0) 2023.07.03
# [SAP] Logon Group - SMLG  (0) 2023.05.25
# [SAP] Technical Job ( Stepuser )  (0) 2023.04.04
# [SAP] sapcontrol command  (0) 2023.03.29
# [SAP] SAP Version  (0) 2023.02.22
반응형

1. 스위치 ( Switch ) 란?

  • 소규모 네트워크 안에서 컴퓨터, 프린터 등 디바이스들을 서로 연결해주어 자원을 공유할 수 있도록 해주는 장비이다.
  • 일반적으로 OSI 7 계층 구조에서 데이터링크 ( 2계층 )에 속하는 장비로서 MAC 주소를 기반으로 디바이스 위치를 파악하고 통신한다.
  • L3 스위치의 경우 네트워크 계층 ( 2계층 ) 에서 동작하기 때문에 라우터로서의 기능을 가질 수 있는 것과 같이 더 많은 기능을 가진 L4, L5, L7 스위치도 존재한다.

2. Switch 작동 원리

  • L2 스위치는 메모리를 가지고 있으며, 부팅 시 각 표트 별로 연결되어 있는 노드의 상태를 확인하고, 각 노드의 MAC 주소를 메모리에 적재한다.

   ✓ mac 주소는 IP 주소와 달리 물리적 기기를 식별하는데 사용된다.

  • 스위치는 메모리에 적재한 정보를 바탕으로 들어온 패킷을 목적지로 전달해준다.
  • A 기기에서 전송한 패킷은 스위치로 들어오고, 패킷의 헤더를 읽은 스위치는 가지고 있는 MAC 주소를 이용해 목적지인 B 기기로 패킷을 전달한다.

3. Switch vs Hub

Hub ( 허브 ) ? 네트워크 장비와 장비를 연결해 주는 기능을 수행하는 장비로 리소스 공유의 목적으로 사용한다.

  • 스위치와 허브의 가장 큰 차이는 연결된 컴퓨터나 네트워크 장비의 MAC 주소를 알고 있느냐에 대한 것이다.
  • 허브는 MAC 주소를 가지고 있지 않기 때문에 연결된 모든 기기에 신호를 전달 하지만, MAC 주소를 가지고 있는 스위치는 신호를 받아야 할 기기에만 전달을 수행한다.

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'Infra > Network' 카테고리의 다른 글

# [Network] DNS  (0) 2023.07.06
# [Network] 허브 ( Hub )  (0) 2023.06.27
# [Network] 게이트웨이 (Gateway)  (0) 2023.03.28
# [Network] Quorum  (0) 2022.12.09
# [Network] 스플릿 브레인 ( Splite-Brain )  (0) 2022.12.08
반응형

0. tmux 란 ?

2023.05.16 - [Infra/LINUX] - [Linux] Tmux

 

[Linux] Tmux

0. Tmux 설치 - 추후 등록 예정 1. tmux 란 ? Terminal multiplexer의 약자로 여래 개의 터미널을 각각 독립적으로 사용할 수 있게 해주는 유틸리티 하나의 터미널에서 화면을 분할하게 사용할 수 있어 작업

leehi0110.tistory.com

1. tmux 설치

 -  패키지 관리 모듈을 이용한 설치

# Debian 계열 ( ubuntu, Mint )
sudo apt install tmux

# Redhat 계열 ( Redhat, CentOS, Fedora )
sudo yum install tmux

# MacOS
brew install tmux

 -  로컬에서 빌드하기 ( 관련 패키지 다운로드 및 서버 업로드를 통해 수동 설치 )

  • tmux는 libevent와 ncurses에 의존성이 있으므로 두개의 라이브러리를 먼저 설치해야 한다.

 -  libevent build

   ✓ libevent download URL : https://libevent.org/

  • 압축 해제 후, configure를 통해 소스 파일에 대한 환경 설정을 진행한다. ( 사용자의 홈 경로 아래에 tmux 설정 )
  • 이후, make 명령어로 소스를 컴파일 하고, make install로 설치를 진행한다.
tar -xvzf libevent-2.1.12-stable.tar.gz

cd tar -xvzf libevent-2.1.12-stable

./configure --prefix=$HOME/tmux/

make
make install

 

 -  ncurses build

  ncurses donwload URL :  https://invisible-island.net/ncurses/announce.html

  • 해당 파일도 압축 해제 후, libevent와 동일하게 설치를 진행한다.
  • 설치 완료 후, $HOME/tmux/include 디렉토리에 ncurse라는 디렉토리가 생성되고, 해당 경로는 tmux 빌드 시 경로를
    찾을 수 없다는 오류를 발생시키기 때문에 파일을 이동해주는 과정이 추가로 필요하다.
tar -xvzf ncurses-6.4.tar.gz

cd ncurses-6.4/

./configure --prefix=$HOME/tmux/

make
make install

# 폴더 이동

cp $HOME/tmux/include/ncurses/* $HOME/tmux/include/

 -  tmux build

  tmux download URL : https://sourceforge.net/projects/tmux.mirror/

  • tmux의 경우, flag 값 설정을 통해 include와 lib 폴더 경로를 지정해 줄 수 있다.
  • 정상적으로 빌드가 진행되면, $HOME/tmux/bin 아래에 tmux 라는 파일이 생성된다.
tar -xvzf tmux-3.3a.tar.gz

cd tmux-3.3a

./configure \
   CFLAGS="-I$HOME/tmux/include" \
   LDFLAGS="-L$HOME/tmux/lib" \
   --prefix=$HOME/tmux/

make
make install
  • tmux 실행 전, LD_LIBRARY_PATH 환경 변수 설정이 필요하다. Bash Shell의 경우 ~/.bashrc 파일에 추가하면 된다.
export LD_LIBRARY_PATH=$HOME/tmux/lib:$LD_LIBRARY_PATH

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'Infra > LINUX' 카테고리의 다른 글

# [Linux] VirtualBox 설치  (2) 2024.03.19
# [Linux] LVM  (0) 2023.07.26
# [Linux] Tmux  (0) 2023.05.16
# [Linux] Alias with arguments ( 매개변수를 이용한 별명 )  (0) 2023.04.18
# [Linux] Shell Alias ( 쉘 별칭 )  (0) 2023.04.14
반응형

0. Tmux 설치

2023.05.17 - [ALL] - [Linux] tmux 설치

 

[Linux] tmux 설치

0. tmux 란 ? 2023.05.16 - [Infra/LINUX] - [Linux] Tmux [Linux] Tmux 0. Tmux 설치 - 추후 등록 예정 1. tmux 란 ? Terminal multiplexer의 약자로 여래 개의 터미널을 각각 독립적으로 사용할 수 있게 해주는 유틸리티 하나

leehi0110.tistory.com

1. tmux 란 ?

  • Terminal multiplexer의 약자로 여래 개의 터미널을 각각 독립적으로 사용할 수 있게 해주는 유틸리티
  • 하나의 터미널에서 화면을 분할하게 사용할 수 있어 작업 효율을 높여준다 ( Panes 분할 )
  • 영구적인 Session을 제공해주기 때문에 작업 중 ssh 서버와 접속이 끊겨도 작업중인 것들은 사라지지 않는다.

2. tmux 구성 요소

  • 구성 요소 도식

  • Session ?
    1. tmux의 가장 큰 단위로, 1개 이상의 window로 구성 될 수 있다.
    2. 사용자는 session에 attach / detach를 통해 session을 전환 할 수 있다.
    3. detach를 하더라도 session은 background 에서 계속 실행된다.

session 목록과 각 세션이 가진 window 개수

  • Window ?
    1. session 내에 존재하는 하나의 tab 단위
    2. 동일한 세션에서 시각적으로 분리된 단위로 브라우저 내 탭을 생각하면 된다.
    3. 예로 session이 하나의 브라우저라면 window는 브라우저 내의 각각의 탭으로 생각하면 된다.

watch session 내 0~1번, 총 2개의 window가 존재

  • Pane ?
    • 하나의 윈도우 내에 분할 된 단위
    • 하나의 윈도우가 여러개의 pane을 가질 수 있다.

[ Window 내 pane 2개로 분할 된 화면 ]

3. 명령어

- Session Command

 Session 외부에서 실행하는 명령어

# 세션 생성

tmux

# 세션 생성 ( 이름 지정 )

tmux new -s < session-name >
tmux new -s test_session

# 세션 목록 확인

tmux ls

# 세선 재접속 ( attached )

tmmux attach -t < session-name >
tmux new -s test_session

# 세션 종료

tmux kill -t < session-name >
tmux kill -t test_session

Session 내부에서 실행하는 명령어

# 세션 이름 수정

Ctrl + b -> $

# 세션 종료 ( 아래의 세션 유지와 달리 아예 사라짐 )

exit

# 세션을 유지한 상태에서 나가기 ( Detached )

Ctrl + b -> d

- Window Command

# 윈도우 목록 보기

Ctrl + b -> w

# 새 윈도우 생성

Ctrl + b -> c

# 윈도우 이름 수정

Ctrl + b -> ,

# 윈도우 종료

Ctrl + b -> &
Ctrl + d

# 윈도우 이동

Ctrl + b -> 0~9 : window number
              n : next window
              p : previous window
              l : last window
              w : window selector
              f : find by window

- Pane Command

# 화면 분할
# 좌우 분할

Ctrl + b -> %

# 상하 분할

Ctrl + b -> "

# 화면 이동 ( Pane 이동 )

Ctrl + b -> 방향키

# 화면 삭제

Ctrl + b -> x

# 마우스 휠 활성화

Ctrl + b -> [

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

 

참조 : https://pebpung.github.io/engineering/2022/04/24/Tmux.html

 

Tmux 사용법 - 중단없이 딥러닝 학습하는 방법 · ML감자

Tmux

pebpung.github.io

 

반응형

'Infra > LINUX' 카테고리의 다른 글

# [Linux] LVM  (0) 2023.07.26
# [Linux] tmux 설치  (0) 2023.05.17
# [Linux] Alias with arguments ( 매개변수를 이용한 별명 )  (0) 2023.04.18
# [Linux] Shell Alias ( 쉘 별칭 )  (0) 2023.04.14
# [Linux] PAM  (0) 2023.03.24
반응형

1. Alias 란?

2023.04.14 - [LINUX] - # [Linux] Shell Alias ( 쉘 별칭 )

 

# [Linux] Shell Alias ( 쉘 별칭 )

1. Alias란 ? 기존 명령어에 새로운 이름을 부여하는 것으로 별명/별칭의 기능을 한다. 일반적으로 자주 사용하거나 명령어의 길이가 길 경우 alias를 사용해 편하게 명령어를 실행할 수 있다. Alias

leehi0110.tistory.com

2. 인수를 사용한 Alias 생성

  -  Bash Shell

  • Local alias 등록을 위한 방법은 아래와 같다.
# 예제 1 : 특정 경로로 이동 후, 현재 경로 출력

[user@localhost ~] $ function cdpwd {
> cd $1; pwd
}
[user@localhost ~] $ cdpwd /home
/home
[user@localhost: /home]
# 예제 2 : 특정 폴더 생성 후, 해당 폴더로 이동

[user@localhost ~] function mkcd {
> mkdir -p -- $1 && cd -- $1
> }
[user@localhost ~] mkcd /home/testdir
[user@localhost: /home/testdir]

$ [숫자] : 숫자를 지정해 argument를 입력 받을 수 있다 ( 0번의 경우 함수를 가리키기 때문에 1번부터 사용 )
[ -p ] option : 경로의 중간이 비었으면 자동으로 함께 생성하는 옵션

  • Alias 해제
[user@localhost ~] $ unset cdpwd
[user@localhost ~] $ unset mkcd
  • User 및 SYSTEM Alias 등록

    -  User alias는 "~/.bashrc", SYSTEM alias는 "/etc/bashrc" 파일에 작성하면 된다.

# 예제 1 : 특정 폴더 생성 후, 해당 폴더로 이동

[user@localhost ~] $ vi [ 각 파일 ]

mkcd () {
	mkdir -p -- $1 && cd -- $1
}

wq!

# 실행이 되지 않을 경우 source ~/.bashrc 혹은 source /etc/bashrc로 활성화

 

  -  C Shell

  • Local alias 등록을 위한 방법은 아래와 같다.
# 예제 1 : 특정 경로로 이동 후, 현재 경로 출력

hostname:user > alias 'cd \!:1 && pwd'
hostname:user > cdpwd /home/user
/home/user
# 예제 2 : 특정 폴더 생성 후, 해당 폴더로 이동

hostname:user > alias mkcd 'mkdir -p -- \!:1 && cd -- \!:1'
hostname:user > mkcd /home/user/testdir
hostname:user > pwd
/home/user/testdir
  • Alias 해제
hostname:user > unalias cdpwd
hostname:user > unalias mkcd
  • User 및 SYSTEM Alias 등록

    -  C Shell의 경우 user alias는 "~/.cshrc", SYSTME alias는 "/etc/csh.schrc" 파일에 작성하면 된다.

# 예제 1 : 특정 폴더 생성 후, 해당 폴더로 이동

hostname:user > vi [ 각 파일 ]

alias mkcd 'mkdir -p -- \!:1 && cd -- \!:1'

저장 후, 로그아웃이나 재 접속 이후 명령어 실행 가능

 

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'Infra > LINUX' 카테고리의 다른 글

# [Linux] tmux 설치  (0) 2023.05.17
# [Linux] Tmux  (0) 2023.05.16
# [Linux] Shell Alias ( 쉘 별칭 )  (0) 2023.04.14
# [Linux] PAM  (0) 2023.03.24
# [Linux] scp 명령어  (0) 2023.03.17
반응형

1. Alias란 ?

  • 기존 명령어에 새로운 이름을 부여하는 것으로 별명/별칭의 기능을 한다.
  • 일반적으로 자주 사용하거나 명령어의 길이가 경우 alias 사용해 편하게 명령어를 실행할 있다.
  • Alias 경우 로컬 / 사용자 / 시스템으로 나누어 설정 있다.
    • Local alias 경우 세션을 종료 경우 사라진다.
    • User alias 경우 사용자에게 적용 있다.
    • System alias 경우 전체 사용자에게 적용 있다.

2. Alias 사용 

  -  Alias 등록 확인  

# 등록된 Alias 확인
alias

  -  Alias 경우 Shell 종류에 따라 다르기 때문에 본인이 사용하고 있는 계정의 쉘이 무엇인지 확인이 필요하다.

# 사용중인 Shell 확인
echo $shell

  -  Local Alias 등록

  • Bash Shell
# Bash Shell Loacl Alias
# alias 별명=명령어
alias h='history'
  • C Shell
# C Shell Alias 등록
# alias 별명 명령어
alias h 'history'

  -  User Alias 등록

  • Bash Shell
# 사용자 별명의 경우 '~/.bashrc' 파일에 명령어를 작성하면 된다.
vi ~/.bashrc
alias h='history'
  • C Shell
# 사용자 별명의 경우 '~/.cshrc' 파일에 명령어를 작성하면 된다.
vi ~/.cshrc
alias h 'history'

  -  SYSTEM Alias 등록

  • Bash Shell
# 시스템 별명의 경우 '/etc/bashrc' 파일에 명령어를 작성하면 된다.
vi /etc/bashrc
alias h='history'
  • C Shell
# 시스템 별명의 경우 '/etc/csh.cshrc' 파일에 명령어를 작성하면 된다.
vi /etc/csh.cshrc
alias h 'history'

  -  Alias 등록 해제

# unalias aliasname
unalias h

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'Infra > LINUX' 카테고리의 다른 글

# [Linux] Tmux  (0) 2023.05.16
# [Linux] Alias with arguments ( 매개변수를 이용한 별명 )  (0) 2023.04.18
# [Linux] PAM  (0) 2023.03.24
# [Linux] scp 명령어  (0) 2023.03.17
# [Linux] systemd & systemctl  (0) 2023.02.08
반응형

1. Technical Job ?

  • SAP 시스템에 정기적으로 실행되는 백그라운드 잡을 지칭하며, 해당 작업은 오래된 spool request, batch job 등을 삭제하는 것과 같은 작업을 수행한다.
  • 과거에는 Standard Job으로 불렸지만, 이후 S/4 HANA에서는 Technical Job으로 명칭이 바뀌었다.
  • SM36을 이용했던 Standard Job과 달리 Technical Job은 Job repository를 기반으로 동작한다.

        ✓ Technical Job Repository ? 사용자의 개입 없이 작업을 자동으로 스케쥴링 하고 동작 시키는데 이용되는 Repository

  • rdisp/job_repo_activate_time parameter를 통해 Job repository activation 주기를 확인할 수 있다.

2. Stepuser

  • 일반적으로 Background Job을 실행하는 계정을 stepuser로 지칭한다.
  • Technical Job 또한 Background Job이기 때문에 해당 작업을 돌릴 계정에 대한 설정을 할 수 있다.

 

  • Default Step User를 조회하는 방법은 아래와 같다.
  • Tcode : SE38 -> R_JR_UTIL_1 -> execute -> show job repository state

3. stepuser 생성 / 권한 생성 / 등록

  • Stepuser 생성
    • 기본적으로 설정돼 있는 Technical Job Stepuser를 변경하기 위해서는 백그라운드 배치 실행을 위한 계정이 필요하다.
    • ( 계정 생성의 경우 추후 포스팅을 통해 설명 )
  • SAP_APP Profile 생성
    • 일반적으로 SAP_APP의 경우 SAP_ALL과 달리 전산 감사 대상이 아니며, all application authorization을 가지고 있기 때문에 technical job을 실행하는데 사용된다.
    • 또한, SAP_APP은 기본적으로 생성된 Profile이 아니기 때문에 Generate 해주는 과정이 필요하다.
    • Tcode : SE38 -> REGENERATE_SAP_APP

  • stepuser 등록
    • Tcode : SJOBREPO_STEPUSER -> Create / Change -> 생성한 계정 등록

 

 

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'SAP > BC' 카테고리의 다른 글

# [SAP] Logon Group - SMLG  (0) 2023.05.25
# [SAP] SAP GUI - SAPUILandscape.xml  (0) 2023.05.23
# [SAP] sapcontrol command  (0) 2023.03.29
# [SAP] SAP Version  (0) 2023.02.22
# [SAP] SAP AP Startup sequence ( SAP AP 실행 순서 )  (0) 2023.02.20
반응형

0. 본 내용을 위해 선행되어야 하는 자료

 - SAP AP 실행 순서: 2023.02.20 - [SAP BC] - # SAP AP Startup sequence ( SAP AP 실행 순서 )

 

# SAP AP Startup sequence ( SAP AP 실행 순서

SAP Application Server의 작동 순서는 아래와 같다. 0. SAP start and stop procedure - The instance is started by the sapstartsrv process, and not directly by the start service sapstart. Instance는 sapstartsrv process에 의해 시작되며, sapst

leehi0110.tistory.com

 - HANA DB 실행 순서 : 2023.02.10 - [HANA] - # HANA DB Startup sequence ( HANA DB 실행 순서 )

 

# HANA DB Startup sequence ( HANA DB 실행 순서 )

HANA DB의 작동 순서는 아래 그림과 같다. 1. OS Boot -> /etc/init.d/sapinit - During linux startup ( OS Boot ) by default it starts the process listed under /etc/inid.d, our sapstartsrv is part of this process. OS가 부팅되는 동안, /etc/in

leehi0110.tistory.com

 

1. sapcontrol ?

  • sapstartsrv process와의 통신을 통해 시스템을 시작 및 종료 할 수 있는 커맨드 툴이다

        ✓ sapstartsrv ? sap instance를 관리하기 위한 linux service deamon으로, 해당 서비스가 작동하지 않으면  start, stop이 불가능하다.

  • 과거에 사용하던 'startsap' 과 'stopsap' 명령어는 몇몇 이슈가 있어 SAP에서 사용을 권장하지 않고, 2015년부터 더 이상 지원 및 사용이 되지 않는다 (deprecated).

2. SAP SYSTEM vs SAP Instance

  - sapcontrol 명령어를 적절히 사용하기 위해서는 SAP system과 SAP instance의 차이를 알아야 한다.

  ✓  SAP instance

  • SAP Instance는 application 및 database server에 필요한 memory, work process와 같은 자원들의 집합체이다.
  • 또한, Instance는 서버에 설치된 어플리케이션이 실행 및 관리를 담당한다.

    SAP SYSTEM

  • SAP SYSTEM은 하나 이상의 인스턴스를 가진 시스템으로 구성된다.
  • SYSTEM은 인스턴스를 관리하기 위한 다른 프로세스 또한 포함하고 있다.

3. sapcontrol command

  - SAP Document about sapcontrol command : https://help.sap.com/docs/SLTOOLSET/9338236b61554ba194f10c236e0237d0/0a2f54809e064ee68b02fb9fb392bafd.html?version=CURRENT_VERSION&locale=en-US

  - SAP Server에 접속 후, sidadm으로 계정을 전환한다.

  - sapcontrol 메뉴얼 보기

sapcontrol -help

  -  SAP SYSTEM Instance List 확인

  • 아래의 명령어를 사용할 경우 SAP SYSTEM 상의 모든 인스턴스 목록을 조회 할 수 있다.
 sapcontrol -nr <instance number> -function GetSystemInstanceList

  -  SAP Instance status 확인

sapcontrol -nr <instance number> -function GetProcessList

  -  SAP SYSTEM Start / Stop

  • 아래 명령어를 통해 전체 시스템을 종료할 수 있다. 이 때, 하나의 instance number만 입력해도 연관된 인스턴스는 자동으로 종료된다.
  • 해당 명령어를 사용한 후, 상태 확인 명령어 (GetProcessList)를 이용해 시스템이 중지 되는지 확인 할 수 있다.
sapcontrol -nr <instance number> -function StopSystem

  •   아래 명령어를 통해 전체 시스템을 기동하면 된다. 이 때, 하나의 instance number만 입력하여도 연관된 인스턴스는 자동으로 기동된다.
  • 해당 명령어를 사용한 후, 상태 확인 명령어 (GetProcessList)를 이용해 시스템이 기동 되는지 확인 할 수 있다.
sapcontrol -nr <instance number> -function StartSystem

  -  SAP Instance Start / Stop

  • 아래의 명령어를 통해 특정 인스턴스를 종료할 수 있다. 이 때, <instance number>에 적은 인스턴스만 중지되고, 타 인스턴스들은 중지 되지 않는다.
sapcontrol -nr <instance number> -function Stop

  • 아래의 명령어를 통해 특정 인스터스를 기동할 수 있다. 이 때, <instance number>에 적은 인스턴스만 기동되고, 타 인스턴스들은 기동 되지 않는다.
sapcontrol -nr <instance number> -function Start

  -  SAPSTARTSRV service Start / Stop

  • SAP SYSTEM 혹은 Instance를 기동 및 중지 시킬 때, 몇 가지 이슈가 발생하기도 한다. 이 때, 가장 먼저 확인 할 수 있는 부분은 sapstartsrv service의 동작 여부이다.
  • 기본적으로 아래의 명령어들은 운영중에 사용하지 않는다. 그 이유는 sapstartsrv service의 기동에 이상이 있을 경우, sapcontrol command 사용이 불가능하기 때문이다.
ps -ef | grep sapstartsrv

혹은

ps -ef | grep sidadm

  • 특정 instance의 sapstartsrv service를 중지하고 싶은 경우 아래의 명령어를 사용하면 된다.
sapcontrol -nr <instance number> -function StopService

  • 특정 instance의 sapstartsrv service를 기동하고 싶은 경우 아래의 명령어를 사용하면 된다.
sapcontrol -nr <instance number> -function StartService <SID>

 

참조 : https://www.letstalksap.com/2022/01/how-to-properly-startstop-sap-system.html

 

How to properly Start/Stop SAP system through command line ?

Starting/stopping an SAP system is not a critical task, but the method that most of us follow to achieve this is sometimes wrong. A ...

www.letstalksap.com

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'SAP > BC' 카테고리의 다른 글

# [SAP] SAP GUI - SAPUILandscape.xml  (0) 2023.05.23
# [SAP] Technical Job ( Stepuser )  (0) 2023.04.04
# [SAP] SAP Version  (0) 2023.02.22
# [SAP] SAP AP Startup sequence ( SAP AP 실행 순서 )  (0) 2023.02.20
# [SAP] SAP Port ( Application Port )  (0) 2023.02.15
반응형

1. Gateway란?

  •  한 네트워크에서 다른 네트워크로 이동하기 위해 거쳐야 하는 곳으로 이기종 네트워크를 연결하는 역할을 해준다.
  • 두 컴퓨터가 네트워크 상에서 서로 연결되려면 동일한 통신 프로토콜을 사용해야 한다. 따라서 프로토콜이 다른 네트워크 상의 컴퓨터 통신을 위해
    두 프로토콜을 변환해주는 변환기가 필요한데 게이트웨이가 이 역할을 한다.
  • 같은 네트워크에서는 MAC Address를 이용해 통신하기 때문에 Gateway를 몰라도 통신이 가능하다.

2. 비유를 통한 이해

  • 게이트웨이는 고속도로에 있는 톨게이트로 생각하면 이해가 쉽다.
  • 도시 <-> 도시 간 이동을 위해 톨 게이트를 지나가야 하듯, 네트워크 <-> 네트워크 간 이동을 위해서는 게이트웨이를 통해야 한다.

 

3. 역할 및 특징

  • 일반적으로 게이트웨이 IP 주소는 내 컴퓨터에 할당된 IP 주소 중 끝자리만 다른 형태로, 보통 1로 지정된다.
  • 예를 들어 내 IP가 123.123.123.10인 경우, 게이트웨이 주소는 123.123.123.1이 된다.
  • 하지만, 꼭 1로 설정하는 것이 필수는 아니기 때문에 게이트웨이 역할을 하는 장비에 다른 IP를 설정하는 것도 가능하다.

  • 일반적으로 로컬 PC에서 인터넷으로 접속하는 경우 사용자 -> 공유기 -> 인터넷 제공회사 라우터 -> 인터넷 망의 순서로 지나간다.
  • 이때, 인터넷 제공 회사의 라우터가 게이트웨이로서의 역할을 하게 되고, 인터넷을 통하기 위해 거치는 게이트웨이의 수를 홉 ( hop count ) 라고 한다.

 

🙋‍♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!

반응형

'Infra > Network' 카테고리의 다른 글

# [Network] 허브 ( Hub )  (0) 2023.06.27
# [Network] 스위치 ( Switch )  (0) 2023.05.22
# [Network] Quorum  (0) 2022.12.09
# [Network] 스플릿 브레인 ( Splite-Brain )  (0) 2022.12.08
# [Network] ICMP  (0) 2022.12.02

+ Recent posts