📘

OCI Object StorageをOracle Linuxにマウントしてみる

2022/04/18に公開約5,400字

はじめに

Oracle Linuxは既に構築済みとします。それからObject Storageも構築済みとします。

Storage Gatewayについて

Object StorageをOracle LinuxにマウントするにはStorage Gatewayが必要です。
下記OCIドキュメントより抜粋

ストレージ・ゲートウェイは、オンプレミス・アプリケーションをOracle Cloud Infrastructureに接続できるクラウド・ストレージ・ゲートウェイです。データをNFSターゲットに書き込むことができるアプリケーションでは、REST APIを取り込むためにアプリケーションを変更しなくても、Oracle Cloud Infrastructure Object Storageにデータを書き込むことができます。

前提条件

2つのデュアルコアCPU以上。4コアCPUを推奨します。
メモリーの最小要件:

  • ストレージ・ゲートウェイのどのファイル・システムでも16GBが必須。
  • ファイル数が5000万個までのファイル・システムでは32GB。
  • ファイル数が1億個までのファイル・システムでは64GB。

推奨されるローカル・ストレージのディスク・サイズは600GBです(ファイル・システム・キャッシュに500GB、メタデータ・ストレージに80GB、ログ・ストレージに20GBを含みます)。

モジュールの入手

■モジュール取得用のURL

作業順序

  • Selinuxの無効化
  • モジュールのインストール
  • Storage Gatewayコンソールでの作業
  • Oracle Linuxにマウント

実際に作業してみる

Selinuxの無効化

要再起動

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

モジュールのインストール

インスタンス上にモジュールを配置する

[root@oracle-linux ~]# ls
ocisg-1.4.tar.gz
[root@oracle-linux ~]#

ocisg-1.4.tar.gzの解凍

[root@oracle-linux ~]# tar -xvzf ocisg-1.4.tar.gz
ocisg-1.4/
ocisg-1.4/helper-install-ocisg.sh
ocisg-1.4/ocisg:1.4.tar
ocisg-1.4/ocisg-install.sh
ocisg-1.4/connect-fs.sh
ocisg-1.4/ocisg-control.sh
ocisg-1.4/health-check.sh
ocisg-1.4/support-bundle.sh
ocisg-1.4/test-bandwidth.sh
ocisg-1.4/ocisg-config.sh
ocisg-1.4/ocisg
ocisg-1.4/OCISG_README.txt

ocisg-install.shの実行

[root@oracle-linux-207830 ocisg-1.4]# ./ocisg-install.sh

dockerのインストールを確認

Docker does not appear to be installed. Do you want to install docker engine with yum? [y/N] y

NFSの有効化の確認

NFS server does not appear to be enabled. Do you want to enable NFS? [y/N] y

インストールパスの確認

デフォルトのままエンターを押します。

Enter the install location press enter for default (/opt/ocisg/) :

ファイル・システム・キャッシュのパス指定

Enter the path for OCISG file system cache : /mnt/ocisg/sg/cache

メタデータ領域のパス指定

Enter the path for OCISG metadata storage : /mnt/ocisg/sg/metadata

ログ領域のパス指定

Enter the path for OCISG log storage : /mnt/ocisg/sg/log

インストールOKの確認

Management Console: https://oracle-linux-207830:32770
If you have already configured an OCISG FileSystem via the Management Console,
you can access the NFS share using the following port.

NFS Port: 32771

Example: mount -t nfs -o vers=4,port=32771 oracle-linux-207830:/<OCISG FileSystem name> /local_mount_point

Storage Gatewayコンソールでの作業

コンソールへのアクセス

下記URLにアクセスします。

Management Console: https://oracle-linux-207830:32770

ブラウザで下記の画面が表示されればOKです。
 ※一番最初アクセスすると、パスワードの設定画面が表示されます。

ファイルシステムの作成

「Create File System」をクリックします。
下記イメージのとおりパラメータを入力していきます。

File System Name:オブジェクトストレージ名を入力します。
Object Storage API Endpoint:東京リージョン使っているなら「https://objectstorage.ap-tokyo-1.oraclecloud.com」でOK
Compartment OCID:自身のコンパートメントIDを入力します。
Tenant OCID:自身のテナントIDを入力します。
User OCID:自身のユーザIDを入力します。
Public Key's Finger Print:コンソールのユーザ画面で作成するAPIのフィンガープリント
Private Key:フィンガープリントを作成した時の秘密鍵の情報
Private Key Passphrase:設定なければ空白でOK
入力できましたら、画面下部「save」をクリックします。

オブジェクトストレージへテスト接続してみる

下記イメージのとおりにファイルシステムを設定できましたら
「Connect」をクリックします。

無事接続できると下記イメージのように緑のマークが付きます。

Oracle Linuxにマウント

マウントポイントの作成

[root@oracle-linux ~]# mkdir /mnt/test

マウントコマンドの実行

[root@oracle-linux ~]# mount -t nfs -o vers=4,port=32771 10.0.5.173:/test /mnt/test/

portはocisg-1.4モジュールをインストールしたログに記載があります。

マウント出来ている事を確認

[root@oracle-linux~]# df -h
Filesystem        Size  Used Avail Use% Mounted on
devtmpfs          7.7G     0  7.7G   0% /dev
tmpfs             7.7G     0  7.7G   0% /dev/shm
tmpfs             7.7G  8.9M  7.7G   1% /run
tmpfs             7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/sda3          39G   11G   28G  29% /
/dev/sda1         200M  7.5M  193M   4% /boot/efi
tmpfs             1.6G     0  1.6G   0% /run/user/0
tmpfs             1.6G     0  1.6G   0% /run/user/1000
/dev/dm-1          10G  2.0G  8.1G  20% /var/lib/docker/devicemapper/mnt/412a8481dd4113916fa27887c6561b5395f907e1c01ea0433a321ec005983284
tmpfs             1.6G     0  1.6G   0% /run/user/994
jfuse             8.0E     0  8.0E   0% /var/lib/docker/volumes/02f15a370195cdd8575ed437aa0a3524574c62cd21f9986897d87565aecc13bc/_data/test
10.0.5.173:/test  8.0E     0  8.0E   0% /mnt/test  ★ここに注目
[root@oracle-linux ~]#

何かファイルを置いてみる

[root@oracle-linux ~]# cd /mnt/test/
[root@oracle-linux test]# touch test.txt
[root@oracle-linux test]# ls test.txt
test.txt
[root@oracle-linux test]#

この通り問題なくファイルを置けました。

Discussion

ログインするとコメントできます