.
MooseFS은 하나의 자원 & NBSP 사용자에게 볼 수 있습니다 여러 개의 물리적 서버를 통해 데이터를 확산 내결함성, 네트워크 분산 파일 시스템이며 다른 유닉스 모두 파일 시스템과 같은 표준 파일 작업 MooseFS 행위의 경우 :
& NBSP; * 계층 구조 (디렉토리 트리)
& NBSP; * 저장 POSIX 파일 특성 (권한, 마지막 액세스 및 수정 시간)
& NBSP; *이 특수 파일 (블록 및 문자 장치, 파이프 및 소켓) 지원
& NBSP; * 심볼릭 링크와 하드 링크 (MooseFS에서 동일한 데이터를 참조 파일의 다른 이름) (파일 이름은 반드시 MooseFS에 파일을 대상으로 가리키는)
& NBSP * 파일 시스템에 대한 액세스는 IP 주소 및 / 또는 암호에 기초하여 제한 될 수있다
MooseFS의 특징적인 기능은 다음과 같습니다
& NBSP; * 높은 신뢰성 (데이터의 여러 사본이 별도의 컴퓨터에서 저장 될 수 있습니다)
& NBSP; * 용량은 새 컴퓨터 / 디스크를 부착하여 동적으로 확장 가능
& NBSP; * 삭제 된 파일 구성 가능한 시간 (파일 시스템 수준 "쓰레기통")에 대한 유지됩니다
& NBSP; * 파일의 일관된 스냅 샷, 파일이 기록되는 동안에도 / 액세스
MooseFS 네 가지 구성 요소로 이루어져 있습니다 :
& NBSP; * 관리 서버 (마스터 서버) 중 & ndash; 단일 시스템, 전체 파일 시스템을 관리하는 모든 파일에 대한 메타 데이터를 저장 (크기에 대한 정보, 속성 및 비 일반 파일, 즉, 디렉토리, 소켓, 파이프 및 장치에 대한 모든 정보를 포함한 파일 위치 (들)).
& NBSP * 데이터 서버 (청크 서버) - 범용 서버 파일 데이터를 저장하고 (소정의 파일이 하나 이상의 카피에서 존재하는 것으로 예상되는 경우)끼리를 동기화하는 임의의 수.
& NBSP; * 메타 데이터 백업 서버 (들) (metalogger 서버) - 서버의 수, 모두의 메타 데이터를 저장의 변경 로그 및 정기적으로 주요 메타 데이터 파일을 다운로드; 관리 서버의 역할에 이러한 서버를 촉진하도록, 주 마스터 작동이 중지 할 때.
& NBSP * 액세스 클라이언트 컴퓨터 (마운트) MooseFS에서 파일 - 관리 서버와 통신 mfsmount 프로세스를 사용하여 기계의 임의의 수 (수신하고 파일 메타 데이터를 수정) 및 chunkservers와 (실제 파일 데이터를 교환하기 위해).
mfsmount이 작업 FUSE 구현과 모든 운영 체제에서 사용할 수 MooseFS 있도록 (파일 시스템 사용자 공간에서) FUSE 메커니즘을 기반으로 (리눅스, FreeBSD의, 맥 OS X 등)
메타 데이터는 관리 서버의 메모리에 저장하고 동시에 디스크에 저장 (주기적으로 갱신 된 이진 파일로 즉시 증분 기록을 갱신)된다. 주 이진 파일뿐만 아니라 로그 (있는 경우) metaloggers에 동기화됩니다.
파일 데이터는 64MiB 각의 최대 조각 (덩어리)으로 구분된다. 각 청크 데이터 서버 (chunkservers)에 선택한 디스크에있는 파일 자체입니다.
높은 신뢰성은 주어진 파일에 설정 (유지 매수) "목표"값을 실현하는 것이 적절한만큼 다른 데이터 서버를 구성함으로써 달성된다.
어떻게 시스템이 작동
MooseFS을 탑재 된 클라이언트 컴퓨터에서 모든 파일 조작 정확히 그들은 다른 파일 시스템과 같이 될 것 같다. 오퍼레이팅 시스템 커널은 mfsmount 프로세스와 통신 FUSE 모듈, 모든 파일 작업을 전송한다. mfsmount 프로세스 관리 서버와 데이터 서버 (청크 서버)와 네트워크를 통해 후속 적으로 통신한다. 전체 프로세스는 사용자에게 완전히 투명하다.
mfsmount는 관리 서버에 파일 메타 데이터에 대한 조작이 요구 될 때마다 통신한다 :
& NBSP; * 파일을 생성
& NBSP; * 파일을 삭제
& NBSP; * 독서 디렉토리
& NBSP; * 읽기 및 속성 변경
& NBSP; * 파일 크기를 변경
& NBSP * 데이터의 읽고 쓰기의 시작에서
& NBSP; * MFSMETA에 특수 파일에 대한 액세스에
mfsmount은 관련 파일의 청크를 저장하는 데이터 서버 (청크 서버)에 직접 연결을 사용한다. 파일을 작성할 때, 쓰기 과정이 끝나면 관리 서버는 파일의 길이와 최종 수정 시간을 업데이트 mfsmount에서 정보를 수신한다.
또, 데이터 서버 (청크 서버)는 다른 시스템에 파일의 사본을 적절한 수를 달성하기 위하여 데이터를 복제하기 위해 서로 통신한다.
& NBSP;
결함 허용
& NBSP;
행정 명령은 시스템 관리자가 "목표", 또는 디렉토리 별 또는 파일 수준에서 유지 될 필요가있는 카피의 수를 지정할 수 있습니다. 하나 이상의 데이터 서버를 둘 이상으로 목표를 설정하고있는 것은 장애 허용을 제공 할 것이다. 파일 데이터 (하나 이상의 데이터 서버) 매수에 저장되어있는 경우, 시스템은 고장 또는 단일 데이터 서버의 임시 네트워크 장애에 대해 내성이다.
이것은 물론 파일 서버 만이 시스템에 배포되는 데이터 개수에 관계없이 하나의 데이터 서버에 존재하는 경우에 1로 설정 "목표"인 파일을 참조하지 않는다.
예외적으로 중요한 파일은 목표는 이러한 파일을 한 번에 하나 이상의 서버의 고장을 방지 할 수 있도록 두 가지보다 더 높은 숫자로 설정해야 할 수도 있습니다.
일반적으로 사용 가능한 복사본의 수에 대한 설정을 액세스 또는 아웃 - 오브 - 오더 서버의 예상 수보다 하나이어야한다.
하나의 데이터 서버는 네트워크 고장이나 단선이 발생하는 경우, 다른 데이터 파일은 서버로부터 계속 액세스 적어도 2 개의 카피를 한 것으로 그 안에 저장된다. 이제 데이터는 '목표하에'다시 원하는 매수를 제공하는 또 다른 접근 가능 데이터 서버에 복제 될 것이다.
그것은 가능한 서버의 수가 주어진 파일에 설정된 "목표"보다 낮 으면, 원하는 매수가 유지되지 않을 수 있다는 것을 유의해야한다. 현재 설정된 목표로하고 데이터 서버에서 용량의 100 %에 도달 한 경우, 서버의 동일한 번호가 있으면 마찬가지로 인한 다른 목표 임계 값 이하 지금 파일의 사본을 보유하기 시작할 수 없습니다 데이터 서버가 오프라인 상태. 이러한 경우에 새로운 데이터 서버는 파일의 복사본의 수를 유지하기 위해 가능한 한 빨리 시스템에 연결한다.
새로운 데이터 서버는 언제든지 시스템에 연결될 수있다. 새로운 용량은 즉시 새 파일을 저장하거나 다른 데이터 서버에서 파일의 복제 된 복사본을 유지하기 위해 사용하기 위해 사용할 수있게됩니다.
관리 유틸리티는 파일 중 하나를 (복사 설정 번호)가 그들의 목표 아래 현재 받는지 확인하기 위해 파일 시스템 내의 파일의 상태를 조회하기 위해 존재한다. 이 유틸리티는 또한 필요에 따라 목표 설정을 변경하는데 사용될 수있다.
데이터의 이전 복사본 (그 기간 동안 오프라인으로 된 것처럼 같은), 비 간섭 될 파일이 손상되지와 데이터 서버를 다시 연결되도록 청크에 저장된 데이터의 단편은, 버전이된다. 데이터 서버는 사용되지 않는 덩어리가 제거되고 여유 공간이 새로운 덩어리를 보유하는 재 할당 될 덩어리의 현재 버전을 유지하기 위해 자신을 동기화합니다.
(mfsmount 프로세스를 실행) 클라이언트 컴퓨터의 실패는 파일 시스템의 간섭 또는 다른 클라이언트의 동작에 영향을 미치지 않을 것이다. 최악의 경우 아직 실패한 클라이언트 컴퓨터로부터 전송되지 않은 데이터가 손실 될 수있다.
& NBSP;
플래트
& NBSP는; MooseFS는 작업 FUSE 구현과 모든 운영 체제에서 사용할 수 있습니다 :
& NBSP; * 리눅스 (리눅스 2.6.14 최대 FUSE 지원을 공식 커널에 포함되어있다)
& NBSP; * FreeBSD의
& NBSP; * 오픈 솔라리스
& NBSP; * 맥 OS X
마스터 서버, metalogger 서버와 chunkservers 또한 Cygwin에서와 Solaris 또는 Windows에서 실행할 수 있습니다. 불행하게도 FUSE없이 이러한 운영 체제 내에서 파일 시스템을 마운트 할 수 없습니다
이 릴리스의 새로운 기능 무엇 :.
이 가장 중요한 변화는 멀티 스레드 모듈에서 처리 신호를 고정 포함 , 목표와 mfsexport.cfg에 trashtime 제한 및 다운로드 한 메타 데이터 파일에 대한 간단한 검사.
이 버전 1.6.19의 새로운 기능 :
이 실질적인 변경 사항은 메타 데이터의 더 나은 무결성을 metalogger 기계와 metarestore 도구로 소개되었다.
CS에서 스캔 진행률 표시 줄이 추가되었습니다.
연결이 실패 할 경우 마스터 이름은 이제 해결됩니다.
이전이 손실 된 경우 새로운 세션이 생성됩니다.
기타 버그 수정 및 개선 많이 만들어졌다.
이 버전 1.6.17의 새로운 기능 :
이 릴리스에서 우리는 자동 데이터 캐시 관리를 도입했다.
그것은 단지 마스터 서버 (만들어진 청크 서버 '또는 클라이언트의 코드 변경없이)를 업그레이드 충분하다.
커널 캐시 메커니즘은 항상 존재하고 있지만, 지금까지 캐시 항상 파일을 열 때 지워졌다. 지금 MooseFS 파일이 있었다 또는 다른 클라이언트에 의해 수정되지 않을 경우 확인하여 그 여부를 지 울지 여부를 제어합니다. 의 몇 가지 시나리오를 살펴 보자.
첫 번째 시나리오 :
1. 컴퓨터는 파일 X를 읽고
2. 컴퓨터 B는 X 파일을 읽
3. 컴퓨터가 X 파일을 판독하고자 - 우리는 캐시를 남겨 (파일이 변경되지 않은)
두 번째 시나리오 :
1. 컴퓨터는 파일 X를 읽고
2. 컴퓨터가 파일에 기록 X
3. 컴퓨터는 토르 X 파일을 읽고 싶어 - 우리는 캐시 (파일이 변경하지만 컴퓨터는 이러한 변화에 대해 알고 있었다) 남겨
세 번째 시나리오 :
1. 컴퓨터는 파일 X를 읽고
2. 컴퓨터 B는 X 파일에 기록
여기에서 우리는 (그들에 대해 알지 못하는 변화가 컴퓨터 B와 컴퓨터에 의해 만들어 졌기 때문에) 캐시를 비우 강제로 - 3. 컴퓨터는 X 파일을 읽을 싶어
실제 환경에서는 제 1 및 제 2 시나리오는 훨씬 더 자주보다 세 번째 시나리오에서 발생하고 캐시의 내용을두고 전체 시스템 성능을 획득 할 합리적인 이유이다.
물론 약간의 평균 시나리오가 있습니다 (그러나 또한 이전에 존재)이 같은 :
1. 컴퓨터가 파일 X를 열고 완전히 읽습니다 (파일이 캐시에 유지)
2. 컴퓨터 B는 X 파일을 수정
3. 컴퓨터를 다시 (- 단지 위치 0으로 이동하고 다시 읽는하지만 닫거나 다시 열면없이) X 파일을 읽고
이 경우 컴퓨터는 단계 1에서와 동일한 데이터를 얻을 수 있지만, 동일한 것이 또한 이전 MooseFS에서 일어났다.
속성 nodatacache 또한 파일을 캐시 금지하는 소개되었다. 파일 MooseFS의 이전 버전과 같은 버전에서 nodatacache 속성을 가진 1.6.17 최대 파일이 동작합니다. 이 플래그는 도구 mfsseteattr, mfsdeleattr 및 mfsgeteattr 사용할 수 있습니다.
이 플래그는 예방 적 첨가하고, 아마 당신은 그것을 사용할 필요가 없습니다. 몇 시간 후 경우 이것이이 삭제됩니다 정말 쓸모가 나타납니다. 당신은 자동 캐시 메커니즘을 사용하지 않도록 요구하는 경우 / 시나리오를 발견한다면 우리와 함께 공유하시기 바랍니다.
댓글을 찾을 수 없습니다