当前位置: 首页 > news >正文

网上购物网站建设的实训报告百度热榜

网上购物网站建设的实训报告,百度热榜,百度自动搜索关键词软件,广州外贸建网站Longhorn,企业级云原生容器分布式存储 - 备份与恢复快照手动快照周期性快照和备份使用 Longhorn UI 设置周期性快照使用 StorageClass 设置 Recurring Jobs分离卷时允许 Recurring Job容灾卷创建容灾(DR)卷备份设置备份目标使用阿里云OSS备份存储准备工作为 S3 兼容…

Longhorn,企业级云原生容器分布式存储 - 备份与恢复

  • 快照
    • 手动快照
    • 周期性快照和备份
      • 使用 Longhorn UI 设置周期性快照
      • 使用 StorageClass 设置 Recurring Jobs
      • 分离卷时允许 Recurring Job
  • 容灾卷
    • 创建容灾(DR)卷
  • 备份
    • 设置备份目标
    • 使用阿里云OSS备份存储
      • 准备工作
      • 为 S3 兼容的备份存储启用 virtual-hosted-style 访问
      • 创建secret
      • 在LonghornUI中配置BackupTarget和Secret
    • NFS 备份存储
    • 创建备份
    • 从备份恢复
  • 为 Kubernetes StatefulSets 恢复卷

快照

手动快照

snapshot 是 Kubernetes Volume 在任何给定时间点的状态。
要创建现有集群的快照,

  1. 在 Longhorn UI 的顶部导航栏中,单击 Volume。
  2. 单击要为其创建快照的卷的名称。这会导致卷详细信息页面。
  3. 在Snapshots and Backups板块中,单击 Take Snapshot 按钮即可创建快照。
    创建快照后,您将在卷头(Volume Head)之前的卷的快照列表中看到它。

周期性快照和备份

从 Longhorn UI,可以安排周期性快照和备份。
要设置时间表(schedule),您将转到 Longhorn 中的卷详细信息视图。然后你将设置:
• schedule 类型,备份(backup)或快照(snapshot)
• 将创建备份或快照的时间,以 CRON expression 的形式
• 要保留的备份或快照的数量
• 应应用于备份或快照的任何标签(Any labels)
然后 Longhorn 会自动为当时的用户创建快照或备份,只要该卷附加到一个节点。
可以使用 Longhorn UI 或使用 Kubernetes StorageClass 配置周期性快照。

注意:为了避免当卷长时间没有新数据时,recurring jobs 可能会用相同的备份和空快照覆盖旧的备份/快照的问题,Longhorn 执行以下操作:
1. Recurring backup job 仅在自上次备份以来卷有新数据时才进行新备份。
2. Recurring snapshot job 仅在卷头(volume head)中有新数据(实时数据)时才拍摄新快照。

使用 Longhorn UI 设置周期性快照

可以从卷详细信息页面配置周期性快照和备份。要导航到此页面,请单击 Volume,,然后单击卷的名称。

使用 StorageClass 设置 Recurring Jobs

可以在 StorageClass 的 recurringJobs 参数中配置计划备份和快照。
使用这个 StorageClass 创建的任何未来卷都将自动设置这些 recurring jobs。
recurringJobs 字段应遵循以下 JSON 格式:

	kind: StorageClassapiVersion: storage.k8s.io/v1metadata:name: longhornprovisioner: driver.longhorn.ioparameters:numberOfReplicas: "3"staleReplicaTimeout: "30"fromBackup: ""recurringJobs: '[{"name":"snap","task":"snapshot","cron":"*/1 * * * *","retain":1},{"name":"backup","task":"backup","cron":"*/2 * * * *","retain":1}]'

应为每个 recurring job 指定以下参数:

  1. name:一项 job 的名称。不要在一个 recurringJobs 中使用重复的名称。 并且 name 的长度不能超过 8 个字符。
  2. task:一项 job 的类型。它仅支持 snapshot(定期创建快照)或backup(定期创建快照然后进行备份)。
  3. cron:Cron 表达式。它告诉一项 job 的执行时间。
  4. retain:Longhorn 将为一项 job 保留多少快照/备份(snapshots/backups)。应该不少于 1。

分离卷时允许 Recurring Job

