KR19990047123A - 병행 네트워크 파일 시스템 - Google Patents

병행 네트워크 파일 시스템 Download PDF

Info

Publication number
KR19990047123A
KR19990047123A KR1019970065373A KR19970065373A KR19990047123A KR 19990047123 A KR19990047123 A KR 19990047123A KR 1019970065373 A KR1019970065373 A KR 1019970065373A KR 19970065373 A KR19970065373 A KR 19970065373A KR 19990047123 A KR19990047123 A KR 19990047123A
Authority
KR
South Korea
Prior art keywords
disk
file system
file
parallel network
block
Prior art date
Application number
KR1019970065373A
Other languages
English (en)
Inventor
오봉진
이춘희
박창순
Original Assignee
정선종
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 정선종, 한국전자통신연구원 filed Critical 정선종
Priority to KR1019970065373A priority Critical patent/KR19990047123A/ko
Publication of KR19990047123A publication Critical patent/KR19990047123A/ko

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 네트워크로 연결된 여러 시스템의 디스크를 하나의 디스크로 동작시키는 병행 네트워크 파일 시스템에 관한 것이다. 그 목적은 각 시스템의 디스크 이용률을 최대화하고 공유되어야 할 자료 및 결과물을 추가의 노력없이 자연스럽게 관리할 수 있도록 지원하는 병행 네트워크 파일 시스템을 제공하는 데에 있다. 그 특징은 근거리 통신망을 통하여 시스템간의 네트워크를 이루는 병행 네트워크 파일 시스템에 있어서, 각 시스템이, 파일을 저장할 수 있는 물리적 디스크와, 디스크를 등록한 등록파일과, 사용자의 인터페이스를 지원하는 입출력 함수들과, 입출력 요구가 지역 디스크를 접근하는 것인지 원격지의 디스크를 접근하는 것인지 판단하여 지역 디스크를 접근하는 경우에 직접 처리하여 사용자에게 그 결과를 통보하는 가상파일 시스템 및 원격지 디스크를 접근하는 경우에 처리하여 사용자에게 그 결과를 알려주는 서버 데몬으로 구성되는 데에 있다.

Description

