OpenSSI

OpenSSI
OpenSSI
OpenSSI-logo.png
개발자OpenSSI[1]
안정된 릴리스
1[1].9.3 / 2007년9월 1일
프리뷰 릴리즈
1[1].9.6 / 2010년 2월 18일
운영 체제리눅스
유형클러스터 소프트웨어
면허증.GPL v2
웹 사이트openssi.org Edit this on Wikidata

OpenSSI는 오픈 소스 단일 시스템 이미지 클러스터링 시스템입니다.이를 통해 컴퓨터 컬렉션을 하나의 대형 시스템으로 취급할 수 있으므로 하나의 머신에서 실행되는 응용 프로그램이 클러스터 [2][3]내의 모든 머신의 리소스에 액세스할 수 있습니다.

OpenSSI는 Linux 운영체제기반으로 [4]하며 2001년 Compaq에 의해 오픈 소스 프로젝트로 출시되었습니다.1980년대 초에 개발된 LOCUS까지 이어지는 긴 개발 과정의 마지막 단계입니다.

묘사

OpenSSI를 사용하면 개별 컴퓨터(노드)의 클러스터를 하나의 대형 시스템으로 취급할 수 있습니다.모든 노드에서 실행되는 프로세스는 모든 노드의 리소스에 대한 전체 액세스 권한을 가집니다.노드 간에 프로세스를 자동으로 이행하여 시스템 사용률의 균형을 맞출 수 있습니다.인바운드 네트워크 연결은 사용 가능한 가장 부하가 적은 노드로 유도할 수 있습니다.

OpenSSI는 고성능 클러스터고가용성 클러스터 모두에서 사용하도록 설계되었습니다.단일 장애 지점이 없는 OpenSSI 클러스터를 생성할 수 있습니다. 예를 들어 파일 시스템을 두 노드 간에 미러링할 수 있으므로 한 노드가 충돌하면 파일에 액세스하는 프로세스가 다른 노드로 페일오버됩니다.또는 모든 노드가 파일 시스템에 직접 액세스할 수 있도록 클러스터를 설계할 수 있습니다.

특징들

단일 프로세스 공간

OpenSSI는 단일 프로세스 공간을 제공합니다.모든 프로세스는 모든 노드에서 볼 수 있으며, 모든 노드에서 일반적인 Linux 명령어(ps, kill, renice 등)를 사용하여 관리할 수 있습니다.Linux /proc 가상 파일 시스템에는 모든 노드에서 실행 중인 모든 프로세스가 표시됩니다.

단일 프로세스 공간의 구현은 OSF/1 AD 운영체제용으로 Locus가 발명한 VPROC 추상화를 사용하여 이루어집니다.

이행

OpenSSI를 사용하면 노드 간에 실행 중인 프로세스를 마이그레이션할 수 있습니다.실행 중인 프로세스가 마이그레이션될 때 열려 있는 파일, IPC 개체 또는 네트워크 연결에 계속 액세스할 수 있습니다.

프로세스는 특별한 OpenSSI 이행 (2) 시스템콜을 호출하는 프로세스 또는 processes /proc 디렉토리의 특정 파일에 노드 번호를 쓰는 프로세스 중 하나를 사용하여 수동으로 이행할 수 있습니다.

또한 사용자가 원하는 경우 클러스터 간에 로드 밸런싱을 위해 프로세스를 자동으로 마이그레이션할 수도 있습니다.OpenSSI는 MOSIX 프로젝트에 의해 개발된 알고리즘을 사용하여 각 노드의 부하를 결정합니다.

단일 루트

OpenSSI는 클러스터에 대한 단일 루트를 제공합니다. 모든 노드에서 동일한 파일과 디렉토리를 사용할 수 있습니다.OpenSSI는 CFS(OpenSSI 클러스터 파일 시스템), SAN 클러스터 파일 시스템 및 네트워크 파일 시스템의 병렬 마운트 등 여러 가지 메커니즘을 사용하여 단일 루트를 제공합니다.

