ReFS

 



1. 개요
2. 지원하는 운영체제
3. 주요 기능
3.1. 복원
3.1.1. 무결성 스트림
3.1.2. 저장소 공간 통합
3.1.3. 데이터 복구
3.1.4. 사전 오류 수정
3.2. 성능
3.2.1. 실시간 계층 최적화
3.2.2. VM 작업 가속화
3.2.3. 가변 클러스터 크기
4. 버전
5. NTFS와의 차이
5.1. 비교
6. 평가
7. 여담
8. 관련 문서


1. 개요


ReFS는 데이터 가용성을 극대화하고, 다양한 워크로드의 대규모 데이터 집합으로 효율적으로 확장하고, 손상 복구를 통해 데이터 무결성을 제공하도록 설계된 Microsoft의 최신 파일 시스템입니다. 미래의 혁신을 위한 토대를 마련하기 위한 것입니다.

- '''Microsoft 공식 사이트'''

마이크로소프트에서 오래된 파일 시스템NTFS를 대체하기 위해 개발 중인 차세대 파일 시스템. 최신 버전은 2021년 기준 3.5이다.
Windows Insider Program에서 테스트 중인 버전은 3.7까지 나온 상황.

2. 지원하는 운영체제


  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019
  • Windows 8.1[1] - 레지스트리를 수정해야 파티션을 생성할 수 있다.
  • Windows 10 TH1~RS2: 전 에디션 - 레지스트리를 수정해야 파티션을 생성할 수 있다.
  • Windows 10 RS3 이상: Pro for Workstation & Enterprise - 일단 Education, Home, Pro에서는 기존에 생성된 파티션만 사용 가능[2][3]하다.
  • 64bit Windows만 지원하며, 32bit Windows에서는 항상 RAW로 인식하여 사용할 수 없다.
  • 상위 버전[4]에서 생성된 ReFS는 하위 버전 Windows에서 RAW로 인식하는 경우가 있어, 혹시 다운그레이드를 하거나 다른 컴퓨터에 하드디스크를 장착 시 RAW로 나오면 당황하지 말고 해당 파티션이 생성된 Windows 이상의 Windows 시스템에 마운트하면 정상적으로 보인다.[5]
  • Windows 10 RS2~RS5에서 생성한 ReFS 파티션은 Windows 10 19H1 이상에서는 읽을 수 없으며 무한로딩 현상이 발생한다.
  • 레지스트리를 수정하여 ReFS로도 포맷할 수 있게 만든 이후라면 윈도 화면에서 윈도 빌드를 업그레이드 할 수는 없다. USB 등으로 재부팅하여 윈도를 설치할 파티션NTFS 등으로 포맷하여야만 신형 윈도 빌드를 설치할 수 있다. 아니면 레지스트리를 고쳐 다시 ReFS를 비활성화 시키면 된다. 물론 이래도 ReFS 파티션의 데이터를 읽고 쓰는데 문제는 없다.

3. 주요 기능


마이크로소프트 공식 사이트에서 가져온 정보이다.

3.1. 복원



3.1.1. 무결성 스트림


메타데이터를 저장하여 실시간으로 파일의 무결성을 확인한다.

3.1.2. 저장소 공간 통합



3.1.3. 데이터 복구


메타 데이터 및 파일 데이터를 실시간으로 체크섬하는 기능으로 오류가 발견되었을 경우 저장소 공간에 보관된 대체 데이터를 사용하여 데이터를 자동으로 복구하는 기능을 제공한다.

3.1.4. 사전 오류 수정


이전 NTFS는 파일 시스템에 오류가 생겼을 경우 Chkdsk으로 직접검사하거나 재부팅 중 자동 검사를 했었으나 ReFS는 그럴 필요가 없이 데이터 무결성 체크기능 스크러버가 작동한다. 스크러버는 볼륨을 주기적으로 검사하여 잠재적인 손상을 식별한 다음 해당 손상 데이터에 대한 복구를 사전에 트리거링을 한다.

3.2. 성능



3.2.1. 실시간 계층 최적화



