[Linux 이론] Binary란?
정의 바이너리(Binary)란, 0과 1로 이루어진 이진수(binary code)로 이루어진 파일을 의미한다. 컴퓨터에서는 바이너리 파일을 CPU가 직접 읽어들여 명령어(instruction)를 수행하며, 기계어(machine code)라고도 한다. 바이너리 파일은 컴파일된 소스코드나 기계어 코드를 포함하는 실행 가능한 파일(executable file)이다. 이 파일들은 사용자에 의해 실행될 수 있다. 하지만 바이너리 파일은 실행 파일로 실행되기 때문에 실행 파일이 아니면 실행되지 않는다. 이 때 실행 파일이 실행될 때는 CPU가 해당 명령어를 직접 수행한다. 리눅스는 분석 도구들을 제공하여 바이너리 파일 분석을 용이하게 할 수 있다. 바이너리 분석 도구들은 분석가가 더 잘 이해할 수 있도록 이진 파일..
2023.03.13
no image
[Linux 명령어] 디스크 공간 확인하기 (df)
df는 "Disk Free"의 약어로, Linux에서 사용 가능한 디스크 공간을 확인하는 명령어다. df 명령어는 각 파일 시스템의 용량, 사용 중인 용량, 사용 가능한 용량 등의 정보를 제공한다. ls 명령어의 디스크 버전이라고 생각하면 쉬울 듯 하다. df (옵션) 옵션 -h: 사람이 읽기 쉬운 형식으로 디스크 용량을 표시 -T: 파일 시스템의 유형을 표시 -t: 특정 파일 시스템 유형만 표시 --total: 모든 파일 시스템의 용량을 합산하여 표시 사용 예시
2023.03.13
no image
[Linux 명령어] 하드디스크 용량 부족 시 추가 및 연결하기
하드 디스크를 물리적으로 추가하는 것은 다음 페이지에서 다루었고, 부족한 용량을 다른 하드디스크에서 끌어와보자. 2023.03.12 - [가상화 소프트웨어/VMware] - [VMware] Linux 가상 장치 하드웨어 추가하기 [VMware] Linux 가상 장치 하드웨어 추가하기 이제 곧 다룰 하드웨어 파티션 분할과 주 하드웨어와 보조 하드웨어를 연결하는 작업을 진행할 텐데, 그전에 장치를 물리적으로 추가해주는 작업을 할 것이다. 우리가 컴퓨터 본체나 노트북에 S easyitwanner.tistory.com 여기까지는 이전에 파티션을 생성했을 때와 똑같다. 하지만 이번엔 vgcreate가 아닌 vgextend 명령어를 사용해 sdc드라이브를 이전에 만들어 놓은 easyIT에 추가하는 것이다. 이제 연..
2023.03.13
no image
[Linux 명령어] 디스크와 디렉토리 연결하기 (mount) + mkfs
마운트는 리눅스에서 파일 시스템을 사용하기 위한 작업으로, 하드 디스크, USB 드라이브, CD-ROM 등의 장치를 시스템에 연결하여 사용할 수 있게 한다. 마운트는 장치와 파일 시스템 간의 링크를 생성하는 것으로, 파일 시스템의 루트 디렉토리를 지정하는 것이다. windows로 비유하자면 디스크를 설치했다고 해서 바로 사용할 수 있는 것은 아니다. 그 디스크를 확인하기 위해 폴더와 연결시켜 마치 폴더를 열듯이 확인할 수 있는 것이다. 따라서, SSD나 HDD를 장착하고, 이것을 C:나 D:로 확인할 수 있도록 디렉토리(폴더)와 연결 시키는 작업이라고 생각하면 편할 듯 하다. 마운트를 통해 파일 시스템은 사용자가 쉽게 접근하고 파일을 저장하고 읽을 수 있게 된다. 마운트 명령어는 mount를 사용하여 마..
2023.03.13
no image
[Linux 명령어] 파티션 나눠 사용하기(Logical Volume, lv)
fdisk에서 파티션을 굳이 나눠놓고 사용하지 않아도 파티션을 나눌 방법이 있다. 바로 lvcreate 명령어를 사용하는 것인데 서버를 종료하지 않아도 되고, 간단하게 조작이 가능하기 때문에 fdisk에서 하나의 파티션을 잡고 lvcreate 명령어를 사용하는 경우가 있다. 사실 파티션을 나누는 것이 아닌 논리 볼륨을 생성하는 것이고, 개념을 이해하기 쉽게 하기위해 파티션이라고 표현했다. 이제 사용법을 알아보도록 하자. lv 생성하기 lvcreate (-L/l 용량) (-n 이름) (VG명) (옵션) lv 제거하기 lvremove /dev/파티션명/lv명 기존 lv에 용량 추가하기 lvextend (-L/l 용량) /dev/파티션명/lv명 + 기호를 이용하거나 기호없이 최종 용량으로 설정이 가능하다. 기..
2023.03.12
[Linux 이론] File system [2] (Linux 용)
Linux file system 리눅스 파일 시스템은 컴퓨터 하드 디스크나 저장 장치에 저장된 데이터나 파일들의 모음으로, 파일 시스템이 없으면 파일들은 마치 보이지 않는 것처럼 작동하여 많은 문제를 야기할 수 있다. 리눅스에서는 다양한 파일 시스템을 지원한다. 리눅스에서는 ext2, ext3, ext4, JFS, ReiserFS, XFS, Btrfs 등 다양한 파일 시스템이 사용된다. 이들 파일 시스템은 파일의 이름, 저장 방식, 검색 방법 등을 정의하며 파일 시스템은 파일들을 개별적인 조각으로 분리하고, 이러한 파일에 대한 데이터(파일 이름, 권한 등)를 저장하는 방법을 제공한다. 리눅스 파일 시스템은 데이터와/또는 파일들이 컴퓨터의 하드디스크나 저장장치에 저장되어 있는 구조다. 이 파일 시스템은 컴..
2023.03.12
반응형

 


