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

aws(学习笔记第十课) 对AWS的EBS如何备份(snapshot)以及使用snapshot恢复数据,AWS实例存储

aws(学习笔记第十课)

  • AWS的EBS如何备份(snapshot)以及使用snapshotAWS实例存储

学习内容:

  • AWS的EBS如何备份
  • AWS实例存储
  • EBS和实例存储的不足

1. 对AWS的EBS如何备份(snapshot)以及使用snapshot恢复数据

  1. 使用EBS的快照功能
    EBS生成快照,能够对数据进行备份。需要知道volume id,之后使用volume id对该volume进行拍摄快照(snapshot)。下图是整个EBS练习的步骤,其中:
    • 步骤1到4是第九课的练习内容
    • 步骤5是这次的练习内容。
      在这里插入图片描述
  2. 进行备份练习
    • 查询建立的volume
      aws ec2 --region ap-northeast-1 describe-volumes --filters "Name=size,Values=5" --query "Volumes[].VolumeId" --output text
      
      注意,在这里需要指定region
    • 建立snapshot快照
      aws --region ap-northeast-1 ec2 create-snapshot --volume-id vol-026a77a7e0b5a86ae --query "SnapshotId" --output text
      
      在这里插入图片描述
      这样就建立好了当前的snapshot在这里插入图片描述
      在快照里面,touch了一个测试文件。
      [root@ip-172-31-1-17 volume]# cat hello.txt
      hello,snapshot;
      [root@ip-172-31-1-17 volume]#
      
    • 利用snapshot进行还原
      恢复数据,必须在EC2创建的时候,利用snapshot创建一个新的EBS卷。在这里插入图片描述
    • 进入新创建的EC2查看基于snapshot创建的volume
      在这里插入图片描述
    • 对新的volume进行mount
      注意,这里已经进行了文件系统的创建,不需要在执行mkfs命令
      mkdir /mnt/volume
      mount /dev/xvdf /mnt/volume
      
    • 之后查看snapshot上的文件
      发现文件都是存在,都已经恢复了。
      注意,删除环境的时候,EBS的卷,已经mount的部分,需要执行umount之后,再进行EC2停止。
      在这里插入图片描述

2. AWS实例存储

  1. 实例存储和EBS的区别
    实例存储和EBS相反,它不是独立EC2用户虚拟服务器的,它依存于EC2
    在这里插入图片描述
  2. 使用Cloudformation创建实例存储
    • Cloudformation代码
      {"AWSTemplateFormatVersion": "2010-09-09","Description": "(Instance Store)","Parameters": {"KeyName": {"Description": "Key Pair name","Type": "AWS::EC2::KeyPair::KeyName","Default": "mykey"},"VPC": {"Description": "Just select the one and only default VPC","Type": "AWS::EC2::VPC::Id"},"Subnet": {"Description": "Just select one of the available subnets","Type": "AWS::EC2::Subnet::Id"}},"Mappings": {"EC2RegionMap": {"ap-northeast-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-cbf90ecb"},"ap-southeast-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-68d8e93a"},"ap-southeast-2": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-fd9cecc7"},"eu-central-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-a8221fb5"},"eu-west-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-a10897d6"},"sa-east-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-b52890a8"},"us-east-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-1ecae776"},"us-west-1": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-d114f295"},"us-west-2": {"AmazonLinuxAMIHVMEBSBacked64bit": "ami-e7527ed7"}}},"Resources": {"SecurityGroup": {"Type": "AWS::EC2::SecurityGroup","Properties": {"GroupDescription": "My security group","VpcId": {"Ref": "VPC"},"SecurityGroupIngress": [{"CidrIp": "0.0.0.0/0","FromPort": 22,"IpProtocol": "tcp","ToPort": 22}]}},"Server": {"Type": "AWS::EC2::Instance","Properties": {"ImageId": {"Fn::FindInMap": ["EC2RegionMap", {"Ref": "AWS::Region"}, "AmazonLinuxAMIHVMEBSBacked64bit"]},"InstanceType": "m3.medium","KeyName": {"Ref": "KeyName"},"SecurityGroupIds": [{"Ref": "SecurityGroup"}],"SubnetId": {"Ref": "Subnet"},"BlockDeviceMappings": [{"DeviceName": "/dev/xvda","Ebs": {"VolumeSize": "8","VolumeType": "gp2"}}, {"DeviceName": "/dev/xvdb","VirtualName": "ephemeral0"}]}}},"Outputs": {"PublicName": {"Value": {"Fn::GetAtt": ["Server", "PublicDnsName"]},"Description": "Public name (connect via SSH as user ec2-user)"}}
      }
      
    • 代码分析,两块实例存储的磁盘(disk
      在这里插入图片描述
    • EC2上执行fdisk -l查看磁盘状况
      在这里插入图片描述
      注意,Cloudformation中的"VirtualName": "ephemeral0"就是第二块diskmount point名字/media/ephemeral0
      在这里插入图片描述
    • EC2上查看卷volume的状况
      可以看到EBS的卷volume这里,并没有多出来定义卷volume,因为定义的/dev/xvdb这里的实例存储就单单是一个实例存储,并不是独立的卷volume,所以不会出现在这里。
      在这里插入图片描述

3. EBS和实例存储的不足

  • EBS和实例存储
    EBSEC2独立存在,EC2被删除了之后,仍然可以存在,但是不足之处是不能由多个EC2同时使用。不能同时进行文件共享。
    实例存储不能够独立与EC2存在,EC2被删除了之后,就会消失,不是独立存在的卷volume

那么问题来了,如何利用块存储,进行EC2之间的文件共享,让EC2等实例件共享文件呢,下次继续练习amazon Elastic File System,即EFS

在这里插入图片描述


http://www.mrgr.cn/news/64766.html

相关文章:

  • 如何看待AI技术的应用前景?
  • FreeRTOS | 信号量(第十四天)
  • SpringBoot源码(四):run() 方法解析(一)
  • word mathml 创建粗体字母快捷键
  • React.js教程:从JSX到Redux的全面解析
  • CentOS 7 软件/程序安装示例
  • Shell
  • 站长福音(二)-爬虫代理IP合集(国内版)
  • DNS服务部署
  • 第8章 利用CSS制作导航菜单
  • 中文词向量质量的评估
  • 鸿蒙生态崛起:开发者如何抓住机遇与应对挑战
  • 【Linux系统】—— 基本指令(一)
  • ceph灾备之cephfs snapshot mirror和rsync对比
  • Java编码编程2(juc常用的类,线程池)
  • 第三方支付系统架构设计
  • Django3 + Vue.js 前后端分离书籍添加项目Web开发实战
  • 细说STM32单片机USART中断收发RTC实时时间并改善其鲁棒性的方法
  • celery在django项目中实现并发任务和定时任务
  • 顺德自闭症全托管学校:专业照顾,细心呵护
  • C++笔试题之实现一个定时器
  • OCC布尔接口调用 ,交并差等,举例说明
  • 【机器学习】机器学习与成像技术:开启智能视觉的新篇章
  • 干货指南:原生住宅IP代理如何判断真伪?
  • 编程入门:大学新生的指南
  • stm32f103c8t6的原理图