Help us understand the problem. What is going on with this article?

CloudBerry Driveを使ってObject StorageをWindowsのローカルドライブのように使う

※2019年11月現在、当記事に書いたObject Storage(OpenStack Swiftベース)はIBM Cloud上のObject Storageの主流ではありませんが、記事は参考に残しています。現在はS3ベースですので、CloudBerry Driveからのマウント方法をS3方式に変更する事で同様の操作は可能です。

このエントリは、SoftLayer Advent Calendar 2015 の21日目のエントリーです。

今回の目的

今回は、SoftLayerのObject Storageを、Windowsからマウントしてローカルドライブのように使えるCloudBerry Driveというソフトを試したいと思います。

構成は下記の図のようにします。SoftLayerのObject Storageは、プライベート側にもエンドポイントを持っており、SoftLayer上のサーバーからプライベート側のエンドポイントを指定して行うファイル転送は、ダウンロードであっても通信費用が発生しないのがメリットです(パブリック側エンドポイントからのダウンロードは従量課金の対象です)。

また、東京DCのサーバーからサンノゼDCのObject Storageにファイルをアップロード&ダウンロードする事も可能で、SoftLayerはDC間ネットワークが無料ですので、プライベート側エンドポイントを使えば国際間のデータ通信であっても通信費用はかかりません。

Qiita_AdventCalendar.jpg

この構成を使い、以下の事を確認したいと思います。
・同じDC内にあるサーバーとObject Storage間の転送速度
・異なるDC内にあるサーバーとObject Storage間の転送速度
・Windowsコマンド(robocopy)で、1つのObject Storageから別のObject Storageにファイルをコピーできるか? コピーできる場合、その速度は? 差分のみのコピーも可能か? etc

準備

Windowsサーバーをオーダー

時間課金の仮想サーバーをオーダーします。今回、スペックは下記としました。
後で実測値を載せていますが、Object Storageへの転送速度は結構早かったので、NICは100Mbpsでなく1Gbpsが良いと思います。

  • Windows Server 2012 R2 Standard Edition (64 bit)
  • 2 Core
  • 4 GB RAM
  • Tokyo DC
  • 1 Gbps Network Uplinks

CloudBerry Drive(体験版)をダウンロード

下記リンクから、SoftLayerのObject Storage用で、Windowsサーバー用のCloudBerry Driveをダウンロードします。今回はFreeトライアル版を使います。
http://www.cloudberrylab.com/softlayer-as-windows-server-drive.aspx

cloudberry_dl.jpg

CloudBerry Drive(体験版)をインストール

上記サイトからダウンロードしたEXEを実行した際、サーバーにVisual C++が入っていないと、ポップアップが出ます。Yesを押下し、Microsoftのサイトからダウンロードします。

visualc++.jpg

C++DL.jpg

ダウンロードしたインストーラーを実行し、Visual C++をインストールします。

C++install01.jpg

C++install02.jpg

Visual C++を導入後、再度CloudBerry Driveのインストーラを起動します。今度は問題なくCloudBerry Driveのインストーラーが起動しますので、画面の指示に従ってインストールを進めてください。
cb_install01.jpg

下記を聞かれたら「Install」を選びます。

cb_install02.jpg

途中、下記のメッセージが出るので、CloudBerryの導入後に、一度再起動する事にします。
cb_install03.jpg

導入完了後、Emailアドレスを入力し、トライアルを開始します。
トライアル期間は開始日から15日間です。

cb_install05.jpg

cb_install06.jpg

このタイミングでサーバーを再起動します。

正しくインストール完了していれば、サーバーの再起動後、タスクトレイにCloudBerry Driveのアイコンが表示されているはずです。
cb_install07b.jpg

Object Storageコンテナ作成(東京&サンノゼ)

CloudBerry DriveからObject Storageをマウントする際はコンテナを指定するので、事前にコンテナを作成しておきます。
SoftLayerの管理ポータルから、東京DCに「tokyo」、サンノゼDCに「sanjose」という名前でコンテナを作成します。コンテナ名は任意です。
Object Storageのオーダー方法やコンテナ作成方法は、下記URLをご参照ください。
https://www.change-makers.jp/post/10354

container_tokyo.jpg

container_sanjose.jpg

Object Storageをマウント