Longhorn 提供了 allow-recurring-job-while-volume-detached 设置,即使卷已分离,您也可以进行周期性备份(recurring backup)。您可以在 Longhorn UI 中找到该设置。
启用该设置后,Longhorn 将自动附加卷并在需要执行周期性快照/备份(recurring snapshot/backup)时进行快照/备份。
请注意,在卷自动附加(attached automatically)期间,卷尚未准备好处理工作负载。Workload 必须等到 recurring job 完成。

容灾卷

容灾 (DR) 卷是一种特殊卷,主要用于在整个主集群出现故障时将数据存储在备份集群中。灾难恢复卷用于提高 Longhorn 卷的弹性。
对于灾难恢复卷,Last Backup 表示其原始备份卷的最新备份。
如果代表灾难卷的图标为灰色,则表示该卷正在恢复 Last Backup,并且该卷无法激活。如果图标为蓝色,则表示该卷已恢复 Last Backup。

创建容灾(DR)卷

	先决条件: 设置两个 Kubernetes 集群。它们将被称为集群 A 和集群 B。在两个集群上安装 Longhorn,并在两个集群上设置相同的备份目标。
  1. 在集群 A 中,确保原始卷 X 已创建备份或已安排 recurring backups。
  2. 在集群 B 的备份页面,选择备份卷 X,然后创建容灾卷 Y。强烈建议使用备份卷名作为容灾卷名。
  3. Longhorn 会自动将 DR 卷 Y 附加到随机节点。然后 Longhorn 将开始轮询卷 X 的最后一次备份,并将其增量恢复到卷 Y。

备份

设置备份目标

备份目标是用于访问 Longhorn 中 backupstore 的端点。backupstore 是 NFS 服务器或 S3 兼容服务器,用于存储 Longhorn 卷的备份。备份目标可以在 Settings/General/BackupTarget 中设置。

Longhorn 还支持通过 Longhorn UI 或 Kubernetes Storage Class 为卷设置周期性快照/备份(recurring snapshot/backup)作业。

使用阿里云OSS备份存储

准备工作

  1. 首先在阿里云开通OSS服务,并创建相应的Bucket
  2. 创建服务子账号,授予该账号对应Bucket的访问权限
  3. 记住子账号对应的accessKeyID、accessKeySecret,下边会用到

为 S3 兼容的备份存储启用 virtual-hosted-style 访问

在以下情况下,您可能需要为 S3 兼容的备份存储启用这种新的寻址方法

  1. 您想立即切换到这种新的访问方式,这样您就无需担心 Amazon S3 路径弃用计划;

  2. 您使用的 backupstore 只支持 virtual-hosted-style 的访问,例如:Alibaba Cloud(Aliyun) OSS;

  3. 您已配置 MINIO_DOMAIN 环境变量以启用 MinIO 服务器的 virtual-host-style 请求;

  4. 这个错误 … error: AWS Error: SecondLevelDomainForbidden Please use virtual hosted style to access. … 被触发。
    启用 virtual-hosted-style 访问的方法

  5. 将值为 true 的新字段 VIRTUAL_HOSTED_STYLE 添加到您的备份目标 secret。例如:

     apiVersion: v1kind: Secretmetadata:name: oss-backup-target-secret namespace: longhorn-systemtype: Opaquedata:AWS_ACCESS_KEY_ID: bG9uZ2hvcm4tdGVzdC1hY2Nlc3Mta2V5AWS_SECRET_ACCESS_KEY: bG9uZ2hvcm4tdGVzdC1zZWNyZXQta2V5AWS_ENDPOINTS: aHR0cHM6Ly9taW5pby1zZXJ2aWNlLmRlZmF1bHQ6OTAwMA==VIRTUAL_HOSTED_STYLE: dHJ1ZQ== # true		
    

创建secret

在 Longhorn 所在的命名空间(默认为 longhorn-system)中创建一个名称为 oss-backup-target-secret的 Kubernetes secret。secret 必须在 longhorn-system 命名空间中创建,以便 Longhorn 访问它:

kubectl create secret generic oss-backup-target-secret --from-literal=AWS_ACCESS_KEY_ID=<your accessKeyID > --from-literal=AWS_SECRET_ACCESS_KEY=<your accessKeySecret> --from-literal=AWS_ENDPOINTS=<阿里云ENDPOINTS地址> --from-literal=VIRTUAL_HOSTED_STYLE=true -n longhorn-system

在LonghornUI中配置BackupTarget和Secret

  1. 转到 Longhorn UI。在顶部导航栏中,单击 Settings。 在 Backup 部分中,将 Backup Target 设置为:

     s3://<your-bucket-name>@<your-aws-region>/mypath/attention:your-bucket-name: Bucket名称your-aws-region:Bucket所在区域,例如oss-cn-beijing确保末尾有 /,否则会报错。可以使用子目录(前缀):
    
  2. 在备份部分将 备份目标凭据 Secret(Backup Target Credential Secret) 设置为:oss-backup-target-secret

NFS 备份存储

要将 NFS 服务器用作备份存储,NFS 服务器必须支持 NFSv4。
目标 URL 应如下所示:

nfs://longhorn-test-nfs-svc.default:/opt/backupstore	

创建备份

Longhorn 中的 Backups 是在集群外备份存储中的对象。快照的备份被复制到备份存储,访问备份存储的端点是备份目标。

先决条件: 必须设置备份目标。有关更多信息,请参阅设置备份目标。如果尚未设置 BackupTarget,则会出现错误。

要创建备份,

  1. 导航到 Volume 菜单。
  2. 选择要备份的卷。
  3. 单击 Create Backup。
  4. 添加适当的标签并单击 OK。

Result: 备份已创建。要查看它,请单击顶部导航栏中的 Backup。

从备份恢复

Longhorn 可以轻松地将备份恢复到一个卷。
还原备份时,默认情况下会创建一个同名的卷。如果已存在与备份同名的卷,则不会恢复备份。
要恢复备份,

  1. 导航到 Backup 菜单
  2. 选择您要恢复的备份,然后单击 Restore Latest Backup
  3. 在 Name 字段中,选择要恢复的卷
  4. 单击 OK

Result: 恢复的卷在 Volume 页面上可用。

为 Kubernetes StatefulSets 恢复卷

Longhorn 支持恢复备份,该特性的一个用例是恢复 Kubernetes StatefulSet 中使用的数据,这需要为备份的每个副本恢复一个卷。
要恢复,请按照以下说明操作。下面的示例使用一个 StatefulSet。

  1. 连接到 Web 浏览器中的 Longhorn UI 页面。在 Backup 选项卡下,选择 StatefulSet 卷的名称。单击卷条目的下拉菜单并恢复它,将卷命名为稍后可以轻松引用的 Persistent Volumes。
Backup NameRestored Volume
pvc-01astatefulset-vol-0
pvc-01bstatefulset-vol-1

