IBM Cloud Object Storage를 사용해 보았습니다.
내용 IBM cloud에서 제공하는 IBM Cloud ObjectStorage(ICOS)를 사용하는 방법입니다.
Linux에서 CLI(awscli)와 Filesystem in Userspace(goofys)에서 이용해 보았습니다.
참고 기사
ICOS(IBM Cloud Object Storage)란?
AWS의 s3 호환 객체 스토리지입니다. (구 cleversafe 사의 인수 제품)
IBM cloud의 스토리지 서비스 중 하나에 내장되었습니다.
IBM cloud에서는 기존의 Openstack Swift 기반 오브젝트 스토리지와 함께 ICOS가 추가되었습니다.
스토리지 클래스 및 요금 체계에 대해서는 [여기]을 참조하십시오.
ICOS 주문
IBM cloud 포털의 메뉴 경로는 다음과 같습니다.
[IBM cloud 콘솔] -> [인프라] -> [오브젝트 스토리지]
오브젝트 스토리지 주문을 클릭합니다.
요금 체계가 표시됩니다. 화면 하단의 주문을 클릭하여 주문을 완료합니다.
(종량 과금이므로 신경 쓰지 않고 주문합니다.)
생성된 계정을 클릭하고 자격 증명 보기를 클릭합니다.
[ACCESS KEYS] 입력란에 있는 アクセスキーID
, 秘密アクセス・キー
를 메모합니다.
이 정보는 아래의 액세스 도구에서 사용됩니다.
CLI (awscli)로 액세스
awscli를 설치합니다.
RHEL7의 예입니다.
$ sudo yum install python2-pip
$ sudo pip install awscli
계정 정보를 등록합니다.
이전에 기록한 자격 증명 アクセスキーID
, 秘密アクセス・キー
를 입력합니다.
region에 us-geo
를 입력합니다.
2017/09 집필 시점에는 일본 국내의 리전은 없습니다. 가장 가까운 us입니다.
$ aws configure
AWS Access Key ID []: ****************
AWS Secret Access Key []: [****************
Default region name []: us-geo
Default output format []: json
액세스 확인에서 ls
참조 명령을 실행했습니다.
endpoint는 디폴트로 aws씨를 참조해 버리므로, 명시가 필요합니다.
$ aws s3 ls --endpoint=https://s3-api.sjc-us-geo.objectstorage.service.softlayer.net
2017-08-31 04:42:26 my-bucket
ICOS 엔드포인트 및 스토리지 클래스
엔드포인트 목록
[스토리지 클래스]
스토리지 클래스는 리전과 클래스로 표시됩니다.
버킷을 만들 때 사용합니다.
지역
표준
Vault
ColdVault
플렉스
us-geo
us-standard
us-vault
us-cold
us-flex
us-east
us-east-standard
us-east-vault
us-east-cold
us-east-flex
us-south
us-south-standard
us-south-vault
us-south-cold
us-south-flex
eu-geo
eu-standard
eu-vault
eu-cold
eu-flex
저장소 클래스는 버킷을 만들 때 --region
매개 변수로 지정하십시오.
$ aws s3 mb s3://my-vault --region=us-valut --endpoint=https://s3-api.sjc-us-geo.objectstorage.service.softlayer.net
make_bucket: my-vault
그 외의 조작은 aws s3 와 같습니다.
Filesystem in Userspace(goofys)로 마운트 및 액세스
goofys 은 s3fs처럼 마운트하는 도구입니다.
s3fs보다 고속과의 소문과 실적이므로 시험해 보았습니다.
goofys 설치
IBM cloud 포털의 메뉴 경로는 다음과 같습니다.
[IBM cloud 콘솔] -> [인프라] -> [오브젝트 스토리지]
오브젝트 스토리지 주문을 클릭합니다.
요금 체계가 표시됩니다. 화면 하단의 주문을 클릭하여 주문을 완료합니다.
(종량 과금이므로 신경 쓰지 않고 주문합니다.)
생성된 계정을 클릭하고 자격 증명 보기를 클릭합니다.
[ACCESS KEYS] 입력란에 있는
アクセスキーID
, 秘密アクセス・キー
를 메모합니다.이 정보는 아래의 액세스 도구에서 사용됩니다.
CLI (awscli)로 액세스
awscli를 설치합니다.
RHEL7의 예입니다.
$ sudo yum install python2-pip
$ sudo pip install awscli
계정 정보를 등록합니다.
이전에 기록한 자격 증명 アクセスキーID
, 秘密アクセス・キー
를 입력합니다.
region에 us-geo
를 입력합니다.
2017/09 집필 시점에는 일본 국내의 리전은 없습니다. 가장 가까운 us입니다.
$ aws configure
AWS Access Key ID []: ****************
AWS Secret Access Key []: [****************
Default region name []: us-geo
Default output format []: json
액세스 확인에서 ls
참조 명령을 실행했습니다.
endpoint는 디폴트로 aws씨를 참조해 버리므로, 명시가 필요합니다.
$ aws s3 ls --endpoint=https://s3-api.sjc-us-geo.objectstorage.service.softlayer.net
2017-08-31 04:42:26 my-bucket
ICOS 엔드포인트 및 스토리지 클래스
엔드포인트 목록
[스토리지 클래스]
스토리지 클래스는 리전과 클래스로 표시됩니다.
버킷을 만들 때 사용합니다.
지역
표준
Vault
ColdVault
플렉스
us-geo
us-standard
us-vault
us-cold
us-flex
us-east
us-east-standard
us-east-vault
us-east-cold
us-east-flex
us-south
us-south-standard
us-south-vault
us-south-cold
us-south-flex
eu-geo
eu-standard
eu-vault
eu-cold
eu-flex
저장소 클래스는 버킷을 만들 때 --region
매개 변수로 지정하십시오.
$ aws s3 mb s3://my-vault --region=us-valut --endpoint=https://s3-api.sjc-us-geo.objectstorage.service.softlayer.net
make_bucket: my-vault
그 외의 조작은 aws s3 와 같습니다.
Filesystem in Userspace(goofys)로 마운트 및 액세스
goofys 은 s3fs처럼 마운트하는 도구입니다.
s3fs보다 고속과의 소문과 실적이므로 시험해 보았습니다.
goofys 설치
$ sudo yum install python2-pip
$ sudo pip install awscli
$ aws configure
AWS Access Key ID []: ****************
AWS Secret Access Key []: [****************
Default region name []: us-geo
Default output format []: json
$ aws s3 ls --endpoint=https://s3-api.sjc-us-geo.objectstorage.service.softlayer.net
2017-08-31 04:42:26 my-bucket
$ aws s3 mb s3://my-vault --region=us-valut --endpoint=https://s3-api.sjc-us-geo.objectstorage.service.softlayer.net
make_bucket: my-vault
goofys 은 s3fs처럼 마운트하는 도구입니다.
s3fs보다 고속과의 소문과 실적이므로 시험해 보았습니다.
goofys 설치
golang은 1.7 이상이 필요하지만 RHEL7에서는 golang v1.6.x가 제공되므로,
배포판 외부의 go 저장소에서 최신 golang을 설치합니다.
$ sudo rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO
$ sudo curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo
$ sudo yum clean all
$ sudo yum install golang git fuse
GOホームディレクトリの作成
$ sudo mkdir /usr/local/go
$ sudo su -
# export GOPATH=/usr/local/go
# export PATH=$PATH:$GOPATH/bin
# go get github.com/kahing/goofys
# go install github.com/kahing/goofys
ビルドされていることを確認
# ls -l /usr/local/go/bin/goofys
-rwxr-xr-x. 1 root root 13915583 9月 7 03:53 /usr/local/go/bin/goofys
誰でも利用できるように/usr/local/binへsymlinkを作成
# ln -sf /usr/local/go/bin/goofys /usr/local/bin/goofys
# type goofys
goofys はハッシュされています (/usr/local/bin/goofys)
마운트 방법
수동으로 마운트하는 예는 다음과 같습니다.
# goofys --endpoint=https://s3-api.sjc-us-geo.objectstorage.service.networklayer.com my-bucket /ext/icos
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/xvda2 25G 4.7G 19G 21% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 1.8G 8.4M 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/xvda1 240M 119M 109M 53% /boot
tmpfs 354M 0 354M 0% /run/user/0
my-bucket 1.0P 0 1.0P 0% /ext/icos <--1ペタで表示される。(※使用量は見えないです)
일반적인 파일대로 find 명령도 사용할 수 있습니다.
# find /ext/icos -ls
1 4 drwxr-xr-x 2 root root 4096 9月 7 04:41 /ext/icos
4 1488790 -rw-r--r-- 1 root root 1524520960 9月 7 02:39 /ext/icos/WATSON.tar
5 3207610 -rw-r--r-- 1 root root 3284592640 9月 7 03:17 /ext/icos/plyabook.tar
#
자동 마운트하는 경우(/etc/fstab)
fstab에 다음과 같이 기술합니다.
/usr/local/bin/goofys#my-bucket /ext/icos fuse _netdev,--endpoint=https://s3-api.sjc-us-geo.objectstorage.service.networklayer.com 0 0
mount
#sudo mount /ext/icos
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/xvda2 25G 4.7G 19G 21% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 1.8G 8.4M 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/xvda1 240M 119M 109M 53% /boot
tmpfs 354M 0 354M 0% /run/user/0
my-bucket 1.0P 0 1.0P 0% /ext/icos <--1ペタで表示される。(※使用量は見え
주의 API endpoint의 부조나 전환이 발생했을 경우나, 클라이언트측의 과부하등에 의존해, 마운트가 끊어질 가능성이 있기 때문에, 별도, 감시나 자동 복구의 구현이 필요합니다.
Reference
이 문제에 관하여(IBM Cloud Object Storage를 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/satorubz/items/eba9bf9909b158a5d73c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)