Anypoint Private Cloud のデバイス要件の検証

プラットフォームの設定用に 4 台の専用デバイスを割り当てる必要があります。これらはそれぞれ、システム状態ディレクトリとして、アプリケーションデータの格納用、クラスタ情報の格納用、そして Docker デバイスマッパー設定の対象として使用されます。

Anypoint システムデータデバイス

システム状態ディレクトリの主な目的は、システム設定とメタデータ (データベースやパッケージなど) を格納することです。パッケージサイズは大きくなることがあるため、事前に最小サイズ要件を見積もって、十分なスペースを専用デバイスとして割り当てることが重要です。

各デバイスは xfs または ext4 でフォーマットされ、/var/lib/gravity としてマウントされます。下記のシェルスニペットを参考にしてください (正しいデバイス名を 2 箇所で指定することを忘れないようにしてください)。

次のスニペットはあくまでも例ですので、本番環境でそのまま使用することはできません。ディスクのフォーマットとマウントは、システム管理者が実行してください。目的は Anypoint システムデータデバイスを /var/lib/gravity のパスにマウントすることです。そのためには、例に示されているように systemd マウントファイルを使用するか、/etc/fstab、あるいは他の手段を用いてください。この要件を満足するのに最適な手段は、システム管理者と相談して決めてください。

sudo mkfs.ext4 /dev/<device name>
sudo mkdir -p /var/lib/gravity
echo -e "[Mount]\nWhat=/dev/<device name>\nWhere=/var/lib/gravity\nType=ext4\n[Install]\nWantedBy=local-fs.target" | sudo tee /etc/systemd/system/var-lib-gravity.mount
sudo systemctl daemon-reload
sudo systemctl enable var-lib-gravity.mount
sudo systemctl start var-lib-gravity.mount

etcd デバイス

etcd デバイスの主な目的は、クラスタ調整に使用される分散型データベース用の専用ストレージを提供することです。それほど多くのスペースは必要なく、20GB もあれば十分です。

各デバイスは xfs または ext4 でフォーマットされ、/var/lib/gravity/planet/etcd としてマウントされます。下記のシェルスニペットを参考にしてください (正しいデバイス名を 2 箇所で指定することを忘れないようにしてください)。

次のスニペットはあくまでも例ですので、本番環境でそのまま使用することはできません。ディスクのフォーマットとマウントは、システム管理者が実行してください。目的は etc dデバイスを /var/lib/gravityi/planet/etcd のパスにマウントすることです。そのためには、例に示されているように systemd マウントファイルを使用するか、/etc/fstab、あるいは他の手段を用いてください。この要件を満足するのに最適な手段は、システム管理者と相談して決めてください。

sudo mkfs.ext4 /dev/<device name>
sudo mkdir -p /var/lib/gravity/planet/etcd
echo -e "[Mount]\nWhat=/dev/<device name>\nWhere=/var/lib/gravity/planet/etcd\nType=ext4\n[Install]\nWantedBy=local-fs.target" | sudo tee /etc/systemd/system/var-lib-gravity-planet-etcd.mount
sudo systemctl daemon-reload
sudo systemctl enable var-lib-gravity-planet-etcd.mount
sudo systemctl start var-lib-gravity-planet-etcd.mount

Anypoint アプリケーションデータデバイス

アプリケーションデータディレクトリの主な目的は、アプリケーションの設定とデータを格納こすることです。必要なスペースは 250GB 最小ですが、ユースケースによって変わることがあります。事前に最小サイズ要件を見積もって、十分なスペースを専用デバイスとして割り当てることが重要です。

各デバイスは xfs または ext4 でフォーマットされ、/var/lib/data としてマウントされます。下記のシェルスニペットを参考にしてください (正しいデバイス名を 2 箇所で指定することを忘れないようにしてください)。

次のスニペットはあくまでも例ですので、本番環境でそのまま使用することはできません。ディスクのフォーマットとマウントは、システム管理者が実行してください。目的は Anypoint アプリケーションデータデバイスを /var/lib/data のパスにマウントすることです。そのためには、例に示されているように systemd マウントファイルを使用するか、/etc/fstab、あるいは他の手段を用いてください。この要件を満足するのに最適な手段は、システム管理者と相談して決めてください。