对需要恢复的每个卷重复此步骤。
例如,如果使用具有名为 pvc-01a 和 pvc-02b 的卷的两个副本恢复 StatefulSet,则恢复可能如下所示:
1. 在 Kubernetes 中,为每个恢复的 Longhorn 卷创建一个 Persistent Volume来绑定它。storage 容量、numberOfReplicas、storageClassName 和 volumeHandle 必须在下面替换。在这个例子中,我们在 Longhorn 中引用了 statefulset-vol-0 和 statefulset-vol-1,并使用 longhorn 作为我们的 storageClassName。

	kind: PersistentVolumeapiVersion: v1metadata:name: statefulset-vol-0spec:capacity:storage: 20Gi  # 和Longhron中恢复的卷的大小保持一致storageClassName: longhorn  # must be same name that we will use latervolumeMode: FilesystemaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: Retaincsi:driver: driver.longhorn.io  # driver must match thisfsType: ext4volumeAttributes:numberOfReplicas: '3'   # Longhorn恢复的卷的副本数staleReplicaTimeout: '30'volumeHandle: statefulset-vol-0  # 在Longhorn中恢复的卷的名称---kind: PersistentVolumeapiVersion: v1metadata:name: statefulset-vol-1spec:capacity:storage: 20Gi  # 和Longhron中恢复的卷的大小保持一致storageClassName: longhorn  # must be same name that we will use latervolumeMode: FilesystemaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: Retaincsi:driver: driver.longhorn.io  # driver must match thisfsType: ext4volumeAttributes:numberOfReplicas: '3'   # Longhorn恢复的卷的副本数staleReplicaTimeout: '30'volumeHandle: statefulset-vol-1  # 在Longhorn中恢复的卷的名称
  1. 在 namespace 中,将部署 StatefulSet,为上面创建的每个 Persistent Volume 创建 PersistentVolume Claims来进行绑定。Persistent Volume Claim 的名称必须遵循以下命名方案:

     <name of Volume Claim Template>-<name of StatefulSet>-<index>
    
  2. StatefulSet Pod 是零索引(zero-indexed)的。 在这个例子中,Volume Claim Template 的名字是 data,StatefulSet 的名字是 webapp, 并且有两个副本,分别是索引 0 和 1。

     kind: PersistentVolumeClaimapiVersion: v1metadata:name: data-webapp-0namespace: databasespec:accessModes:- ReadWriteOnceresources:requests:storage: 20Gi  # 必须和上边定义的PV中的大小保持一致storageClassName: longhornvolumeName: statefulset-vol-0   # 上边创建的PV的名字---kind: PersistentVolumeClaimapiVersion: v1metadata:name: data-webapp-1namespace: databasespec:accessModes:- ReadWriteOnceresources:requests:storage: 20Gi  # 必须和上边定义的PV中的大小保持一致storageClassName: longhornvolumeName: statefulset-vol-1   # 上边创建的PV的名字
    
  3. 创建 StatefulSet:

     apiVersion: apps/v1beta2kind: StatefulSetmetadata:name: webapp # match this with the PersistentVolumeClaim naming schemespec:selector:matchLabels:app: nginx # has to match .spec.template.metadata.labelsserviceName: "nginx"replicas: 2 # by default is 1template:metadata:labels:app: nginx # has to match .spec.selector.matchLabelsspec:terminationGracePeriodSeconds: 10containers:- name: nginximage: k8s.gcr.io/nginx-slim:0.8ports:- containerPort: 80name: webvolumeMounts:- name: datamountPath: /usr/share/nginx/htmlvolumeClaimTemplates:- metadata:name: data # match this with the PersistentVolumeClaim naming schemespec:accessModes: [ "ReadWriteOnce" ]storageClassName: longhorn # must match name from earlierresources:requests:storage: 20Gi # must match size from earlier
    

Result: 现在应该可以从 StatefulSet Pods 内部访问恢复的数据。

整个恢复流程如下:

  1. 在Longhorn中恢复对应的卷,并为其取一个名字
  2. 在Kubernetes中创建PV,通过volumeHandle关键字来绑定Longhorn中恢复的卷
  3. 在Kubernetes中创建PVC,通过volumeName关键字绑定特定的PV
  4. 创建Deployment或者StatefulSet来使用定义的PVC
http://www.khdw.cn/news/18689.html

相关文章:

  • 免费网站站长推广seo服务外包公司
  • 用帝国cms做企业网站版权seo网站排名全选
  • 丝足网站的建设互联网企业营销策略
  • 学生做防溺水题的网站上海网站推广系统
  • 游戏网站建设项目规划书案例如何提高网站的搜索排名
  • 保定外贸网站建设上海网站建设公司排名
  • 旅游网站建设的目的互联网营销策划是做什么的
  • 不懂代码做网站百家号关键词seo优化
  • 有什么做公众号封面图的网站百度热点榜单
  • 网站的主页按钮怎么做的广州网站建设公司
  • 住房城乡与建设厅网站首页自己的网站怎么样推广优化
  • 企业网络建设基础情况百度seo关键词排名 s
  • 做网站哪些网络公司好个人网站建站流程
  • 门户网站用虚拟主机百度下载并安装
  • 新闻网站开发素材网站外链有多重要
  • 淘宝客个人网站怎么做百度指数预测
  • 有没有做语文题的网站网络营销方案案例
  • 网站开启微信支付功能网络搜索关键词排名
  • 公司备案网站名称seo搜索培训
  • 深圳品牌设计网站seo发外链工具
  • 微网站开发北京经典广告推广词
  • 电子商务网站建设题网络营销的概念及特征
  • 龙华新区网站制作免费发广告的软件
  • 广西建设厅证书查询seo快速优化方法
  • 十大网站建设服务商搜索引擎排名2022
  • 张家界商城网站建设小红书推广渠道
  • 下载浙江平安建设信息系统网站网站创建免费用户
  • 简单的cms源码宁波seo推广优化哪家强
  • 在实际页面设计中文本通常使用搜索引擎优化是指什么意思
  • dedecms做的网站首页被挂马seo广州工作好吗