정의

바이너리(Binary)란, 0과 1로 이루어진 이진수(binary code)로 이루어진 파일을 의미한다. 컴퓨터에서는 바이너리 파일을 CPU가 직접 읽어들여 명령어(instruction)를 수행하며, 기계어(machine code)라고도 한다.

 

바이너리 파일은 컴파일된 소스코드나 기계어 코드를 포함하는 실행 가능한 파일(executable file)이다. 이 파일들은 사용자에 의해 실행될 수 있다. 하지만 바이너리 파일은 실행 파일로 실행되기 때문에 실행 파일이 아니면 실행되지 않는다. 이 때  실행 파일이 실행될 때는 CPU가 해당 명령어를 직접 수행한다.


리눅스는 분석 도구들을 제공하여 바이너리 파일 분석을 용이하게 할 수 있다. 바이너리 분석 도구들은 분석가가 더 잘 이해할 수 있도록 이진 파일의 내용을 분석하고 시각화할 수 있다.

리눅스에서는 바이너리 파일이 /bin, /sbin, /lib, /opt/bin과 같은 바이너리 디렉토리에 위치하며, 사용자들은 해당 파일들을 실행할 수 있다. 또한 바이너리 파일을 비교하기 위한 도구도 제공한다. 바이너리 파일은 실행 파일이나 라이브러리 파일의 변경이 있을 경우 다른 동작을 수행할 수 있으므로, 파일 비교가 중요하다.


장점

첫째, binary는 데이터를 빠르게 처리할 수 있다. 이진수 체계는 0과 1 두 가지 값만으로 이루어져 있어 다른 진수 체계에 비해 데이터 처리 속도가 빠르다.

둘째, binary는 데이터를 효율적으로 저장할 수 있다. 이진수 체계는 0과 1 두 가지 값만으로 이루어져 있기 때문에, 데이터를 저장하기 위해 필요한 공간이 다른 진수 체계에 비해 적다.

셋째, binary는 컴퓨터 시스템에서 프로그램을 실행하는 데에 필수적이다. 모든 컴퓨터 프로그램은 이진수 형태로 저장되며, 이진수 데이터를 해석하고 실행하는 것이 컴퓨터의 역할이다.


