하지 않다

NILFS
하지 않다
개발자일본전신전화사이버우주연구소
풀네임로그 구조화 파일 시스템의 새로운 구현
소개했다2005년, 17년 전(2005년) Linux 커널 2.6.13 사용
구조물들
파일 할당B-트리
한계
최대 볼륨 크기8 EiB
최대 파일 크기8 EiB
최대 파일 이름 길이255 바이트
특징들
기록된 날짜atime(계획 완료)
날짜 해결64비트 온디스크 타임스탬프
특성POSIX, 확장 애트리뷰트
파일 시스템 권한POSIX, ACL 플랜[1] 포함
투과적 압축아니요.
투과적 암호화아니요.
카피 온 라이트네.
다른.
지원되는 운영 체제Linux 커널, (NetB의 경우 읽기 전용)SD)

NILFS 또는 NILFS2(New Implementation of a Log-Structured File System)는 Linux 커널용 로그 구조 파일 시스템 구현입니다.이것은, NTT(Nippon Telegraph and Telephone Corporation) CyberSpace 연구소와 전세계의 커뮤니티에 의해서 개발되었다.NILFS는 GNU General Public License(GPL) 조건에 따라 출시되었습니다.

설계.

「NILFS는 로그 구조의 파일 시스템입니다.스토리지 미디어는 순환 버퍼처럼 취급되어 항상 새로운 블록이 끝까지 쓰여집니다.[…]로그 구조화된 파일 시스템은 자연스럽게 마모 레벨링을 수행하기 때문에 플래시 미디어에 자주 사용됩니다.[…]NILFS는 스냅샷을 강조합니다.로그 구조화 접근법은 쓰기 시 복사 동작의 특정 형태이므로 파일 시스템 스냅샷 작성에 자연스럽게 적합합니다.NILFS 개발자는 사용자가 시작한 파일 시스템 문제에서 복구하는 데 사용할 수 있는 "연속 스냅샷" 생성에 대해 설명합니다. […]"[2]

NILFS는 "nothing-on-write is free"라고 하는 카피 온-write 기술을 사용하여 모든 데이터를 연속 로그 형식으로 기록합니다.이는 기존 파일 시스템에서 발생하는 데이터 손실과 탐색 시간을 줄이도록 설계되어 덮어쓰지 않습니다.예를 들어, 쓰기 작업 중에 시스템이 크래시되면 ext3 파일 시스템에서 데이터가 손실됩니다.시스템이 재부팅되면 저널에 기입이 완료되지 않아 데이터 기입의 일부가 손실됩니다.

Solaris 운영 체제 및 BSD에서 사용되는 UFS에서 파생된 파일 시스템과 같은 일부 파일 시스템은 이러한 데이터 손실을 방지하는 스냅샷[citation needed] 기능을 제공하지만, 대용량 파일 시스템에서는 스냅샷 구성이 길어질 수 있습니다.NTT [3]Labs에 따르면 이와는 대조적으로 NILFS는 "서비스를 중단하지 않고 파일 시스템의 순간 상태를 지속적이고 자동으로 저장할 수 있다"고 합니다.

NILFS가 계속 보존하는 「즉시 상태」는, 실제의 파일 시스템이 읽기/쓰기 되는 것과 동시에, 실제로 읽기 전용으로 마운트 할 수 있습니다.이 기능은 하드웨어 장애나 기타 시스템 크래시 후의 데이터 리커버리에 도움이 됩니다.인터랙티브 NILFS "inspect" 유틸리티의 "lscp"(리스트 체크포인트) 명령어는 처음에 체크포인트 주소(이 경우 "2048")를 찾기 위해 사용됩니다.

# inspect /dev/sda2 ... nilfs> listcp 1 6 Jul 12 14:55:57 2005 MajorCP LogiBegin LogiEnd 2048 2352 Tue 12 14:55:58 2005 MajorCP LogiEnd ... nilfs> 종료

그런 다음 체크포인트 주소를 사용하여 체크포인트를 마운트합니다.

