소프트 업데이트
Soft updates소프트 업데이트는 크래시 또는 정전 발생 시 파일 시스템의 메타데이터 무결성을 유지하기 위한 접근 방식입니다.소프트 업데이트는 파일 시스템 메타 데이터에 대한 업데이트 간의 종속성을 추적하고 적용함으로써 작동합니다.소프트 업데이트는 파일 시스템 저널링에서 일반적으로 사용되는 접근방식의 대체 수단입니다.
조작방법
소프트 업데이트에서는 디스크상의 파일 시스템에 일관성이 없는 비동기 메타데이터 쓰기만 허용됩니다.또한 지금까지 발생하는 불일치는 스토리지 공간 누수(파일이 사용하지 않을 때 할당된 공간)뿐입니다.메타데이터 블록을 쓸 때 잠재적으로 플러시되지 않거나 부분적으로 롤백된 다른 블록에 의존하는 메타데이터 블록의 모든 부분을 일시적으로 "롤백"하여 순서대로 동기 메타데이터 쓰기를 수행할 필요가 없습니다.
실제로 블록은 언제든지 플래시될 수 있으며 소프트 업데이트 코드는 디스크에 항상 일관된 버전의 블록을 제공합니다(어떤 블록이 물리적으로 플래시되었는지 알고 있는 한).복구는 파일 시스템을 다음 번에 마운트할 때 백그라운드 워크를 실행하여 연결이 끊긴 할당된 공간을 모두 수집하면 됩니다.또한 파일 시스템은 모든 메타데이터 블록 또는 모든 레코드를 플러시하지 않고도 특정 파일을 선택적으로 플러시할 수 있습니다.
디스크에 쓰기 전에 메타데이터 종속성 그래프에서 연결이 해제된 데이터는 디스크에 쓸 필요가 없습니다.예를 들어, 파일을 생성하여 짧은 시간 동안 사용한 후 삭제하면 디스크 활동이 전혀 발생하지 않을 수 있습니다.
소프트 업데이트에서는 메타데이터를 비휘발성 스토리지에 정기적으로 플러시해야 합니다.
실장
FreeBSD는 UFS 파일[1] 시스템용 소프트 업데이트를 지원하며 수년 전부터 설치 중에 기본적으로 활성화되어 있습니다.소프트 업데이트는 파일 시스템 생성 중에 [2]명령어 옵션을 사용하여 수동으로 활성화 또는 비활성화됩니다.명령어 [3]옵션을 사용하면 언제든지 비활성화 또는 활성화할 수 있습니다.FreeBSD 9.0은 크래시 [4][5]후 가비지 수집의 배경을 제거하기 위해 소프트 업데이트에 저널링 보충 기능을 도입했습니다.그러나 소프트 업데이트가 있는 파일 시스템에서 저널링을 활성화하면 파일 시스템 [6]스냅샷을 만드는 기능이 비활성화됩니다.이로 인해 파일 시스템이 -L 옵션으로 덤프될 때 문제가 발생할 수 있습니다.이는 덤프 중에 파일 시스템의 일관성을 보장하기 위해 스냅샷이 사용되기 때문입니다.
OpenBSD는 FFS 파일시스템용 소프트 업데이트를 지원합니다.파일 시스템이 마운트되면 mount 명령에 [7]대한 옵션을 실행하여 소프트 업데이트를 사용할 수 있습니다.
NetBSD는 6.0 릴리스(2012)까지 소프트 업데이트를 지원했지만 그 시점에서는 WAPBL [8]저널링이 권장되지 않았습니다.
저널링 파일 시스템과의 비교
저널링도 소프트 업데이트도 데이터가 손실되지 않는다는 보장은 없지만 파일 시스템의 일관성은 유지됩니다.
소프트 업데이트가 있는 파일 시스템의 장점은 로그 재생이 없기 때문에 크래시 직후에 마운트할 수 있다는 것입니다.
메모들
- Ganger, Gregory R.; Patt, Yale N. (Nov 1994). "Metadata Update Performance in File Systems" (PDF). Proceedings of the USENIX Symposium on Operating Systems Design and Implementation (OSDI): 49–60.
- McKusick, Marshall Kirk (2002). "Running "fsck" in the Background". Proceedings of the BSDCon 2002. pp. 55–64.
- McKusick, Marshall Kirk; Ganger, Gregory R. (1999). "Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem". USENIX Annual Technical Conference. pp. 1–18.
- Margo I. Seltzer; et al. (2000). "Journaling Versus Soft Updates: Asynchronous Meta-data Protection in File Systems". USENIX Annual Technical Conference. pp. 71–84.
외부 링크
- 마셜 커크 맥커식:소프트 업데이트, 스냅샷 및 백그라운드 Fsck에 관한 정보
레퍼런스
- ^ McKusick, Marshall Kirk; Neville-Neil, George V. (2005). "8.6". The Design and Implementation of the FreeBSD Operating System. Addison-Wesley. ISBN 978-0321968975.
- ^ "newfs(8)". FreeBSD. 2017-07-07. Retrieved 2019-02-02.
- ^ "tunefs(8)". FreeBSD. 2016-04-19. Retrieved 2019-02-02.
- ^ "FreeBSD 9.0-RELEASE Release Notes". FreeBSD. 2012-01-12. Retrieved 2019-02-02.
- ^ McKusick, Marshall Kirk; Roberson, Jeff (2010-01-23). "Journaled Soft-updates" (PDF). Retrieved 2019-02-02.
- ^ "Bug 195485 - [ufs] mksnap_ffs(8) cannot create snapshot with journaled soft updates enabled". FreeBSD. 2014-11-28. Retrieved 2019-02-02.
- ^ "mount(8)". OpenBSD. 2018-01-18. Retrieved 2019-02-02.
- ^ "Announcing NetBSD 6.0". NetBSD. 2012-10-17. Retrieved 2019-02-02.