전체 글 133

C 구조체와 통신 전문의 메모리 배치: #pragma pack부터 직렬화까지

기존 시스템에서는 Core 서버와 FEP 사이의 통신을 IMS(Interface Management System)가 중개하고 있었다. 공유메모리 기반의 고속 인터페이스 솔루션인데, 차세대에서는 Solace 라이브러리를 사용하는 구조로 바뀌었다.다만 오픈 이후 문제가 생기면 기존 IMS로 돌아갈 수 있어야 했다. 그래서 Solace에서 IMS로 통신 방식을 전환하는 기능을 구현하고 있었다.문제는 전환 함수를 테스트할 때 발생했다. 데이터가 예상한 위치에서 읽히지 않았고, 처음에는 그냥 “메모리가 밀리는 것 같다”고 생각했다.확인 과정에서 IMS 쪽에는 #pragma pack(1) 설정이 있고, Solace를 사용하는 쪽 코드에는 별도 pack 설정이 없다는 차이를 발견했다. 작업한 환경에서는 IMS 쪽 코..

컴파일러 2026.10.20

TMAX CLH 튜닝

개요 : 차세대 프로젝트 부하 테스트 중 로드러너(일명 LR) 의 응답시간과 TP 서비스 응답시간 사이의 Gap 발생 및 원인 분석 목적 : Gap 원인 및 Tmax TP 튜닝 테스트 환경 : 인증인가 서버 1대 구성 64core, 512GBLR 부하기 64core, 512GB테스트 서비스 : 로그인 관련 서비스 1st. 부하테스트 LR : 1000user * no Pacing : LR과 CLH 사이 / CLH와 내부 프로세스 별로 Unix domain socket간의 로컬 통신 구간 이렇게 두개로 나누어볼수있는데 처음에 서비스 타임이 10ms가 나왔는데 LR에서 더 30ms가 걸렸기 때문에 처음엔 CLH가 내부 버퍼에 저장을 하고 있을 줄 알았다. 이게 가설 근데 CLH 외부 구간을 ..

Linux & Shell 2026.08.01

LFCS - Remote File Systems: NFS

NFS란?? Network File System . NAS가 NFS/SMB를 얹어 서비스하는 거고, NFS는 일반 리눅스 서버로도 가능 (NAS 장비 불필요).NFS 같은 : SMB/Samba(윈도우 계열)가 양대 축.NAS 말고 : , 가 있음.멘탈 모델: . NAS=파일, SAN=블록, S3=오브젝트./etc/exports를 읽음 1. An NFS server is already running and active in the system. Configure the existing NFS server to share the /home directory in read-only mode. Allow access to any client within the CIDR range 10.0.0.0/24. Not..

Linux & Shell 2026.06.28

LFCS - Advanced Permissions

1. Which one of these is also called a mirrored array?RAID별칭핵심striping (스트라이핑)데이터를 여러 디스크에 쪼개 분산. 속도↑, (하나 죽으면 다 잃음)똑같이 복제. 안전성↑, 용량 효율↓striping + parity분산 + 패리티. 디스크 1개 고장 견딤. 용량 효율 좋음double parity패리티 2개. 디스크 2개까지 고장 견딤1+0 (mirror + stripe)미러링한 걸 스트라이핑. 속도+안전성 둘 다, 비쌈 2. In your /home/bob directory, you will find a file named archive. List the ACL permissions associated with this file. What per..

카테고리 없음 2026.06.28

LFCS - Create Filesystems and Mount Them at Boot

1. Create an ext4 filesystem with 2048 inodes on /dev/vde.-> sudo mkfs.ext4 -N 2048 /dev/vdeNo space left on device 에러가 뜬다면 inode갯수가 부족한 것 df -h로는 안보인다. df -i로 봐야함 *좋은내용*디스크가 나뉘는 방식filesystem을 만들면(mkfs) 디스크 공간이 크게 세 영역으로 나뉘어: : filesystem 전체 정보 (총 블록 수, inode 수, 블록 크기 등). 맨 앞에 있고 백업본도 여기저기 둠. : inode들이 쭉 모여 있는 구역. 여기 크기가 mkfs 때 inode 개수로 고정됨 (아까 2048개 얘기가 이 테이블 크기를 정한 거야). : 실제 파일 내용이 저장되는 곳. fi..

Linux & Shell 2026.06.28

LFCS - Manage LVM

1. Install lvm on the systemLVM = . 디스크/파티션을 직접 쓰는 대신 한 단계 추상화를 끼워서, 스토리지를 유연하게 관리하게 해주는 계층이야. 핵심 구조 3단:: 실제 디스크나 파티션 (예: /dev/sdb, /dev/sdb1): PV들을 묶은 스토리지 풀: VG에서 잘라낸 논리 볼륨. 여기에 filesystem 만들어서 mount함sudo apt updatesudo apt install -y lvm2 2. Add these two disks as Physical Volumes (PVs) to LVM: /dev/vdd and /dev/vde.sudo pvcreate /dev/vdd /dev/vde df -h는 만 보여줘. 즉 "이미 포맷되고 어딘가에 mount된" 것만. /de..

Linux & Shell 2026.06.27

Linux Namespace 직접 만져보기 — unshare로 컨테이너 격리 체험하기

컨테이너는 네임스페이스다 — unshare로 직접 격리해보기"컨테이너는 네임스페이스로 격리되고 cgroups로 제한된 프로세스"라는 말을 실제 명령어로 확인해보자. unshare로 네임스페이스를 하나씩 직접 떼어보면 감이 확 잡힌다. 이 글은 docker나 쿠버네티스가 자동으로 해주는 일을 손으로 재현해보는 실습이다.Linux namespace란namespace는 커널이 시스템 자원을 분리해서, 같은 네임스페이스 안의 프로세스들끼리만 자기 몫의 인스턴스를 보게 하는 기능이다. namespace가 "무엇을 보게 할 것인가"를, cgroup이 "자원을 얼마나 쓸 수 있는가"를 맡아서 둘이 합쳐져 가상화를 이룬다.종류는 총 8가지다.종류 설명 detailmount마운트 포인트 격리컨테이너가 자기 루트 파일시스..

K8S 2026.06.14

LFCS - Configure SSH Servers and Clients

sshd 기본sshd는 서버 쪽 SSH 데몬이다. 백그라운드로 떠서 들어오는 SSH 요청을 수신·처리하는 프로그램이다.설정 파일은 /etc/ssh/sshd_config이고, /etc/ssh/sshd_config.d/*.conf의 drop-in 파일들이 Include되어 함께 설정을 구성한다.여기서 한 가지 함정: SSH 설정은 대부분의 키워드에 대해 "처음 읽힌 값"이 적용되고 이후 중복 정의는 무시된다. 그런데 Include 라인이 보통 파일 맨 위에 있어서, drop-in 파일에 잡힌 값이 main 파일보다 먼저 읽혀 우선한다. 예를 들어 Ubuntu 클라우드 이미지는 /etc/ssh/sshd_config.d/50-cloud-init.conf에서 PasswordAuthentication yes를 박아..

Linux & Shell 2026.06.14