전체 글 8

디스크 관리(1)

안녕하세요이번 시간에는 리눅스 시스템 내, 디스크가 어떻게 관리되는지 공부하는 시간을 갖고자 합니다. 리눅스를 운영 하다보면 디스크, 파일시스템 과 같은 용어들을 많이 접할 수 있는데요볼륨, 파일시스템, 마운트, 블록 I/O 등 대충은 무얼 뜻하는지 알지만 정확하게 설명하기는 난해한 부분이 있습니다.리눅스 커널이 어떻게 핸들링 하는지 확인해보면서 정확한 개념을 얻고자 하는게 이번 섹션의 목표입니다. 피드백은 언제나 환영입니다.1. 물리 디스크2. 파일시스템3. 파티셔닝4. 볼륨1. 물리디스크물리 디스크란, SSD,HDD 와 같은 하드 디스크를 의미합니다.이러한, 디스크를 CPU가 인식하기 위해선 인터페이스 컨트롤러가 필요합니다. 인터페이스 컨트롤러란, 하드웨어와 소프트웨어의 결합체 입니다.하드웨어 : H..

Linux 2024.07.08

가상메모리에 관하여(3)

안녕하세요~저번 시간에 가상 메모리의 생성 과정을 코드로 확인해보는 시간을 가졌습니다.하지만, 실제 프로세스 구동에 필요한 코드나 데이터는 물리 메모리(RAM) 에 존재하는데요.따라서, 오늘 시간에는 CPU가 어떻게 물리메모리를 접근할 수 있는지에 대해 알아보겠습니다.0. 메모리 액세스1. 페이지 테이블2. 페이지 Fault0. 메모리 액세스메모리 액세스란, CPU 가 가상 메모리 주소를 사용하여 물리 메모리에 저장된 데이터나 명령어를 R/W 하는 과정입니다.이때, CPU는 물리 메모리 주소에 접근하기 위 프로세스의 페이지 테이블을 참조합니다. 메모리 액세스의 순서는 다음과 같습니다. (1) FetchCPU가 프로그램 카운터(PC)로 부터 다음에 실행되어야 할 instruction 을 가져 옵니다.(2)..

OS 2024.07.07

가상 메모리에 관하여(2)

안녕하세요저번 시간에 이어, 가상 메모리에 대한 이야기를 본격적으로 시작하고자 합니다.0. 가상 메모리는 무엇일까?1. 가상 메모리의 작동 원리0. 가상 메모리는 무엇일까?가상 메모리(Virtual Memory), 즉 가상의 메모리입니다.메모리는 CPU와 함께 프로세스 수행 시 중요한 역할을 담당하고 있습니다. CPU는 특정 프로그램 내, 함수를 무수히 실행한다면, 메모리는 해당 함수(코드)가 저장될 수 있는 공간을 제공합니다. 가상 메모리는 OS에서 실제 메모리 보다 큰 주소 공간을 프로세스에게 제공하기 위해 고안된 메모리 관리 기법입니다.하지만, "그래서 도대체 뭐야?"라는 의구심이 계속 생깁니다. 우리가 윈도우즈 PC에서 Excel.exe 프로그램을 더블 클릭하면 엑셀 프로그램이 실행됩니다.그러면,..

OS 2024.06.15

성능 지표(IOPS) 를 알아보자(2)

저번 IOPS 측정 방법 시간에 이어, 추가적인 내용을 작성하고자 합니다. 이전 시간의 내용을 참고해보면, "IOPS 는 블록사이즈와 반비례 한다" 라고 전달드렸습니다.그럼, 성능 측정을 하기위해 애플리케이션이 발생시키는 file I/O 의 블록 크기를 측정해야 하는데요. 이번 시간에는 블록 사이즈를 측정하는 방법에 대해 알아보겠습니다.피드백은 언제나 환영 입니다.#.테스트 시나리오1. dd 를 통한 빈 파일 생성2. blktrace를 활용하여 블록 디바이스 트래픽 추적3. 결과 확인1. dd 를 통한 빈 파일 생성먼저, dd 명령은 무엇일까요?[root@ip-10-0-131-237 ~]# whatis dddd (1) - convert and copy a file 그러면, 해당 ..