sudo mkfs.ext4 /dev/<device name>
sudo mkdir -p /var/lib/data
echo -e "[Mount]\nWhat=/dev/<device name>\nWhere=/var/lib/data\nType=ext4\n[Install]\nWantedBy=local-fs.target" | sudo tee /etc/systemd/system/var-lib-data.mount
sudo systemctl daemon-reload
sudo systemctl enable var-lib-data.mount
sudo systemctl start var-lib-data.mount

Docker デバイス

このデバイスは、Docker のデバイスマッパーのストレージドライバで使用されます。

デバイスマッパーディレクトリ用のデバイスは、100 GB 以上のスペースを確保することを強くお勧めします。50 GB 以下だとシステムのパフォーマンスが大幅に低下するか、あるいはシステムがまったく機能しない場合があります。

特に指定しない限り、Docker のデフォルト設定では、デバイスマッパーが (/dev/loopX デバイスを使用した) ループバックモードで使用されますが、これは本番には推奨されません。デバイスマッパーストレージドライバ用の専用デバイスを使用するように Docker を設定するために、フォーマットされていないデバイス (またはパーティション) (例: /dev/sdd) をインストール中に指定してください。ディレクトリは自動的に設定されて、使用できるようにセットアップされます。

システムディレクトリやデバイスマッパーで使用できるフォーマットされていないデバイスは、各ノードで実行されるエージェントによって自動的に検出されます。検出されたデバイスは、インストールが開始される前に設定用のドロップダウンメニューに表示されます。

次のコマンドで、マウントされていないデバイスのリストを表示することができます。

lsblk --output=NAME,TYPE,SIZE,FSTYPE -P -I 8,9,202|grep 'FSTYPE=""'

マウントされていないデバイスは、FSTYPE 列が空白になっています。「TYPE="part"」と表示されているデバイスは、別のデバイスのパーティションです。このコマンドは、特定の種別のデバイスのみを表示します。

デバイス種別

説明

8

SCSI ディスクデバイス

9

メタディスク (RAID) デバイス

202

XXen 仮想ブロックデバイス (Amazon EC2)

デバイスとパーティションを手動でリセットする方法

論理ボリュームマネージャを使用すると、複数の物理ボリュームを単一のストレージボリューム (ボリュームグループ) にグループ化して、さらに論理ボリュームに分割することができます。物理ボリュームは、デバイス全体またはパーティションのどちらかです。

デバイスが別の論理ボリュームで使用されている場合や、デバイスマッパー用に設定されているデバイスを手動でリセットしたい場合には、以下のコマンドを使用します。

論理ボリュームマネージャツールセットは、以下のコマンドから構成されます。 * dmsetup - 低レベルの論理ボリューム管理用 * pvdisplay や pvcreate/pvremove など、pv/vg/lv のプレフィックスが付いたコマンド - 特定の LVM オブジェクトタイプの操作用 (例: lv は論理ボリューム、vg はボリュームグループ)

デバイスをリセットするには、以下のコマンドを使用します。

  • 論理ボリュームを削除するには lvremove -f docker/thinpool を使用します (削除するボリュームを探すには lvdisplay を使用します)

  • ボリュームグループを削除するには vgremove docker を使用します (削除するボリュームグループを探すには vgdisplay を使用します)

  • 物理ボリュームを削除してデバイスをリセットするには pvremove /dev/<device name> を使用します (削除する物理ボリュームとボリュームが存在するデバイス名を探すには pvdisplay を使用します)

ブロックデバイスのチェック

インストールを行う前に、ブロックデバイスがすべてのノードで同じように設定されている必要があります。lsblk を実行して、次のような出力が返されることを確認してください。

[root@ip-0-0-0-0 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 90G 0 disk
├─xvda1 202:1 0 1M 0 part
└─xvda2 202:2 0 90G 0 part /
xvdb 202:16 0 100G 0 disk -- Docker volume (not formatted)
xvdc 202:32 0 20G 0 disk /var/lib/gravity/planet/etcd
xvdd 202:48 0 250G 0 disk /var/lib/data
xvde 202:64 0 100G 0 disk /var/lib/gravity
xvdf 202:64 0 20G 0 disk /tmp

また、インストーラファイルをダウンロードして展開するのに十分なスペースがホームディレクトリにあることも確認してください。インストーラファイルのサイズは最大 10 GB です。

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub