Oracle Cloud のベアメタル GPU マシンで HPCG を動かしてみる
目的
HPCG を複数のGPUノードで実行・計測する
環境
Oracle Cloud の GPU ベアメタルマシンを3台利用します。
BM.GPU2.2 というインスタンスで、CPU が Xeon 8167M x2 でメモリが 192GB のベアメタルマシンに NVIDIA Tesla P100 が2個搭載されています。
詳細はこちら → https://cloud.oracle.com/compute/gpu/features
HPCG について
HPCG はソースとバイナリの両方が提供されています。
今回はバイナリを利用したいと思います。
http://www.hpcg-benchmark.org/software/index.html に GPU 向けのバイナリがありますので、HPCG 3.1 Binary for NVIDIA GPUs Including Volta(2017-10-16) を利用します。
このバイナリは以下の環境でコンパイルされているので、これに近い環境をセットアップしていきます。
CUDA: ver 9.0.176
OpenMPI: 1.10.2
セットアップ
ここでは Oracle Cloud 側のセットアップ(ネットワーク、GPU インスタンスの作成)については省略します。
OS は CentOS を選ぶこともできますが、Oracle Linux 7.5 を利用します。また、CentOS でも同じ流れでセットアップできると思いますが、一部インストールするパッケージ名がことなるので注意が必要です。
GPU の確認
まずは GPU が認識されているかを確認しておきます。
lspci | grep -i nvidia
以下のように P100 が2つ搭載されていることが確認できます。
5e:00.0 3D controller: NVIDIA Corporation GP100GL [Tesla P100 SXM2 16GB] (rev a1) 86:00.0 3D controller: NVIDIA Corporation GP100GL [Tesla P100 SXM2 16GB] (rev a1)
Kernel devel と header をインストール
CUDA のインストールで DKMS を使ってドライバが Build されるようなので、これらをインストールしておきます。
※このへんは CentOS では違うので注意
sudo yum install -y kernel-uek-devel-`uname -r` kernel-headers
OpenMPI のインストール
複数ノードで実行するので OpenMPI をインストールします。
sudo yum install -y openmpi.x86_64 openmpi-devel.x86_64
CUDA のインストール
CUDA を rpm でインストールをしていきます。
ここでは HPCG がコンパイルされた環境に合わせるため、CUDA 9.0 を指定してインストールしていきます。
sudo yum install -y http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-9.0.176-1.x86_64.rpm sudo yum install -y cuda-9-0.x86_64
以上が正常に完了したら一度 Reboot します。
sudo reboot
ここで /dev/nvidia0, /dev/nvidia1 などが認識されているか確認しますが、認識されていなかったので以下のスクリプトを実行して作成します。reboot しても有効になるように /etc/rc.local などに設定しておくとよいでしょう。
cat startup_nvidia.sh #!/bin/bash /sbin/modprobe nvidia if [ "$?" -eq 0 ]; then # Count the number of NVIDIA controllers found. NVDEVS=`lspci | grep -i NVIDIA` N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l` NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l` N=`expr $N3D + $NVGA - 1` for i in `seq 0 $N`; do mknod -m 666 /dev/nvidia$i c 195 $i done mknod -m 666 /dev/nvidiactl c 195 255 else exit 1 fi /sbin/modprobe nvidia-uvm if [ "$?" -eq 0 ]; then # Find out the major device number used by the nvidia-uvm driver D=`grep nvidia-uvm /proc/devices | awk '{print $1}'` mknod -m 666 /dev/nvidia-uvm c $D 0 else exit 1 fi
root で実行します。
sudo ./startup_nvidia.sh
これにより /dev 配下に以下のデバイスが作成されたことを確認します。
$ ls /dev/nvidia* /dev/nvidia0 /dev/nvidia1 /dev/nvidiactl /dev/nvidia-uvm /dev/nvidia-uvm-tools
環境変数の設定
OpenMPI と CUDA の PATH と LD_LIBRARY_PATH を HPCG を実行するユーザの .bashrc と .bash_profile に追加します。
PATH=/usr/lib64/openmpi/bin:$PATH LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:/usr/local/cuda-9.0/targets/x86_64-linux/lib export PATH LD_LIBRARY_PATH
NFS Server の設定
複数ノードで HPCG を実行するにあたり、OpenMPI 経由で並列実行します。
OpenMPI から複数ノードで実行する際は、バイナリが同一ディレクトリにある必要があるので NFS を利用し実現します。
Oracle Cloud には NFS as a Service があるためこれを利用します。詳細は省きますが、Cloud の画面から簡単に NFS サービスをデプロイできます。
https://blogs.oracle.com/cloud-infrastructure/introducing-oracle-cloud-infrastructure-file-storage-service
上記で作成した share を /mnt/hpcg にマウントしました。
また、こちらも reboot しても大丈夫なように /etc/fstab に追加しておきます。
HPCG
以上で、HPCGを動かす環境が整いましたので、HPCG の実行をしてみます。
HPCG のダウンロードと展開
マウントした NFS Share 配下にダウンロードします。
cd /mnt/hpcg wget http://www.hpcg-benchmark.org/downloads/hpcg-3.1_cuda9_ompi1.10.2_gcc485_sm_35_sm_50_sm_60_sm_70_ver_10_8_17.tgz tar xvf hpcg-3.1_cuda9_ompi1.10.2_gcc485_sm_35_sm_50_sm_60_sm_70_ver_10_8_17.tgz
実行(シングルノード)
まずはシングルノードで実行してみます。
オプションには以下の2つを指定。
Infiniband ではなく Ethernet で実行するので --mca btl tcp,sm,self オプションをつけます。
また -np 2 で P100 x2個の両方で実行します。
cd hpcg-3.1_cuda9_ompi1.10.2_gcc485_sm_35_sm_50_sm_60_sm_70_ver_10_8_17 mpirun -np 2 --mca btl tcp,sm,self ./xhpcg-3.1_gcc_485_cuda90176_ompi_1_10_2_sm_35_sm_50_sm_60_sm_70_ver_10_8_17
nvidia-smi -l でGPUで処理しているプロセスが表示されることを確認します。
nvidia-smi -l Tue Aug 14 15:38:10 2018 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 396.44 Driver Version: 396.44 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla P100-SXM2... Off | 00000000:5E:00.0 Off | 0 | | N/A 41C P0 41W / 300W | 8403MiB / 16280MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla P100-SXM2... Off | 00000000:86:00.0 Off | 0 | | N/A 41C P0 43W / 300W | 8403MiB / 16280MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 6995 C ...0_2_sm_35_sm_50_sm_60_sm_70_ver_10_8_17 8391MiB | | 1 6996 C ...0_2_sm_35_sm_50_sm_60_sm_70_ver_10_8_17 8391MiB | +-----------------------------------------------------------------------------+
うまくいくと以下のように処理が進みます。
start of application (2 OMP threads)... 2018-08-13 15:34:06.375 Problem setup... Setup time: 0.377932 sec GPU: 'Tesla P100-SXM2-16GB' Memory use: 8315 MB / 16280 MB 2x1x1 process grid 256x256x256 local domain Reference SpMV+MG... Reference CG... Initial Residual: 7.303536e+03 Max_err: 1.000000e+00 tot_err: 5.792619e+03 REF Iter = 1 Scaled Residual: 1.875554e-01 Max error: 1.000000e+00 tot_error: 9.748362e-01 REF Iter = 2 Scaled Residual: 1.031535e-01 Max error: 1.000000e+00 tot_error: 9.515092e-01 REF Iter = 3 Scaled Residual: 7.120013e-02 Max error: 1.000000e+00 tot_error: 9.286195e-01 ~ 省略 ~ Number of CG sets: 20 Iterations per set: 52 scaled res mean: 1.701928e-03 scaled res variance: 0.000000e+00 Total Time: 6.146707e+01 sec Setup Overhead: 1.21% Optimization Overhead: 0.54% Convergence Overhead: 3.85% 2x1x1 process grid 256x256x256 local domain SpMV = xxx.x GF (xxxx.x GB/s Effective) xx.x GF_per ( xxx.x GB/s Effective) SymGS = xxx.x GF (xxxx.x GB/s Effective) xxx.x GF_per ( xxx.x GB/s Effective) total = xxx.x GF (xxxx.x GB/s Effective) xxx.x GF_per ( xxx.x GB/s Effective) final = xxx.x GF (xxxx.x GB/s Effective) xx.x GF_per ( xxx.x GB/s Effective) end of application... 2018-08-13 15:39:17.102
最後の方に結果が出力されます。※ここでは諸事情により数値は xxx.x に変えています。
同一ディレクトリ内に readme に P100 x2 のベンチマーク結果が載っていて、これとほぼほぼ同じなのでうまく動いているようです。
2 x P100 2x1x1 process grid 256x256x256 local domain SpMV = 167.0 GF (1051.8 GB/s Effective) 83.5 GF_per ( 525.9 GB/s Effective) SymGS = 231.4 GF (1786.3 GB/s Effective) 115.7 GF_per ( 893.1 GB/s Effective) total = 212.9 GF (1614.7 GB/s Effective) 106.5 GF_per ( 807.3 GB/s Effective) final = 201.2 GF (1525.7 GB/s Effective) 100.6 GF_per ( 762.9 GB/s Effective)
実行(マルチノード)
マルチノード実行の設定ポイントとしては以下がありました。
ノードの作成
並列で動かすサーバを作成します。
今回は Cloud なので、シングルノードのイメージを複製します。こちらも詳細は省きます。
これによりポイントの 1, 2 については省略することができます。
シングルノードのイメージから2台、GPU ベアメタルマシンを作成し、合計3台になりました。
以降、元々のノードをマスターノード、複製した2台をスレーブノードと書いていきます。
ssh Non-Password Login 設定
マスターノードで ssh key を作成し、public key をスレーブノードの ~/.ssh/authorized_keys に追加します。
ssh-keygen -N '' -t rsa -b 2048
firewalld の停止
OpenMPI が利用するポート調べるとある程度の範囲のポートを開ける必要がある、とのことでした。
今回は一時的な利用なので、ポートを開放するのではなく、firewalld を停止させることにしました。
全ノードで以下を実行します。
sudo systemctl stop firewalld
マルチノードで HPCG を実行
まずは確認としてマスターとスレーブの2台で実行してみます。
シングルノードで動かしたときのコマンドに --host master,slave01 を追加して実行します。
これで指定したノードの GPU x1 で HPCG が走ります。
mpirun --mca btl tcp,sm,self -np 2 --host master,slave01 ./xhpcg-3.1_gcc_485_cuda90176_ompi_1_10_2_sm_35_sm_50_sm_60_sm_70_ver_10_8_17
nvidia-smi -l で指定したノードでプロセスが実行されていることを確認します。
続いて3台のすべての GPU を利用して動作させます。
host ファイルを作成し以下のように hostname slots=GPU数 を記述します。
ここで書くhostname は /etc/hosts または DNS で解決できる必要があります。
master slots=2 slave01 slots=2 slave02 slots=2
今度は -hostfile オプションで上記作成した host ファイルを指定します。
これで、3ノードにまたがって合計6GPU でHPCG を走らすことができます。
mpirun --mca btl tcp,sm,self -np 6 -hostfile host ./xhpcg-3.1_gcc_485_cuda90176_ompi_1_10_2_sm_35_sm_50_sm_60_sm_70_ver_10_8_17
NVMe を Oracle VM で柔軟に使う
- パフォーマンス
- Repository とすると OCFS2 が使われ、その上に Virtual Disk が構築されるので、Physical Device と比較するとパフォーマンスは低下します
- 別に Repository がある
- NVMeデバイスを確認する
# lsblk |grep nvmenvme0n1 259:3 0 1.5T 0 disknvme1n1 259:1 0 1.5T 0 disknvme2n1 259:2 0 1.5T 0 disknvme3n1 259:0 0 1.5T 0 disk
# parted /dev/nvme0n1 mktable gpt mkpart primary 1M 100% set 1 lvm on警告: いま存在している /dev/nvme0n1 のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?parted: 不正なトークンです: mkpartはい(Y)/Yes/いいえ(N)/No? y通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。# parted /dev/nvme1n1 mktable gpt mkpart primary 1M 100% set 1 lvm on通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。# parted /dev/nvme2n1 mktable gpt mkpart primary 1M 100% set 1 lvm on通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。# parted /dev/nvme3n1 mktable gpt mkpart primary 1M 100% set 1 lvm on通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
- デフォルトでは NVMe に LVM を構築できなかったので、LVM の設定を変更します。以下2行をコメントします
# vi /etc/lvm/lvm.conf#global_filter = [ "r|.*/|" ]#md_component_detection = 1
- LVM を構築します
# pvcreate --dataalignment 4k /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1Physical volume "/dev/nvme0n1" successfully createdPhysical volume "/dev/nvme1n1" successfully createdPhysical volume "/dev/nvme2n1" successfully createdPhysical volume "/dev/nvme3n1" successfully created# vgcreate VolNVMe /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1Volume group "VolNVMe" successfully created
- RAID5 の LV を VG から切り出す
# lvcreate --type raid5 -i 3 -L 1400G -n vol01 VolNVMeUsing default stripesize 64.00 KiB.Rounding size 1.37 TiB (358400 extents) up to stripe boundary size 1.37 TiB (358401 extents).Logical volume "vol01" created.
- この LV にさらに mdadm で RAID0 Volume を作成する
# mdadm -C /dev/md01 -l 0 --force -n 1 /dev/VolNVMe/vol01mdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md01 started.
- これで認識してくれるはずである
Before(warning になっているのは NVMe に作成したパーティションの部分なので無視します)
- Refresh を実行し、無事に認識されました!
After
- これをVMに割り当てます
- VM を起動させて確認したところ。xvdb として認識しています
- mdadm の以下も忘れずに
# vi /etc/mdadm.confDEVICE /dev/VolNVMe/vol01 ← 追加する# sudo mdadm --detail --scan >> /etc/mdadm.conf
VirtualBox 5.2 Beta1: export Oracle Public Cloud
VirtualBox 5.2 Beta1 がリリースされました
- VM の OS が Linux なら Xen Driver をインストール、Windows なら Oracle VM PV Driver をインストール
- OVA 形式で VM を Export または、VMDK をデータストアから抽出
- VMDK を raw ファイル形式に変換
- 変換した raw ファイルを tar.gz にする(複数Diskを持つVMの場合、Disk 単位で tar.gz を作成)
- アップロード
VM の Export
Oracle Public Cloud へアップロードとインスタンスの作成
おまけ
まとめ
Oracle ZFS Storage Appliance (ZFSSA) で Object Store を使う
はじめに
Oracle ZFS Storage Appliance は NFS や iSCSI、FC などを利用できる Unified Storage です。 Firmware ver OS8.7 から新たに Object Storage としても利用できるようになりましたので、設定して使ってみたいと思います。
設定
オブジェクトストアにアクセスするユーザを作成する。
オブジェクトストアとして利用する Filesystem の HTTP のオブジェクトストアモードを”読み取り/書き込み" に設定する。
先ほど作成したユーザが書き込めるように設定する。
構成→サービス→HTTP にてサービスを有効にし、先ほど作成したオブジェクトストアのパスを指定する。
動作確認
curl で確認をしていきます。
まず Proxy が設定されている場合は外しておきましょう。
$ unset http_proxy $ unset https_proxy
まず Token を取得します。この時、ユーザは一般ユーザで取得すること。root でもTokenは取得できるが、その後の操作はできないので一般ユーザで進めていきます。
$ curl -i -X GET -H 'X-Auth-User: demo01' -H 'X-Auth-Key: welcome1' http://cloud-zfs7320-vip.jp.osc.oracle.com/auth/v1.0 HTTP/1.1 200 OK Date: Fri, 16 Jun 2017 06:37:26 GMT Server: Apache X-Storage-Url: http://cloud-zfs7320-vip.jp.osc.oracle.com:80/object/v1/export/object01 X-Storage-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760 X-Auth-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760 X-Trans-Id: tx9f6aab5dbe33495c8bba9-0059437ca6 Content-Length: 0 Content-Type: text/html; charset=utf-8
コンテナを作成
$ curl -v -H 'X-Auth-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760' -i http://cloud-zfs7320-vip.jp.osc.oracle.com:80/object/v1/export/object01/kazuito01 -X PUT * About to connect() to cloud-zfs7320-vip.jp.osc.oracle.com port 80 (#0) * Trying 10.122.12.35... connected * Connected to cloud-zfs7320-vip.jp.osc.oracle.com (10.122.12.35) port 80 (#0) > PUT /object/v1/export/object01/kazuito01 HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: cloud-zfs7320-vip.jp.osc.oracle.com > Accept: */* > X-Auth-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760 > < HTTP/1.1 201 Created HTTP/1.1 201 Created < Date: Fri, 16 Jun 2017 08:13:26 GMT Date: Fri, 16 Jun 2017 08:13:26 GMT < Server: Apache Server: Apache < X-Timestamp: 1497600806.63 X-Timestamp: 1497600806.63 < X-Trans-Id: tx1aa8d891b97ee11aca1dd-0059439326 X-Trans-Id: tx1aa8d891b97ee11aca1dd-0059439326 < Content-Length: 0 Content-Length: 0 < Content-Type: application/json; charset=utf-8 Content-Type: application/json; charset=utf-8 < * Connection #0 to host cloud-zfs7320-vip.jp.osc.oracle.com left intact * Closing connection #0
ファイルをアップロード
$ curl -v -H 'X-Auth-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760' http://cloud-zfs7320-vip.jp.osc.oracle.com:80/object/v1/export/object01/my_fio.sh -T my_fio.sh * About to connect() to cloud-zfs7320-vip.jp.osc.oracle.com port 80 (#0) * Trying 10.122.12.35... connected * Connected to cloud-zfs7320-vip.jp.osc.oracle.com (10.122.12.35) port 80 (#0) > PUT /object/v1/export/object01/my_fio.sh HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: cloud-zfs7320-vip.jp.osc.oracle.com > Accept: */* > X-Auth-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760 > Content-Length: 482 > Expect: 100-continue > * Done waiting for 100-continue < HTTP/1.1 201 Created < Date: Fri, 16 Jun 2017 08:06:41 GMT < Server: Apache < X-Timestamp: 1497600401.57 < X-Trans-Id: tx16480743f13e60469a26d-0059439191 < Content-Length: 0 < Content-Type: application/json; charset=utf-8 < * Connection #0 to host cloud-zfs7320-vip.jp.osc.oracle.com left intact * Closing connection #0
リストを取得
$ curl -i http://cloud-zfs7320-vip.jp.osc.oracle.com:80/object/v1/export/object01/ -X GET -H "Content-Length: 0" -H 'X-Auth-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760' HTTP/1.1 200 OK Date: Fri, 16 Jun 2017 06:45:09 GMT Server: Apache X-Timestamp: 1497595509.63 X-Account-Object-Count: 2 X-Account-Container-Count: 2 X-Account-Bytes-Used: 1048576020 X-Trans-Id: tx2f1212afb1a7e442f31cf-0059437e75 Transfer-Encoding: chunked Content-Type: text/plain; charset=utf-8 container test.img
ファイルのダウンロード
$ curl -v -H 'X-Auth-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760' -i http://cloud-zfs7320-vip.jp.osc.oracle.com:80/object/v1/export/object01/kazuito01/my_fio.sh -X GET -O * About to connect() to cloud-zfs7320-vip.jp.osc.oracle.com port 80 (#0) * Trying 10.122.12.35... connected * Connected to cloud-zfs7320-vip.jp.osc.oracle.com (10.122.12.35) port 80 (#0) > GET /object/v1/export/object01/kazuito01/my_fio.sh HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: cloud-zfs7320-vip.jp.osc.oracle.com > Accept: */* > X-Auth-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760 > % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0< HTTP/1.1 200 OK < Date: Fri, 16 Jun 2017 08:28:33 GMT < Server: Apache < Content-Length: 482 < Accept-Ranges: bytes < Last-Modified: 2017-06-16T08:26:09 < Etag: 6c70a22fdcd02f8f085ba5cb9fff5be3 < X-Timestamp: 1497601713.85 < X-Trans-Id: txdad3ff790cee6ecd9beac-00594396b1 < { [data not shown] 120 482 120 482 0 0 3526 0 --:--:-- --:--:-- --:--:-- 117k* Connection #0 to host cloud-zfs7320-vip.jp.osc.oracle.com left intact * Closing connection #0
ファイルの削除
$ curl -v -H 'X-Auth-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760' -i http://cloud-zfs7320-vip.jp.osc.oracle.com:80/object/v1/export/object01/kazuito01/test.tar -X DELETE * About to connect() to cloud-zfs7320-vip.jp.osc.oracle.com port 80 (#0) * Trying 10.122.12.35... connected * Connected to cloud-zfs7320-vip.jp.osc.oracle.com (10.122.12.35) port 80 (#0) > DELETE /object/v1/export/object01/kazuito01/test.tar HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: cloud-zfs7320-vip.jp.osc.oracle.com > Accept: */* > X-Auth-Token: ZFSSA_ba2629c6-5258-11e7-aed3-802128f06760 > < HTTP/1.1 204 No Content HTTP/1.1 204 No Content < Date: Fri, 16 Jun 2017 08:24:59 GMT Date: Fri, 16 Jun 2017 08:24:59 GMT < Server: Apache Server: Apache < X-Timestamp: 1497601499.44 X-Timestamp: 1497601499.44 < X-Trans-Id: tx5e5b0c36a1c66867d090f-00594395db X-Trans-Id: tx5e5b0c36a1c66867d090f-00594395db < Content-Length: 0 Content-Length: 0 < Content-Type: application/json; charset=utf-8 Content-Type: application/json; charset=utf-8 < * Connection #0 to host cloud-zfs7320-vip.jp.osc.oracle.com left intact * Closing connection #0
その他
CloudBerry でもアクセスしてみました。 登録は以下のように指定してください。
このように見えてきます。
まとめ
このように ZFSSA を Object Storage として簡単に利用することができるようになりました。
また、認証を Openstack の Keystone と連携させることも可能です。詳細はこちらをご確認ください。