단점

첫째, 이진법을 사용하면 표현할 수 있는 수의 범위가 한정되어 있다는 점이다. 이진법에서 사용하는 0과 1 두 개의 숫자만으로는 표현할 수 있는 수의 범위가 제한적이기 때문에, 이진법으로 표현할 수 있는 수의 개수가 제한된다.

둘째, 이진법으로 표현한 결과가 다른 결과와 동일한 경우가 발생할 수 있다는 점이다. 이진법은 0과 1 두 개의 숫자만을 사용하기 때문에, 다른 입력에 대해 동일한 출력을 내는 경우가 발생할 수 있다. 이러한 경우에는 입력이 동일한 경우에 대해 동일한 출력을 내지 않는 다른 수 체계를 사용해야 한다.

셋째, 이진법으로 표현할 때 수의 자릿수가 늘어난다는 점이다. 이진법에서는 1로 끝나는 수 다음 수는 자릿수가 하나 더 많은 수가 되는데, 이는 십진법에서 9로 끝나는 수 다음 수가 자릿수가 하나 더 많은 수인 것과 유사하다. 그러나 이진법에서는 수의 자릿수가 늘어날 때마다 0과 1의 숫자를 더 많이 사용해야 하기 때문에, 수의 크기가 커질수록 이진법으로 표현하기 어려워진다.


 

반응형
반응형

df는 "Disk Free"의 약어로, Linux에서 사용 가능한 디스크 공간을 확인하는 명령어다. df 명령어는 각 파일 시스템의 용량, 사용 중인 용량, 사용 가능한 용량 등의 정보를 제공한다. ls 명령어의 디스크 버전이라고 생각하면 쉬울 듯 하다.

df (옵션)

옵션

-h: 사람이 읽기 쉬운 형식으로 디스크 용량을 표시
-T: 파일 시스템의 유형을 표시
-t: 특정 파일 시스템 유형만 표시
--total: 모든 파일 시스템의 용량을 합산하여 표시


사용 예시

기본 명령어
-h 옵션
-T 옵션
--total 옵션
2개 이상 복합적으로 사용 가능


 

반응형
반응형

하드 디스크를 물리적으로 추가하는 것은 다음 페이지에서 다루었고, 부족한 용량을 다른 하드디스크에서 끌어와보자.

2023.03.12 - [가상화 소프트웨어/VMware] - [VMware] Linux 가상 장치 하드웨어 추가하기

 

[VMware] Linux 가상 장치 하드웨어 추가하기

이제 곧 다룰 하드웨어 파티션 분할과 주 하드웨어와 보조 하드웨어를 연결하는 작업을 진행할 텐데, 그전에 장치를 물리적으로 추가해주는 작업을 할 것이다. 우리가 컴퓨터 본체나 노트북에 S

easyitwanner.tistory.com


여기까지는 이전에 파티션을 생성했을 때와 똑같다.


하지만 이번엔 vgcreate가 아닌 vgextend 명령어를 사용해 sdc드라이브를 이전에 만들어 놓은 easyIT에 추가하는 것이다.

이제 연결은 끝났고 아래와 같이 lvextend로 용량을 추가할 수 있게 된 모습을 볼 수 있다.


 

반응형
반응형

마운트는 리눅스에서 파일 시스템을 사용하기 위한 작업으로, 하드 디스크, USB 드라이브, CD-ROM 등의 장치를 시스템에 연결하여 사용할 수 있게 한다. 마운트는 장치와 파일 시스템 간의 링크를 생성하는 것으로, 파일 시스템의 루트 디렉토리를 지정하는 것이다.

 

windows로 비유하자면 디스크를 설치했다고 해서 바로 사용할 수 있는 것은 아니다. 그 디스크를 확인하기 위해 폴더와 연결시켜 마치 폴더를 열듯이 확인할 수 있는 것이다. 따라서, SSD나 HDD를 장착하고, 이것을 C:나 D:로 확인할 수 있도록 디렉토리(폴더)와 연결 시키는 작업이라고 생각하면 편할 듯 하다.

