【OCI】Storage Gateway経由でArchive Storageを使ってみた

###はじめに

OCIのArchive Storageは高耐久・低価格のストレージサービスで
利用頻度の少ない大量のファイルを保存するのに適しています。
Archive Storageの基本的な利用方法については以下の記事をご参照ください。
<font color="red">**[【OCI】Archive Storageを利用してファイルをアップロード、ダウンロードしてみた][1]**</font>
[1]:https://qiita.com/hongmnh/items/a72497d8c33f6ce26a00

この記事では既存のストレージ(例:大容量NAS)に保存されていたフォルダやファイルを
Archive Storageに移行した場合、移行後の運用においてOCI Storage Gatewayを活用する方法を
いくつか試しましたので紹介させていただきます。


###テスト構成、Storage Gatewayの構築方法
テスト構成は以下の通りです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/c111d259-bbd7-965d-88a8-99cf13c3976d.png)
Storage Gatewayの構築方法は以下のOCIチュートリアルを参考にしています。
詰まることなく割とスムーズに構築することができました。
<font color="red">**[ストレージ・ゲートウェイを作成する][2]**</font>
[2]:https://oracle-japan.github.io/ocitutorials/intermediates/storage-gateway/

###試したこと

**①OCIのGUIを利用してArchive Storageから必要なフォルダやファイルを見つける**

テスト用のフォルダを10個(test1~test10)作成し、各フォルダにはテスト用のファイルを
1つずつ(sample1.txt~sample10.txt)アップロードしておきます。
test1のフォルダにはsample1.txtがtest2のフォルダにはsample2.txtが保存されている
ようなイメージです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/cc46c868-f320-7b25-0ac0-64687c0cb923.png)
ルートフォルダが表示されている状態で検索窓にsample1と入力して検索をかけてみます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/129dc1f4-c691-b685-528a-e3acc813e118.png)
結果は。。。
「アイテムが見つかりませんでした。」でした。
「sample1」の文字列が含まれるファイルとそのファイルが保存されているフォルダが
表示されることを期待していたのですが、、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/2193be01-d965-3a26-2e8d-c5b7fddf0c53.png)
今度は「sample1.txt」が保存されているフォルダ(test1)に移動した状態で
同様の方法で検索をかけてみます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/8347e40f-35cf-ec46-9fe0-c22b61ba986f.png)
結果は。。。
test1フォルダに保存されているファイルがsample1.txtの1つしかないので先ほどと同じに見えますが
ちゃんと検索結果を表示してくれています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/b62d7dd4-b566-ba6a-a3c7-52e6a4e316b1.png)
念のため「sample2」で検索してみると、test1のフォルダにはそのようなファイルは存在しないので
「アイテムが見つかりませんでした。」になりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/bca6f479-d160-b66a-2580-5e5643f56fb5.png)
ということで、OCIのGUI上でファイル名で検索するにはファイルが保存されているフォルダを
知っている必要があることがわかりました。
また画面キャプチャ等は載せていませんが、フォルダに関してもファイル検索時と
同様であることを確認しました。
※現時点でわかっていることからの結論になります。
何等かの方法でフォルダがわからなくても検索できる方法があるかもしれません。

ちなみに、クライアント・サーバ上ではfindコマンドを使って簡単に見つけることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/1102b765-6f0d-55c8-5836-40ca279716fe.png)

**②Archive Storageにアップロードしたファイルをクライアント・サーバ側で確認する**

ファイルアップロード前のルートフォルダの状態です
OCIのGUI上でみた場合、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/03c69fea-4d4c-adaf-1514-201cfba1b447.png)
クライアント・サーバでみた場合
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/c6edb31a-f1ed-f2fc-90e0-eae775370706.png)


OCIのGUIを利用してルートフォルダにテスト用ファイル(10個)をアップロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/64c8eb15-6630-d06c-c307-65eaa81092c6.png)
アップロード完了。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/06527060-f1e8-a0d1-331c-2abd599e92ff.png)
しかし、クライアント・サーバ側では先ほどアップロードしたファイルがまだ見えません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/1de39ef8-05e9-f1d7-09e8-668add949697.png)
Archive Stroageの管理画面にログイン、「Refresh」を行う
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/4328fc1e-4391-07dc-e6b2-b50a0e13b300.png)
「Refresh」されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/76715864-1cb3-c490-5ece-e091c8c6e3c5.png)
再度クライアント・サーバ側で確認してみると、
見えました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/fdce6843-487e-6a39-3284-53d3550e317d.png)

**③クライアント・サーバ上で作成したファイルをArchive Storage側で確認する**

クライアント・サーバ側でみた「test1」フォルダの状態です。
最初に保存した「sample1.txt」のみが存在します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/518cee4a-a84b-5095-ab0b-418bd88a382c.png)
OCIのGUIからみた場合も同様の状態です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/80e6f0b3-443d-675b-9a31-07fb424d473d.png)
クライアント・サーバ側で「sample2.txt」というファイルを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/b7173e7a-5493-3556-f93f-1800926153f2.png)
OCIのGUI側で確認すると、「sample2.txt」が見えました。
②で行ったrefresh操作は不要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/d9f52927-9b5d-b163-c196-e6ea8238fd27.png)
先ほどは中身のない0バイトのファイルで試したのでほぼ即時に反映されましたが、
今度は少し容量の大きいファイル(約19MB)で試してみます。
予め用意しておいたファイル(pythonの設置ファイル)を「test1」フォルダにコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/cc67f8b8-05ec-5d3c-fda5-05ed1f3f1de1.png)
すぐにOCIのGUIで確認してみると、ファイル名は反映されていてサイズはまだ0バイトの状態です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/91bc5cff-8660-4236-bccb-274700f5ebaf.png)
しばらくすると、アップロードが完了してサイズも正しい値に更新されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/2dff4d23-7389-5851-11b7-6b0359293f42.png)

###まとめ(検証を通して感じたこと)
・フォルダ構造が複雑かつファイル数が多い中から必要なものを探す必要がある場合は
　Storage Gatewayを利用すると便利(NFSマウントしたOSの検索機能を利用できるから)
・既存のストレージからArchive Storageへのデータ移行方法として以下の3つが考えられる
　　①インターネット経由でArchive Storageにアップロード(GUI or CLI)
　　②Storage Gateway経由でArchive Storageにアップロード(NFSマウント)
　　③OCIの<font color="red">**[Data Transfer Service][3]**</font>を利用してArchive Storageにアップロード
[3]:https://docs.oracle.com/ja-jp/iaas/Content/DataTransfer/Concepts/overview.htm