Veritas InfoScale™ 8.0.2 仮想化ガイド - Linux
- 第 I 部 Linux 仮想化で使う Veritas InfoScale Solutions の概要
- 第 II 部 基本 KVM 環境の実装
- 基本 KVM のスタートガイド
- カーネルベースの仮想マシン環境の Veritas InfoScale Solutions 設定オプション
- KVM(カーネルベースの仮想マシン)環境の Cluster Server のインストールと設定
- KVM リソースの設定
- 基本 KVM のスタートガイド
- 第 III 部 Linux 仮想化実装の使用例
- アプリケーションの可視性とデバイス検出
- サーバー統合
- 物理から仮想への移行
- 簡素化した管理
- Cluster Server を使用するアプリケーションの可用性
- 仮想マシンの可用性
- ライブ移行を使った仮想マシンの可用性
- Red Hat Enterprise Virtualization 環境での仮想から仮想へのクラスタ化
- Microsoft Hyper-V 環境での仮想から仮想へのクラスタ化
- OVM (Oracle Virtual Machine) 環境での仮想から仮想へのクラスタ化
- Red Hat Enterprise 仮想化環境での仮想化マシンに対するディザスタリカバリ
- Volume Replicator(VVR)と Veritas File Replicator(VFR)を使用するボリュームとファイルシステムの障害回復
- 多層型ビジネスサービスのサポート
- InfoScale Enterprise を使用した Docker コンテナの管理
- Docker、Docker Daemon、および Docker Container 用の Cluster Server エージェントについて
- Docker コンテナのストレージ容量の管理
- Docker コンテナのオフライン移行
- Docker 環境におけるボリュームとファイルシステムのディザスタリカバリ
- アプリケーションの可視性とデバイス検出
- 第 IV 部 参照先
- 付録 A. トラブルシューティング
- 付録 B. 設定例
- 付録 C. 他の情報参照場所
- 付録 A. トラブルシューティング
Docker 1.12 Swarm モードを使用した Veritas ボリュームプラグインの設定
Veritas ボリュームプラグインは、コンテナの編成を可能にする Docker Swarm とシームレスに動作します。
次の手順を使用します
Docker 1.12 Swarm モードを使用して Veritas ボリュームプラグインを設定するには
- 2 つのノード (docker1 と docker2) がある Docker Swarm クラスタを例に見てみます。
# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS bd3ccjzm4qmo1ntil88r9q0la * docker1 Ready Active Leader d3rbrj0d4goyfckae0wozwwew docker2 Ready Active
- Veritas ボリュームを作成します。
# docker volume create -d veritas --name volume1 -o size=500m
- ソースボリューム名を指定して、Swarm マネージャから MYSQL サービスを作成します。
Veritas ドライバを使用して作成された
volume1
をソースボリューム名として使用します。# docker service create --replicas 1 --name sql1 --mount type=volume,source=volume1,target=/var/lib/mysql,readonly=false -e MYSQL_ROOT_PASSWORD=root123 mysql
# docker service ps sql1
ID NAME IMAGE NODE 6e2dlvx27iwrgrwdcdf43u4d9 sql1.1 mysql docker1 DESIRED STATE CURRENT STATE ERROR Running Running 44 seconds ago
ここで、mysql サービスはノード docker1 上にスケジュール設定されています。
- ノード docker1 上の mysql データベースに永続的なデータを書き込みます。
# docker ps -a
CONTAINER ID IMAGE COMMAND d844dfa66f65 mysql:latest "docker-entrypoint.sh" CREATED STATUS A minute ago Up PORTS NAMES 3306/tcp sql1.1.6e2dlvx27iwrgrwdcdf43u4d9
- [root@docker1] # docker exec -it d844dfa66f65 bash
- root@d844dfa66f65: /# mysql -proot123
mysql> create database swarm_test; Query OK, 1 row affected (0.02 sec) mysql> use swarm_test; Database changed mysql> create table people (name text, age integer); Query OK, 0 rows affected (0.04 sec) mysql> insert into people values ('Person1', 29); Query OK, 1 row affected (0.00 sec) mysql> insert into people values ('Person2', 31); Query OK, 1 row affected (0.01 sec) mysql> select * from people; +---------+------+ | name | age | +---------+------+ | Person1 | 29 | | Person2 | 31 | +----------+------+ 2 rows in set (0.00 sec)
- Docker1 上でノードエラーをシミュレートします。Docker Swarm によって MySQL サービスが別のノード上に再スケジュールされます。
[root@docker1]# docker node update --availability drain docker1
- [root@docker1]# docker service ps sql1
ID NAME IMAGE NODE 8rofbg2td0i7oubzyxpv0kvik sql1.1 mysql docker2 6e2dlvx27iwrgrwdcdf43u4d9 \_ sql1.1 mysql docker1 DESIRED STATE CURRENT STATE ERROR Running Running 47 seconds ago Shutdown Shutdown about a minute ago
Docker Swarm によって MySQL サービスがノード docker2 上に再スケジュールされます。
- ノード docker2 で MySQL サービスが設定されたコンテナが作成されていることを確認し、データベースで更新されたデータを確認します。
[root@docker2] # docker ps -a
CONTAINER ID IMAGE COMMAND 9fafb70c793b mysql:latest "docker-entrypoint.sh" CREATED STATUS About a minute ago Up PORTS NAMES 3306/tcp sql1.1.8rofbg2td0i7oubzyxpv0kvik
[root@docker2] # docker exec -it 9fafb70c793b bash
root@9fafb70c793b:/# mysql -proot123
mysql> use swarm_test; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select * from people; +---------+------+ | name | age | +---------+------+ | Person1 | 29 | | Person2 | 31 | +----------+------+ 2 rows in set (0.00 sec)
この手順で、InfoScale ストレージではデータボリュームがその他のノード上で利用可能となり、コンテナの移行操作が成功しました。