사용자가 데이터를 복구 할 수있는 스냅 샷 기능을 제공하는 파일 시스템은 무엇입니까?


8

나는 리눅스를 젊은이들에게 가르치는 프로젝트를 진행하고 있습니다. 홈 디렉토리에서 항목을 삭제하거나 손상시키는 경향이 있음을 알면 좋은 스냅 샷 옵션을 찾고 있습니다. 주요 스토리지 공급 업체에서 제공하는 고급 도구에 액세스 할 수 없으며 파일 시스템 수준에서 솔루션을 찾고자합니다.

btrfs에 대해 많이 읽었지만 경험이 거의 없습니다. LVM에 대한 경험이 있지만 스냅 샷 기능에 익숙하지 않습니다. 파일 시스템 또는 다른 시스템에 필요에 따라 또는 예약 된 스냅 샷을 생성 할 수있는 옵션이 있습니까? 그런 다음 각 홈 폴더의 .snapshot 폴더처럼 루트 없이이 스냅 샷을 항상 사용할 수 있습니까?

실제로이 솔루션을 사용하면 24 시간에서 48 시간 이내에 필요할 때 백업을 자체 복원 할 수 있습니다. 시스템에 대한 또 다른 백업 프로세스와 더 많은 글로벌 백업이 있습니다. 그러나 우리는 단지 '실수'를하는 학생들이이 과정을 사용하는 것을 원하지 않습니다.


LVM은 블록 장치 스냅 샷을 만듭니다. sync스냅 샷이 생성되기 직전에 파티션의 파일 시스템 (대부분의 최신 시스템)이 사용됩니다 . 스냅 샷에서 일부 데이터를 복구하려면 마운트해야합니다. 그러나 모든 스냅 샷에는 크기가 있습니다. 이 공간은 스냅 샷 상태와 현재 상태의 차이를 저장하는 데 사용되므로 스냅 샷을 백업으로 저장하는 것은 좋지 않습니다.
HUB

@Hub 피드백 주셔서 감사합니다. 아마도 '백업'은 잘못된 단어 일 것입니다. 이는 기본 백업 또는 스토리지 형식이 아니기 때문입니다. 파일 시스템 / 볼륨 관리자가 사용하는 차이점이나 모든 메커니즘에 공간이 필요하다는 것을 알고 있습니다. 그러나 목표는 임시 스냅 샷을 제공하여 실수를 한 학생들이 이전 정보를 빠르게 되돌리고 검색 할 수 있도록하는 것입니다. 교육에도 불구하고 변경하기 전에 자체 백업을 저장하는 모범 사례를 수행하지 않으므로이를 극복하도록 돕고 싶습니다.
그레이 레이스

1
나는 이런 종류의 경험이 없지만 다음과 같은 것이 필요하다고 생각합니다. en.wikipedia.org/wiki/Versioning_file_system LVM은 모든 파일을 마운트하고 복사하거나 변경 된 파일을 추적해야하기 때문에 적합하지 않습니다. 복원합니다. LVM에는 내부 "복원"이 없습니다.
HUB

답변:


6

Linux에서 btrfs는 파일 시스템 내 스냅 샷의 기본 옵션이지만, 일부 fsck 및 복구 도구 가 있지만 아직 안정적이지 않습니다 .

ZFS는 Solaris의 또 다른 옵션입니다. 이론적으로는 Linux에서 이것을 사용할 수 있지만, 대부분 사용자 영역에서만 구현되며 (커널 기반 구현에 대한 작업이 있지만) 표준 Linux 배포판에는 없습니다.

이 LVM 답변 에는 LVM 스냅 샷 사용의 장단점과 일부 btrfs / ZFS 링크가 있습니다. 일부 파일 시스템 (ext3 및 XFS)에서 LVM은 스냅 샷을 작성하기 전에 FS 정지를 처리하지만 LVM 스냅 샷에는 성능 문제가 있으며 여전히 버그가 있습니다.

LVM은 '사용자 데이터의 빠른 스냅 샷'응용 프로그램을위한 훌륭한 솔루션이라고 생각하지 않으며 btrfs / ZFS는 아직 2011 년 현재로서는 적합하지 않습니다.

대신 LVM을 사용하지 않고 파일 시스템을 사용하여 스냅 샷을 효율적으로 생성하는 사용자 공간 도구 인 rsnapshot 을 살펴볼 수 있습니다 . 파일이 변경되지 않은 경우 다른 스냅 샷 간 하드 링크 를 사용하여 rsync를 사용하고 스냅 샷을 연속적인 디렉토리에 저장하기 때문에 상당히 큰 파일 세트에서도 놀라 울 정도로 빠르게 실행할 수 있습니다. 백업에는 많이 사용되지만 이러한 종류의 사용자 데이터 스냅 샷 요구 사항에도 사용할 수 있으며, 약간의 설정만으로도 읽기 전용 NFS 또는 Samba를 사용하여 누구나 스냅 샷 파일을 복원 할 수 있습니다.이 하우투 섹션을 참조하십시오 . 파일 복원 . rsnapshot이 소스 디렉토리를 각 스냅 샷 디렉토리에 미러링하므로 표준 Linux 도구를 사용하여 파일을 복원 할 수 있습니다.

