openstack swift 설치

지난 번 saio(swift all in one)설치에 이은 2탄 -_-;

이번엔 swift 를 제대로 설치해보겠다 -_-;;;;;;;;;;;;;;;;

이번 포스팅의 모든 내용은 openstack.org에 있는 공식 문서 내용과 동일하므로 참고하시길…

 

서버 구성 

OS : CentOS7, 설치 버전 : liberty, 설치 패키지 : keystone, horizon, swift

서버 1 => keystone, horizon, swift-proxy, swift-*-server

서버 2,3 => swift-*-server

 

REPO 추가

1. 우선 liberty repository를 추가한다.

 

DB 설치

2. keystone 설치를 위해 DB를 설치한다.

 

3. 설치된 DB설정 파일을 작성

 

4. DB를 서비스로 등록한다.

 

5. mysql  패스워드 설정

 

queue 설치

6. rabbitmq를 설치한다.

 

7. rabbitmq 서비스 등록

 

8. rabbitmq 사용자 추가 및 퍼미션 설정

 

keystone 설치

9. DB에 keystone database를 생성하고, user 생성, 권한 설정

 

10. ADMIN_TOKEN으로 사용할 키값 생성

“a4f95ab47243b4b6b4b6” 과 같은 결과값이 출력되는데, 해당 결과 값을 메모한다.

 

11. memcached, keystone, httpd 설치

 

12. memcached 서비스 등록

 

13. keystone.conf 수정

ADMIN_TOKEN의 위치에 위에서 메모해 놓은 key값을 넣어주고, connection 정보를 수정해 준다.

 

14. 파일 수정이 완료되면 db_sync를 수행

 

15. httpd의 conf파일을 생성한다.

 

16. httpd서비스를 등록한다.

 

17. 임시 인증을 위해 admin token을 export해준다.

 

18. openstack client를 설치한다.

아래처럼 설치하면 모든 openstack project의 client가 전부 설치되는데… 이건 수정할 필요가 있을 듯..

 

19. keystone 서비스 추가 및 endpoint 추가

테스트 용도 이기 때문에 internal, public, admin 모두 같은 ip를 썼다 -_-…

신기한건… 이제 keystone 명령어가 없어진건가?

 

20. 프로젝트 / 사용자등을 생성해 준다.

 

21. token issue로  token을 잘 받아오는지 확인한다.

이때 기존에 등록했던 환경 변수는 unset 해준다.

아래같은 결과 창이 나오면 제대로 등록이 된거고, 뭔가 다른 화면이라면, 설정과정에서 뭔가를 빼먹은 거…

 

22. openrc 파일을 생성한다.

 

23. openrc파일에 등록된 내용으로 keystone이 제대로 동작하는지 확인한다.

 

horizon 설치

사실 swift를 사용할 때 꼭 horizon을 설치해야 하는 것은 아니다.

cyberduck과 같은 프로그램을 이용해서 파일을 직접 업로드,다운로드하게 할수 있다.

그렇지만 뭔가 웹페이지를 띄워보고 싶었던 나는 horizon을 설치하기로 해씀…ㅋㅋㅋ

24. 패키지를 설치한다.

 

25. local_settings파일을 수정한다.

아래와 같이 수정하면 될 듯.

 

26. 설정이 끝나면 httpd와 memcached를 재시작

 

27. 웹브라우저를 열고 접속이 되는지 확인한다.

http://xxx.xxx.xxx.xxx/dashboard

ID/password는 위에 과정 20에서  생성한 admin이나, demo계정을 이용하면 된다.

 

swift proxy 설치

서버1에만 proxy-server를 설치한다.

28. 그 전에 swift 계정을 만들어 주고 서비스,엔드포인트를 등록해준다

keystone과 마찬가지로 endpoint는 ip하나만 했다.

 

29. proxy 패키지를 설치한다.

 

30. 기본 설정 파일을 다운로드 한다.

 

31. 위에서 다운로드 받은 proxy-server.conf파일을 수정한다.

 

account, container, object-server 설치

32.  사용할 디스크가 4개라고 가정할때 아래와 같이 작업한다.

32-1. 디스크 파티셔닝

32-2. 파일시스템 포맷 및 fstab수정

 

33. 필요한 디렉토리를 생성해주고, 해당 디렉토리의 소유자를 swift로 변경해 준다.

 

34. swift 는 replication을 rsync를 이용하여 진행하게 되는데 이 때문에 rsync가 필요하다. rsync는 이미 설치되어 있다는 가정하에, rsyncd.conf파일을 변경한다.

원래는 address에 서버 ip를 넣도록 되어 있으나, 0.0.0.0으로 해도 상관은 없다.

오히려 이편이 작업하기 편하다.

 

35. rsync 서비스 등록

 

이제 본격적으로 패키지를 설치해준다.

아래 작업부터는 서버1,2,3 모두 해줘야 한다.

36. account, container, object 설치

 

37. 설정 파일 다운로드 (서버 1에서 다운로드 받아서 수정한 뒤에 서버2,3으로 복사해주면 작업이 편리함)

 

38. *-server.conf 파일 수정

위에서 다운로드 받은 파일을 수정해 준다. bind_ip에는 서버의 ip를 넣어주라고 매뉴얼에는 작성되어 있으나, 그럴려면 모든 서버에서 작업을 해야하고 열라 귀찮으므로 걍 0.0.0.0으로 때려 박음…

 

swift ring생성

위와 같이 작업이 완료되었으면 이제 링을 생성한다.

39. ring을 만들어 준다. ring을 만들때는 계산기를 참고한다.

 

40. 만들어진 ring에 디스크를 추가한다.

aaa~, bbb~, ccc~는 서버1,2,3의 ip를 넣어준다.

 

41. ring rebalance실행

rebalance를 하기전까진 추가된 디스크를 사용할 수 없는 듯하다.

 

42. key값을 생성한다. 이후에 swift.conf파일에 추가할 내용이므로 메모를 해둬야 한다.

두 개가 필요하므로 두번해준다.

 

43. swift.conf를 다운로드 하고 수정한다.

위에서 메모한 값을 넣어 준다.

 

44. /etc/swift의 소유권을 변경한다.

 

45. 서비스 실행

프록시 서버와 memcached는 서버1에서만 실행한다.

account 서비스 실행

container 서비스 실행

object 서비스 실행

 

끝…

이제 swift 가 제대로 동작하는지 horizon이나 cyberduck과 같은 프로그램을 통해 확인한다.

cyberduck 사용법 : 여기를 클릭

접속 방법 : 아래 그림을 참고

qqq

다음 포스팅은 아무래도 ssbench가 될 듯?

댓글 남기기