6.3. 备份持久性卷声明
您可以从容器内部将持久数据同步到服务器。
重要
根据托管 OpenShift Container Platform 环境的供应商,也可以为备份和恢复目的启动第三方快照服务。因为 OpenShift Container Platform 没有能够启动这些服务,所以本指南并不描述了这些步骤。
如需特定应用程序的正确备份流程,请参阅任何产品文档。例如,复制 mysql 数据目录本身并不会创建可用的备份。反之,运行关联的应用程序的特定备份过程,然后同步任何数据。这包括使用 OpenShift Container Platform 托管平台提供的快照解决方案。
流程
查看项目和 pod:
$ oc get pods NAME READY STATUS RESTARTS AGE demo-1-build 0/1 Completed 0 2h demo-2-fxx6d 1/1 Running 0 1h
描述所需的 pod,以查找持久性卷目前使用的卷:
$ oc describe pod demo-2-fxx6d Name: demo-2-fxx6d Namespace: test Security Policy: restricted Node: ip-10-20-6-20.ec2.internal/10.20.6.20 Start Time: Tue, 05 Dec 2017 12:54:34 -0500 Labels: app=demo deployment=demo-2 deploymentconfig=demo Status: Running IP: 172.16.12.5 Controllers: ReplicationController/demo-2 Containers: demo: Container ID: docker://201f3e55b373641eb36945d723e1e212ecab847311109b5cee1fd0109424217a Image: docker-registry.default.svc:5000/test/demo@sha256:0a9f2487a0d95d51511e49d20dc9ff6f350436f935968b0c83fcb98a7a8c381a Image ID: docker-pullable://docker-registry.default.svc:5000/test/demo@sha256:0a9f2487a0d95d51511e49d20dc9ff6f350436f935968b0c83fcb98a7a8c381a Port: 8080/TCP State: Running Started: Tue, 05 Dec 2017 12:54:52 -0500 Ready: True Restart Count: 0 Volume Mounts: */opt/app-root/src/uploaded from persistent-volume (rw)* /var/run/secrets/kubernetes.io/serviceaccount from default-token-8mmrk (ro) Environment Variables: <none> ...omitted...
此输出显示持久性数据位于
/opt/app-root/src/uploaded
目录中。在本地复制数据:
$ oc rsync demo-2-fxx6d:/opt/app-root/src/uploaded ./demo-app receiving incremental file list uploaded/ uploaded/ocp_sop.txt uploaded/lost+found/ sent 38 bytes received 190 bytes 152.00 bytes/sec total size is 32 speedup is 0.14
ocp_sop.txt
文件下载到本地系统,以通过备份软件或其他备份机制备份。注意如果 pod 启动而无需使用
pvc
,但稍后您决定需要pvc
,则可以使用前面的步骤。您可以保留数据,然后使用剩余的进程填充新存储。