마운트를 통해 파일 시스템은 사용자가 쉽게 접근하고 파일을 저장하고 읽을 수 있게 된다. 마운트 명령어는 mount를 사용하여 마운트할 장치와 마운트할 위치를 지정하여 사용한다.  마운트는 리눅스 시스템에서 매우 중요한 작업 중 하나이며, 파일 시스템을 사용하려면 반드시 이 작업을 수행해야 한다.


우리는 이전에 logical volume까지 생성을 마쳤고, 마운트를 해주기 위해서는 파일 시스템을 생성해주고, 마운트를 해주기 위한 디렉토리를 생성해야 한다. 여기서 파일 시스템을 먼져 생성해 보자. 혹여 로컬 볼륨 생성부분이 궁금하다면 다음 페이지를 가보라.

2023.03.12 - [Linux/리눅스 명령어] - [Linux 명령어] 파티션 나눠 사용하기(Logical Volume, lv)

 

[Linux 명령어] 파티션 나눠 사용하기(Logical Volume, lv)

fdisk에서 파티션을 굳이 나눠놓고 사용하지 않아도 파티션을 나눌 방법이 있다. 바로 lvcreate 명령어를 사용하는 것인데 서버를 종료하지 않아도 되고, 간단하게 조작이 가능하기 때문에 fdisk에서

easyitwanner.tistory.com

 


mkfs

mkfs는 "Make File System"의 약어로 mkfs 명령어는 파티션에 파일 시스템을 만들어서 그 위에 파일을 저장할 수 있게 한다. mkfs 명령어를 사용할 때는 다양한 옵션을 사용할 수 있다. 가장 일반적인 옵션은 파일 시스템의 종류를 선택하는 것으로 이전에 정리한 바 있다.

2023.03.12 - [Linux/이론] - [Linux 이론] File system [2] (Linux 용)

 

[Linux 이론] File system [2] (Linux 용)

Linux file system 리눅스 파일 시스템은 컴퓨터 하드 디스크나 저장 장치에 저장된 데이터나 파일들의 모음으로, 파일 시스템이 없으면 파일들은 마치 보이지 않는 것처럼 작동하여 많은 문제를 야

easyitwanner.tistory.com

 

mkfs (옵션) (지정할 파티션 경로)

-t: 파일 시스템 종류를 선택합니다.
-c: 파티션에 대해 블록 단위의 검사를 수행합니다.
-L: 파일 시스템에 레이블을 지정합니다.
-m: 파일 시스템에서 예약할 공간의 비율을 지정합니다.
-b: 블록 크기를 지정합니다.
-I: 파일 시스템에서 사용하는 inode 크기를 지정합니다.


사용 예시

위와 같이 -t 를 사용해 파일 시스템을 지정할 수도 있지만, mkfs.xfs, mkfs.ext4처럼 바로 지정하는 방법도 있다.


디렉토리 생성

easyIT1은 /lv1에 easyIT2는 /lv2에 마운트 할 것이다.


mount
mount (lv 경로) (마운트할 디렉토리)

잘 마운트 된 것을 확인할 수 있다.

반응형
반응형

fdisk에서 파티션을 굳이 나눠놓고 사용하지 않아도 파티션을 나눌 방법이 있다. 바로 lvcreate 명령어를 사용하는 것인데 서버를 종료하지 않아도 되고, 간단하게 조작이 가능하기 때문에 fdisk에서 하나의 파티션을 잡고 lvcreate 명령어를 사용하는 경우가 있다. 사실 파티션을 나누는 것이 아닌 논리 볼륨을 생성하는 것이고, 개념을 이해하기 쉽게 하기위해 파티션이라고 표현했다. 이제 사용법을 알아보도록 하자.


lv 생성하기
lvcreate (-L/l 용량) (-n 이름) (VG명) (옵션)

이전에 easyIT VG를 만들었었다.
L : K, M, G 등 기호를 이용해 사이즈 지정 / l : pe 개수로 지정
남은 용량을 알뜰히 사용하기 위해 vgdisplay로 남은 용량 확인 후 지정한다.