# mount - t nilfs -r -o cp = 2048 / dev / sda2 / sdafs - cp # df 파일 시스템 1K 블록 사용 가능 사용률 / dev / sda2 7032412 8044540 62283776 12% / dev / sda2 70332412 80440 6228376% / cpfs

특징들

NILFS는 연속적인 스냅숏을 제공합니다.파일 시스템 전체의 버전 관리 기능에 가세해, 최근, 잘못해 덮어쓰거나 삭제한 파일을 복원할 수도 있습니다.NILFS는 기존 LFS와 마찬가지로 일관성을 유지할 수 있기 때문에 시스템 크래시 후 신속한 복구를 실현할 수 있습니다.

포인트 인 타임 스냅샷(Btrfs 등)을 지원하는 파일 시스템을 포함한 대부분의 파일 시스템에서는 연속 스냅샷이 제공되지 않습니다.

NILFS는 (변경이 없는 한) 몇 초마다 또는 동기 쓰기별로 체크포인트를 만듭니다.사용자는 지속적으로 생성된 체크포인트 중에서 중요한 버전을 선택하여 스냅샷으로 변경할 수 있습니다. 스냅샷은 체크포인트로 다시 변경될 때까지 유지됩니다.

볼륨이 가득 찰 때까지 스냅샷 수에 제한이 없습니다.각 스냅샷은 읽기 전용 파일 시스템으로 마운트할 수 있습니다.쓰기 가능한 마운트 및 기타 스냅샷과 동시에 마운트할 수 있으며, 이 기능은 사용 중에 일관된 백업을 수행하는 데 편리합니다.

NILFS에는 버전 관리, 변조 감지, SOX 컴플라이언스 로깅, 데이터 손실 복구 등이 있습니다.

현재 NILFS의 메이저버전은 버전 2로, 이를 NILFS2라고 부릅니다.NILFS2는 온라인 가비지 컬렉션을 구현하여 디스크 공간을 회수하고 여러 스냅샷을 보관합니다.

기타 NILFS 기능은 다음과 같습니다.

  • B-tree 기반 파일 및 inode 관리.
  • 시스템 크래시 후 즉시 복구됩니다.
  • 64비트 데이터 구조. 많은 파일, 대용량 파일 및 디스크를 지원합니다.
  • 2038년의 문제가 없는 64비트 온디스크 타임스탬프

현황

지원되는 기능

  • POSIX 파일 시스템의 기본 기능
  • 스냅숏
    • 자동적이고 지속적으로 촬영
    • 볼륨이 가득 찰 때까지 스냅샷 수에 제한이 없음
    • 읽기 전용 파일 시스템으로 마운트 가능
    • 쓰기 가능한 마운트와 동시에 마운트 가능(사용 중에 일관된 백업을 할 수 있어 편리함)
    • 퀵 리스트
  • 백그라운드 가비지 컬렉션(GC)
    • 여러 스냅샷을 유지할 수 있다
    • 선택 가능한 GC 정책. 사용자 랜드 데몬에 의해 지정됩니다.
  • 마운트 시 신속한 크래시 복구
  • 데이터 파일뿐만 아니라 메타 데이터 파일도 미리 읽기 가능
  • 페이지 크기보다 작은 블록 크기(1KB 또는 2KB 등)
  • 온라인 크기 조정(Linux-3.x 및 nilfs-utils 2.1 이후)
  • 관련 유틸리티 (SEKIBA 지로 출연)

기타 기능

  • 빠른 쓰기 및 복구 시간
  • 하드웨어 장애로 인한 파일 데이터 손상 및 시스템 일관성 최소화
    • 무결성 보증을 위한 데이터 메타데이터에 대한 32비트 체크섬(CRC32) (블록 그룹별, 세그먼트 요약)
    • 올바른 데이터 및 메타데이터 쓰기 순서
    • 용장 슈퍼 블록
  • 내부 데이터는 64비트 와이드 워드 크기로 처리됩니다.
  • 대용량 파일 작성 및 저장 가능(8EiB)