ここまでの手順で、Windowsサーバー側とObject Storage側の準備が整いました。
WindowsサーバーからCloudBerry Driveを使ってObject Storageをマウントしてみます。
下記に手順があるので参照してください。
https://www.change-makers.jp/post/10361

2015年12月時点でダウンロードしたCloudBerry Driveは、エンドポイントの情報が新しくなっており、SoftLayerの東京DCのエンドポイントも登録されていますが、プリセットされているのがパブリック側のエンドポイントのため、これを指定すると、SoftLayer上のサーバーとの通信であってもインターネット経由となり、ダウンロードが従量課金となってしまいます。

mount01.jpg

SoftLayerのプライベートネットワークを活用するため、明示的にプライベート側のエンドポイントを指定する必要がありますので、先ほどのリンク先の手順にあるように、「OpenStack」を選択し、手動でプライベート側のエンドポイントを入力するのが良いでしょう。

mount03.jpg

Test Connectionボタンで、接続を確認できます。
mount06.jpg

なお、入力に必要な情報(ユーザー名、APIキー、エンドポイントのURL)は、SoftLayer管理ポータルのObject Storageの画面で確認可能です。
Object Storageのコンテナ一覧の画面で、View Credentialsをクリックすると、設定に必要な情報が表示されます。
mount04.jpg

mount05.jpg

同様に、サンノゼ側のエンドポイントも登録します。

mount07.jpg

先ほどのリンク先にある手順に従い、Mapped Driveのタブから、東京のObject StorageコンテナをDドライブ、サンノゼをFドライブとしてマウントします。

mount08.jpg

エクスプローラー上でも、Dドライブ、FドライブとしてObject Storageがマウントされた事が確認できます。

mount09.jpg

東京のObject Storageにアップロード

WindowsサーバーのCドライブに用意した、15MB程度の画像ファイル×10個=150MBで試します。

150MB.jpg

エクスプローラ上で、Cドライブの画像ファイル150MBを、Dドライブ(東京のObject Storageをマウント)にコピーします。

copy2.jpg

150MBのファイルのアップロードが、約2~3秒で終わりました。
SoftLayerの管理ポータルでも、アップロード前は空だったコンテナに、オブジェクトが入った事が確認できました。

【アップロード前】
container_tokyo_before.jpg

【アップロード後】
15MBのファイルが分割されて、10MBと5.22MBとして入っていることが分かります。この分割はCloudBerryによって自動的に行われます。
container_tokyo_after.jpg

転送速度は、50MB/s~60MB/s程度出ていました。
transfer_tok01.jpg

上記は2~3秒だけだったので、転送速度が出るか安定して出る確認するため、ファイル数を増やして転送速度を確認しました。
下記が、15MB×80個=1.2GBをアップロードしている最中の画面キャプチャです。
若干の上下はありますが、極端に遅くなる事はなく、平均的に40MB/s以上出ていました。合計1.2GBのアップロードが30秒程度で終わりました。

transfer.jpg

ダウンロード(東京のObject StorageからWindowsサーバーのCドライブ)も、40MB/s程度でした。但し、ファイルコピーすると早いのですが、Object Storage上のファイルを直接開こうとすると、結構時間がかかりました(15MBの画像を1つ開くのに10秒前後かかりました)。

transfer_tok02.jpg

サンノゼのObject Storageにアップロード

同様に、15MB×10個のファイルをサンノゼにアップロードしました。
上りで20MB/s程度、下りは3MB/s程度でした。

transfer_sanjose_up01.jpg

transfer_sanjose_down01.jpg

Windowsコマンドで、東京のObject StorageのファイルをサンノゼのObject Storageにコピー

一旦、Fドライブ(サンノゼのObject Storage)を空にして、今度はCドライブのファイルをアップロードするのではなく、robocopyコマンドで、Dドライブ(東京のObject Storage)のファイルをFドライブにコピーしてみました。
東京のObject Storage→東京のWindowsサーバー→サンノゼのObject Storageの経路を通ることになります。結果は下記のとおりで、150MBが11秒ですので、13~14MB/s程度でした。

C:\Users\Administrator>ROBOCOPY D:\ F:\ /MIR /XO

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

-------------------------------------------------------------------------------

  Started : Sunday, December 20, 2015 8:22:05 AM
   Source : D:\
     Dest : F:\

    Files : *.*

  Options : *.* /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /XO /R:1000000 /W:30

