我有一个 EC2 实例,我为其创建了一个 500GB 的 EBS 卷。不幸的是,EC2 实例显示只有 8GB 可用。
我只有一个驱动器,这是正确的。
[root@ip-10-244-134-250 ~]# ls -la /dev/x*
brw-rw---- 1 root disk 202, 1 Aug 7 08:54 /dev/xvda1
Run Code Online (Sandbox Code Playgroud)
但是,那个驱动器只有 8GB
[root@ip-10-244-134-250 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 8.0G 1.3G 6.7G 16% /
tmpfs 3.7G 0 3.7G 0% /dev/shm
Run Code Online (Sandbox Code Playgroud)
但是, fdisk 和 /proc/partitions 都显示正确的大小
[root@ip-10-244-134-250 ~]# fdisk -l
Disk /dev/xvda1: 536.9 GB, 536870912000 bytes
255 heads, 63 sectors/track, 65270 cylinders
Units = cylinders of 16065 * 512 = …Run Code Online (Sandbox Code Playgroud) 我最近阅读了一篇文章AWS:好的、坏的和丑陋的,其中提到他们已经放弃了所有 EBS 支持的 AWS 功能。哪些功能是由 EBS 支持的显式(EBS 支持的 EC2 实例)或隐式(AWS Web 控制台)?
我正在考虑从 VPS 迁移到 EC2。EC2 具有弹性,其定价也是如此;我可以按需启动我的实例,然后如果它在每小时结束时未处于活动状态,则让它关闭。
这个过程需要多少时间?假设有一个从 EBS 启动的微实例。假设 Linux(可能是 Ubuntu);提到的 Windows的10 分钟时间让我印象深刻。转换可以是ec2-run-instance(及其挂起状态)或ec2-start-instance。如果您知道其他云的启动时间,请随意提及它们。
我正在试验 EC2 Spot 实例,并且需要在终止之间保留一些数据。现在据我所知,当当前价格高于我的最大值时。投标,将自动终止。我假设我拥有的任何初始化脚本都将在关机时运行,因此我可以在卸载之前将数据推送到 EBS。
我的问题是,一旦价格下降,我如何在新的现货实例上自动安装相同的 EBS 卷,因为它不会有我第一次加载到根卷上的任何初始化脚本?
我是否必须创建自定义 AMI,或者是否有其他方法可以实现?
我浏览了以下问题,特别是如何在 Amazon EC2 中使用“实例存储卷”存储?
然而,它没有回答。我创建了一个以 EBS 作为根设备的 EC2 小实例。在AWS实例类型列出160GB的“实例存储”。但它在哪里?
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 3.6G 4.3G 46% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
$ mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
Run Code Online (Sandbox Code Playgroud)
那么如何找到empheral store(160GB)并使用它。
注意:我知道临时存储和弹性存储之间的区别。我需要这个空间来使用应用程序使用的临时、瞬态数据,以帮助 EBS 之间的磁盘 I/O。
我正在 Kubernetes 中管理 Elasticsearch 部署。我看到磁盘存储已接近满,所以我想增加持久卷的大小。
我想在有状态集中更改此值:
spec.?volumeClaimTemplates[0].spec.resources.requests.storage : "10Gi"
但是当我使用 Kubernetes 仪表板执行此操作时,我收到以下消息:
内部服务器错误
StatefulSet.apps "es-cluster" 无效:spec: Forbidden: 禁止更新 statefulset > spec,用于除 'replicas'、'template' 和 'updateStrategy' 以外的字段。
这让我觉得我必须删除我现有的 Stateful Set 并部署一个新的。
是否可以在不中断服务或丢失数据的情况下增加 per-pod 磁盘存储?
我有多个 Elasticsearch 数据 pod,并且正在使用副本计数 = 1,所以如果我能够将它们取下并一次升级一个 pod 的磁盘存储,应该不会有问题。鉴于上述限制,我只是不知道如何做到这一点。
首先,如何检索 EBS 快照占用的空间?
其次,根据文档,Amazon EBS 快照仅备份自上次创建快照以来已修改的 EBS 卷块。假设我有一个 10GB 的 EBS 卷。我为它创建了第一个快照。由于没有“最后一个”快照,我假设第一个快照的大小为 10GB。好的。然后我修改了 1GB 的数据并创建了第二个快照。第二张快照的大小应该在 1GB 左右吧?但是,如果我此时删除了第一个快照怎么办?第二张快照还是 1GB 吗?如果是,我还能从第二个快照恢复 10GB EBS 卷吗?还是第二张快照会自动变成 10GB?
我想创建一个 ASG,以便我可以将现有的 EBS 卷(因为我在这些卷上有持久数据)重用于通过 ASG 实例化的新 EC2 实例。这可能吗?
从评论中复制的更新
为了澄清我最初的问题,我没有尝试将 EBS 卷同时附加到两个 EC2 实例。相反,当一个 EC2 实例终止时,我想使用以前的 EBS 卷启动一个新的 EC2 实例,而不是创建一个全新的 EBS 卷
您已输入 Amazon EC2 EBS 支持的 Windows 映像 010 的介绍性备份...
我一直在绞尽脑汁想为我们运行 SharePoint Services 的单个 Windows 2008 服务器找到一个简单的备份策略。这是具有一个数据卷的一台服务器的 EBS 支持的映像。我不需要任何异国情调的东西。我只需要“每日”备份(丢失一天的数据并不是灾难性的)。
我们创建并保存了一个 EBS 支持的 AMI 映像 (Windows 2008),我们可以轻松使用。我们开始通过简单地创建一个新的 EBS AMI 映像来进行备份。这真的很简单,但是正在运行的服务器在创建映像的前 10 到 15 分钟内处于离线状态——这并不理想。
创建备份的标准方法似乎是创建附加到正在运行的实例的卷的快照。同样,它非常简单,服务器在快照生成期间仍然可用。显而易见的第 22 条规则是您不能简单地直接从快照启动新实例。
我知道如何将正在运行的实例绑定到 S3 存储,然后从 S3 存储桶注册 AMI。这确实允许我捕获正在运行的实例的备份,如果正在运行的实例丢失,则从 S3 存储桶注册 AMI 并启动新的 AMI 以恢复实例,但这似乎真的很复杂,而且不得不这样做似乎很荒谬在 AWS 控制台和 Firefox 的 S3 Organizer 插件之间来回切换以实现这一目标。(请不要提及命令行方法,这是一门 010 级别的课程)。
通过使用 EBS 支持的图像,以下方法似乎对我有用(全部在 AWS 控制台中完成):
1.对于您的备份,只需根据需要对系统卷 (/dev/sda1) 进行快照。2.如果您丢失了正在运行的实例,请执行以下操作: a. 从上次快照备份创建一个新卷 b. 启动启动 AMI 的另一个实例(必须由 EBS 支持) c. 停止此实例。d. 将现有系统卷与新停止的实例分离并丢弃。e. 将新创建的卷作为系统卷 (/dev/sda1) 附加到停止的实例。f.重新启动新实例。我已经测试了几次,它似乎对我有用。
问题:这种方法有什么问题吗?
亚马逊如何/何时计算我需要为 EBS 支付多少费用?
我不小心创建了一个 100 GiB EBS 卷并在 20 分钟后当我意识到我做了什么时将其删除,这是否意味着我将在月底被收取 10 美元?
已经过去了几个小时,看起来我没有受到任何指控。
amazon-ebs ×10
amazon-ec2 ×8
cloud ×2
amazon-ami ×1
backup ×1
kubernetes ×1
lifecycle ×1
restore ×1
startup ×1