일반 파일시스템 포맷(ext4,xfs,NTFS)와 그 외 파일시스템의 차이가 뭔가요?

2020   
   조회 7630   추천 0    

 

FS같은경우는 ext4, xfs, NTFS 류가 있는걸로 아는데

이 파일 시스템같은경우는 mkfs 명령을 통해 포맷도 가능하고 디바이스 장치의 파일 시스템으로 이해했습니다.



분산파일시스템이라고해서 GlusterFS, HDFS 등

네트워크 파일시스템 NFS GFS2

가상 파일시스템 Ceph 등등


파일시스템에서 아래 기재한 내용들은 블록디바이스를 포맷하는 파일시스템은 아니고

클라우드나 네트워크, 기타 특수목적에서 사용하는 파일시스템이라고 하면

저런 파일시스템도 물리적으로는 스토리지는 xfs나 ext4 방식으로 포맷된 상태에서 한번더 파일시스템 정의를 하는건가요?


ㅠㅠ고수님들의 설명부탁드리겠습니다.

감사합니다.

짧은글 일수록 신중하게.
엠브리오 2020-10
EXT4, NTFS, XFS 같은 것들이 물리적인 HDD에 적용하는 파일시스템인 반면에

NFS 및 윈도우의 CIFS 같은 것은 네트워크를 통하여 원격으로 떨어져 있는 다른 컴퓨터의 HDD를
로컬 디스크 처럼 인식시켜 주는 네트워크 프로토콜로 만들어진 가상의 파일시스템 이라고  봐야겠죠.

물론 NFS로 묶기 전에 HDD들은 이미 EXT4, NTFS, XFS 같은 파일시스템으로 포맷되어 있는게 보통입니다.

EXT4, NTFS, XFS  파일시스템의 경우 물리적인 HDD를 다루기때문에 "파일자동복구" 같은 기능들이 들어 있지만
NFS나 CIFS 같은 네트워크 프로토콜 기반인 경우는 그런 기능이 없습니다.

그리고 네트워크 기반으로 동작하기 때문에 초고속 네트워크가 안정적으로 동작한다는 보장이 있어야 운영가능합니다.

NFS로 묶어 놨다가 네트워크가 끊어져서 커널 패닉이 일어나면서 리눅스 서버가 뻣어버리는 경우를 여러번 봤습니다.
성기사 2020-10
트랜젝션 단위로 보면 DAS로 바로 붙는 것들은 Block 단위, NFS는 보통 파일 단위, 클라우드 스토리지는 오브젝트 단위.
epowergate 2020-10
보기보다 복잡합니다.
BLOCK DEVICE를 직접다루는 FS로는 EXT4, XFS, NTFS, Raiser, ZFS, BTRFS, BFS, P9, IIF, SFS 등 많이 사용하는게 300여가지 정도 있습니다.
여기서 말하는 BLOCK DEVICE는 물리적인 HARDDISK 뿐만 아니라 iSCSI같은 논리적인 DEVICE를 포함합니다.

Network File 시스템은 (일반적으로) 이미 포맷이된 DEVICE를 Network을 사용해서 여러 사용자/device들이 동시에 사용할 있도록 하는 FS 입니다.
기본적으로 NFS, SMB 등이 이 카테고리에 있고 HDFS, CEPH, Luster 등이 추가되겠습니다.

그런데 시간이 지나면서 Network File System도 자체적으로 DEVICE를 포맷하기 시작했습니다.  (일부)CEPH, (일부)Luster 등이 이쪽에 들어갑니다.

요즘 일부 시스템들은 VFS를 거치지 않고, 즉 표준파일시스템 없이,  BLOCK DEVICE를 직접 사용하기도 합니다. 
요즘 몇몇 DB들이, LevelDB, RocksDB 등, NVME에 직접 DB/TABLE을 만들고 작동합니다.

기술이 발달하면서 예전의 FS 계념이 많이 사라졌습니다.
SNIA에서는
Local 시스템이 직접 포맷을한 저장장치를 Level3 스토리지
Network (원격) 에서 포맷이되고 시스템은 이 포맷된 DEVICE를 사용하는 저장장치(NFS 등)를 Level4 스토리지
스토리지에 기능이 추가된 (예를들어 DRM이 파일시스템에서 직접 작용한다거나, 입출력시 Anti-Virus 체크를 한다거나) 저장장치를 IFS (Intelligent File System)  Level5 스토리지
로 정의하고 있습니다.

자세한건 SNIA.org에서 찾아볼 수 있습니다.
epowergate 2020-10
질문하신 내용에 답을 드리면 60~80%는 맞습니다.
Network File System은 (일반적으로) 여러 OS에서 사용이 가능해야 하고 HOST 저장장치에서 사용하는 기본 FS가 이를 지원하지 못하면
기존 FS + 추가적인 내용을 관리해야 합니다.
예를들어서 Linux에서 EXT4로 포맷한 DISK를 CIFS로 내보낸다고 가정을 해봅시다.
EXT4에서는 대소문자를 구분하죠.  그런데 MS-Windows에서는 대소문자 구문이 모호합니다. EXT4로는 처리하지 못하죠.
다른예는 NTFS는 파일마다 4가지 시간을 관리합니다.  그런데 EXT4는 3가지 시간만을 제공하죠
이렇게 여러 OS에서 사용하는 사용자들을 만족시키기 위해서 Network File System은 BASE Filesystem + 알파를 제공해야 합니다.
CIFS도 마찬가지고 어떤 파일시스템도 마찬가지 입니다.
2020 2020-10
파일시스템을 이해하는데 있어 큰 도움이 되었습니다.
성심성의껏 답변 달아주신 모든분께 너무나도 감사드립니다.


QnA
제목Page 932/5729
2014-05   5264609   정은준1
2015-12   1789616   백메가
2014-05   7086   나비z
2016-09   4672   AKMU
2012-07   4778   박문형
2015-10   3976   방o효o문
2017-10   4458   안형곤
2009-05   5038   차태홍
2015-10   4245   왕머슴
2017-10   6457   제라드TN
2020-03   2844   쭈쭈봉
2014-06   4375   크라우저
2020-03   2694   Doker
2023-03   2469   풀로드시스템
2009-06   7994   김건우
2023-03   2718   Caroline
2012-08   5738   숟갈
2023-03   2079   미담
2014-06   4762   씨형
2015-10   3845   박문형
01-15   815   안토니오김
2009-06   7058   곽은석