lv 제거하기
lvremove /dev/파티션명/lv명

 


기존 lv에 용량 추가하기
lvextend (-L/l 용량) /dev/파티션명/lv명

+ 기호를 이용하거나 기호없이 최종 용량으로 설정이 가능하다.


기존 lv에 용량 제거하기
lvreduce (-L/l 용량) /dev/파티션명/lv명

용량을 추가할 때와 마찬가지로 제거도 가능하지만, 이는 선호되지 않는다. 어느 부분을 제거할지 정할 수 있는 것이 아님으로 하드디스크에 파일이 깨질 수 있기 때문에 용량이 필요하다면 하드디스크를 추가하는 것이 더 나을 수 있다.


lv 확인 명령어 3 가지

1. lvs

 

2. lvscan

3. lvdisplay


 

반응형
반응형
Linux file system

리눅스 파일 시스템은 컴퓨터 하드 디스크나 저장 장치에 저장된 데이터나 파일들의 모음으로, 파일 시스템이 없으면 파일들은 마치 보이지 않는 것처럼 작동하여 많은 문제를 야기할 수 있다. 리눅스에서는 다양한 파일 시스템을 지원한다.

 

리눅스에서는 ext2, ext3, ext4, JFS, ReiserFS, XFS, Btrfs 등 다양한 파일 시스템이 사용된다. 이들 파일 시스템은 파일의 이름, 저장 방식, 검색 방법 등을 정의하며 파일 시스템은 파일들을 개별적인 조각으로 분리하고, 이러한 파일에 대한 데이터(파일 이름, 권한 등)를 저장하는 방법을 제공한다.

 

리눅스 파일 시스템은 데이터와/또는 파일들이 컴퓨터의 하드디스크나 저장장치에 저장되어 있는 구조다. 이 파일 시스템은 컴퓨터에서 파일의 위치와 위치를 파악하는 데 필수적이다. 만약 이 파일 시스템이 없으면 파일들은 마치 보이지 않는 것처럼 동작하여 많은 문제를 일으키게 된다.

 

또한, 리눅스 파일 시스템은 하드디스크나 파티션에 있는 파일들의 구조화된 집합이다. 파티션은 메모리의 세그먼트로, 특정 데이터를 포함하고 있다. 보통 각 파티션에는 파일 시스템이 들어 있다. 

 

리눅스 파일 시스템은 총 3개의 계층으로 이루어져 있다. 가장 위에는 논리 파일 시스템이 있으며, 이것은 사용자 애플리케이션과 상호작용하여 열기, 읽기, 닫기 등의 작업을 수행하고 하위 계층으로 요청을 전달한다. 가상 파일 시스템은 여러 인스턴스의 물리 파일 시스템이 동시에 실행될 수 있도록 한다. 


Ext2

Ext2(확장 파일 시스템 2)는 Linux 운영 체제에서 사용되는 파일 시스템이다. 1993년에 도입되었으며 이전 버전인 확장 파일 시스템(Ext)의 한계를 극복하도록 설계되었다.

 

다음은 Ext2의 몇 가지 주요 특징이다.

  • Ext2는 Linux용 최초의 상용 등급 파일 시스템이었다.
  • Ext 파일 시스템의 대체품으로 Rémy Card에서 개발했다.
  • 처음에는 파일 시스템의 기능을 확장하면서 파일 시스템의 내부 구조를 유지하도록 설계되었다.
  • 최대 개별 파일 크기는 최대 2TB가 될 수 있으며 파일 시스템 크기는 블록 크기에 따라 4TB에서 32TB까지 가능하다.
  • 벤치마킹 기준으로 사용될 정도로 속도가 빠르다.
  • 최대 파일 이름 길이는 255바이트를 지원하지만 파일 이름 길이는 문자로 제한되지 않는다.
  • 시스템에 치명적인 문제를 일으킬 수 있는 저널링을 지원하지 않는다.
  • 플래시 드라이브 및 USB 장치 와 함께 사용하는 것이 좋다.
  • 특히 중소형 파일 에 대해 탁월한 파일 액세스 성능을 제공한다.

