WinBtrfs v1.0.1 이동

9411 단어 LinuxWindowsbtrfs

입문


Linux 파일 시스템 중 하나는 btrfs입니다.Windows에서 btrfs를 처리할 수 있는 WinBtrfs가 2017/9에 버전1을 발표했다.이것은 Linux의 btrfs와 완전히 독립적으로 이루어진 것으로 로그 제출만 보면 거의 전부 한 사람이 만든 것이다.
github의 자술 파일을 읽으면 btrfs의 대부분 기능이 실현됩니다.하지만 README 외에는 다른 문서가 없고 이동하는 사람이 보이지 않으니 실제로 동작을 확인해 보세요.

주의사항


100% 무보증이죠.데이터를 뛰어넘을 수 있는 사람만 할 수 있잖아.

환경 확인

  • Windows 10 Home Edition
  • ArchLinux (kernel 4.15.6, btrfs-progs 4.15.1)
  • btrfs 정보


    linux에 관한 btrfs는 공식wiki, 수첩, ArchWiki를 참조하십시오.

    설치


    README가 쓴 바와 같이github에서 버전 1.0.1의 zip을 다운로드합니다. 그 중의 btrfs입니다.inf를 마우스 오른쪽 단추로 클릭하고 설치를 선택하십시오.

    사용 방법


    디스크 형식 외에 GUI 환경에서도 사용할 수 있습니다.이번에는 물리 디스크가 아니라 VHD에서 btrfs 파일 시스템을 만들어서 동작을 확인합니다.

    사전 준비(VHD 생성)


    시작 메뉴에서 Windows 아이콘을 마우스 오른쪽 버튼으로 클릭하여 디스크 관리를 엽니다.그런 다음 작업(A) → VHD 만들기를 클릭하여 대화 상자에 따라 적절한 크기의 이미지를 만듭니다.
    VHD 생성을 완료한 후 계속해서 해당 지역에 파티션을 생성합니다.이번에는 두 개의 구역을 준비한다.

    형식


    GUI 환경에서 포맷할 수 없으므로 CLI에서 수행됩니다.관리자로 PowerShell을 연 후
    format /fs:btrfs E: (E:の部分はフォーマットしたいドライブ名)
    
    에서 설명한 대로 해당 매개변수의 값을 수정합니다.다운로드한 폴더의 mkbtrfs를 사용하거나
    mkbtrfs E:
    
    의 양곡 탄젠트 값입니다.mkbtrfs를 사용할 때 섹터 크기 변경 등을 선택할 수 있습니다.
    그리고 linux의 mkfs.btrfs는 mkfs에서 다중 장치를 지정할 수 있지만 WinBtrfs는 할 수 없는 것 같습니다.

    디스크 구성 파일 / 용량 확인


    형식을 제외한 모든 작업은 GUI 환경에서 수행할 수 있습니다.폴더에서 포맷된 디스크를 선택하고 속성을 열면 "Btrfs"탭을 볼 수 있습니다.

    프로젝트의 "usage 보이기"를 누르면 btrfs-progs의 "filesystem usage"와 대응하는 정보를 표시합니다. 이 도구는 linux의 btrfs 사용자 도구입니다.

    linux의 mkfs.btrfs에서 단일 장치를 지정하고 기본 형식을 설정할 때와 마찬가지로 데이터는single,metadata/system은dup로 포맷됩니다.

    장치 추가


    그런 다음 Devices 를 클릭하여 파일 시스템을 구성하는 장치 목록을 표시합니다.

    디바이스를 추가하려면 디바이스 추가 를 선택하고 추가할 디스크 (이번에는 VHD의 다른 파티션 선택) 를 선택합니다.

    balance/convert


    디스크가 두 개 있으므로 구성 파일을 RAID 0/1로 변경합니다.
    균형을 선택하면 다음과 같은 대화상자가 표시됩니다.

    데이터를 선택하고 옵션 대화상자에서 Profiles에 대해 Single을 선택하고 convert에서 RAID0을 선택합니다.

    마찬가지로 메타데이터/시스템의 경우 Dup/RAID1을 선택하고 OK를 누르면 balance를 시작합니다.
    구성 파일이 변경되었는지 확인하려면 완료 후 다시 표시 를 선택합니다.

    scrub


    "Scrub"를 선택하여 파일 시스템의 메타데이터/데이터가 손상되었는지 확인하고 가능하다면 복구합니다.

    subvolume 사용


    subvolume 제작


    새 폴더를 만드는 느낌을 오른쪽 단추로 눌러서 새로운subvolume를 만들 수 있습니다.

    subvolume 삭제


    일반 파일이나 폴더처럼 삭제할 수 있으며 기본적으로 휴지통에 저장됩니다.

    제품 품질 확인


    "폴더"또는 "파일"을 오른쪽 단추로 누르면 "btrfsproperties"옵션 카드가 표시됩니다.여기에서 읽기 전용 또는 투명 압축을 설정할 수 있습니다.

    디스크의 크기를 표시하려면 [세부 정보]를 선택하십시오.투명 압축을 사용하면 압축된 크기를 알 수 있습니다.

    스냅샷 생성


    subvolume를 오른쪽 단추로 클릭하고 "스냅샷 만들기"를 선택하면 같은 폴더에 스냅샷을 만들 수 있습니다.

    send/receive


    send를 실행하려면subvolume는read only이어야 합니다.방금 속성의 화면을 열고 "Readonly Subvolume"을 선택합니다.그런 다음 마우스 오른쪽 버튼으로 클릭한 메뉴에서 "Send subvolume"을 선택합니다.표시되는 대화상자에서sendstream의 저장 위치와parent/clonesubvolume를 선택하고'Write'를 누르면sendstream이 생성됩니다.

    흐르는 receive를 진행하려면 폴더가 좋아하는 곳을 오른쪽 단추로 눌러서 "receive Subvolume"에서sendstream을 선택하십시오.이름/내용은send와 같은subvolume를 만듭니다.

    reflink copy


    파일을 복사하여 붙여넣을 때 마우스 오른쪽 버튼으로 Reflink Paste를 선택합니다.

    Linux로 Windows 포맷 FS 마운트


    다음은 WinBtrfs의 mkbtrfs로 포맷된 파일 시스템이 Linux에서 읽을 수 있는지 확인합니다.
    먼저 디스크 관리에서 VHD를 분리합니다.그런 다음 가상 시스템에 적절한 Linux를 설치하여 생성된 VHD를 스토리지에 연결하고 시작합니다.이번에는 ArchLinux(kernel 4.15.6/btrfs-progs 4.15.1)를 사용합니다.
    아래와 같이 순조롭게 불러올 수 있습니다. 프로필과subvolume의 일람표를 확인했습니다.
    $ sudo mount /dev/sdb2 /mnt
    
    $ sudo btrfs filesystem usage /mnt
    Overall:
        Device size:          24.87GiB
        Device allocated:          2.56GiB
        Device unallocated:       22.31GiB
        Device missing:          0.00B
        Used:              1.16MiB
        Free (estimated):         24.31GiB  (min: 13.15GiB)
        Data ratio:               1.00
        Metadata ratio:           2.00
        Global reserve:       16.00MiB  (used: 0.00B)
    
    Data,RAID0: Size:2.00GiB, Used:832.00KiB
       /dev/sdb2       1.00GiB
       /dev/sdb3       1.00GiB
    
    Metadata,RAID1: Size:256.00MiB, Used:160.00KiB
       /dev/sdb2     256.00MiB
       /dev/sdb3     256.00MiB
    
    System,RAID1: Size:32.00MiB, Used:16.00KiB
       /dev/sdb2      32.00MiB
       /dev/sdb3      32.00MiB
    
    Unallocated:
       /dev/sdb2       8.48GiB
       /dev/sdb3      13.83GiB
    
    $ sudo btrfs subvolume list /mnt
    ID 265 gen 33 top level 5 path New subvolume
    ID 266 gen 21 top level 5 path Snapshot of New subvolume (2018-03-03)
    ID 268 gen 29 top level 5 path receive/Snapshot of New subvolume (2018-03-03)
    

    Windows에서 Linux 형식의 FS 마운트


    이전과 반대로 linux의 mkfs.나도 btrfs로 포맷된 파일 시스템을 Windows에서 식별할 수 있는지 시험해 보았지만 순조롭게 식별되었다.

    문제점


    지금까지는 괜찮았지만 Windows에서 Mount⇔ Linux를 통해 몇 차례 Mount를 교환하면 높은 확률로 Windows에서 VHD를 연결할 수 없어 다운될 수 있다.원인은 불분명하지만 물리 디스크를 사용할 때 문제가 없을 수 있습니다.

    기능 비교


    대충 보면 WinBtrfs와 linux의 btrfs는 기능적으로 다음과 같다.
    winbtrfs에서 지원하지 않는 기능:
  • defrag
  • qgroup
  • seed device
  • device replace
  • zstd compression
  • 사용자 도구의 기능은 btrfs-progs와 다릅니다.
  • 일반 사용자도subvolume
  • 를 삭제할 수 있다
  • subvolume에subvolume가 포함되어도 삭제 가능
  • 압축된 파일 크기 확인
  • sublist/show 또는 각종 오프라인 도구에 대응하는 명령이 없음
  • 비록 이렇게 말하지만, 나는 기능 방면에서 이미 상당히 많은 부분을 실현했다고 생각한다.

    끝내다


    안정성/성능이 측정되지 않아 실용성을 감당할 수 있을지 모르겠지만 솔직히 이 정도로 움직일 줄은 몰랐어요.조작에 관한 문서는 거의 없지만 linux에서 조작하는 것을 아는 사람이라면 아무런 문제 없이 GUI를 조작할 수 있습니다.또한 CLI 의 작동 방법은 README 에 기록되어 있습니다.그러나 모든 명령을 실행할 수 없고 오류가 발생했는지 알 수 없기 때문에 CLI만 사용하는 것은 매우 어렵다.
    어떤 이유로 Windows에 btrfs 파일 시스템을 설치하여 내용을 확인하고 싶다면 시도해 보세요.
    https://github.com/maharmstone/btrfs/  
    https://btrfs.wiki.kernel.org/index.php/Main_Page  
    https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs  
    https://wiki.archlinux.jp/index.php/Btrfs  

    좋은 웹페이지 즐겨찾기