OS 호환성

분배 묘사
데비안 NILFS는 Debian 5.0 이후에 사용할 수 있습니다.
우분투 NILFS는 Ubuntu 9.10 이상에서 사용할 수 있습니다.
CentOS x86 및 x86_64(센트의 경우)Centos 7용 OS 6 및 x86_64는 [1]에서 사용할 수 있습니다.
페도라 NILFS는 Fedora에서 사용할 수 있습니다.
오픈서스 i586 및 x86_64 (오픈용)SUSE 및 SUSE Linux Enterprise는 오픈 시 이용 가능SUSE 빌드 서비스.
젠투 NILFS는 Gentoo Linux에서 사용할 수 있습니다.NILFS가 포함된 boot-cd는 PrRescue에서 사용할 수 있습니다.
Arch Linux NILFS는 Arch Linux에서 사용할 수 있습니다.
리눅스 민트 NILFS는 Linux Mint에서 사용할 수 있습니다.
NixOS NILFS는 NixOS에서 사용할 수 있습니다.
  • NILFS는 Linux 커널 2.6.[6]30에 통합되었습니다.
  • NILFS를 즉시 사용할 수 있는 배포에서는 [2]의 지시에 따라 nilfs-utils(또는 nilfs-tools) 패키지를 다운로드해야 합니다.

NetBSD에는 현재 읽기 전용으로 지원되는 별도의 BSD 라이센스 구현이 포함되어 있습니다.[7]

상대 퍼포먼스

2015년 1월 Linux.conf.au의 임베디드 시스템용 SD 카드파일 시스템 프레젠테이션에서는 다음과 같이 [8]기술되어 있습니다.

지연 시간에 민감한 워크로드가 있는 경우 NILFS를 사용하는 것이 좋습니다.스루풋에 민감한 F2FS가 있는 경우 F2FS를 사용하는 것이 좋습니다.

--

NILFS2는 F2FS나 EXT4보다 많은 작은 파일 케이스에서 훨씬 더 잘 작동합니다.

--

면허증.

NILFS2 파일시스템 유틸리티는 GNU Public License 버전2에서 사용할 수 있지만 lib/nilfs 라이브러리와 헤더 파일은 GNU Lesser General Public License 버전 2.1에서 사용할 수 있습니다.

개발자

일본의 주요 저자 및 주요 공헌자nilfs-utilsNTT Corporation의 연구소에서 근무하거나 근무하고 있는 사람은 다음과 같습니다.

  • 코니시 류스케(주요 메인터넌스, 2008년 2월~
  • 사토 고지
  • 가미무라 나루히코
  • 기하라 세이지
  • 아마가이 요시지
  • 히사시 히후미와
  • 모라이 사토시

기타 주요 기여자는 다음과 같습니다.

  • 안드레아스 로너
  • 댄 맥기
  • 데이비드 아렌트
  • 데이비드 스미드
  • 덱센 드브리즈
  • 드미트리 스미르노프
  • 에릭 샌딘
  • 세키바 지로
  • 마테오 프리고
  • 미타케 히토시
  • 이와이 다카시
  • 비아체슬라프 두베이코

「 」를 참조해 주세요.

레퍼런스

  1. ^ "NILFS Current Status".
  2. ^ "BTRFS and NILFS [LWN.net]".
  3. ^ "An article about NILFS". Retrieved 2008-07-28.
  4. ^ NILFS 버전1 : 개요
  5. ^ 는 다음 사항을 확인하지 않습니다.참조: nilfs2는 모든 데이터를 체크섬합니까?; 커널 4.4.38-v7+도 검증되지 않습니다.
  6. ^ NILFS2 파일 시스템을 포함한 Linux 커널 2.6.30 출시
  7. ^ NiLFS (2) 소스 커밋
  8. ^ Peter Chubb. "SD cards and filesystems for embedded systems". Linux.conf.au.
  9. ^ https://www.complang.tuwien.ac.at/Diplomarbeiten/rohner18.pdf[베어 URL PDF]

외부 링크