rsnapshot은 표준 기능을 사용하여 매우 유연하며, Perl로 작성되었으므로 주문형 스냅 샷을 제공하려는 경우 사용자 지정하기가 매우 쉽습니다. 파일 시스템 스냅 샷과 비교할 때의 주요 단점은 속도와 디스크 공간입니다. 파일 시스템 스냅 샷은 파일의 새 블록 만 복사하는 반면 변경되는 각 파일은 스냅 샷에 새로운 사본을 생성합니다.


후속 감사합니다. 월요일에 rsnapshot을 자세히 살펴 보겠습니다.
그레이 레이스

2

그냥 발견 위키 피 디아 페이지를 스냅 샷 기능 칼럼있다 - 단지 다른 사람들이이 알고 싶었다.


1

이러한 목적으로 LVM 스냅 샷을 사용하면 성능이 크게 저하되므로 (특히 여러 개의 "롤링"스냅 샷이 동시에 활성화되어있는 경우) 사용하지 않아야합니다. 불행히도 Linux에는 스냅 샷을 지원하는 성숙한 파일 시스템이 없습니다.

따라서 파일 서버에서 FreeBSD를 사용하는 것이 좋습니다. 기본 UFS2 파일 시스템 형식은 스냅 샷을 지원합니다. FreeBSD는 또한 스냅 샷과 다른 많은 고급 기능을 갖춘 적절한 ZFS 구현 (리눅스에서 찾아 볼 수없는 못생긴 것과는 달리)을 포함합니다. 같은 간단한 도구와 결합하면 는 하이 엔드 스토리지는 넷앱의 서비스 등의 업체 것과 매우 유사하다.

파일 서버로 작동하는 전용 서버가 하나 인 경우 FreeBSD 및 ZFS를 어플라이언스와 유사한 시스템에 패키지 로 제공하는 FreeNAS 를 살펴볼 수 있습니다 .


1
좋은 점, UFS2 또는 ZFS는 FreeBSD에서 사용할 수 있지만 Linux에서는 (ZFS) 사용할 수 없습니다. 그러나 원래의 질문은 '젊은이들에게 리눅스를 가르치는 것'을 언급하고 있으므로 별도의 FreeBSD NAS가 필요합니다. 또한 snapshot루트가 아닌 사용자가 연결된 FreeBSD 명령을 사용할 수 있는지 모르겠습니다 . 학생들은 Linux를 배우기 때문에 루트가 아닌 사용자가 스냅 샷을 작성하고 사용할 수있는 것이 가장 좋습니다. rsnapshot이 작업은 매우 간단하며 일부 설정 작업으로 각 사용자가 자신의 스냅 샷 트리를 소유 할 수 있습니다.
RichVel

나는 청소년들이 파일 서버에 액세스 할 수는 없지만 NFS로 마운트되거나 Linux를 배우는 Linux 워크 스테이션과 비슷하다고 가정합니다. 파일 서버의 아키텍처에 대해 알 필요가 없습니다. 링크 된 snapshot유틸리티에는 NetApp에서와 거의 동일하게 스냅 샷을 사용자가 사용할 수 있도록하는 기능이 있습니다. rsnapshot파일 시스템 코드에서 스냅 샷을 구현하는 더 나은 OS (이 목적으로)를 사용할 수있는 경우 수동으로 스냅 샷 모방을 작성 하기 위해 실행할 필요가 없습니다 . 적절한 스냅 샷은 원 자성입니다.
스냅

고려해야 할 실행 가능한 옵션입니다. NFS로 인한 파일 시스템 및 네트워크 오버 헤드가 걱정됩니다. '리눅스 학습'의 일환으로 학생들은 코드 컴파일, 데이터베이스 실행 및 기타 I / O 집중 프로세스를하게됩니다. 그들은이 모든 작업을 홈 디렉토리에서 수행 할 것입니다. 이것이 NFS를 통해 네트워크로 연결되어 있다면 성능 저하가 우려됩니다. 이는 다양한 정치적인 이유로 프로덕션 NAS를 사용할 수 없기 때문에 특히 홈브류 시스템과 관련이 있습니다. 글로벌 백업 시스템은 있지만 셀프 서비스 스냅 샷을 원하므로 스냅 샷 기능은 기본 성능에 보조적입니다.
그레이 레이스

NFS를 통한 데이터베이스는 약간 털이 있지만, 부하가 너무 높지 않고 최신 DBMS 버전을 사용하는 경우에는 분명히 작동 할 수 있습니다. serverfault.com/questions/30525/mysql-5-1-34-on-nfs-w- netapp . 또한 랩에서 FreeBSD와 Linux를 모두 실행해야합니다. 이는 더 유능한 학생들이 도움을 받거나 (새로운 것을 배울 수있는) 도움이된다면, 나 자신이 모든 일을하고 시간이 부족하면 나쁠 수 있습니다.
RichVel

"리눅스에서 발견 된 못생긴 kludge"와 관련하여 나는 이것이 zfs-fuse.net (실제로 그것을 구현하는 차선책처럼 들린다)을 의미한다고 가정 한다. 그러나 ZFS는 "정상적인"구현 인 zfsonlinux.org 에서도 사용할 수 있습니다 (라이센스 문제로 인해 커널에 직접 포함되지는 않음).
hlovdal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.