在创建快照时使用 EBS 卷是否安全?
我目前安装了一个 100Gb EBS 卷。我正在对其进行快照。天哪来的慢!!最终将花费超过 45 分钟的时间来创建快照。
我的问题:EBS 卷是否已经复制并保存在某处?或者,快照现在是否正在从我安装的卷中主动复制?
基本上,如果我在快照完成之前开始使用它,我会被灌水吗?
我简直不敢相信复制需要这么长时间。实际上甚至没有使用 100GB。它更像是 25Gb。
我目前每晚和每周都对我的基于 ZFS 的 NAS 进行快照,这个过程已经救了我好几次了。然而,虽然快照的创建是自动的(来自 cron),但删除旧快照仍然是一项手动任务。显然,如果我被公共汽车撞到,或者没有执行手动任务,NAS 的磁盘空间就会耗尽。
有没有人有任何好的方法/脚本来管理存储在其 ZFS 系统上的快照数量?理想情况下,我想要一个脚本来遍历给定 ZFS 文件系统的所有快照,并删除该文件系统的最后n 个快照以外的所有快照。
例如,我有两个文件系统,一个tank称为sastank. 快照以它们的创建日期命名:sastank@AutoD-2011-12-13因此一个简单的sort命令应该按顺序列出它们。我希望将过去 2 周的每日快照保持在 上tank,但仅将过去两天的快照保持在 上sastank。
据我所知,LVM 可以拍摄卷的快照。还有许多支持快照的文件系统(ZFS、Btrfs、reiserfs 等)。
但是,我一直不明白 LVM 快照和文件系统快照之间的区别。如果可以使用 LVM 拍摄快照,为什么有人要花时间在文件系统中实现它?
编辑:在某些情况下,他们中的任何一个是首选吗?为什么?
我正在使用 VMware ESXi。在我们的团队中,我们习惯于为长期备份提供快照。
然后我们遇到了内存溢出和服务器挂断等问题。
我开始阅读 VMware 知识库文章和任何地方。到处都建议不要有很长一段时间的快照。
甚至 VMware 也建议将快照最多保留三天。
但是我们的团队一直要求我们至少有两个永久快照(直到删除 VM)。有时我们可能会使用虚拟机一年)。
一个快照用于新的机器状态。(所以当我们完成一个应用程序的测试时,我们将恢复到新状态并安装另一个应用程序)(如果我不允许这样做,我可能经常需要托管虚拟机。)
将 VM 保持在某种状态的下一个快照(也许他们会发现问题并将该状态保持一段时间。或者他们可能会安装应用程序的先决条件并让机器准备好进行测试。)
从逻辑上讲,他们的需求似乎是公平的。但如果我允许,我将允许他们长时间持有快照。我们没有将我们的 VM 用作邮件服务器或数据库服务器。
为什么长时间保留快照会产生不利影响?
为什么快照被视为临时备份,而不是真正的备份?
我在其中一篇 VMware KB 文章中读到快照将直接影响 VM 性能。
但是我的团队一直在问我快照如何影响性能。
我想在快照是性能杀手的声明背后给他们充分的理由。
谁能解释一些关于快照实际上如何影响性能的理论?仅仅是因为硬盘的磁盘I/O速率会很慢吗?
我试图弄清楚 LVM 快照是如何工作的,以便我可以在我的文件服务器上实现它,但是我很难在谷歌上找到任何解释它如何工作的东西,而不是如何将它用于基本备份系统。
从我读过的内容来看,我认为它的工作原理是这样的:
有人可以纠正我的错误。充其量,我猜,我在谷歌上找不到任何东西。
视频显示
obu1:/home/jail/home/qps/backup/D# vgdisplay --- 卷组 --- VG 名称文件服务器LVM 系统标识 格式lvm2 元数据区 1 元数据序列号 3 VG 访问读/写 VG 状态可调整大小 最大低压 0 当前 LV 2 打开 LV 2 最大 PV 0 当前 PV 1 法案 PV 1 VG 大小 931.51 GB PE 大小 4.00 MB 总PE 238467 分配 PE / 大小 238336 / 931.00 GB 免费 PE / 大小 131 / 524.00 MB VG UUID qSGaG1-SQYO-D2bm-ohDf-d4eG-oGCY-4jOegU
当我将快照和 RAID 与 btrfs 一起使用时,我能想到的备份的两个主要原因似乎得到了照顾。(这里的 RAID,我指的是 RAID1 或 10)
所以作为现场备份解决方案,这似乎工作得很好,它甚至不需要单独的数据存储设备!
但是,我听说 RAID 和快照都不是正确的备份,所以我想知道我是否遗漏了什么。
除了 btrfs 还不是一项成熟的技术,你能想到我遗漏了什么吗?或者我的想法是否正确,这是一个有效的现场备份解决方案?
参考这篇文章
我知道将快照保留超过一两天不是一个好习惯,因为性能会降低。
链很少超过 4 或 5
然而,我们有几个应用程序在我们可以推送到生产之前必须由供应商进行测试。
大多数人都非常擅长在拍摄快照后的几天内进入和测试,但也有一些人需要一周或更长时间。
有几个实例,在过去的一年中可能有 3 或 4 个,我们不得不执行完整的系统还原或文件级还原,因为应用程序不起作用,我们不得不恢复到以前的应用程序并且快照已已经被删除了。
这些盒子相当繁忙,日志记录,电子邮件等。
其他组织如何处理这个问题?有没有办法“备份”快照?
我制作了一个 LVM snapshop
lvcreate --name snap --size 10G -s /dev/vg00/vm
Run Code Online (Sandbox Code Playgroud)
如果我想删除快照而不保留快照后发生的更改,我应该写什么命令?
我应该写什么命令来将快照中的更改滚动到 /dev/vg00/vm ?
我知道 VMWare KB 不喜欢长时间运行的快照主要是由于两件事(在我看来)
拍摄大量快照可能会填满数据存储。快照只是增量文件。假设您有一个 50 Gig VMDK,几乎已满,并且您拍摄了快照。在您的快照中,您翻转每一位。您的增量文件也将约为 50 GB。再次快照,翻转位,另一个 50 Gig 增量文件。这些会很快失控。
提交大型快照会带来风险。整合快照时,您将增量更改写入原始 VMDK。这需要时间并带来风险,如果发生某些事情,您只会破坏 VMDK。
他们的警告似乎合乎逻辑。
话虽如此,永久关闭快照 VMDK 运行我的机器本质上是不好的吗?我想让我的树如下:
Snap 1 和 2 将在安装和配置基本系统后立即进行。这些是我计划经常刷新的机器,所以我只会让我的树看起来像下面这样:
删除 Snap2 并重新创建 Snap2。
由于以下原因,我看不出这会产生什么影响:
由于我只是安装了一个基本映像并在无法填满数据存储后立即获取了我的增量。假设我的基本映像只有 10 GB(在 50 GB 的精简配置磁盘上),即使我的增量翻转了每一位,我的最大总使用量也可能是 60 GB(已锁定的 10 GB 基本 VMDK + 50 GB 的增量在快照 VMDK 文件)。这假设我不创建任何进一步的快照。
由于我的用例不要求合并快照,因此我不会在合并增量时冒错误风险。当我移回 Snap1 并删除 Snap2 时,驻留在 Snap2 中的所有增量都会被删除。
存储负载完全相同,所以我应该获得相同的 IOPS。我知道某些文件(主要是系统文件)将存在于原始 VMDK 中,而其他文件(基础之后的所有文件)将驻留在增量中,但我不知道 ESXI 会如何关心。所有文件都在同一个物理数据存储上,因此性能应该相当于在没有快照的情况下引用原始 VMDK 中的所有内容。
有什么想法吗?ESXI 5.5,数据存储为 RAID 的 DAS。
我没有 vCenter …
snapshot ×10
vmware-esxi ×4
lvm ×3
btrfs ×2
linux ×2
performance ×2
storage ×2
zfs ×2
amazon-ebs ×1
amazon-ec2 ×1
backup ×1
raid ×1
solaris ×1