3.2.2. VM 작업 가속화


가상 이미지 만드는 속도가 매우 빠르다. 그러나 생성만 빠르다.

3.2.3. 가변 클러스터 크기


4K, 64K 클러스터 크기를 지원한다.

3.2.4. 하드링크 지원


3.5버전부터 하드링크를 지원한다.

4. 버전




숫자
X
기본
지원
자동으로 버전 업그레이드[6]
미지원
버전
1.2
3.2
3.3
3.4~RS5
3.419H1~
Windows 8.1

X
X
X
X
Windows 10
v1507(TH1)~1607(RS1)

X
X
X
X
v1703(RS2)


X
X
X
v1709(RS3)

3.3

X
X
v1803(RS4)~1809(RS5)

3.4
3.4


v1903(19H1)~

X[A]
X[A]
X[A]

fsutil fsinfo refsinfo <driveletter> 명령어로 확인할 수 있다.#

5. NTFS와의 차이



  • 그리고 ReFS로 전환을 계획하고 있다면 꼭 명심해야 하는 것이 있다. NAS나 네트워크 공유등을 할때 특정 파일 (특히 Flac)을 나스나 네트워크에 보관해서 다시 ReFS 파티션쪽으로 복사하면 0x80070299에러가 나는 경우가 있다. 이 경우 NTFS에서는 정상적으로 복사되지만 ReFS에서는 에러가 나며 설령 NTFS로 복사성공후 이곳에 있던 파일을 다시 ReFS로 복사하면 복사가 되지 않는다. 외국 MS 포럼에서도 자주 거론되는 문제다. [7] 그렇기에 ReFS로 전환하기전 충분한 테스트를 거친후 자신의 환경에 적합한 파티션인지 검증 후 이전하는 것을 추천한다.
  • 비교적 ReFS는 최근에 나온 파일 시스템이기 때문에 백업 소프트웨어와 호환성이 나쁘고 지원되는 종류도 적다. NTFS처럼 따로 파일을 빼서 백업/복구가 불가능하며 백업도 섹터별 백업만 지원하기에 용량이 커진다. 그리고 당연히 증분/차등은 안되니 이점을 꼭 고려해야 한다. 또 하나 NTFS와 다르게 메타데이터를 저장하는 추가 용량이 발생한다. 하드 용량에 따라 다르지만 10테라 기준으로 67기가 메타데이터 공간으로 빠지게되니 참고하자.
  • NTFS와 다른 특징으로 ReFS는 상시 오류검출, 수정을 진행하기 때문에 오류검사가 필요없고 chkdsk 같은 오류검사 툴도 지원 하지 않는다. 하지만 HDD내 배드섹터 발생 혹은 과도한 쓰기 작업으로 때때로 복구 허용치를 초과하는 오류가 발생하는 경우가 있는데 NTFS에서는 해당 폴더나 파일이 읽히지 않는 정도로 그친다면 ReFS는 볼륨이 RAW으로 바뀌고 일반적인 방법으로는 더 이상 액세스를 할 수 없게 된다. 이때는 무조건 별도 복구 프로그램을 통해 전체 데이터 복구를 진행해야 하는 번거로움이 있으니 정말 중요한 자료만 모아서 보관하는게 아니라면 그냥 NTFS를 쓰도록 하자. 다만 복구 진행시 오류가 발생한 부분 외에는 모두 복구가 가능할 정도로 복구율은 아주 높다.

5.1. 비교


종류
NTFS
ReFS
비고
최대 경로 이름 길이
유니코드 문자 32k
유니코드 문자 32k

최대 파일 크기
8PB
16EB

최대 볼륨 크기
8PB
1YB

BitLocker 암호화



CSV 지원



소프트 링크



장애 조치 클러스터 지원



엑세스 제어 목록



USN 저널



변경 알림



접합 지점



탑제 지점



재분석 지점



볼륨 스넵숏



파일 ID



OPlock



스파스 파일



명명된 스트림



블록 복제
아니요


스파스 VDL
아니요


실시간 계층 최적화
아니요