병행 네트워크 파일 시스템
본 발명은 네트워크로 연결된 여러 시스템의 디스크를 하나의 디스크로 동작시키는 병행 네트워크 파일 시스템(concurrent network file system)에 관한 것이다.
일반적으로, 파일 시스템이란, 사용자가 다루고자 하는 자료를 저장장치인 디스크를 이용하여 파일이라는 논리적 단위로 관리하는 개념으로, 디스크와 사용자가 자료를 저장하고 관리할 수 있도록 지원하는 입출력 관련 명령어 및 라이브러리 함수로 구성되어 있다. 파일 시스템은 자료를 관리하는 방법에 따라 여러 가지 종류로 나뉘어지는데, 종래의 네트워크 파일 시스템으로는 선(SUN)의 네트워크 파일 시스템(NFS)과 시스템 V의 원격파일 공유(RFS)를 대표적으로 들 수 있다. 이러한 파일 시스템들은 특정한 시스템의 지역 디스크를 다른 시스템들이 자신의 지역 디스크처럼 활용할 수 있도록 한다. 따라서, 여유 있는 시스템의 디스크를 디스크가 부족한 시스템에서 추가의 비용없이 활용할 수 있게 되어 자원과 비용을 효율적으로 관리할 수 있다는 장점이 있다. 또한 공동으로 수행되는 프로젝트에 관련된 자료들을 추가의 작업 없이 관리할 수 있다는 이점도 있다.
그러나, 종래의 파일 시스템은 물리적으로 하나인 디스크를 공유하기 때문에, 그 디스크를 가지고 있는 시스템에 사용자의 입출력 요구가 집중되어 부하의 불균형이 생기며, 디스크를 갖고 있는 시스템이 정지해 버리면, 다른 시스템들이 파일 시스템을 사용할 수 없다는 문제점이 있었다.
상기 문제점의 원인은 모든 정보가 하나의 물리적 디스크에 저장된다는 것이다. 따라서, 상기 문제점을 해결하기 위하여 안출된 본 발명은 각 시스템의 디스크 이용률을 최대화하고 공유되어야 할 자료 및 결과물을 추가의 노력없이 자연스럽게 관리할 수 있도록 지원하는 병행 네트워크 파일 시스템을 제공하는 데에 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 특징은 근거리 통신망을 통하여 시스템간의 네트워크를 이루는 병행 네트워크 파일 시스템에 있어서, 상기 각 시스템이, 파일을 저장할 수 있는 물리적 디스크와, 상기 디스크를 등록한 등록파일과, 사용자의 인터페이스를 지원하는 입출력 함수들과, 입출력 요구가 지역 디스크를 접근하는 것인지 원격지의 디스크를 접근하는 것인지 판단하여 지역 디스크를 접근하는 경우에 직접 처리하여 사용자에게 그 결과를 통보하는 가상파일 시스템 및 원격지 디스크를 접근하는 경우에 처리하여 사용자에게 그 결과를 알려주는 서버 데몬으로 구성되는 데에 있다. 여기서, 각 디스크의 메타데이터가 전체 파일 시스템에 대한 정보가 아닌 자신이 차지하고 있는 부분에 대한 정보만을 갖고, 전체 파일 시스템에 대한 정보는 각 디스크의 정보를 모아야 얻어진다. 네트워크로 연결된 상기 각 시스템의 상기 물리적 디스크들이 하나의 논리적 디스크를 형성한다. 상기 시스템이 블록번호의 체계를 이용한다. 상기 서버데몬이 파일을 분산저장하는 경우에 상기 각 디스크의 블록들을 차례로 상기 파일에 할당시켜 상기 각 디스크들에 균등하게 저장한다. 상기 물리적 디스크가 상기 파일 시스템 전반에 관한 내용을 저장하는 수퍼블록 영역과, 저장되는 파일에 대한 정보를 저장하는 아이노드 블록 영역 및 파일의 내용을 저장하는 데이터 블록 영역으로 이루어진다. 상기 수퍼블록이 상기 파일 시스템의 크기와, 상기 파일 시스템의 최종적으로 변경된 날짜와, 상기 파일 시스템의 사용되지 않은 블록수 및 상기 파일 시스템의 다음 할당할 블록번호를 저장한다. 상기 아이노드 블록 영역이 파일의 생성 날짜와, 파일의 크기와, 자료를 저장한 블록의 시작 번호를 저장한다. 관리자가 상기 블록의 크기나 상기 아이노드 블록의 비율을 조정할 수 있다. 상기 아이노드 블록 영역이 분산저장을 위한 플래그 및 일련의 값을 연속적인 공간에 저장한 자료구조인 디스크 배열정보를 더 포함한다. 상기 플래그의 종류가 분산저장 안함, 완전분산 및 특정 디스크에만 분산을 포함한다.
도 1은 본 발명에 따른 병행 네트워크 파일 시스템의 구성도.
도 2는 네트워크로 연결된 시스템들의 물리적 디스크를 이용한 논리적 디스크의 구성도.
도 3은 본 발명에 따른 병행 네트워크 파일 시스템의 서버를 이용한 사용자의 입출력 요구처리 블록도.
그래서, 정보를 여러 디스크에 분산시켜 관리하며 기존의 네트워크 파일 시스템보다 향상된 성능을 갖는 병행 네트워크 파일 시스템을 구성하고, 이러한 병행 네트워크 파일 시스템을 사용자가 접근할 수 있도록 입출력 관련 명령어 및 라이브러리 함수를 구현해야 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예들 중의 하나를 상세히 설명한다.
도 1은 본 발명에 따른 병행 네트워크 파일 시스템의 구성도이다. 도 1을 참조하여 본 발명에 따른 병행 네트워크 파일 시스템의 구성을 설명하면 다음과 같다.
병행 네트워크 파일 시스템의 구조는 파일을 저장할 수 있는 물리적 디스크(14)와, 디스크(14)를 등록한 등록파일(11)과, 사용자가 병행 네트워크 파일 시스템(10)을 사용할 수 있도록 지원하는 입출력 함수들(13)과, 그리고 원격지 디스크에 대한 처리를 해주는 병행 네트워크 파일 시스템 서버인 데몬(12)으로 이루어진다. 여기서, 데몬이란 어떤 목적을 위해 메모리 상에 상주하여 계속적 동작하는 프로그램을 말한다.
도 2는 네트워크로 연결된 시스템들의 물리적 디스크를 이용한 논리적 디스크의 구성도이다. 도 2를 참조하여 네트워크로 연결된 시스템들의 물리적 디스크를 이용한 논리적 디스크의 구성을 설명하면 다음과 같다.
파일 시스템을 구성하는 물리적 디스크는 세 개의 영역으로 구성되는데, 슈퍼블록(41), 아이노드(Inode) 영역(42), 그리고 데이터 영역(43)이 그것이다. 슈퍼블록(41)은 파일 시스템 전반에 관한 내용 즉, 파일 시스템의 크기, 최종적으로 변경된 날짜, 사용되지 않은 블록수, 다음 할당할 블록 번호 등을 저장하며, 아이노드 블록(42)은 파일 생성 날짜, 크기, 자료를 저장한 블록의 시작 번호 등과 같은 저장되는 파일에 대한 정보를 저장하고, 데이터 블록 영역(43)은 파일의 내용을 저장한다. 여기서, 슈퍼블록(41)과 아이노드 영역(42)에 저장된 정보를 메타데이터라고 하며 빈번히 접근되는 정보이므로 보다 효율적인 관리기법을 필요로 한다.
등록 파일의 첫 번째 레코드로 등록된 dooly.seri.re.kr의 디스크는 블록번호 1부터 1000까지 갖게 되고, 두 번째로 등록된 tigger.seri.re.kr의 디스크는 1001부터 3500에 해당하는 블록번호를 갖게 되는 것이다. 이런 방식으로 논리적 디스크에 포함되는 모든 블록을 유일한 블록번호로 지정할 수 있고, 블록번호를 통해 원하는 특정 블록을 갖는 물리적 디스크를 쉽게 알아낼 수 있다.
네트워크로 연결된 여러 시스템의 디스크를 하나의 논리적 디스크로 구성하였고, 각 디스크들은 등록 파일에 등록되며, 등록 파일은 시스템 이름, 디스크 이름, 디스크 크기 형태의 레코드로 구성된다. 시스템 이름은 디스크가 위치한 시스템의 네트워크 주소를 말하고, 디스크 이름은 시스템에서 디스크를 나타내는 장치 파일을 일컫는 것이며, 디스크의 크기는 디스크가 포함하는 블록의 개수를 나타낸다. 메타데이터는 파일 시스템의 관리에 필요한 모든 정보를 포함하므로 이 데이터 없이는 파일 시스템의 접근이 불가능하다. 따라서, 종래처럼 하나의 디스크에 메타데이터를 저장하면 그 디스크를 갖고 있는 시스템이 정지하는 경우에 다른 시스템이 파일 시스템을 사용할 수 없다거나, 또는 메타데이터가 일반 데이터보다 사용 횟수가 많으므로 특정 시스템에 입출력 부하가 집중되는 현상이 발생하는 등의 문제점을 피하기 위해 데이터 영역뿐만 아니라 메타데이터도 모두 분산시킬 수 있도록, 모든 디스크를 앞에서 기술한 세 가지 영역으로 구성하였다. 디스크의 첫 번째 블록은 수퍼블록(41)이 위치하고, 두번째 블록부터 디스크의 크기에 따라 일정한 비율(관리자가 블록의 크기나 아이노드 블록의 비율을 조정할 수 있다)로 아이노드 블록 영역(42)을 할당하고, 나머지를 데이터 블록 영역(43)으로 하였다. 각 디스크의 메타데이터는 전체 파일 시스템에 대한 정보가 아닌 자신이 차지하고 있는 부분에 대한 정보만을 갖고, 전체 파일 시스템에 대한 정보는 각 디스크의 정보를 모아 얻어진다. 이 경우, 특정 시스템이 동작하지 않더라도 나머지 시스템의 디스크 정보를 이용하여 계속 동작하므로, 정지된 시스템에 저장된 정보를 접근하지 않는 경우에 계속 파일 시스템을 사용할 수 있다. 모든 디스크는 전체적으로 하나의 논리적 디스크로 동작하므로 각 디스크의 블록들을 유일하게 구별할 수 있도록 하기 위해 블록 번호를 전체 디스크에 걸쳐 연속적으로 만들어준다.
도 3은 본 발명에 따른 병행 네트워크 파일 시스템의 서버를 이용한 사용자의 입출력 요구처리 블록도이다. 도 3을 참조하여 본 발명에 따른 병행 네트워크 파일 시스템의 서버를 이용한 사용자의 입출력 요구의 처리를 설명하면 다음과 같다.
입출력 요구는 기존의 유닉스(UNIX) 시스템에서 제공하는 표준 입출력 함수(52)를 통해 이루어지고, 표준 입출력 함수(52)는 내부적으로 대응되는 가상 파일 시스템 함수(53)로 대체된다. 선(SUN)에서 제안한 가상파일 시스템과 가상 아이노드 기법으로 현재 유닉스의 표준으로 정의되어 있다. 본 발명에서는 가상 파일 시스템 함수(53) 내부에서 입출력 요구가 지역 디스크를 접근하는 것인지, 원격지의 디스크를 접근하는 것인지 판단하여 작업을 처리하도록 구현되는데, 이는 앞서 설명한 블록번호의 체계를 이용하면 쉽게 해결될 수 있다. 지역 디스크를 접근하는 경우는 함수 내부에서 직접 처리하여 사용자에게 결과를 통보하고, 원격지 디스크를 접근하는 경우는 병행 네트워크 파일 시스템 데몬(55)을 통해 처리한 후, 사용자에게 결과를 알려준다. 본 발명에서 제안하는 병행 네트워크 파일 시스템은 파일을 분산하여 저장할 수 있도록 해준다. 이를 위해 파일의 정보를 갖고 있는 아이노드의 구조에 분산저장을 위한 플래그와 디스크 배열(일련의 값을 연속적인 공간에 저장한 자료구조) 정보를 추가하여 넣어준다. 또한, 입출력 함수를 위한 헤더파일에 정의된 플래그 종류와 파일생성 함수의 인터페이스를 확장시킨다. 즉, 사용자는 파일을 생성하기 위해 유닉스 표준으로 제공되는 파일 오픈(fopen) 함수를 사용하는데, 생성하고자 하는 파일의 경로명과 플래그를 입력인자로서 입력할 수 있다. 여기서, 분산저장을 지정할 수 있도록 플래그의 종류를 확장시키되, 분산저장 안함, 완전분산 및 특정 디스크에만 분산의 세 종류로 지정할 수 있도록 한다. 또한, 파일 오픈 함수의 인자수를 세 개로 확장하여 마지막 인자로서 몇 개의 특정 디스크들에만 분산할 경우, 그 디스크들의 번호를 값으로 갖는 배열을 입력하도록 한다. 디스크의 번호는 등록파일에 등록된 순서대로 1부터 시작하여 1씩 증가하는 양수의 값을 갖는다. 이렇게 생성된 파일에 데이터 블록을 할당할 때는 플래그를 통해 분산저장을 해야 하는지를 판단하고, 분산저장의 경우 각 디스크들에 균등하게 저장될 수 있도록 각 디스크의 블록들을 차례로 파일에 할당시킨다.
본 발명에서 제안한 병행 네트워크 파일 시스템을 사용하면, 네트워크로 연결된 여러 시스템의 물리적 디스크를 하나의 디스크처럼 관리하여, 또한 파일을 분산 저장할 수 있으므로 입출력 처리가 병렬화될 수 있어 처리 속도를 개선할 수 있다는 데에 그 효과가 있다. 그리고, 이 파일 시스템은 공동의 프로젝트를 수행할 때에 동으로 사용 가능한 작업 공간을 제공하여 파일의 분산저장을 통한 입출력 성능향상을 꾀하여 전체적인 시스템 성능향상을 도모할 수 있다는 효과가 있다.