OpenSSI는 HP의 TruCluster 시스템에서 영감을 받은 Context Dependent Symbolic Link(CDSL; 컨텍스트 의존 심볼릭 링크) 기능을 사용하여 비클러스터 인식 애플리케이션에 투과적인 방법으로 노드 고유 파일에 액세스할 수 있도록 합니다.CDSL은 클러스터의 각 노드에서 다른 파일을 가리킬 수 있습니다.

CFS

OpenSSI 클러스터 파일 시스템인 CFS는 1개 노드의 기반이 되는 실제 파일 시스템에 대한 노드 간 투과적인 액세스를 제공합니다.

CFS는 실제 파일시스템 위에 스택되어 토큰 메커니즘을 사용하여 다른 노드로부터의 접근을 조정합니다.하나의 노드가 기본 파일 시스템에 물리적으로 액세스하여 모든 읽기 및 쓰기 작업을 수행합니다.1개의 노드가 기본 파일의 일부를 나타내는 토큰을 소유할 때는 항상 해당 파일의 일부가 소유 노드의 캐시에 있음을 의미합니다.다른 노드가 파일의 그 부분에 액세스하려고 하면 토큰이 도난당하고 캐시 내용이 도난 노드에 복사됩니다.OpenSSI CFS 구현은 HP TruCluster에서 [5]사용되는 구현과 매우 유사합니다.

CFS 는, 공유 메모리 세그먼트에의 액세스를 조정하기 위해서도 사용됩니다.

CFS는 공유 디스크 서브시스템(듀얼 포트 SCSI 또는 SAN) 또는 DRBD를 사용하여 무장애 시스템에서 사용할 수 있습니다.현재 파일 시스템에 직접 접속하고 있는 노드가 크래시하면 CFS 마운트는 디스크에 직접 접속되어 있는 다른 노드로 페일오버되고 클러스터는 해당 노드를 통해 파일시스템에 액세스하게 됩니다.

SAN 클러스터 파일 시스템

OpenSSI는 POSIX 호환 파일 시스템 인터페이스를 제공하는 경우 SAN 기반 클러스터 파일 시스템을 루트로 사용할 수 있습니다.현재 Lustre와 GFS[when?]테스트되고 있습니다.

클러스터 파일 시스템에서는 각 노드가 파일 시스템을 병렬로 마운트하고 파일에 대한 액세스는 노드에서 파일 시스템으로 직접 이동합니다.

NFS

OpenSSI는 NFS 파일 시스템을 각 노드에 병렬로 마운트합니다.모든 노드가 NFS 서버에 직접 액세스합니다.

단일 I/O 공간

OpenSSI는 시스템상의 모든 I/O 디바이스에 클러스터 전체의 액세스를 제공합니다.단, 노드가 다른 노드에서 블록 디바이스를 마운트할 수 없습니다.

udev 디바이스 매니저는 /dev 디렉토리를 관리하기 위해 사용됩니다.각 노드는 udev의 자체 복사본을 실행하여 /dev, 노드1의 /dev/1, 노드2의 /dev/2 등의 서브 디렉토리에 적절한 디바이스 노드를 만듭니다.

단일 IPC 공간

OpenSSI는 모든 표준 Linux 프로세스 간 통신 메커니즘, 공유 메모리, 세마포어, SYSV 메시지 큐, 파이프 Unix 도메인 소켓에 대한 노드 간 액세스를 제공합니다.