Ext3

Ext3(Third Extended File System)은 2001년 11월에 도입된 Linux용 저널링 파일 시스템이다. 저널링 지원을 추가하는 Ext2 파일 시스템의 확장으로, 향상된 안정성을 제공하고 불결한 종료 후 파일 시스템을 확인할 필요가 없습니다. Ext3는 Stephen Tweedie 에 의해 설계되었으며 오늘날에도 여전히 사용되고 있다.

 

Ext3의 주요 이점 중 하나는 파일 시스템에 대한 모든 변경 사항을 추적하는 저널링 기능이다. 이는 안정성을 향상시키고 파일 시스템 손상 가능성을 줄이는 데 도움이 된다.

 

Ext3의 또 다른 장점은 데이터를 백업 및 복원할 필요 없이 Ext2에서 업그레이드할 수 있다는 것이다.Ext2와 마찬가지로 Ext3도 동일한 inode 테이블 구조를 사용하고 최대 파일 크기 2TiB를 지원한다. 또한 최대 파일 이름 길이를 255바이트로 제한한다.

 

파일 시스템은 2001년에 Linux 커널에 추가되었으며 최근까지 거의 모든 Linux 배포판에서 사용되는 기본 파일 시스템이었다. 전반적으로 Ext3는 이전 버전인 Ext2보다 데이터 손실 및 손상에 대해 더 나은 보호 기능을 제공하는 안정적이고 효율적인 파일 시스템이다.


Ext4

Ext4는 리눅스에서 사용되는 파일 시스템 중 하나다. 이전 버전인 ext3과 비교하여 성능과 안정성이 개선되었다. Ext4는 파일을 여러 개의 블록 그룹으로 분할하여 저장한다.

 

각 블록 그룹은 SuperBlock, File descriptor table, data bitmap, inode bitmap, inode table, data 영역으로 구성된다. 이를 통해 파일을 빠르게 찾고, 분산시켜 저장함으로써 파일 시스템의 성능이 향상되었다.

 

 또한, Ext4는 데이터 일치성을 위해 사용되는 저널링 기능을 제공한다. 이 기능은 시스템이 갑자기 멈추거나 정전 등으로 꺼지는 경우에도 데이터의 복구가 가능하도록 한다.

 

Ext4는 extent라는 개념을 도입하여 파일을 더욱 효율적으로 저장한다. extent는 연속적으로 할당된 블록에 대해 단일 블록을 매핑함으로써, 파일에 대한 접근을 빠르게 만든다. 이를 통해 큰 사이즈의 파일을 삭제하는 경우 시간을 단축할 수 있다.

 

또한, 지연된 할당 기능을 제공한다. 이 기능은 디스크 공간 할당을 마지막 순간까지 지연시켜 성능을 개선한다. 이 외에도 Ext4는 기존 파일 시스템에 비해 다음과 같은 특징이 있다.

  • 체크섬을 가진 사용하지 않는 노드를 저장하여 파일 시스템 점검 속도가 빨라짐 
  • 파일 시스템이 포맷된 후 마운트를 해도 컴퓨터가 리부팅 될 때마다 마운트가 해제되는 문제를 /etc/fstab에 등록함으로써 해결 가능 

위와 같은 특징들을 통해 Ext4는 파일 시스템의 성능과 안정성을 크게 개선시켰다.


XFS

XFS는 Silicon Graphics에서 개발한 고성능 파일 시스템으로, 64비트 파일 시스템이며 대용량 파일을 다루는 데 최적화되어 있다. XFS는 저널링 기법을 사용하여 파일 수에 관계없이 예상치 못한 상황으로부터 신속하게 복구하여 재시작이 가능하며, 읽기/쓰기의 신속한 트랜잭션을 제공한다.

 