Claims (11)

  1. 근거리 통신망을 통하여 시스템간의 네트워크를 이루는 병행 네트워크 파일 시스템에 있어서,
    상기 각 시스템이,
    파일을 저장할 수 있는 물리적 디스크;
    상기 디스크를 등록한 등록파일;
    사용자의 인터페이스를 지원하는 입출력 함수들;
    입출력 요구가 지역 디스크를 접근하는 것인지 원격지의 디스크를 접근하는 것인지 판단하여 지역 디스크를 접근하는 경우에 직접 처리하여 사용자에게 그 결과를 통보하는 가상파일 시스템; 및
    원격지 디스크를 접근하는 경우에 처리하여 사용자에게 그 결과를 알려주는 서버 데몬으로 구성되는 것을 특징으로 하는 병행 네트워크 파일 시스템.
  2. 제 1 항에 있어서,
    각 디스크의 메타데이터가 전체 파일 시스템에 대한 정보가 아닌 자신이 차지하고 있는 부분에 대한 정보만을 갖고;
    전체 파일 시스템에 대한 정보는 각 디스크의 정보를 모아야 얻어지는 것을 특징으로 하는 병행 네트워크 파일 시스템.
  3. 제 1 항에 있어서,
    네트워크로 연결된 상기 각 시스템의 상기 물리적 디스크들이 하나의 논리적 디스크를 형성하는 것을 특징으로 하는 병행 네트워크 파일 시스템.
  4. 제 1 항에 있어서,
    상기 시스템이 블록번호의 체계를 이용하는 것을 특징으로 하는 병행 네트워크 파일 시스템.
  5. 제 1 항에 있어서,
    상기 서버데몬이 파일을 분산저장하는 경우에 상기 각 디스크의 블록들을 차례로 상기 파일에 할당시켜 상기 각 디스크들에 균등하게 저장하는 것을 특징으로 하는 병행 네트워크 파일 시스템.
  6. 제 1 항에 있어서,
    상기 물리적 디스크가,
    상기 파일 시스템 전반에 관한 내용을 저장하는 슈퍼블록;
    저장되는 파일에 대한 정보를 저장하는 아이노드 블록 영역; 및
    파일의 내용을 저장하는 데이터 블록 영역으로 이루어지는 것을 특징으로 하는 병행 네트워크 파일 시스템.
  7. 제 6 항에 있어서,
    상기 슈퍼블록이,
    상기 파일 시스템의 크기;
    상기 파일 시스템의 최종적으로 변경된 날짜;
    상기 파일 시스템의 사용되지 않은 블록수; 및
    상기 파일 시스템의 다음 할당할 블록번호를 저장하는 것을 특징으로 하는 병행 네트워크 파일 시스템.
  8. 제 6 항에 있어서,
    상기 아이노드 블록 영역이,
    파일의 생성 날짜;
    파일의 크기; 및
    자료를 저장한 블록의 시작 번호를 저장하는 것을 특징으로 하는 병행 네트워크 파일 시스템.
  9. 제 6 항에 있어서,
    관리자가 상기 블록의 크기나 상기 아이노드 블록의 비율을 조정할 수 있는 것을 특징으로 하는 병행 네트워크 파일 시스템.
  10. 제 6 항에 있어서,
    상기 아이노드 블록 영역이
    분산저장을 위한 플래그; 및
    일련의 값을 연속적인 공간에 저장한 자료구조인 디스크 배열정보를 더 포함하는 것을 특징으로 하는 병행 네트워크 파일 시스템.
  11. 제 6 항에 있어서,
    상기 플래그의 종류가,
    분산저장 안함;
    완전분산; 및
    특정 디스크에만 분산을 포함하는 것을 특징으로 하는 병행 네트워크 파일 시스템.
