공개 SW 솔루션설치 & 활용가이드 시스템 SW > 스토리지 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide
CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리
- 3-1. 개요 소개 주요기능 Gluster FS 는확장성이가능한 NAS 파일시스템 다수의스토리지를이더넷 (Ethernet) 또는인피니밴드 (InfiniBand) 를통하여하나의커다란병렬네트워크파일시스템으로통합 로컬파일시스템위에분산파일시스템구성 탄력적인해싱알고리즘으로메타데이터서버가필요없음 brick 이라는 XFS 파일시스템의디렉터리단위로파일이분산저장 대분류 시스템 SW 소분류 스토리지 라이선스형태 GPL V3 사전설치솔루션 Linux (O/S) 실행하드웨어 특징 보안취약점 개발회사 / 커뮤니티 공식홈페이지 2 소켓 (4 코어, 6 코어또는 8 코어 ) 권장 O/S 설치디스크용량 200GB RAID 6 및 RAID 1 + 0 하드웨어 RAID 컨트롤러지원 고성능및고가용파일및오브젝트기반스토리지구축 데이터의저장및접근을즉시파일혹은오브젝트기반으로제공 메타데이터서버를제거하여성능, 병목및단일장애지점방지 버전 glusterfs-4.1.5-1(2018 년 10 월기준 ) 취약점 ID : CVE-2018-1000199 심각도 : 5.5 MEDIUM(V3) 취약점설명 : Linux Kernel 버전 3.18 에는크래시및메모리손상을초래할수있는 modify_user_hw_breakpoint () 에위험한기능의취약점발견 대응방안 : 최신패치적용 참고경로 : https://www.securitytracker.com/id/1040806 https://www.gluster.org/community/ https://www.gluster.org/
- 4-2. 기능요약 Gluster fs 기능 기능 distributed replicated striped distributed striped distributed replicated distributed striped replication striped replicated 지원여부지원지원지원지원지원지원지원
- 5-3. 실행환경 Use Case 에따라하드웨어사양이달라짐 구분 HPC General Purpose Archival Cpu( 이상 ) 2-socket (with 4-core, 6- core, or 8-core) 2-socket (with 4-core, 6- core, or 8-core) 2-socket (with 4-core, 6- core, or 8-core) Memory( 최소 ) 48GB 32GB 16GB 네트워크 2x10GigE 2x10GigE (preferred) or 2x1GigE 2x10GigE (preferred) or 2x1GigE Hard Disk 사양 15000 RPM drives(2.5" inch SAS) OR Solid state disks. 7200 or 10000 RPM drives (3.5" SAS or SATA) 7200 or 10000 RPM drives (3.5" SAS or SATA) 파일시스템크기 ( 최소 ) 900GB 8 TB 8 TB 위내용은권장사항이아니며, workload 에따라하드웨어사양이변경될수있음
- 6-4. 설치및실행 세부목차 4.1 설치환경준비 4.2 설치진행 4.3 설치완료
- 7-4. 설치및실행 4.1 설치환경준비 Gluster fs 설치환경 하드웨어및소프트웨어정보 비고 Gluster fs 서버최소 2 대 ( 구성환경에따라서버대수가달라짐 ) O/S 정보 Linux O/S 설치공간 200GB 권장 ( 구성환경에따라달라짐 ) Gluster fs 구성에필요한파일시스템영역 네트워크 권장은없으며, 구성환경에따라달라짐 네트워크통신에있어서최대한의대역폭확보필요
- 8-4. 설치및실행 4.2 설치진행 (1/5) Gluster fs 를구성하기위해리눅스 (O/S) 설치및네트워크설정진행 (2 EA) - O/S 버전 : Cent OS 7.5 - hostname : gluster01, gluster02 - 네트워크설정 : gluster01 : 10.65.10.101 gluster02 : 10.65.10.102 /etc/hosts 파일설정및 ntp 서버에시간동기화설정 - /etc/hosts 파일설정 : 10.65.10.101 gluster01 => 추가 10.65.10.102 gluster02 => 추가 - ntp 서버시간동기화 : time.bora.net
- 9-4. 설치및실행 4.2 설치진행 (2/5) Gluster fs 구성에필요한파일시스템영역구성 - gluster01 서버 : 10GB 볼륨마운트 : 2EA => /dev/vdb1 /gluster01/data1 /dev/vdc1 /gluster01/data2 - gluster02 서버 : 10GB 볼륨마운트 : 2EA => /dev/vdb1 /gluster02/data1 /dev/vdc1 /gluster02/data2
- 10-4. 설치및실행 4.2 설치진행 (3/5) Gluster fs Package 설치하기위해 Gluster fs repo 등록 - # yum install centos-release-gluster
- 11-4. 설치및실행 4.2 설치진행 (4/5)
- 12-4. 설치및실행 4.2 설치진행 (5/5) Gluster fs Package 설치 - # yum install gluster*
- 13-4. 설치및실행 4.3 설치완료 (1/2) Gluster fs Package 설치가되었는지확인 - Package 설치확인 : # rpm qa grep gluster Glusterd daemon 실행및 Active 상태인지확인 - Glusterd daemon 실행 : # systemctl start glusterd # systemctl enable glusterd - Glusterfs daemon 실행확인 : # systemctl status glusterd
- 14-4. 설치및실행 4.3 설치완료 (2/2)
- 15-5. 기능소개 세부목차 5.1 Volume 신규구성 5.1.1 distributed volume 신규구성 5.1.2 distributed replicated volume 신규구성
- 16-5. 기능소개 5.1.1 distributed volume 신규구성 (1/8) distributed 구성을위해서버및 brick 확인 - 2대의서버 - gluster01 서버 : 10GB 볼륨 (brick) => /gluster01/data1 - gluster02 서버 : 10GB 볼륨 (brick) => /gluster02/data1 Storage pool 추가작업진행 - gluster fs 파일시스템을구성할서버등록및확인 # gluster peer probe gluster01 # gluster peer probe gluster02 # gluster peer status
- 17-5. 기능소개 5.1.1 distributed volume 신규구성 (2/8) distributed 구성작업진행 - distributed 구성및확인 # gluster volume create distributed-volume gluster01:/gluster01/data1/distvol gluster02:/gluster02/data1/distvol # gluster volume info
- 18-5. 기능소개 5.1.1 distributed volume 신규구성 (3/8) gluster volume 사용가능하도록전환 # gluster volume start distributed-volume
- 19-5. 기능소개 5.1.1 distributed volume 신규구성 (4/8) glusterfs Volume 을사용하는서버에서해당볼륨을사용하기위해 glusterfs repo 등록 # yum install centos-release-gluster
- 20-5. 기능소개 5.1.1 distributed volume 신규구성 (5/8) glusterfs Volume 을사용하는서버에서 glusterfs-client Package 설치 # yum install glusterfs-client
- 21-5. 기능소개 5.1.1 distributed volume 신규구성 (6/8) glusterfs Volume을사용하는서버에서 gluster volume 마운트진행및확인 # mkdir /glusterfs # mount -t glusterfs gluster01:distributed-volume /glusterfs # df -h
- 22-5. 기능소개 5.1.1 distributed volume 신규구성 (7/8) glusterfs Volume을사용하는서버에서파일생성후 2대의 gluster 서버에서파일이분산되어저장되는지확인 - for 문으로 20개의파일생성 - 서버에서파일확인 - 2대의 gluster에서파일확인
- 23-5. 기능소개 5.1.1 distributed volume 신규구성 (8/8)
- 24-5. 기능소개 5.1.2 distributed replicated volume 신규구성 (1/8) distributed replicated 구성을위해서버및 brick 확인 4대의서버 - gluster01 서버 : 10GB 볼륨 (brick) => /gluster01/data1 - gluster02 서버 : 10GB 볼륨 (brick) => /gluster02/data1 - gluster03 서버 : 10GB 볼륨 (brick) => /gluster03/data1 - gluster04 서버 : 10GB 볼륨 (brick) => /gluster04/data1
- 25-5. 기능소개 5.1.2 distributed replicated volume 신규구성 (2/8) Storage pool 추가작업진행 - gluster fs 파일시스템을구성할서버를등록및확인 # gluster peer probe gluster01 # gluster peer probe gluster02 # gluster peer probe gluster03 # gluster peer probe gluster04 # gluster peer status
- 26-5. 기능소개 5.1.2 distributed replicated volume 신규구성 (3/8) distributed replicated 구성작업진행 - distributed replicated 구성및확인 # gluster volume create distributed-replicated-volume replica 2 gluster01:/gluster01/data1/drvol gluster02:/gluster02/data1/drvol gluster03:/gluster03/data1/drvol gluster04:/gluster04/data1/drvol # gluster volume info
- 27-5. 기능소개 5.1.2 distributed replicated volume 신규구성 (4/8)
- 28-5. 기능소개 5.1.2 distributed replicated volume 신규구성 (5/8) gluster volume 사용가능하도록전환 # gluster volume start distributed-replicated-volume
- 29-5. 기능소개 5.1.2 distributed replicated volume 신규구성 (6/8) glusterfs Volume을사용하는서버에서 gluster volume 마운트진행및확인 # mkdir /glusterfs # mount -t glusterfs gluster01:distributed-replicated-volume /glusterfs # df -h
- 30-5. 기능소개 5.1.2 distributed replicated volume 신규구성 (7/8) glusterfs Volume을사용하는서버에서파일생성후 4 대의 gluster 서버에파일이분산되어저장되는지확인 - for 문으로 40개의파일생성 - 클라이언트서버에서파일확인 - 4대의 gluster 서버에서파일확인
- 31-5. 기능소개 5.1.2 distributed replicated volume 신규구성 (8/8)
- 32-6. 활용예제 세부목차 6.1 Gluster fs 구성방식
- 33-6. 활용예제 6.1 Gluster fs 구성방식 (1/7) distributed 구성방식 분산파일시스템이필요하고데이터안정성이요구되지않을때사용 여러개의 brick 볼륨을거쳐데이터를저장하는방식 디스크, node 장애시데이터안전성을보장할수없음
- 34-6. 활용예제 6.1 Gluster fs 구성방식 (2/7) replicated 구성방식 분산파일시스템을사용하지않고데이터안전성이중요할때사용 여러개의 brick 볼륨을거쳐서데이터를저장하는방식 운영하는데이터의안전성이보장되어야할때사용되며, brick 볼륨이서로다른서버에존재할때안전하게데이터복제
- 35-6. 활용예제 6.1 Gluster fs 구성방식 (3/7) striped 구성방식 큰파일의동시접속이많을때사용 하나의파일을여러개의 brick 볼륨에분산하여데이터를저장하므로데이터안전성을 보장할수없음
- 36-6. 활용예제 6.1 Gluster fs 구성방식 (4/7) distributed Striped 구성방식 확장성을요구하며큰파일의동시접속이많을때사용 기존의 stripe 방식에서분산파일시스템을사용하기위해서구성하는방식
- 37-6. 활용예제 6.1 Gluster fs 구성방식 (5/7) distributed replicated 구성방식 분산파일시스템을사용하면서동시에데이터안정성이중요할때사용 일반적으로많이사용되는방식으로 Read Performance 좋음
- 38-6. 활용예제 6.1 Gluster fs 구성방식 (6/7) distributed striped replication 구성방식 파일에대한동시접속이많고, 성능이중요할때사용되는방식 map reduce 를사용할때구성하는방식으로권장 복제를통한데이터의안전성을보장하기위해서구성하는방식
- 39-6. 활용예제 6.1 Gluster fs 구성방식 (7/7) striped replicated 방식 큰파일에대한동시접속이많고성능이중요할때사용 map reduce 를사용할때구성하는방식으로권장
- 40-7. FAQ Q Gluster fs 는데이터저장공간에대한확장, 축소가가능한가요? A Gluster fs 는처음구성이된이후에도, 데이터저장공간에대해확장및축소가 가능합니다. Q Gluster fs 는 Share Volume 으로사용이가능하나요? A Gluster fs 는 NFS(Network File System), SMB Protocol 을지원하므로 Share Volume 으로사용이가능하지만, 용도에맞게사전테스트진행후사용하시면 됩니다.
- 41-8. 용어정리 용어 peer, 노드클러스터 brick 설명 gluster 는분산파일시스템으로여러대노드의파일시스템을하나로묶어서사용, 이노드를 'peer' 라고함 gluster 에서는 peer 관련명령어를통하여클러스터를구성하며, 분산파일시스템을구성할 peer 의모임을클러스터라고함 brick 은각노드에서볼륨으로사용할파일시스템으로마운트포인트를이용함, brick 은 ' 노드 IP: 마운트포인트 ' 의형태로표시 (ex - 192.168.1.11:/mnt/test) 볼륨 서비스를제공하는 gluster 볼륨은여러개의 brick 들로구성됨사용자는기본적으로 glusterfs 파일시스템을통해마운트를하며, NFS 나 SMB, CIFS 등을통해마운트하여사용가능함
Open Source Software Installation & Application Guide 이저작물은크리에이티브커먼즈 [ 저작자표시 비영리 동일조건변경허락 2. 0 대한민국라이선스 ] 에따라이용하실수있습니다.