또한 XFS는 파일시스템의 확장성이 높아 동시 다발적인 I/O 요청 처리와 같은 작업에 유리하다. XFS는 리눅스 커널에 2001년에 포함되었으며, RHEL 7부터는 Default 파일 시스템으로 지정되어 있다. 그러나 축소가 불가능한 한계를 가지고 있으며, 사용 시 마운트 옵션 및 튜닝에 따라 성능이 크게 차이날 수 있다.

 

다음은 XFS의 몇가지 특징을 정리했다.

  1. 저널링(Journaling) 기능 XFS는 저널링 기능을 지원하여, 파일 수에 상관없이 예기치 못한 상황에서도 빠르게 복구할 수 있다. 기존의 파일 시스템에서는 파일 시스템 체크 프로그램을 오랜 시간 동안 수행하여 복구했어야 했지만, XFS는 이러한 체크 프로그램을 사용하지 않아도 된다. 이를 통해 데이터 손실 가능성을 줄일 수 있다.

  2. 익스텐트 기반 할당(Extent-based Allocation) XFS는 익스텐트 기반 할당을 사용하여, 메타데이터가 소비되는 공간과 조각화를 최소화하며, 대용량 파일의 성능을 향상시킨다. 지연 할당(Lazy Allocation)과 사전 할당(Pre-allocation) 또한 지원하여, 성능 저하를 최소화한다.

  3. 빠른 복구 기능 XFS는 메타데이터 저널링을 지원하므로, 빠른 복구 기능을 제공한다. 또한, 마운트된 상태에서 조각 모음과 확장이 가능하며, 특정 유틸리티의 백업과 복원도 지원한다.

  4. 성능 향상 XFS는 트랜잭션으로 인한 성능 저하를 최소화하는 기능을 제공한다. 읽기/쓰기 트랜잭션을 최소화하며, 지연 할당과 사전 할당을 통해 단편화를 줄이고 성능을 향상시킨다.

  5. 확장성 XFS는 파일 시스템에서 사용 가능한 공간에 의해서만 파일 수가 제한되며, 마운트된 상태에서 확장이 가능하다.

  6. 유틸리티 지원 Red Hat Enterprise Linux 6에서는 XFS에 특정 유틸리티의 백업 및 복원을 지원한다.

Btrfs

Btrfs는 리눅스 커널에서 사용되는 고급 파일 시스템 중 하나다. 이름은 B-Tree File System의 약어인데, 발음은 butter나 butter eff ess 등으로 불린다.

 

Btrfs는 주요한 기능으로 스냅샷, 미러링, 스트리핑, 압축, 데이터 암호화, 그리고 대용량 서버에서 사용하기 위해 설계된 파일 시스템으로, 동적 아이노드 할당, 파일 크기 제한 등 많은 기능을 가지고 있다. 

 

Btrfs는 내장 암호화 기능은 없지만, 암호화된 파티션을 만들고 그 위에 Btrfs를 사용할 수 있다. 또는 EncFS나 TrueCrypt와 같은 도구를 사용할 수도 있다.

 

Btrfs는 기능이 많아서 일반적으로 다른 파일 시스템에 비해 더 많은 시스템 리소스를 소비한다. 따라서 중요한 자료를 저장하기 위한 용도로는 아직 적합하지 않는다. 또한 P2P같은 용도로도 적합하지 않는다.

 

Btrfs는 스냅샷과 서브볼륨을 지원하는 등 유연한 기능을 가지고 있다. 그러나 Btrfs는 아직 완전하지 않은 파일 시스템으로 분류된다. 따라서 안정성과 신뢰성을 고려할 때, 현재는 여전히 EXT4와 같은 파일 시스템을 사용하는 것이 좋다. 

 

최근에는 Btrfs가 점점 더 안정적이고 신뢰성 있는 파일 시스템으로 개선되고 있다. Btrfs는 리눅스 커널에 이미 포함되어 있으며, 일부 리눅스 배포판에서는 기본 파일 시스템으로 설정되어 있다. 


JFS, ReiserFS는 거의 사용되지 않거나  개발이 중단되어 더 이상 사용하는 것이 권장되지 않는다.


 참고 문헌

[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18]   

반응형