System Compleat.

Solve your IO problems with Nexenta

Techs
( younjin.jeong@gmail.com )

굉장히 오랜만의 포스팅이다.  이직도 있었고, 이직 이후 워낙 정신 사납게 달리다 보니 포스팅은 커녕 내가 내 블로그 들어오는 일도 주말의 행사가 되어버렸다.  대신, 클라우드의 구성에 대한 큰 그림과 어지간한 구조는 잡았지만. 훗;

어쨋든 오늘 소개하고자 하는, ( 이미 여러차례 소개는 했었지만 ) 이 Nexenta 라는 운영체제는 이미 알려진 바와 같이 오픈 솔라리스 기반이며, 역시 알려진 바와 같이 솔라리스 기반의 가장 큰 축복인 ZFS 를 메인으로 사용하는 스토리지로서의 사용에 그 주요 목적이 있는 운영 체제라 할 수 있다.  물론 우분투와 같은 apt 기반의 패키지 관리 시스템을 통해 얼마든지 원하는 형태로 확장이 가능 하지만,  어쨌든 난 얘는 무조건 스토리지로 쓰는게 좋다고 생각 한다.

본 운영체제에 대한 자세한 스펙은 http://www.nexenta.com 또는 http://www.nexenta.org 에서 참조 할 수 있다.
물론 서비스 셋업을 위한 몇가지 튜토리얼 및 매뉴얼 등은 매우 잘 정리 되어 있으나, 아직은 트러블 슈팅에 대한 사례가 많지 않아 국가별로 구글검색을 쌔워도 정수리가 바짝 서는 시원한 답변은 잘 나오지 않으므로 다소간의 삽질은 각오 해야 한다.

서론이 매우 무지 끔찍하게도 길었지만,  어쨌든 오늘은 다음의 사용 목적을 가지고 간단히 Nexenta 를 구성해 보고자 한다.

1. NFS / CIFS 로서의 사용.
2. iSCSI
3. 디스크 / 볼륨의 zfs 를 통한 관리.