클러스터 전체 공유 메모리(분산 공유 메모리)를 구현하기 위해 OpenSSI는 CFS 토큰 시스템을 사용합니다.메모리 세그먼트는 언제든지 1개 이상의 노드에서 읽을 수 있거나 1개 노드에서 쓸 수 있습니다.세그먼트에 대한 쓰기 액세스 권한이 없는 노드가 쓰기를 시도하면 세그먼트는 다른 모든 노드에서 읽을 수 없고 현재 노드에서 쓸 수 있는 것으로 표시됩니다.읽기 액세스 권한이 없는 노드가 세그먼트를 읽으려고 하면 현재 값이 유효한 노드에서 복사되고 쓰기 가능한 경우 읽을 수 있는 것으로 표시됩니다.

클러스터 IP 주소

OpenSSI는 LVS를 사용하여 폴트 톨러런스 로드밸런싱 IP 서비스를 제공합니다.인바운드 네트워크 접속은 디렉터 노드에 의해 수신되며, 디렉터 노드는 가장 부하가 적은 서버 노드로 리다이렉트됩니다(노드는 디렉터와 서버 모두일 수 있습니다).디렉터 노드에 장애가 발생했을 경우, 다른 디렉터 노드가 인계되어 시스템은 착신 접속을 계속 받아들입니다.

배포

OpenSSI 소프트웨어는 다양한 Linux 배포에 사용할 수 있습니다.OpenSSI 커널은 배포에 의존하지 않지만 다양한 배포별 Linux 사용자 수준 시스템(: init 프로세스 및 시스템 시작 스크립트)을 변경해야 합니다.

현재 지원되는 배포는 다음과 같습니다.[when?]

  1. Fedora 코어 3
  2. 데비안 서지

2008년에는 Devian Etch와 [6]Lenny에 대한 OpenSSI 포트 작업이 진행 중이었다.

역사

OpenSSI의 기원은 1980년대 초 UCLA에서 LOCUS 분산 운영 체제가 개발되었을 때로 거슬러 올라갑니다.LOCUS를 개발한 팀은 계속해서 LOCUS Computing Corporation을 설립하고 여러 이름으로 다양한 버전의 LOCUS 기술을 생산했으며, 그 결과 Tandem Computers에서 UnixWare NonStop Clusters 제품을 개발하게 되었습니다.이 제품은 LOCUS 팀과 이 기술에 대한 권리를 취득했습니다.Unixware용 NonStop Clusters는 UnixWare용 애드온으로 SCO에 의해 상용화되었습니다.SCO가 NonStop Clusters 판매를 중단했을 때, Compaq(그 사이에 Tandem을 취득)에서 근무하고 있던 이전 Locus 팀은 NonStop Clusters 코드를 Linux로 포팅하여 오픈 소스로 출시했습니다.Compaq 팀은 HP가 Compaq를 인수한 후 한동안 OpenSSI라고 불리는 시스템을 계속 개발했습니다.OpenSSI는 현재 독립된 [when?]팀에 의해 개발되고 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b c OpenSSI (Single System Image) Clusters for Linux, retrieved 2008-07-07 {{citation}}:확인. url=(도움말)
  2. ^ Ferri, Richard; Watson, Brian J. (2003-08-01), Sys Admin Magazine > Server Management > Introducing the OpenSSI Project, retrieved 2008-07-06
  3. ^ Pfister, Gregory F. (1998), In search of clusters, Upper Saddle River, NJ: Prentice Hall PTR, ISBN 978-0-13-899709-0, OCLC 38300954
  4. ^ Orlowski, Andrew (2001-11-14), "Compaq cavalry rescues Linux clusters", The Register, retrieved 2008-10-06
  5. ^ Fafrak, Scott; Lola, Jim A.; Nichols, Brad; Yates, Gregory (2003), TruCluster Server Handbook, Digital Press, pp. 342–345, ISBN 1-55558-259-1
  6. ^ %5b%5bCategory:All articles with dead external links%5d%5d%5b%5bCategory:Articles with dead external links from July 2022%5d%5d[%5b%5bWikipedia:Link rot dead link%5d%5d] OpenSSI on Debian Etch, prerelease, retrieved 2008-10-07 {{citation}}:확인. url=(도움말)

외부 링크