跨主机储存

跨主机储存

两台docker主机上都运行install脚本

[root@localhost ~]# sh install 

rexray has been installed to /usr/bin/rexray

REX-Ray
-------
Binary: /usr/bin/rexray
Flavor: client+agent+controller
SemVer: 0.11.4
OsArch: Linux-x86_64
Commit: e7414eaa971b27977d2283f2882825393493179d
Formed: Wed, 16 Jan 2019 00:03:57 CST

配置VirtualBox backend

在virtualbox宿主机 启动vboxwebsrv 服务:vboxwebsrv -H 0.0.0.0    (此路径为你安装vbox虚拟机的目录里

[E:vxbox]$ VBoxWebSrv.exe -H 0.0.0.0
00:00:00.000152 main     VirtualBox web service 6.1.10 r138449 win.amd64 (Jun  4 2020 17:22:00) release log
00:00:00.000153 main     Log opened 2020-06-09T14:33:01.600244000Z
00:00:00.000154 main     Build Type: release
00:00:00.000157 main     OS Product: Windows 10
00:00:00.000158 main     OS Release: 10.0.18363
00:00:00.000160 main     OS Service Pack: 
00:00:00.075674 main     DMI Product Name: N8xEJEK                         
00:00:00.092383 main     DMI Product Version: Not Applicable                  
00:00:00.092396 main     Firmware type: UEFI
00:00:00.092682 main     Secure Boot: VERR_PRIVILEGE_NOT_HELD
00:00:00.092702 main     Host RAM: 16230MB (15.8GB) total, 10062MB (9.8GB) available
00:00:00.092705 main     Executable: E:vxboxVBoxWebSrv.exe
00:00:00.092706 main     Process ID: 8456
00:00:00.092706 main     Package type: WINDOWS_64BITS_GENERIC
00:00:00.183354 SQPmp    Socket connection successful: host = 0.0.0.0, port = 18083, master socket = 1048
00:00:05.175575 Watchdog Statistics: 0 websessions, 0 references

关闭virtualbox的登录认证:

[E:vxbox]$ VBoxManage.exe setproperty websrvauthlibrary null

关闭虚拟机,修改docker1和docker2的storage配置:并且删除IDE controller,设置SATA controller的port数量为最大值 30.

[root@localhost ~]# cd /etc/rexray/
[root@localhost rexray]# ls
rexray.env  tls
[root@localhost rexray]# rz

[root@localhost rexray]# cat 
config.yml  rexray.env  tls/        
[root@localhost rexray]# cat config.yml 
libstorage:
  service: virtualbox
virtualbox:
  endpoint: http://192.168.56.1:18083
  volumePath: /Users/Administrator/Volumes
  controllerName: SATA
volumePath: /Users/Administrator/Volumes 此路径为你的用户名目录
重启rexray 并且查看vxbox虚拟机的所有存储
[root@localhost rexray]# systemctl restart rexray
[root@localhost rexray]# rexray volume ls
ID                                    Name         Status       Size
ebca95bf-273e-4d8d-bef9-a652e0414569  docker1.vdi  attached     20
2e264fc3-a15e-422e-941d-35835d0346e3  docker2.vdi  unavailable  20
[root@localhost rexray]# docker volume create --driver rexray --name=mysqldata --opt=size=2
mysqldata

创建并且使用rex-ray volume 在docker1 和docker2 上执行如上命令创建volume,在宿主机上也可以看到mysqldata

 启动MySQL容器

[root@localhost rexray]# docker run -dit --name mysqltest1 -v mydata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
mysql> create database caoyi;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| caoyi              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> use caoyi;
Database changed
mysql> insert into test values(1,'zhangshan');
Query OK, 1 row affected (0.11 sec)

mysql> insert into test values(2,'lisi');
Query OK, 1 row affected (0.29 sec)

mysql> select * from test;
+------+-----------+
| id   | name      |
+------+-----------+
|    1 | zhangshan |
|    2 | lisi      |
+------+-----------+
2 rows in set (0.00 sec)

docker1创建一个表并且插入两个数据,然后删除容器。在docker2运行容器

[root@localhost rexray]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                 NAMES
83b34a18b232        mysql:5.7           "docker-entrypoint.s…"   16 minutes ago      Up 16 minutes       3306/tcp, 33060/tcp   mysqltest1
[root@localhost rexray]# docker stop 83b34a18b232
83b34a18b232
[root@localhost rexray]# docker rm 83b34a18b232
83b34a18b232
[root@localhost rexray]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

运行容器的时候不需要加password

可以看到在docker1创建的caoyi库还在

 

 
原文地址:https://www.cnblogs.com/cy888888/p/13082241.html