저장소 공간 다이렉트에서만
파일 시스템 압축

아니요

파일 시스템 암호화

아니요

데이터 중복 제거

[8]

트랜잭션

아니요

하드링크

아니요

개체 ID

아니요

짧은 이름

아니요

확장 특성

아니요

디스크 할당량

아니요

부팅가능

아니요

이동식 미디어에서 지원

아니요[9]

NTFS 저장소 계층

아니요

NT 3.x

아니요
NTFS 1.0/1.1버전
NT 4.x

아니요
NTFS 1.2버전
NT 5.x

아니요
NTFS 3.0/3.1버전
NT 6.0/6.1

아니요

NT 6.2


서버군만 지원[10]
NT 6.3


서버군만 지원
NT 10.0


RS3 이전 버전까지 Pro와 서버군 지원

6. 평가


밴치마크를 보면 처음 등장한 초기형부터도 거의 모든면에서 NTFS를 압도하였다.#
그러나 단점으로 실재 체감성능이 그리 크지않고 Windows Server 2012 R2/Windows 8.1 부터 사용 가능하기 때문에 Windows 8/Windows Server 2008 R2 이하 OS는 사용 불가능하다.[11] 그리고 기능 면에서도 NTFS가 지원 되는게 더 많다.
C드라이브를 제외한[12] 하드 디스크/SSD에만 사용 가능하며, '''USB 메모리/SD 카드는 지원하지 않는다.'''[13] OneDrive나 Dropbox 같은 클라우드 동기화 서비스도 ReFS를 지원하지 않고 있다. 그리고 SSD에서 ReFS로 포멧을 할 때 매우 늦게 포멧이 된다. HDD는 금방되지만 SSD는 몇분정도 걸리는데 아마도 SSD에 맞게 변환을 시키는 것이 아닌가 한다.
가장 중요한 건 부팅시스템에 적용하지 않았다는 것이다. 그건 즉 ReFS가 아직도 시스템 부팅에 적용될 만큼 안전성과 기능을 확보하지 못했다는 것도 있으며 특히 NTFS의 기능이 많이 빠지고 업데이트할때 조금씩 추가되는 것을 보면 아직 많이 멀었다는 것이 일반적인 의견이다. 여러 파티션 소프트웨어에서도 호환이 아직도 안이루어질 만큼 윈도우 정기 대규모 업데이트에 맞춰 업데이트 되어 이전 버전과 호환이 어려울[14] 만큼 변화가 있고 더욱이 일반 버전 윈도우에서는 생성도 불가하다보니 대중화가 점점 늦어지는 문제도 있다. 애초에 이미 상용버전이면서도 상용버전으로 나온 것 같지 않은 NTFS에 비해 부족한 기능을 잦은 업데이트로 추가하는 것은 서버등 보수쪽에서도 적용이 매우꺼려하는 부분이기도 하다.
또한 정식 버전 출시가 자꾸 지연되는 것도 대형 서버측 입장에서 도입을 꺼리는 이유이기도 하다. 물론 MS 공식 홈페이지에서는 이런 걸 잘 알고 있고, 데이터의 안정성을 최우선으로 고려한다고는 하지만, 아직 '베타'버전이라 잠재적인 문제가 있을 수 있는 파일 시스템을 좋아할 만한 서버 관리자는 많이 없을 것이다.
가장 큰 문제는 버전 납치 현상. 윈도우를 업데이트하여 ReFS에 중요한 버전 업데이트가 발생하면, (설령 Windows Insider Program에서 개발 중인 버전이라도) 엑세스 가능한 ReFS 드라이브를 무조건 해당 윈도우의 버전으로 업데이트하기 때문에, 윈도우 버전을 낮출 경우 엑세스가 불가능해 포맷 안 된 드라이브로 나오는 문제가 생길 수 있다.
아니, 상식적으로 신뢰성을 중시하는 기업용 파일 시스템이라면 저런 문제가 없어야(버전 업데이트를 선택적으로 해놔야) 하는 게 맞지 않은가, 설령 저거 자체를 해결을 못하겠으면 포맷 안 된 드라이브 어쩌고는 안 나와야(ReFS 3.7이니 무슨 버전 이상이 필요하다......까지는 아니더라도 ReFS 상위 버전이니 현재 윈도우 버전에서 엑세스 불가 정도의 안내는 해주는 게) 정상이지, 저 정도 문제조차 아주 최소한의 안내를 추가하는 정도의 개선도 못하고 있는 파일 시스템을 누가 중요한 용도에 쓴단 말인가. 진즉 ReFS를 도입한 얼리 어답터 개인들조차 저 문제 때문에 결국 포기하고 불쏘시개 용으로만 쓰거나 아예 포기하는 경우가 대부분인 게 현실이다.

