Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
swift
openstack object-storage
이어형
Index
• What is Swift?
• Swift Components
• Install and Configuration
• Using Swift
• Manage Account, Container, Object
• ...
What is Swift?
openstack object storage
!
• 비정형성 데이터를 저장하기에 적합
• 멀티미디어(동영상,이미지), 디스크이미지, …
!
• 각각의 오브젝트들은 고유한 URL을 갖고 API로...
What is Swift?
File vs Block vs Object Storage
File
Storage
Block
Storage
Object
Storage
단위 파일 블록
오브젝트

(파일+메타데이터)
프로토콜 NF...
What is Swift?
strength of swift
!
• 확장성
• 페타규모의 클러스터로 확장가능하며 확장시에도 downtime이 없이 간단하게 확장가능
• 내구성
• 복제본은 격리된 환경(Zone)으로 관리하...
Swift Components
service architecture
request capacity
request capacity
storage capacity
storage capacity
storage capacity...
Swift Components
proxy server
!
• 사용자의 URL Request를 받아서 Account, Container, Object Server(줄여서 Storage Server)중 한 곳을 선택
• a...
Swift Components
storage server
• 3종류의 데이터를 각각(Account, Container, Object)의 서버가 관리하며

동일한 로직으로 Ring에서 접근됨 (아래의 데이터는 모두 파일임...
Swift Components
logical view
• Account
• 사용자의 계정으로 다수의 사용자들이 권한(ACL)에
따라 사용을 정의가능 함
• Account의 상태 정보를 저장
• Container의 리스트...
Swift Components
daemon
• replicator
• 데이터(File Database, File)를 복제해주기 위한 데몬
• 데이터 잘못되었을 경우 혹은 Ring의 변경으로 인한 이동시 수행
• upda...
Swift Components
logical hierarchy
• object
• 실제 파일과 메타데이터로서 파티션에 담겨서 복제 됨
• partition
• partition은 복제와 균등분배를 위한 단위
• part...
Internet
ZONE #2
ZONE #3
ZONE #4
ZONE #5
Account, Container, Object Servers
Account, Container, Object Servers
Account, Co...
Install and Configuration
• 정식 swift all in one 버전 설치 가이드
• http://docs.openstack.org/developer/swift/
development_saio.ht...
Install and Configuration
add user(option)
Install and Configuration
Installing dependencies
Install and Configuration
Using a loopback device for storage
Install and Configuration
Common post device setup
Install and Configuration
Getting the code
Install and Configuration
Setting up rsync
Install and Configuration
Configuring each node
Install and Configuration
Setting up scripts for running swift
Install and Configuration
setup environment variable for cli
Using Swift with CLI commands
Account API
• 계정 정보 조회
• CLI commands:
• swift stat
• REST API:
• curl -i http://127.0.0.1:8...
Using Swift with CLI commands
Container API
• 컨테이너 생성
• CLI commands:
• swift post <container>
• REST API:
• curl -i http:...
Using Swift with CLI commands
Container API
• 오브젝트 리스트 보기
• CLI commands:
• swift list <container>
• REST API:
• curl -i h...
Using Swift with CLI commands
Container API
• 컨테이너 메타데이터 업데이트
• CLI commands:
• swift post <container> -m <meta>
• REST AP...
Using Swift with CLI commands
Object API
• 오브젝트 업로드
• CLI commands:
• swift upload <container> <object>
• REST API:
• curl...
Using Swift with CLI commands
Object API
• 오브젝트 다운로드
• CLI commands:
• swift download <container> <object>
• REST API:
• c...
Using Swift with CLI commands
Object API
• 오브젝트 메타데이터 업데이트
• CLI commands:
• swift post <container> <object> -m <meta>
• R...
–Jonathan Swift
‘날마다 그대의 삶을 살 수 있기를.’
감사합니다.
Nächste SlideShare
Wird geladen in …5
×

Openstack Swift overview

5.766 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { https://urlzs.com/UABbn }
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Openstack Swift overview

  1. 1. swift openstack object-storage 이어형
  2. 2. Index • What is Swift? • Swift Components • Install and Configuration • Using Swift • Manage Account, Container, Object • CLI commands and Rest API
  3. 3. What is Swift? openstack object storage ! • 비정형성 데이터를 저장하기에 적합 • 멀티미디어(동영상,이미지), 디스크이미지, … ! • 각각의 오브젝트들은 고유한 URL을 갖고 API로 제어 • 외부 어플리케이션, 웹 등에서 직접 동시에 접근 가 능 ! • 멀티 테넌트로 구현가능하며 저장공간에 제약이 없음 • 계정마다 저장공간을 할당받는 것이 아닌 모든 저장 공간을 같이 씀 A B C A B C file://xxx… http://swift…
  4. 4. What is Swift? File vs Block vs Object Storage File Storage Block Storage Object Storage 단위 파일 블록 오브젝트
 (파일+메타데이터) 프로토콜 NFS,CIFS,… SCSI,SATA,… HTTP
 (REST,SOAP) 장점 간편한 사용 고성능 확장성 단점 데이터 센터간 확장에 취약 데이터 센터간 확장에 취약 자주 변경되는 데이터 관리에 취약 적합한 분야 파일 공유 정형 데이터 관리
 (ex. 데이터베이스) 비정형 데이터 관리
  5. 5. What is Swift? strength of swift ! • 확장성 • 페타규모의 클러스터로 확장가능하며 확장시에도 downtime이 없이 간단하게 확장가능 • 내구성 • 복제본은 격리된 환경(Zone)으로 관리하여 안전하게 보관 • 가용성 • 비공유 구조(shared-nothing)로 단일 장애점(single point of failure)이 없기 때문에 높은 가용성 보유 • 저비용 • 하드웨어 선택에 특정한 벤더 lock-in이 되지 않았으며 opensource를 사용하여 적은 비용에 구축가능
  6. 6. Swift Components service architecture request capacity request capacity storage capacity storage capacity storage capacity storage capacity storage capacity Internet ZONE #1 ZONE #2 ZONE #3 ZONE #4 ZONE #5 Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Servers Proxy Servers
  7. 7. Swift Components proxy server ! • 사용자의 URL Request를 받아서 Account, Container, Object Server(줄여서 Storage Server)중 한 곳을 선택 • account request의 url: http://…/account • container request의 url: http://…/account/container • object request의 url: http://…/account/container/object • 이 후 해당 Request가 어떤 물리적인 서버에서 처리해야 할지
 Ring을 이용해서 결정 후 Storage Server로 request Internet ZONE #1 ZONE #2 ZONE #3 ZONE #4 ZONE #5 Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Servers Proxy Servers ring
  8. 8. Swift Components storage server • 3종류의 데이터를 각각(Account, Container, Object)의 서버가 관리하며
 동일한 로직으로 Ring에서 접근됨 (아래의 데이터는 모두 파일임) • Account 데이터(File Database) • Account의 상태정보 • Container의 리스트 • Container 데이터(File Database) • Container의 상태정보 • Object의 리스트 • Object 데이터(File) • 실질적인 오브젝트 파일 Internet ZONE #1 ZONE #2 ZONE #3 ZONE #4 ZONE #5 Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Servers Proxy Servers ring
  9. 9. Swift Components logical view • Account • 사용자의 계정으로 다수의 사용자들이 권한(ACL)에 따라 사용을 정의가능 함 • Account의 상태 정보를 저장 • Container의 리스트를 관리 • Container • 사용자들의 권한(ACL)에 따라 사용가능이 결정되는 폴더와 같은 단위 • Container의 상태 정보를 저장 • Object의 리스트를 관리 • Object • 실질적으로 관리되는 파일(+메타데이터) • Container의 ACL에 적용되어 사용 가능 여부 결정 C A B Account Container Container C A B 사용가능 사용가능 Object Object Object Object FILE META FILE META FILE META FILE META
  10. 10. Swift Components daemon • replicator • 데이터(File Database, File)를 복제해주기 위한 데몬 • 데이터 잘못되었을 경우 혹은 Ring의 변경으로 인한 이동시 수행 • updater • object가 추가,삭제시 이를 container list에서 변경될 수 있도록 처리 해야 하나 만약 문제시 이를 나중에 다시 처리 해줌(eventually consistency) • object가 추가된 것에 따라 전체 account가 가진 file size total값을 갱신해 줌 • auditor • 파일의 무결성을 검사 • object-expirer • object가 특정 시간 이후 삭제시 이를 돕기 위한 데몬 • 그 외도 많은 daemon들 …
  11. 11. Swift Components logical hierarchy • object • 실제 파일과 메타데이터로서 파티션에 담겨서 복제 됨 • partition • partition은 복제와 균등분배를 위한 단위 • partition은 수십만,수천만 생성해야 함으로 디렉토리가 적합 • device • device는 증설 혹은 제거를 위한 단위 • device는 증설/제거를 위한 단위로 생각했을때 디스크가 적 합 • zone • zone은 데이터를 안전하게 보관하기 위한 단위(같은 데이터 의 복제본는 다른 zone에 저장되어야 함) • zone은 랙(스위치 단위), 서버가 적합 ZONE DEVICE PARTITION OBJECT TEXT HTML IMAGE MOVIE AUDIO
  12. 12. Internet ZONE #2 ZONE #3 ZONE #4 ZONE #5 Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Servers Account, Container, Object Acc Proxy Servers ring ZONE DEVICE PARTITION OBJECT HTML ring ring Partition index: 3 Zone : #1 Server : A Disk : B 1 2 3 4 2^n . . . . . . Swift Components ring • swift의 분산의 핵심 • static한 파일 데이터로 모든 서버에서 동일한 파일을 사용 • Account, Container, Object 마다 따로 다른 ring으로 관리
 (Account, Container Database도 File Database이기 때 문에 Object와 비슷하게 File로 관리되어 모든 메카니즘이 비슷 하게 작동) • 모든 Account, Container, Object는 다른 URL을 가지고 있 기 때문에 해당 고유한 URL을 Hash 하여 그 값을 이용
 (분산 해쉬 테이블 DHT) • 자세한 설명은 아래 링크를 참조 • http://leoh0.blogspot.kr/2014/04/ring-swift.html Zone #1 Server A A B 3 Disk B Partition 3 URL Hash URL Hash & mod 
 -> partition Index
  13. 13. Install and Configuration • 정식 swift all in one 버전 설치 가이드 • http://docs.openstack.org/developer/swift/ development_saio.html • 해당 내용을 기본적인 기능만 작동할 수 있도록 정리한 스크립트 (ubuntu 14.04에서 테스트) • https://gist.github.com/leoh0/893ab4de7f4c05940cc2
  14. 14. Install and Configuration add user(option)
  15. 15. Install and Configuration Installing dependencies
  16. 16. Install and Configuration Using a loopback device for storage
  17. 17. Install and Configuration Common post device setup
  18. 18. Install and Configuration Getting the code
  19. 19. Install and Configuration Setting up rsync
  20. 20. Install and Configuration Configuring each node
  21. 21. Install and Configuration Setting up scripts for running swift
  22. 22. Install and Configuration setup environment variable for cli
  23. 23. Using Swift with CLI commands Account API • 계정 정보 조회 • CLI commands: • swift stat • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test -X HEAD -H "X-Auth- Token:<TOKEN>" • 컨테이너 리스트 조회 • CLI commands: • swift list • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test -X GET -H "X-Auth-Token: <TOKEN>"
  24. 24. Using Swift with CLI commands Container API • 컨테이너 생성 • CLI commands: • swift post <container> • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test/container -X PUT -H "Content-Length: 0" -H "X-Auth-Token:<TOKEN>" • 컨테이너 상세 조회 • CLI commands: • swift stat <container> • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test/container -X HEAD -H "X-Auth-Token: <TOKEN>"
  25. 25. Using Swift with CLI commands Container API • 오브젝트 리스트 보기 • CLI commands: • swift list <container> • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test/container -X GET -H "X-Auth- Token:<TOKEN>" • 컨테이너 삭제 • CLI commands: • swift delete <container> • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test/container -X DELETE -H "X-Auth- Token:<TOKEN>"
  26. 26. Using Swift with CLI commands Container API • 컨테이너 메타데이터 업데이트 • CLI commands: • swift post <container> -m <meta> • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test/container -X POST -H "X-Auth- Token:<TOKEN>" -H "<META>"
  27. 27. Using Swift with CLI commands Object API • 오브젝트 업로드 • CLI commands: • swift upload <container> <object> • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test/container/object -X PUT -H "X-Auth- Token:<TOKEN>" • 오브젝트 상세 보기 • CLI commands: • swift stat <container> <object> • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test/container/object -X HEAD -H "X-Auth- Token:<TOKEN>"
  28. 28. Using Swift with CLI commands Object API • 오브젝트 다운로드 • CLI commands: • swift download <container> <object> • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test/container/object -X GET -H "X-Auth- Token:<TOKEN>" • 오브젝트 삭제 • CLI commands: • swift delete <container> <object> • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test/container/object -X DELETE -H "X-Auth- Token:<TOKEN>"
  29. 29. Using Swift with CLI commands Object API • 오브젝트 메타데이터 업데이트 • CLI commands: • swift post <container> <object> -m <meta> • REST API: • curl -i http://127.0.0.1:8080/v1/AUTH_test/container/object -X POST -H "X-Auth- Token:<TOKEN>" -H "<META>"
  30. 30. –Jonathan Swift ‘날마다 그대의 삶을 살 수 있기를.’
  31. 31. 감사합니다.

×