웹사이트 검색

Gluster 파일 시스템에서 자가 복구 및 재조정 작업을 수행하는 방법 - 2부


'GlusterFS(파일 시스템) 소개 및 설치 – 1부'에 대한 이전 기사에서는 파일 시스템에 대한 간략한 개요와 몇 가지 기본 명령을 설명하는 장점에 대해 설명했습니다. 이 글에서는 GlusterFS에 대한 설명 없이 자가 치유재균형이라는 두 가지 중요한 기능에 대해 언급할 가치가 있습니다. 소용없어. 자가 복구재균형이라는 용어에 대해 알아 보겠습니다.

복제된 볼륨의 자가 복구란 무엇을 의미합니까?

이 기능은 복제된 볼륨에 사용할 수 있습니다. 복제된 볼륨[최소 복제본 수 2]이 있다고 가정해 보겠습니다. 일부 오류로 인해 복제본 브릭 중 하나 이상의 브릭이 잠시 다운되고 사용자가 우연히 온라인 브릭에만 영향을 받는 마운트 지점에서 파일을 삭제했다고 가정합니다.

나중에 오프라인 브릭이 온라인 상태가 되면 이 브릭에서도 해당 파일을 제거해야 합니다. 즉, 복구라고 불리는 복제 브릭 간의 동기화가 수행되어야 합니다. 오프라인 브릭에서 파일을 생성/수정하는 경우도 마찬가지입니다. GlusterFS에는 브릭이 온라인 상태가 될 때마다 이러한 상황을 처리하기 위한 자가 치유 데몬이 내장되어 있습니다.

리밸런싱이란 무엇을 의미하나요?

브릭이 하나만 있는 분산 볼륨을 생각해 보세요. 예를 들어 마운트 지점을 통해 볼륨에 10개의 파일을 생성합니다. 이제 볼륨에 브릭만 있으므로 모든 파일이 동일한 브릭에 상주하게 됩니다. 볼륨에 브릭을 하나 더 추가하면 두 브릭 간의 총 파일 수의 균형을 다시 조정해야 할 수도 있습니다. GlusterFS에서 볼륨이 확장되거나 축소되면 볼륨에 포함된 다양한 브릭 간에 데이터 균형을 다시 조정해야 합니다.

GlusterFS에서 자가 복구 수행

1. 다음 명령을 사용하여 복제 볼륨을 생성합니다.

gluster volume create vol replica 2 192.168.1.16:/home/a 192.168.1.16:/home/b

참고: 동일한 서버에서 브릭으로 복제된 볼륨을 생성하면 이를 무시해야 한다는 경고가 표시될 수 있습니다.

2. 볼륨을 시작하고 마운트합니다.

gluster volume start vol
mount -t glusterfs 192.168.1.16:/vol /mnt/

3. 마운트 지점에서 파일을 생성합니다.

touch /mnt/foo

4. 두 개의 복제본 브릭에서 동일한 내용을 확인합니다.

ls /home/a/
foo
ls /home/b/
foo

5. 이제 볼륨 상태 정보에서 얻은 PID를 사용하여 해당 glusterfs 데몬을 종료하여 브릭 중 하나를 오프라인으로 보냅니다.

gluster volume status vol
샘플 출력
Status of volume: vol
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			49153	  Y	3810 
NFS Server on localhost				2049	  Y	3824 
Self-heal Daemon on localhost			N/A	  Y	3829

참고: 서버에 자가 복구 데몬이 있는지 확인하세요.

kill 3810
gluster volume status vol
샘플 출력
Status of volume: vol 
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			N/A	  N	N/A 
NFS Server on localhost				2049	  Y	3824 
Self-heal Daemon on localhost			N/A	  Y	3829

이제 두 번째 브릭은 오프라인 상태입니다.

6. 마운트 지점에서 foo 파일을 삭제하고 브릭의 내용을 확인하세요.

rm -f /mnt/foo
ls /home/a
ls /home/b
foo

foo가 여전히 두 번째 브릭에 있는 것을 볼 수 있습니다.

7. 이제 벽돌을 다시 온라인으로 가져옵니다.

gluster volume start vol force
gluster volume status vol
샘플 출력
Status of volume: vol 
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			49153	  Y	4110 
NFS Server on localhost				2049	  Y	4122 
Self-heal Daemon on localhost			N/A	  Y	4129

이제 벽돌이 온라인 상태가 되었습니다.

8. 벽돌의 내용물을 확인하세요.

ls /home/a/
ls /home/b/

자체 복구 데몬에 의해 두 번째 브릭에서 파일이 제거되었습니다.

참고: 파일 크기가 큰 경우 자체 복구 작업이 성공적으로 완료되는 데 시간이 걸릴 수 있습니다. 다음 명령을 사용하여 치료 상태를 확인할 수 있습니다.

gluster volume heal vol info

GlusterFS에서 재조정 수행

1. 분산 볼륨을 만듭니다.

gluster create volume distribute 192.168.1.16:/home/c

2. 볼륨을 시작하고 마운트합니다.

gluster volume start distribute
mount -t glusterfs 192.168.1.16:/distribute /mnt/

3. 10개의 파일을 만듭니다.

touch /mnt/file{1..10}
ls /mnt/
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

ls /home/c
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

4. 볼륨 분배에 또 다른 브릭을 추가합니다.

gluster volume add-brick distribute 192.168.1.16:/home/d
ls /home/d

5. 재조정을 수행합니다.

gluster volume rebalance distribute start

volume rebalance: distribute: success: Starting rebalance on volume distribute has been successful.

6. 내용을 확인하세요.

ls /home/c
file1  file2  file5  file6  file8 

ls /home/d
file10  file3  file4  file7  file9

파일의 균형이 재조정되었습니다.

참고: 다음 명령을 실행하여 재조정 상태를 확인할 수 있습니다.

gluster volume rebalance distribute status
샘플 출력
Node           Rebalanced-files     size          scanned    failures    skipped   status	run time in secs 
---------      -----------          ---------     --------   ---------   -------   --------     ----------------- 
localhost          5                0Bytes           15          0         0       completed         1.00 
volume rebalance: distribute: success:

이것으로 GlusterFS에 대한 이 시리즈를 마무리할 계획입니다. 자가 치유 및 재균형 기능에 대한 의문 사항이 있으면 여기에 자유롭게 의견을 남겨주세요.