我已经在Azure上的Kubernetes集群(AKS)上安装了mongodb,并且我不确定更改的conf文件在哪里。我想在AKS上为这个部署设置增量备份,它向我展示了error "2022-03-08T10:21:54.536+0000 namespace with DB local and collection oplog.rs does not exist".
请帮助我在独立的Mongodb上进行增量备份。我使用mongodump命令作为- mongodump --host=xx.xx.xx.xx --port 27017 -d local -c oplog.rs -u username --authenticationDatabase admin -p password --out="/var/opt/baclup"
有没有办法不换到复制?
另外,我如何知道吊舱上安装了MongoDB?
发布于 2022-03-08 11:34:37
您可以使用“手动”、“端口转发”、“Cronjobs”等不同方式进行备份。
进入mongodb的POD并运行以下命令
kubectl exec -it <mongodb-pod-name> -- mongodump --out ./mongodb/backup <Update your command as per need >
或
kubectl exec -it <mongodb-pod-name> -- mongodump --dbpath /data/db --out ./mongodb/backup
或集合备份
kubectl exec -it <mongodb-pod-name> -- mongodump --collection MYCOLLECTION --db DB_NAME --out ./mongodb/backup
将端口代理到本地机器
kubectl port-forward svc/mongodb 27027
mongodump --collection MYCOLLECTION --db DB_NAME --out -u USERNAME -p ./mongodb-backup
使用
的自动化
Cronjob将命中MongoDb服务,保存备份并将其上传到GCP或S3桶中,您可以根据需要配置它们。
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: mongodb-backup
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: mongodb-backup
image: mongo:4.4.0-bionic
args:
- "/bin/sh"
- "-c"
- "/usr/bin/mongodump -u $MONGO_INITDB_ROOT_USERNAME -p $MONGO_INITDB_ROOT_PASSWORD -o /tmp/backup -h mongodb"
- "tar cvzf mongodb-backup.tar.gz /tmp/backup"
#- gsutil cp mongodb-backup.tar.gz gs://my-project/backups/mongodb-backup.tar.gz
envFrom:
- secretRef:
name: mongodb-secret
volumeMounts:
- name: mongodb-persistent-storage
mountPath: /data/db
restartPolicy: OnFailure
volumes:
- name: mongodb-persistent-storage
persistentVolumeClaim:
claimName: mongodb-pv-claim
,我如何知道MongoDB安装在吊舱上的位置?
有没有办法不换到复制?
如果你知道复制集,那么你就知道上述问题的答案。
https://stackoverflow.com/questions/71393774
复制相似问题