Storage 2024.06.08

성능 지표(IOPS) 를 알아보자(1)

1. IOPS(Input/Output Operations Per Second) 스토리지 성능 평가 시, 중요하게 사용되는 지표 입니다.스토리지 장치가 초당 수행할 수 있는 입출력 작업의 수를 나타냅니다. 각 작업의 평균 대기 시간(T)을 통해 IOPS를 계산할 수 있습니다:IOPS = 1/T(초 단위)​작업 평균 대기시간이 0.5ms 인 경우, 초당 2000 개의 입출력 작업을 처리할 수 있습니다. 입출력 작업이란, 서버와 스토리지 간에 읽기 또는 쓰기 작업을 의미합니다. IDC 상에서 많이 사용되고 있는 디스크의 IOPS를 살펴보겠습니다. - SSD : 10,000 - 100,000 IOPS VMWARE ESXI 환경에서, 스토리지 성능 측정 시 HCI Bench를 많이 이용합니다. 간단하게 사용 예제..

Storage 2024.06.06

성능 지표(Bandwidth, T-put) 를 알아보자 (1)

안녕하세요 여러분 네트워크 성능 측정을 할때 좋다?? 나쁘다를 구분할 수 있는 기준들을 분석해 보는 시간을 갖겠습니다.저도 장비 모니터링을 하면서 위와 같은 수치를 굉장히 많이 접할 수 있었는데요.단순히, 어느 정도 수치가 객관적으로 좋은 수치인지는 환경에 따라 다르겠지만, 적어도 어떻게 계산되는지 알아야 할 필요는 있지 않을까요? 피드백은 언제나 환영입니다! - 네트워크Throughput (T-put)Bandwidth (대역폭)- 스토리지IOPSlatency1. 네트워크 - Bandwidth 란?네트워크를 통해 일정 시간 동안 전달 할 수 있는 최대 데이터 양을 뜻합니다. 대역폭 = 데이터 양(Data Size) / 시간(Time) ex) 10G 이더넷 케이블 / 32G FC 케이블IDC 를 경험해본 ..

Network 2024.06.03

com.jcraftjschJSchException-Auth-fail

회사 내부에서 겪었던 오류와 문제 해결 과정에 대해 공유하고자 합니다.사실 원인 자체는 단순했습니다만, 원인을 찾고 해결하는 과정에서 얻은 러닝 포인트를 기록하고자 합니다.원인 자체는 서버 계정 패스워드 변경 이슈 였습니다;;인프라 구조발생 원인해결 과정1. 인프라 구조원인을 파악하기 전, 이해를 돕기 위해 내부 인프라 구조를 간략하게 전달드립니다.  모니터링 서버(Jeus8)을 통해 San storage의 Health Check / Lun 생성 등을 진행합니다.특이하게, 특정 SAN 장비만 SSH 프로토콜을 이용해서 통신을 진행했었고, 별도의 Managing 서버를 통해 해당 Storage 에 명령어를 전달 하였습니다. 2. 발생 원인웹에서 표현되는 오류 만으로는 어떠한 이슈인지 알 수 없었기에, 소스..

Trouble Shooting 2024.06.02

가상 메모리에 관하여(1)

가상 메모리의 도입 배경과 어떤 방식으로 작동하는지 알아보겠습니다.피드백은 언제나 환영입니다! 0. 우리는 왜 가상메모리에 대해 알아야 할까요?사실, 해당 개념을 모르더라도 프로그램 개발에 있어서 문제 될 건 없습니다. 물리적 메모리의 위치를 신경 쓰지 않아도, OS 가 메모리 관리를 해주고 있기 때문입니다.시스템 엔지니어 기준, 가상 메모리에 대한 개념을 알아야 하는 이유는 다음과 같을 것입니다.  시스템 엔지니어리눅스 기준, top, vmstat, free 명령어를 통해 프로세스 메모리 모니터링을 합니다.우리는 아래와 같은 상황을 주로 접하게 됩니다.메모리 누수를 유발하고 있는 프로세스는 무엇이고, 해결을 어떻게 해야 하는지?특정 가상 메모리 주소를 사용하고 있는 코드에 문제가 있는 것은 아닌지?메모..

OS 2024.06.01