KR1019970065373A 1997-12-02 1997-12-02 병행 네트워크 파일 시스템 KR19990047123A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970065373A KR19990047123A (ko) 1997-12-02 1997-12-02 병행 네트워크 파일 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970065373A KR19990047123A (ko) 1997-12-02 1997-12-02 병행 네트워크 파일 시스템

Publications (1)

Publication Number Publication Date
KR19990047123A true KR19990047123A (ko) 1999-07-05

Family

ID=66095462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970065373A KR19990047123A (ko) 1997-12-02 1997-12-02 병행 네트워크 파일 시스템

Country Status (1)

Country Link
KR (1) KR19990047123A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020085128A (ko) * 2001-05-04 2002-11-16 주식회사 포디컬쳐 인터넷 계정의 하드디스크 통합서비스방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020085128A (ko) * 2001-05-04 2002-11-16 주식회사 포디컬쳐 인터넷 계정의 하드디스크 통합서비스방법

Similar Documents

Publication Publication Date Title
US7146377B2 (en) Storage system having partitioned migratable metadata
US9405487B2 (en) Media aware distributed data layout
US5617568A (en) System and method for supporting file attributes on a distributed file system without native support therefor
US5918229A (en) Structured data storage using globally addressable memory
US5842214A (en) Distributed file system providing a unified name space with efficient name resolution
US6029168A (en) Decentralized file mapping in a striped network file system in a distributed computing environment
US7210021B2 (en) Cache control program
US7325017B2 (en) Method of implementation of data storage quota
US20130013602A1 (en) Database system
CN101315628A (zh) 内存数据库系统及实现内存数据库的方法和装置
JP2007213592A (ja) 文字処理装置、方法、プログラムおよび記録媒体
EP2724268A2 (en) System and method for implementing a scalable data storage service
CN101571869B (zh) 一种智能卡的文件存储、读取方法及装置
JPH07175698A (ja) ファイルシステム
CN100424699C (zh) 一种属性可扩展的对象文件系统
EP1091295B1 (en) Data management system using a plurality of data operation modules
Lovelace et al. VSAM demystified
US7958097B1 (en) Method and system for implementation of data storage quota
Moss Addressing large distributed collections of persistent objects: The Mneme project’s approach
JPWO2004036432A1 (ja) データベースのアクセラレーター
KR20110070697A (ko) 비대칭 분산 파일 시스템에서의 메타데이터 관리 장치 및 방법
JPH0844602A (ja) データ管理装置
CN111274259A (zh) 一种分布式存储系统中存储节点的数据更新方法
KR19990047123A (ko) 병행 네트워크 파일 시스템
JPH07248949A (ja) 入出力実行方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application