금일 사용할 Nexenta 의 버전은 3.0.3 이 되시겠다.  ( http://www.nexenta.com/corp/free-trial-download )
먼저 주의 할 것은, 본 운영 체제가 언젠가 부터 유료화 되었기 때문에 최초 설치 이후 제품 키를 넣으라는 화면을 보고 당황 하지 않으려면 미리 위의 링크 사이트에 가입을 완료 해 두어야 한다.  메일 주소를 통해 해당 계정의 Activation 을 수행하므로, 구라로 메일주소 넣으면 안되시겠다.

다운 받아 씨디로 꿉고 ( 아 물론 VM 으로 하셔도 완죵 무방 ) 그동안 보아 왔던 수많은 리눅스 설치 화면과 비슷한 환경들이 지나가고 나면, 시스템이 재부팅 된다.
재부팅이 되고 나면 생성된 키를 하나 보여주며 제품 키를 넣으란다.  그러면 요기 http://www.nexenta.com/corp/free-trial-registration 로 가서 이전에 생성해둔 계정을 통해 로그인 하고 정보를 넣으면 메일로 상큼하게 키가 날아온다.

입력하고 나면, 콘솔 로그인 창이 떨렁 뜨는데, 물론 엑스퍼트라면 로그인 이후 진행 해도 되지만, 아니라면 다음과 같이 웹 브라우저를 통해 접근한다.

http://host_fqdn_or_ip_address:2000

자! 상큼한 웹 인터페이스가 나타나질 않는가!  여기서는 다음의 정보를 입력하도록 한다.
물론, 기억에 의존한 포스팅이기 때문에 스텝은 살짝 꼬였을 수 있으나 의미하는 바는 같;;;;

1. 기본 네트워크 정보
   - 호스트명
   - 네트워크 인터페이스
   - 네임 서버 및 ntp 서버 등의 정보
2. 볼륨 생성
   - 볼륨 생성할 디스크 및 redundant type  ( RAIDZ1 , RAIDZ2, RAIDZ3 ... cache disk , log disk , spare disk , etc )
   - 볼륨의 이름
   - 옵션  ( deduplication 및 기타 등등 )
3. 시스템 패스워드
4. 기타 폴더 ( 기존의 디렉토리나 윈도우의 폴더와는 개념이 살짝 다르다 ) 등등의 추가 설정.
5. 웹 인터페이스의 접근 포트 및 http / https 사용 여부.

대략 이러한 초기 설정 프로세스를 마치고 나면 다음과 같이 아름다운 페이지를 확인 할 수 있다.

Nexenta Web Mgmt login page



Dash board



이미 화면을 보면서 느꼈겠지만, 그렇다!  대부분의 기능을 웹 인터페이스로 제어가 가능한 것이다!
물론 웹 인터페이 말고 디테일하거나 즉각적인 반응 또는 빠른 작업을 위해 CLI 의 사용이 가능하다.  본 3.0.3 버전의 경우 원격지에서 ssh 를 사용해 로그인 하게 되면 nmc 라고 하는 콘솔이 나타난다. ( 아마도 Nexenta Management Console 일게다 ) 
본 콘솔의 경우, 네트워크 장비 특히 Cisco 나 Foundry 에 익숙하다면 아주 손쉽게 적응이 가능한 잇점이 있다.

show volume test-pool 
NAME                   SIZE    USED    AVAIL   CAP  DEDUP   HEALTH
test-pool              40.8T   395G    23.7T     0%   1.00x     ONLINE

show volume test-pool status

또한, 스위치나 리눅스 bash 에서와 같이  TAB-TAB 키 또는 ? 의 사용을 통해 사용 가능한 커맨드 리스트를 볼 수도 있다.  이는 매우 편리한 관리를 제공하지만, 거센 서비스 환경의 IO 로드가 걸린 상황에서는 충분히 답답함을 느낄 수도 있겠다.

만약, 이런 어플라이언스도 스위치 같지도 않은 툴들을 버려둔 채로 난 pure zfs 만 사용할꺼야 하시는 분들은 다음의 커맨드로 쉘 환경에 대한 진입이 가능하다.  단, 일부 커맨드를 통한 시스템 변경의 경우 관리 콘솔을 죽여 버릴 수 도 있음을 양지하고 마루타 해야 할 것이다.

option expert_mode=1
!bash

자 이제 그럼 소기의 목적인 볼륨을 생성 해 보도록 하자.

create volume
Volume                :
  -----------------------------------------------------------------------------------------------------
  Volume name must begin with a letter, and can only contain alphanumeric characters as well as
  underscore ('_'), dash ('-'), and period ('.'). The names 'mirror', 'raidz', 'log', and 'spare' are
  reserved, as are names beginning with the pattern 'c[0-9]'. Finally, don't use forward slash ('/') -
  volumes cannot be nested. Press Ctrl-C to exit.

볼륨 이름을 입력하고 넘어 간다.

Volume                :jbod-test
Group of devices      : (Use SPACEBAR for multiple selection)
 c0t5000C5002694D5C7d0  c0t5000C500269ABC4Cd0  c0t5000C50026AAE413d0  c0t5000C50026AEC48Fd0
 c0t5000C50026AF2AB1d0  c0t5000C50026AF4629d0  c0t5000C50026AF51FEd0  c0t5000C50026AF5295d0
 c0t5000C50026AF7335d0  c0t5000C50026AF83C8d0  c0t5000C50026AF868Bd0  c0t5000C50026AF8AC8d0
 c0t5000C50026AFAA3Ad0  c0t5000C50026AFABBCd0  c0t5000C50026AFB3DEd0  c0t5000C50026AFC653d0
 c0t5000C50026AFEC73d0  c0t5000C50026B05CF8d0  c0t5000C50026B13B01d0  c0t5000C50026B14848d0
 c0t5000C50026B1527Dd0  c0t5000C50026B15B4Dd0  c0t5000C50026B16446d0  c0t5000C50026B168EDd0
 c0t5000C50026B1912Cd0  c0t5000C50026B1A467d0  c0t5000C50026B39DBFd0  c0t5000C50026B3AA65d0
 c0t5000C50026B3AD21d0  c0t5000C50026B3F766d0  c0t5000C50026B40761d0  c0t5000C50026B43707d0
 c0t5000C50026B5BAB1d0  c0t5000C50026B7963Bd0  c0t5000C50026B95E99d0  c0t5000C50026BDBF9Cd0
 c0t5000C50026BDC9D3d0  c0t5000C50026BDCA9Fd0  c0t5000C50026BE37A7d0  c0t5000C50026BE37ECd0
 c0t5000C50026BE39ABd0  c0t50014EE00255D55Ad0  c0t50014EE0ACFBC293d0  c0t50014EE0ACFC807Ad0
  -----------------------------------------------------------------------------------------------------
  Select one or more LUNs to form a new group of devices in the volume 'jbod-test'. Navigate with arrow
  keys (or hjkl), or Ctrl-C to exit.
  lun id: c0t5000C5002694D5C7d0, size: 2TB, parent: mpxio

위와 같이 화살표로 선택/이동이 가능한 디스크의 목록이 나온다. 필요한 디스크들을 선택하여 볼륨을 구성한다.
친절하게 여려개를 고르려면 스페이스바를 누르란다.
선택 하고 넘어 가면,

Volume                :jbod-test
Group of devices      : c0t5000C5002694D5C7d0, c0t5000C500269ABC4Cd0, c0t5000C50026AAE413d0, ...
Group redundancy type :
 mirror  raidz1  raidz2  raidz3  pool
  -----------------------------------------------------------------------------------------------------
  Use either mirror or raidz configuration for data redundancy, and hot spares to automatically handle
  device failure. Note that while ZFS supports non-redundant configuration (option 'pool' in the set of
  choices), a single case of bit corruption can render your data unavailable. Navigate with arrow keys
  (or hjkl), or Ctrl-C to exit.
  In a mirror configuration data is replicated across all devices of the mirror

redundancy type 을 선택하란다.  다들 종류는 알고 있을테니 스킵.

Group of devices      : c0t5000C5002694D5C7d0, c0t5000C500269ABC4Cd0, c0t5000C50026AAE413d0, ...
Group redundancy type : raidz2
Continue adding devices to the volume 'jbod-test'?  Yes
Group of devices      : c0t5000C50026AF2AB1d0, c0t5000C50026AF4629d0, c0t5000C50026AF51FEd0, ...
Group redundancy type : raidz2
Continue adding devices to the volume 'jbod-test'?  (y/n)

불륨에 디스크 추가를 계속 할건지 물어온다.  추가할 생각이 없다면 n 을 상콤하게 눌러준다.

Create volume 'jbod-test'?  (y/n)

볼륨을 진짜 만들건지 물어본다.  y
누르고 나면, 볼륨이 생성되며 다음과 같이 summary 가 나타나며, auto-snap 서비스를 설정 할 것인지 묻는다.

volume: jbod-test
 state: ONLINE
 scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        jbod-test                  ONLINE       0     0     0
          raidz2-0                 ONLINE       0     0     0
            c0t5000C5002694D5C7d0  ONLINE       0     0     0
            c0t5000C500269ABC4Cd0  ONLINE       0     0     0
            c0t5000C50026AAE413d0  ONLINE       0     0     0
            c0t5000C50026AEC48Fd0  ONLINE       0     0     0
          raidz2-1                 ONLINE       0     0     0
            c0t5000C50026AF2AB1d0  ONLINE       0     0     0
            c0t5000C50026AF4629d0  ONLINE       0     0     0
            c0t5000C50026AF51FEd0  ONLINE       0     0     0
            c0t5000C50026AF5295d0  ONLINE       0     0     0

errors: No known data errors
NAME        SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
jbod-test  14.5T   418K  14.5T     0%  1.00x  ONLINE  -

Volume 'jbod-test' created successfully. Please take a moment to consider using default snapshot
policy for this volume. The defaults are as follows: keep 30 daily snapshots and 12 monthly
snapshots; take snapshots at 12am. Say No if you do not need to periodically snapshot the new
volume and all its folders, and/or if the defaults are not satisfactory. Note that you can
always decide later - see 'create auto-snap -h' for details.
Create default auto-snap services for 'jbod-test'?  (y/n)

나는 수동 설정할 것이므로 n , 궁금한 분들은 y 눌러서 진행 하면 되겠다.

PROPERTY              VALUE                                                
service             : auto-snap
instance            : jbod--test-000
frequency           : daily at 00:00
status              : offline* since 03:38:00
enabled             : true
state               : idle
comment             : default-service
exclude             :
keep_days           : 30
last_replic_time    : 0
latest-suffix       :
period              : 1
snap-recursive      : 1
time_started        : N/A
trace_level         : 1
log                 : /var/svc/log/system-filesystem-zfs-auto-snap:jbod--test-000.log
PROPERTY              VALUE                                                
service             : auto-snap
instance            : jbod--test-001
frequency           : monthly on 1st day of the month at 00:00
status              : offline* since 03:38:04
enabled             : true
state               : idle
comment             : default-service
exclude             :
keep_days           : 12
last_replic_time    : 0
latest-suffix       :
period              : 1
snap-recursive      : 1
time_started        : N/A
trace_level         : 1
log                 : /var/svc/log/system-filesystem-zfs-auto-snap:jbod--test-001.log

실수로 y 를 눌러버렸다. 젠장.  뭐 어쨌든 연습용이므로 패스~

이제 볼륨이 만들어 졌다.  이 볼륨에 zvol 을 생성하고 iSCSI 타겟을 설정하여 iSCSI 로도 사용이 가능하고, 또는 folder 를 생성하여 NFS/CIFS 의 파일 기반 서비스를 사용 할 수도 있다.

모두 비슷한 인터페이스이기 때문에 다음과 같이 zvol 도 생성이 가능하다.
nmc@xxxnodexx:/$ create zvol
zvol name    : jbod-test/test
  -----------------------------------------------------------------------------------------------------
  zvol pathname must start with a name of the volume, and can only contain alphanumeric characters as
  well as underscore ('_'), dash ('-'), period ('.') and forward slashes ('/'). The available volumes
  are: jbod-test, qpod1-pool1, nfs-pool, qpod1-pool2. Use forward slash '/' to separate existing volume
  or folder name from the (new) block device name, for instance: jbod-test/new_zvol. Press Ctrl-C to
  exit.


이후의 설정도 그대로 따라하면 되겠다.


물론 CLI 인터페이스로 소개하였지만, 웹 인터페이스에서도 모두 기능을 제공한다.
상단 메뉴의 Data Management -> Data Sets  에서 볼륨 및 폴더의 생성/삭제가 가능하며,  Data Management -> SCSI Target  의 탭에서 LUN / zvol 의 생성 및 삭제가 가능하다.


이러한 기본적인 기능 이외에 플러그인을 사용하면 서버 자체적으로 bonnie 또는 iometer 등을 사용하여 볼륨에 대한 벤치마킹이 가능하기도 하며,  여러대의 Nexenta 를 사용중이라면 zfs send/receive 의 기능을 확대한 auto-sync , auto-tier 등의 파일 시스템 복제 및 autocdp 를 통한 블럭레벨의 복제까지 가능하다.

한가지 더 알아 두어야 할 것은, Nexenta 에서의 폴더의 개념이 약간 특수한데, 이는 단순 mkdir 로 생성되는 것이 아닌 NFS/CIFS/RSYNC/FTP 등의 서비스를 손쉽게 설정이 가능하도록 하는 또 하나의 단위라고 생각 하면 된다.
단순히 NFS 서비스만 제공하고자 한다면 서버를 설치하고 볼륨 생성 -> 폴더 생성 -> NFS 탭에 체크 -> 간단한 권한 설정 을 통해 바로 NFS 서비스에 투입이 가능하다.


스크린샷을 많이 찍고 싶었으나 여건이 허락하지 않아 대충 넘어 가지만, 거의 대부분의 기능들을 커맨드 라인 인터페이스로 설정하는것이 더 재미있다.  초기 설정에 필요한 아주 간단한 것들만 적어 보자면,

# 인터페이스 설정 확인
$ show network interface igb0
# 인터페이스 설정
$ setup network interface igb0
# 인터페이스 링크 확인
$ show network devices
# 기본 게이트웨이 확인
$ show network gateway

CLI 체계는 간단해서, show 를 setup 으로 바꾸면 보기/설정 으로 변경 된다고 생각하면 매우 쉽다.



서비스를 구성하면서 언제 힘든것이 IO 이다.  아무리 고민해도 나쁘지 않은 부분이며, 통상 병목이 매우 일찍 오는 구간이므로 NetApp 또는 EMC 등의 벤더와 또 리눅스 상에서의 각종 파일 시스템, 그리고 이런 오픈 솔라리스 기반의 여러 장치를 테스트 해 보는 것은 매우 의미 있는 일이라 하겠다.

모두 재미난 테스트 하시길!


( younjin.jeong@gmail.com , 정윤진 )

Sunfreeware, NexentaOS

Techs
( 정윤진, bluebird_dba@naver.com )

친구네 시스템이 SunOS 5.9 로 되어있어서 간혹 장애가 나면 지원겸 해서 보아주는 경우가 있는데, 아무리 솔라리스라고 해도 리눅스의 유용한 툴들이 가끔 그리워 지게 마련이다.
더군다나 솔라리스에 오픈 소스의 솔루션을 설치할라 치면, automake 나 gcc 같은 툴들이 몸서리 쳐지게 필요해 지는데, 이때 유용한 것이 제목과 같은 Sunfreeware 다.

sunfreeware 에는 리눅스 세상에서 유용했던 또는 필수적인 여러가지 오픈소스들을 지원하는데, 다운로드 및 설치가 간단해서 많은 이들이 사용하고 있는것으로 안다.

가장 대표적인 예가 아파치, php 와 같은 범 unix 솔루션들을 그냥 바이너리/패키지 형태로 받아 쓰기에는 문제가 있는 경우가 많아서, 해당 시스템에서 직접 컴파일 해서 사용하거나 또는 일반 리눅스 머신에서 크로스 컴파일하여 타겟 시스템에 올리거나, 어쨌든 컴파일 해서 각종 튜닝을 시도해야 하는 것이 맞기 때문에 sunfreeware 에서 제공하는 여러 패키지를 반드시 설치해야 한다.


패키지를 구하는 방법은 간단해서, sunfreeware.com 에 접근하여 원하는 패키지를 다운로드 받으면 된다.

ftp ftp.sunfreeware.com 에 anonymous 로 접근
pub/freeware
원하는 패키지 다운로드!

압축 대강 해제해 주고
pkg-add -d [$PKGFILE]

좌르륵 설치 된다.


이와 같은 상용유닉스에서는 일반 리눅스에서는 별로 신경쓰지 않았던 여러 어플리케이션 별 튜닝 차이점에 대해 잘 살펴 보아야 한다.
잘 알려진 apache2.x 버전의 솔라리스 구동에는 많은 옵션들이 있으며, 이 솔라리스라 하더라도 SPARC 인지 아니면 다른 프로세서인지에 따라 시스템적 튜닝 요소들이 존재한다.

말이 좋아 튜닝이지, 사용자가 많아지는 환경이 되면 스왑을 잔뜩 잡수셔서 뻗거나, pthread 관련 문제로 인해 아파치가 다이 하시는등 그거 꽤 번잡스럽지만 신경써 주지 않으면 서비스 자체가 불가능 한 경우도 많으니 이기종 플랫폼에서 유의하는 것은 뭐 당연하달까.

자세한 정보는 여기서.
http://www.sunfreeware.com/


한가지 더,  세상이 좋아져서 opensolaris.org 라는게 생겼다.
opensolaris 자체를 사용해 보는 것도 좋지만, NexentaOS 라는거를 시스템 하면 꼭 한번쯤은 써보는게 좋지 않나 하는 생각이다.

왜?

이 NexentaOS 는 솔라리스 커널 기반에 Debian ( 또는 Ubuntu ) 식의 APT 를 사용한 패키지 관리 툴이 포함된 멋진놈이라는 거다.
리눅스 진영에서 솔라리스에 항상 군침 흘리는것이 바로 이  ZFS 인데, 세상에 현존하는 파일시스템 가운데 군계일학 같은 이놈을 우분투와 같이 아트한 패키징 시스템과 함께 리눅스처럼 편하게 사용 할 수 있다는것은 축복인거다.  게다가 지원하는 패키지도 13000개 이상이라는 홈페이지의 소개만큼이나 여러 툴을 쉽게 사용할 수 있다.

뭐, sunfreeware 만 쓰기엔 좀 거시기 해서 NexentaOS 도 곁다리로 소개하긴 하지만,
적어도 뭔가 공유 스토리지가 필요한 시스템 군을 구성하는데 있어서 성능적 측면에서는
이 NexentaOS 를 백단의 NFS 메인으로 두고 프론트 군 구성에 적절한 웹서버들을 포진하는 것은 대단히 매력적인 방법이 아닌가 싶다.


오늘은 원래 nginx.conf 에 대해서 대강 설명을 해볼까 했는데, 피곤하기도 하고 해서 그건 다음번 포스팅에 하기로 하고,  Nexenta에 대해서도 시간을 내어 한번 퍼포먼스 테스트를 해 봤으면 좋겠다. 


nexentaos 는 다음의 링크들에서 구하실 수 있겠다.

http://www.nexenta.org/os
http://www.opensolaris.org/os/downloads/


( 정윤진, bluebird_dba@naver.com )

스토리지, 파일 시스템, 그리고 가상화.

Techs
( 정윤진, yjjeong@rsupport.com )


일을 하다 보면, 스토리지에 관련된 이슈가 참 많이 생긴다.  NT 계열이건 Unix 계열이건, 스토리지에 대해서는 뭐 일반적인 스토리지는 많이들 구성하니까 Raid 의 종류별 성능이라던가 이런거는 뭐 너무도 일반화 되어 있어서, 별로 기술이라는 생각도 잘 들지 않게 되고.

파일시스템도 마찬가지여서, 리눅스의 ext2 시절부터 골때렸던 여러가지 이슈들 부터 메인 개발자가 사고쳐서 감방간 ReiserFS, 요새의 Solaris 기반의 ZFS 등 운영체제에 따른 OS 선택 옵션도 참 많다.

또 요새는 글로벌하게 분산되는 파일 시스템도 많아서, 뭐 사실 안정성이 문제긴 하지만 일종의 Torrent 같은 구현을 파일 시스템 레벨에서 구현하는 것도 종종 있기도 하고.

문제는 어떤 서비스에 뭘 선택해서 사용하느냐인데, 단일 시스템에서 대량의 ( Peta 규모 ) 파일시스템을 Aceess 할 일은 거의 없다고 본다. SAN 이나 iSCSI 로 엮어 NetApp이나 EMC의 스토리지와 연결하고, 이 볼륨들은 서버에서 원하는 형태로 스케일링 하여 파일시스템으로 마운트 되면서, 필요에 따라 NFS 나 CIFS 로 동일 용도의 서버로 묶는다든지, 아니면 오라클이나 DB2 등의 데이터베이스 시스템에 맞게 튜닝하여 RAC 나 클러스터링 구성을 한다 든지.

VMWare 의 ESX 서버를 SAN 에 붙여 사용하면 요거는 활용 가능성이 더욱 넓어진다.
최근 대세인 Cloud Computing 을 어떻게 구성하느냐에 따른 방법론은 참 많고, Amazon 의 EC2 관련 서비스를 어떻게 구현할 수 있을까 라는 것도 많겠지만, 궁극적으로 성능 - 백업 - 배포 - 관리 등을 동시에 고려한다면 어지간한 대규모 프로젝트보다 많은 노력이 필요하겠지.

쓰다보니 두서도 없고, 주제도 별로 제목과 맞지는 않지만 뭘 어떻게 하자는 것도 아니고
사실 고민 스러운 일도 아니다.

이전에도 한번 소개 했었지만, 간단한 파일시스템의 가상화를 통한 대량의 파일 복구 또는 DB 복구를 위해서 종종 사용하는 방법인데,  시스템에서 즉석으로 원하는 파일 시스템을 만들고
이를 마운트해서 원하는 성능을 얻는 방법. 뭐, 리눅스 용이고 간단한 dd 커맨드로 가능하다.
물론 해당 파일 시스템을 사용하기 위한 커널 모듈 또는 툴 등이 필요한것은 지당하다.

dd if=/dev/zero of=test_hoho.img bs=1k count=10000  ( 원하는 블럭사이즈의 원하는 파일 시스템 크기 )
mkfs.reiserfs test_hoho.img
mount test_hoho.img /mnt/test

ext3 의 dir_index 를 붙이기전, ( 뭐 일종의 파일시스템에 대한 b-tree indexing 정도로 이해하고 있다 ) 현저하게 떨어지는 대량의 파일에 대한 컨트롤 능력에 필요할때의 응급조치 랄까.

어느 순간에 대한 백업으로서 써도 좋다. 아니면 이렇게 만든 파일 시스템에 OS 를 올려서 배포를 해도 좋겠지.  분산컴퓨팅에 많이 쓰기도 하고.  나중에 pxe boot 와 연계해서 올리는 방법에 대해 간단히 설명하게 되면 하기로 하고.

systemimager 와 같은 유틸리티로 Cloud computing 을 구성할 수도 있고 뭐, 널린게 방법이니까.


어쨌든, 이 주제없고 웬지 Storage Tab 이 썰렁해 보여 아무렇게나 써제끼는 글에 대한 결론아닌 결론이라면, 역시 돈있으면 NetApp, EMC, 돈없으면 HDFS GFS ZFS 라는 거다.
서버 - Filesystem 이 분리 될 수 있는 NFS 구조라면,  NFS 자체는 OpenSolaris 의 nexenta 같은 OS를 사용하고, 이를 윈도우에서 마운트 하던 유닉스에서 마운트하던 맘대로 사용하면 되시겠다.

고가의 Veritas Cluster 나 Suncluster, Oracle RAC 같은 구성이라면, 돈있으면 SAN 돈없으면 iSCSI 겠지.  이럴때도 iSCSI 를 사용하기로 했다면, nexenta 가 훌륭한 답이 될 수도 있다.

암튼, 이런저런 두서없는 끄적거림에 대한 나만의 결론은, 돈이 있건 없건 대량의 사이즈에 대한 백업 또는 스냅샷 정책이 있어야 하고, 파일시스템 레벨에서의 정합성 및 장애 극복에 대해 항상 염두해 두어야 회사에서 잘리는 일이 없지 않을까?


그냥 썼다.  비도 오고 기분도 그렇고 해서~