我已经发现了很多关于这个话题的问题,但我仍然不能100%确定最好的方法是什么。 我更喜欢的选项是使用EBS快照。 优点是我可以启动一个新的AMI,分离音量并将新音乐从快照中附加,而不会有太多停机时间。 我已经读过一个正在运行的系统中的EBS快照并不是最好的主意,因为操作系统仍然在写磁盘,但是我不确定这是否是一笔巨大的交易。 我有两个Web服务器,所以如果我在运行时对它们进行快照,将不会有太大的影响,因为我不会丢失任何重要的数据。 所有重要数据都存储在RDS数据库中,并且已经备份。 做一个文件系统级别的备份将是第二个选项,我会有我的文件,但恢复过程将需要更长的时间,我们不能有太多的停机时间。 在这种情况下,你会推荐做什么?
我有一个Linux实例,已经连接了20GB的ebs卷。 Web控制台卷页面显示: 20 GiB gp2 snap-b3a87xyz in-use i-cd5b9999 (myinstance):/dev/sda1 (attached) Web控制台实例页面显示: Root device type: ebs Root device: /dev/sda1 Block devices: /dev/sda1 在命令行上(20GB分区未显示为已安装): # df -kh Filesystem Size Used Avail Use% Mounted on /dev/xvda2 6.0G 803M 5.3G 14% / devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 1.8G 0 1.8G 0% /dev/shm tmpfs 1.8G 17M 1.8G 1% […]
我有一个EC2实例。 启动时,我尝试使用磁盘存储空间,如16 GB。 在AWS控制台中,我看到一个新的EBS卷已被创build为16 GB,并被附加。 当我login到机器,我可以看到磁盘大小为16 GB,但我的分区只有8 GB。 Df命令 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvde1 7.9G 1.5G 6.1G 20% / tmpfs 1.9G 0 1.9G 0% /dev/shm Fdisk命令: $ sudo fdisk -l Disk /dev/xvde: 17.2 GB, 17179869184 bytes 255 heads, 63 sectors/track, 2088 cylinders Units = cylinders of 16065 * 512 […]
我从AWS上的四个EBS快照创build了四个卷。 这四个卷组成了一个BTRFS多设备驱动器。 驱动器没有分区表,即我运行mkfs.btrfs /dev/xvdf /dev/xvdg等 创build卷时,请使用AWS CLI工具附加这些卷,然后运行btrfs device scan /dev/xvd{f,g,h,i} 。 这些设备有一个标签,所以挂载他们我运行(我试了几件事) mount -t btrfs -o ro,nospace_cache,clear_cache -L LABEL /tmp/dir 。 这个挂了很长时间,15-20分钟。 这些设备每个都是2TB。 当我在dmesg中看到下面的消息。 当dmesg挂起时,在dmesg中不会显示额外的输出。 我不知道是什么原因导致这种情况。 [ 3316.093665] blkfront: xvdf: barrier or flush: disabled; persistent grants: enabled; indirect descriptors: enabled; [ 3316.124269] xvdf: unknown partition table [ 3316.430563] btrfs: device label BtrFcdData devid 1 transid […]
我们在AWS EC2上有T2实例(Linux 4.9.20-11.31.amzn1.x86_64),由于读取磁盘而耗尽了他们的I / O信用。 这可能是因为我们在这些节点上有过多的读取,所以对它本身并没有什么奇怪的,但是节点上的进程的结果是相当奇特的。 atop (v。1.27)捕捉到一个正常的,预期的小读数stream,直到i / o信用被耗尽,当atop -d 30开始长时间地看起来像这样: PID TID RDDSK WRDSK WCANCL DSK CMD 10616 – 432.2M 0K 0K 24% consul 27629 – 313.3M 0K 0K 17% chef-client 27795 – 306.5M 0K 0K 17% python 27803 – 132.6M 0K 0K 7% crond consul或crond (以及其他named dhclient甚至init样本)突然决定要读取数百MB的MB,似乎不大可能。 这种行为持续了大约一个小时,各个进程在这段时间内读取了100多MB。 什么可以解释这些高数字通常行为良好的过程? 我认为读/proc/X/io read_bytes这些数字应该是相当准确的实际EBS活动?
我最近一直在把我们的实例转移到EBS实例(CentOS),并且当我“停止”和实例时发生的事情仍然有点混乱。 我有我的一些服务与运行级别345上,但是当我启动一个停止的实例服务不启动。 当我向该实例发出停止命令时,实际发生了什么情况,当我再次启动实例时,如何让我的服务自动启动?
我一直在试图弄清楚为什么我的EC2实例(由我自己定制的AMI制造)经历了许多尝试才能正确出现。 他们会失败,并出现以下错误: fsck.ext3:试图打开/ dev / sdf时没有这样的文件或目录 对于我在启动期间附加的两个EBS卷。 最后,我想出了问题。 我已经把它放在/ etc / fstab中: /dev/sdf /export ext3 defaults 1 2 /dev/sdi /export2 ext3 defaults 1 2 2告诉系统在上升的过程中驱动器。 改变这个 /dev/sdf /export ext3 defaults 1 0 /dev/sdi /export2 ext3 defaults 1 0 完全避免这个问题,但是现在这些卷永远不会被扔掉。 这有多重要? 一旦这个实例投入使用,它将会全天候运行,所以不会有太多的fsck发生,但仍然…这只是一个坏主意。 我还没有能够find任何人甚至报告这个问题(有人有相同的错误信息,但不同的原因)。 我可能是唯一犯这个错误的人,这似乎令人难以置信,但也许我是这样才华横溢的。 :)如果还有另一个解决scheme,我很乐意听到它; 我一直没能find一个。
我开始使用Eric Hammond在http://aws.amazon.com/articles/1663上的优秀文章,他在那里安装MySQL并configuration它使用EBS。 我知道了。 我还在EC2实例上安装了很多其他的东西:Rails,一堆gem,Nginx + Passenger等 – 我的理解是,除非我明确地configuration它使用EBS,否则所有这些都是EC2实例的临时存储 – 对吗? 我如何将所有已安装的软件移动到EBS – 或者更好的是,我怎样才能设置这样一个新的gem等,我也安装到EBS卷?
我有一个基于EBS的EC2实例(ebs_vol_1),它在RDS中安装了额外的EBS卷(ebs_vol_2)和数据库。 是否添加了ebs_vol_1和ebs_vol_2的快照,足以防止数据丢失? 有没有一种方法来设置它,所以它会自动采取重点区间的快照? 我是否也应该拍摄我的RDS数据库的快照,或者亚马逊是否负责备份? 我目前没有多可用区。 我不想在一天早上醒来,意识到我因硬件故障而失去了所有的辛苦工作:
我真的很难过 这是我的地方。 我创build了一个EC2实例,安装了我的configuration并拍摄了一个快照。 我现在想把这个快照变成一个AMI,我可以用相同的代码和configuration从头开始新的实例。 这是我曾经试过的: 去我的快照 点击“创build图片” 在“块设备映射”上单击EBS 然后select我的快照为Device:/ dev / sdb 我尝试这样做的错误是: Multiple snapshots with Marketplace codes are not permitted. 有没有人有这个,并修复它? 任何帮助,将不胜感激。