Linux 파일 시스템 차별화

Linux 파일 시스템 차별화

나는 로그, inode 및 액세스 제어 목록을 살펴보며 Linux 파일 시스템이 어떻게 작동하는지 더 잘 이해하려고 노력해 왔습니다. 이 문제를 조사하는 동안 glusterfs 및 mergefs와 같이 파일 시스템이 예상했던 것과 다르게 동작하는 것처럼 보이는 몇 가지 파일 시스템을 발견했습니다. mkfs.ext3하드 드라이브에 기록되는 방식이나 방식과는 다르지만 mkfs.xfs다른 파일 시스템 위에서 실행됩니다. 따라서 ext3과 mergefs(또는 glusterfs)를 모두 동일한 드라이브에서 사용할 수 있는데, 제가 아는 한 두 개의 파일 시스템을 동일한 파티션에 정의할 수 없기 때문에 이상해 보입니다.

파일 시스템을 잘못 이해하고 있습니까? 아니면 mergefs/glusterfs 시스템을 ext3 또는 xfs와 구별하는 특별한 점이 있습니까?

답변1

"파일 시스템"이라는 단어는 약간 오버로드되어 있어 혼란스러울 수 있다고 생각합니다. 어떤 의미에서 "파일 시스템"은 디스크의 파티션과 같은 일부 매체에 파일이 기록되는 형식입니다. 다른 의미에서 "파일 시스템"(더 구체적으로 "가상 파일 시스템")은 파일 세트(일반 파일, 디렉터리 등)를 제공하는 운영 체제에서 제공하는 추상화입니다. 운영 체제는 디스크의 파일 시스템을 읽고 파일 시스템 추상화를 제공할 수 있습니다.

파일 시스템 추상화에 표시된 파일은 디스크(예: ext4), 네트워크의 다른 호스트(예: cifs, nfs) 또는 다른 곳에 저장할 수 있습니다. mergefs와 같은 것들은 여러 파일 소스를 가져와 마치 단일 소스인 것처럼 렌더링합니다. 웹사이트에서 "mergerfs는 여러 경로를 논리적으로 병합합니다. 집합의 합집합을 생각해 보세요."

보세요사이트 병합, 그들은 그것이 무엇을 하는지에 대한 좋은 설명을 가지고 있습니다.

답변2

분산 네트워크 파일 시스템은 파일 시스템이라기보다는 데이터베이스에 더 가깝고, 복잡하거나 중복된 코드를 피하기 위해 일반 파일 시스템 내에 위치하는 경우가 많습니다.

답변3

네트워크 연결 스토리지 파일 시스템의 경우, 파일 시스템이 자체 구현을 위해 기본 파일 시스템을 사용하고 있다고 말하는 것이 더 정확하거나 더 정확하게는 다음을 사용할 수 있는 운영 체제 가상 파일 시스템(VFS)을 사용하고 있다고 말하는 것이 더 정확합니다. 디스크에 저장된 데이터를 이동하는 다양한 방법. -디스크 파일 시스템.

운영 체제를 통해 Samba 또는 NFS를 마운트하는 경우에도 마찬가지입니다. 그러나 glusterfs에는 백엔드에서 많은 네트워크 연결 스토리지를 결합하는 기능도 있습니다. 나는 그것을 네트워크/연합 FS라고 부르고 싶지만 그들이 사용하는 용어는 확장형입니다.

Unionfs, mergefs, aufs 및 overlayfs는 Linux의 VFS에 파일 시스템으로 존재하지만 디스크에는 존재하지 않는 통합 마운트 구현입니다. 그 기능은 여러 기본 파일 시스템의 파일을 결합하여 VFS의 다른 파일 시스템으로 표시하는 것입니다. mount 또는 fstab을 통해 전달될 수 있지만 디스크의 fs 슈퍼 블록에는 표시되지 않습니다.

따라서 어떤 디스크의 파일 시스템도 언급한 여러 파일 시스템으로 존재하지 않습니다. 그런 파일 시스템이 존재한다는 것이 아이러니하지만. 예를 들어 ext3 파일 시스템ext4 특정 기능이 사용될 때까지 ext4 파일 시스템.

관련 정보