7. 여담


  • 초기 상태에서도 기본적으로 사용되는 용량이 큰 편이다.#

8. 관련 문서



[1] Windows 8은 공식적으로 지원하지 않기 때문에 강제로 활성화해야 한다.[2] RS3부터는 편법이 막혔다. 다만 이는 ReFS 생성이 막힌 것이지, 기존에 생성된 ReFS 파티션은 모든 윈도우 10에서 사용 가능하다. Pro for Workstation 또는 Enterprise 제품 키를 입력하면 ReFS 파티션을 생성할 수 있다.[3] 아무래도 기존 라이센스의 OEM 공급 조절에 실패하여, OEM 라이센스가 그냥 마구잡이로 초특급 덤핑가에 풀려버린 바람에 그걸 무마하기 위해 라이센스를 리뉴얼하려는 것으로 보인다. 아무래도 엔터프라이즈 라이센스가 10달러 미만으로 풀려버린 상황인지라... 또한 Workstation 버전은 아직 복돌판으로 뚫리지도 않았기에 지나치게 복돌 사용자가 늘어나서 생기는 타격을 줄이는 효과도 있을 것이다. 물론, 마이크로소프트가 일반 사용자 대상으로 애매모호하게 라이센스 정책을 펼치고 있기 때문에 회색 경로는 여전히 존재한다.[4] 같은 Windows 10이라도 빌드 넘버에 따라서 읽지 못할 수 있다. Ex) RS4에서 생성된 REFS 파티션을 RS1에서 읽지 못하는 경우[5] 이는 ReFS가 버전별로 나누어져 있어서 그렇다. 가령 최신 버전 ReFS는 3.3 버전으로 Windows 10 RS3 이상은 읽을 수 있으나 초기 Windows 10은 1.2 버전을 쓰기 때문에 읽을 수 없다.[6] 쓰기 가능한 경우[A] A B C 무한로딩 현상이 발생한다.[7] MS포럼에서는 이 부분을 명령어로 파일 하나하나 씩 이름을 입력하여 해결하는 방법이 있으나 수많은 파일을 일일이 하기엔 너무 시간이 많이 걸린다. 또는 NAS에서 파일을 압축후 ReFS에 복사한 다음 압축풀면 된다.[8] ReFS 3.2버전 즉 Windows Server 2016 버전 1709부터 정식 지원[9] 다만 하드디스크로 인식되면 포맷과 사용 모두 가능하다.[10] Windows 8에서는 인식 불가능[11] 명령어를 통해 강제로 활성화 할 경우 윈도우 8부터는 사용가능하다.[12] 부팅을 지원하지 않는다. 여기서 나오는 미묘한 장점은 Vista 이후의 운영체제는 시스템 예약 파티션을 할당하는데, ReFS는 부팅용으로 사용할 수 없기 때문에 시스템 예약 파티션도 할당되지 않아서 원하지 않는 드라이브에 시스템 예약 파티션이 할당되는 일을 의도적으로 막을 수 있다는 것.[13] 단 이동식 디스크가 아닌, 드라이브로 마운트 되는 USB는 가능하기 때문에 드라이버를 수정해서 포맷은 가능하나 포맷 이후에도 이동식 디스크로 인식되면 아예 인식되지 않는다.[14] 상술했던 구형 버전 윈도우에선 읽지를 못한다.