------------------------------------------------------------------------------

                          10    D:\
100%        New File              15.2 m        test01.bmp
100%        New File              15.2 m        test02.bmp
100%        New File              15.2 m        test03.bmp
100%        New File              15.2 m        test04.bmp
100%        New File              15.2 m        test05.bmp
100%        New File              15.2 m        test06.bmp
100%        New File              15.2 m        test07.bmp
100%        New File              15.2 m        test08.bmp
100%        New File              15.2 m        test09.bmp
100%        New File              15.2 m        test10.bmp

------------------------------------------------------------------------------

               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :         1         0         0         0         0         0
   Files :        10        10         0         0         0         0
   Bytes :  152.19 m  152.19 m         0         0         0         0
   Times :   0:00:11   0:00:11                       0:00:00   0:00:00


   Speed :            13368314 Bytes/sec.
   Speed :             764.941 MegaBytes/min.
   Ended : Sunday, December 20, 2015 8:22:18 AM


C:\Users\Administrator>

その後、Dドライブ(東京のObject Storage)にファイルを5つ(test11.bmp~test15.bmp)追加して、再度robocopyを実行したところ、追加した5ファイルのみコピーされました。

C:\Users\Administrator>ROBOCOPY D:\ F:\ /MIR /XO

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

-------------------------------------------------------------------------------

  Started : Sunday, December 20, 2015 8:28:18 AM
   Source : D:\
     Dest : F:\

    Files : *.*

  Options : *.* /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /XO /R:1000000 /W:30

------------------------------------------------------------------------------

                          15    D:\
100%        New File              15.2 m        test11.bmp
100%        New File              15.2 m        test12.bmp
100%        New File              15.2 m        test13.bmp
100%        New File              15.2 m        test14.bmp
100%        New File              15.2 m        test15.bmp

------------------------------------------------------------------------------

               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :         1         0         0         0         0         0
   Files :        15         5        10         0         0         0
   Bytes :  228.29 m   76.09 m  152.19 m         0         0         0
   Times :   0:00:08   0:00:08                       0:00:00   0:00:00


   Speed :             9955766 Bytes/sec.
   Speed :             569.673 MegaBytes/min.
   Ended : Sunday, December 20, 2015 8:28:26 AM


C:\Users\Administrator>ROBOCOPY D:\ F:\ /MIR /XO

また、test07.bmpのみ更新して再度robocopyを実行したところ、更新した1ファイルのみコピーされました。

C:\Users\Administrator>ROBOCOPY D:\ F:\ /MIR /XO

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

-------------------------------------------------------------------------------

  Started : Sunday, December 20, 2015 8:35:12 AM
   Source : D:\
     Dest : F:\

    Files : *.*

  Options : *.* /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /XO /R:1000000 /W:30

------------------------------------------------------------------------------

                          15    D:\
100%        Newer                 15.2 m        test07.bmp

------------------------------------------------------------------------------

               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :         1         0         0         0         0         0
   Files :        15         1        14         0         0         0
   Bytes :  228.29 m   15.21 m  213.07 m         0         0         0
   Times :   0:00:00   0:00:00                       0:00:00   0:00:00


   Speed :            39211533 Bytes/sec.
   Speed :            2243.701 MegaBytes/min.
   Ended : Sunday, December 20, 2015 8:35:12 AM


C:\Users\Administrator>ROBOCOPY D:\ F:\ /MIR /XO

このように、CloudBerry Driveを使うことで、Object Storageに配置したファイルをWindowsのコマンドからも操作できるので、使い方次第で便利に使えるのではないかと思います。

既知の要考慮点として、Object Storageでは、下記のURLにあるように、記録したオブジェクトに対してメタデータが付与できるのですが、このメタデータの情報は上記に書いた方法ではコピーされませんので、もしメタデータを付与して使っている場合は別の方法を考える必要があります。
https://www.change-makers.jp/post/10356

また、ユーザーインターフェースとしてはWindowsのローカルドライブのように使えるとは言っても、裏で動いているのはObject Storageですので、DB領域のように、ブロック単位で読み書きする用途には向かないでしょう。上記のようにオブジェクト(ファイル)単位で読み書きするのが基本になると思います。

また、今回の検証結果は筆者の環境における実測値であり、この通りの結果が得られる事が保証されたものではない点はご了承ください。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away