• 메타 객체 프로토콜(Meta Object Protocol)에 대하여

    메타 객체 프로토콜 (Meta Object Protocol) 오늘은 메타 객체 프로토콜(Meta Object Protocol, 이하 MOP)에 대해서 공유해보려고 합니다. MOP란? 객체에서 객체 자체를 참조해야 할 필요성 때문에 나타난 개념입니다. 우리는 일반적으로 클래스에 의해 생성된 것을 객체로 알고 있는데요. MOP 개념에서는 클래스나 메서드, 속성 모두 다 메타 클래스에 의해 생성된 객체입니다. (다른 관점에서...


  • 19개월 차 스토리지 개발자로서의 회고 - 권진영

    입사 후 약 1년 반의 기간에 대한 스토리지 개발자로서의 회고 벌써 9월입니다. 2020년의 3분기가 끝나가는 시점입니다. 입사한 지는 1년 8개월이라는 시간이 흘렀습니다. 입사 이후에 배운 것에 대해 되돌아볼 시간이 없었던 것 같아 지난 시간을 되돌아보기 위해 이번 기회에 회고를 해보려고 합니다. 회고를 쓰기 전에 다른 분들의 회고를 많이 읽어 보았습니다....


  • 제 7회 난공불락 인프라 세미나

    난공불락 인프라 세미나를 준비하면서 … 안녕하세요 글루시스 시스템 개발자 권진영입니다. 지난해 12월 난공불락 세미나에서 dm-vdo(이하 VDO)를 소개해 보았습니다. VDO(Virtual Data Optimizer)는 Red Hat 리눅스에서 데이터 압축 및 중복제거를 수행하는 툴입니다. 중복제거란 데이터를 블록 단위로 나누어서 중복되는 블록 중 하나만 저장하는 기술로 실제 저장되는 데이터를 극단적으로 줄일 수 있습니다. 이번 세미나에서...


  • perl

    perl 이란 Larry Wall이 만들어서 1987년에 발표한 언어. 철학은 There is more than one way to do it, 어떠한 일에는 여러 가지 방법이 존재한다. 로써 Python과 정 반대의 개념 언어의 자유도와 표현력이 높고 텍스트 처리하는 기능에서 특출나다. Hello world Code #!/usr/bin/env perl use strict; use warnings; use utf8; printf "Hello...


  • Subnetmask

    들어가기 전에 사이트에 나가서 IP 클래스 개념과 서브넷 마스크의 정확한 개념을 익히지 못하여 삽집을 한 경험이 있기에… IP 주소 클래스 IPv4는 초기에 클래스로 나누어서 할당을 하였지만 이 방식이 비 효율적이기 때문에 + IP주소가 모자르게되어서 서브넷 마스크를 도입하게 된다. 비효율 적인 이유는 B class를 사용하면 약 네트워크 ID당 65,536개의 Host ID를...


  • Kernel WRITE_ONCE, READ_ONCE

    들어가기전에.. volatile 변수 변수를 선언할 때volatile 을 사용하면 컴파일러에 해당 변수는 변수의 값을 바꾸는 명려어가 없더라도 그 값이 언제든 변할 수 있다고 알리는 키워드 입니다. 그래서 컴파일러는 해당 변수를 최적화기법 중 하나인 명령어 재배치의 대상에에서 제외하여 항상 메모리에 접근할 수 있도록 변환합니다. volatile 변수를 사용해야 하는 경우는 최적화에 의해서 오류가...


  • Kernel list

    /* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_LIST_H //#ifndef ~ #endif : 매크로 중복정의를 피하기 위한 매크로 #define _LINUX_LIST_H #include <linux/types.h> #include <linux/stddef.h> #include <linux/poison.h> #include <linux/const.h> #include <linux/kernel.h> SPDX(Software Package Data Exchange)는 소프트웨어 BOM 정보(구성 요소, 라이센스, 저작권 및 보안 참조 포함)을 전달하기 위한 공개 표준입니다. #define LIST_HEAD_INIT(name) { &(name), &(name)...


  • Protocol

    Protocol SNMP (Simple Network Management protocol) TCP/IP 기반의 네트워크에서 네트워크 사이의 각 호스트에서 정기적으로 여러가지 정보를 자동적으로 수집하여 네트워크 관리를 하기 위한 프로토콜 SMB (Server Message Block) LAN이나 컴퓨터 간의 통신에서 데이터 송수신을 하기 위한 프로토콜 SMB2 SMB1의 chattiness를 줄여 백개 이상의 명령을 19개로 감소 시킴으로 높은 지연성르 지닌 링크에...


  • Kernel 개발을 위한 캐릭터디바이스 핸들링

    Kernel? 커널은 컴퓨터의 운영체제의 핵심이 되는 컴퓨터 프로그램으로 시스템을 완전히 통제한다. 커널의 종류에는 모놀리식 커널, 마이크로 커널, 하이브리드 커널, 엑소 커널이 있다. 모놀리식 커널 하드웨어 위에 고수준의 가상층(프로세스 관리, 동시성, 메모리관리, 시스템 콜)을 가지고 있다. 장점 커널의 모든 자원에 쉽게 접근 가능하다. 서로 자료 구조를 공유한다. 시스템 호출 속도가 빠르다....


  • Term

    용어 정리및 기본 개념 정리 Protocol SNMP (Simple Network Management protocol) TCP/IP 기반의 네트워크에서 네트워크 사으이 각 호스트에서 정기적으로 여러가지 정보를 자동적으로 수집하여 네트워크 관리를 하기 위한 프로토콜 SMB (Server Message Block) LAN이나 컴퓨터 간의 통신에서 데이터 송수신을 하기 위한 프로토콜 samba Windows 운영체제에서 Linux또는 UNIX 서버에 접속하여 파일이나 프린터를...


  • Filesystem

    Filesystem XFS 1993년 실리콘 그래픽스가 만든 고성능 64bit 저널링 파일 시스템. B+ Tree 구조를 사용 중간노드-xfs_da_intnote_t 구조체 리프노드-xfs_dir2_leaf_t 구조체 장점 b-trees를 사용하여 우수한 I/O 확장성을 제공 이론상 900만TB까지 지원 ext3에 비해 8배 많은 inode 생성 가능 xfs_growfs명령을 사용하여 마운트 상태에서도 확장 가능 파일 시스템 생성시간이 타 파일 시스템에 비해 압도적으로...


  • 특수한 전원 장애 상황에서 PV missing 복구

    특수한 상황에서 발생한 PV missing 복구 1. 특수 상황의 전원 장애 발생 UPS(Uninterruptible Power Supply)가 불안정한 상태에서 전원 점검 작업 시에 스토리지의 컨트롤러에 일시적인 오류가 발생하였습니다. 후지쯔 스토리지가 일시적으로 다운되면서 NAS failover 과정 중 오류로 인하여 재부팅이 시작되었습니다. 재부팅 이후 글러스터 볼륨의 상태가 비정상 상태인 것을 인지하고 pacemaker 상태를 확인하니...


  • LVM Basic Architecture

    LVM 기본 구조 정리 LVM(Logical Volume Management)이란? LVM 기능을 사용하지 않을 때는 파일시스템과 물리 저장소 사이를 직접 연결하였습니다. LVM은 그런 불편함을 제거하기 위한 기능으로 Linux 환경에서 파일 시스템과 물리 저장소 사이의 추상 레이어를 제공하여 볼륨을 손쉽고 유연하게 관리할 수 있는 기능을 제공합니다. LVM은 크게 PV(Physical Volume), VG(Volume Group), LV(Logical Volume)...