System Compleat.

'파일시스템'에 해당되는 글 1건

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

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

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 가 훌륭한 답이 될 수도 있다.

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


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