通常,https : //serverfault.com/a/268727/126950:
但是,http : //docs.openstack.org/folsom/openstack-ops/content/snapsnots.html说
在 OpenStack 中,实例快照是一个映像。直接上传到glance 的图像与通过快照创建的图像之间的唯一区别在于,通过快照创建的图像在glance 数据库中具有附加属性。
那么为什么 OpenStack 将图像与快照区分开来呢?
我们的商店非常依赖 NetApp Volume Snapshots 进行备份。我们对一些数据使用传统的基于代理的磁带备份,但总的来说,我们大多数系统都依赖于快照。此外,我们没有严格的变更控制政策或任何集中的配置管理,因此所有我们的服务器,无论其服务提供的数据是否备份,都需要从裸机(并且没有任何真正的文档)重建。自然地,这使得快照对于管理来说是一个非常有吸引力的提议,因为我们可以只恢复整个服务器、用户数据和包括的配置。我们使用 NetApp 的虚拟存储控制台为我们基于 NFS 的 VMware 数据存储创建快照,并使用 NetApp 的 SnapDrive 为直接呈现给来宾的原始设备映射(物理)LUN 制作快照。我们将关键快照异地快照镜像到另一个 Filer。当然,我们会定期测试我们的恢复过程。
我不禁对我们对备份快照的依赖感到不舒服。对我而言,对于被视为足够作为备份策略的技术,它需要满足以下标准:

据我了解,NetApp 快照在写入时重定向 (RoW) 方法下工作。在WAFL文件格式使用一组指针(元数据)指出实际引用存储在以往任何时候这可能是每个块。要制作快照,系统只需复制卷的元数据并将其存储在该卷的保留空间中。任何写入(创建/更改/删除)都被重定向到新块。这应该是使 NetApp 的 WAFL 如此出色的特殊调味料,因为您不必进行读取,然后将旧数据写入保留空间,然后将新数据写入旧数据,例如 Copy-On-Write 快照。
我完全承认我可能不完全理解 NetApp 卷快照的工作原理,但如果我的理解或多或少正确,NetApp 快照无法满足我的备份标准。
有人能解释一下 NetApp 快照如何被视为备份吗?我正在寻找好的主观答案,所以请用事实、参考和经验来支持你的立场。如果我对底层技术的理解不正确,请解释在哪里以及为什么会改变我的结论。如果您的商店依赖 NetApp Snapshots 作为备份,请提供足够的上下文信息,以便人们了解您必须满足什么样的恢复策略。
我目前的任务是将现有服务器提升到(至少更高)专业标准——尽可能减少对最终用户的干扰。为了进行适当的回滚,我需要备份现有服务器的根 fs,它当前是主磁盘分区内的 ext4 - 而不是 LVM,这将使整个显示仅仅是手指练习。我想避免关闭服务器。
在这种情况下甚至可能吗?
我想要一种在运行时备份 qcow2 文件的 KVM VPS 的强大方法。找了半天,发现可以用rsync做实时备份。我对 rsync 使用了以下命令:
rsync -avh /vms/base.qcow2 /backup/backup.qcow2
Run Code Online (Sandbox Code Playgroud)
它工作正常。但是我担心如果在由于写入和删除操作(例如安装新软件或更新)而更改 VPS 时进行备份,则可能会损坏备份 qcow2 映像。
因此,从实时 VPS 的快照中进行备份似乎是更有趣的选择。
我使用以下命令来备份正在运行的 VPS:
1.创建快照:
qemu-img create -f qcow2 -b base.qcow2 snapshot.qcow2
Run Code Online (Sandbox Code Playgroud)
2.以原始图像格式(.img)转换快照:
qemu-img convert -O raw snapshot.qcow2 /backup/backup.img
Run Code Online (Sandbox Code Playgroud)
要恢复 VPS:
3.在qcow2图像中转换原始图像:
qemu-img convert -O qcow2 /backup/backup.img base.qcow2
Run Code Online (Sandbox Code Playgroud)
然后我们就可以通过virsh create base.xml命令启动VPS了。
即使这种方法也很有效,但我仍然不确定这是否是备份运行 VPS 的正确方法。我在这里和这里找到了关于 qemu-img 命令的很好的文档。但是他们没有提到将实时 VPS 的快照转换为原始图像的任何内容。
哪种方式更适合VPS实时备份?在原始图像中转换快照安全吗?
如果我能得到关于快照和基本文件在某些条件下如何表现的详细文档,那将非常有帮助。
也许我们也可以将基本 qcow2 映像转换为原始备份文件,而不是转换快照。所以命令流将是:
1. 创建快照
2. 将基本 qcow2 转换为备份原始映像
3. 将快照更改提交到基本映像
4. 删除快照
我试过了,它在 …
lvcreate -L 200GB -s -n snapshotname /dev/hostname-vg/root
对文件系统进行更改
将文件系统恢复到创建快照时的状态
lvconvert --merge /dev/hsotname-vg/snapshottorestore
lvs -a原始快照仍然存在
系统恢复到快照时,原始快照被删除
是否有替代方法lvconvert,或者我可以添加一个标志,以便不删除原始快照?
使用lvconvert上面的命令,我需要记住在恢复后再次手动重新创建相同的快照。由于这是一个包含许多更改的大卷,因此我需要等待半小时才能制作快照。(您无法拍摄仍在合并的卷的快照)
卷立即恢复。所以我有一个可以立即使用的干净系统,但我不想在没有备份的情况下继续。所以我需要折腾半个小时,然后备份,然后进行更改。
有没有人有一个很好的完整策略来备份在 VirtualBox 下运行的一堆虚拟机?
我打算在单个硬件平台上运行少量虚拟机,并在每晚将它们备份到外部磁盘,这些磁盘将在每个周末轮流离开现场。
(只是澄清一下,如果可以避免的话,我不打算在此过程中关闭机器)
我是否认为我可以编写一个脚本,每天晚上创建一个快照,将“主”磁盘映像复制到外部媒体,然后再次删除快照?
更好的想法非常感谢!
backup disaster-recovery virtual-machines virtualbox snapshot
我正在开展一个向青年教授 Linux 的项目。知道他们倾向于删除或损坏其主目录中的项目,我们正在寻找一个好的快照选项。我们将无法访问主要存储供应商提供的精美工具,并希望在文件系统级别找到解决方案。
我读了很多关于 btrfs 的书,但经验很少。我对 LVM 有一些经验,但我不熟悉它的快照功能。文件系统或其他文件系统是否可以选择按需或计划创建快照?然后让这些快照在没有 root 的情况下始终可用,就像每个主文件夹中的 .snapshot 文件夹一样?
理想情况下,该解决方案允许用户在 24 到 48 小时内按需自行恢复备份。我们将为系统进行另一个备份过程和更多的全局备份。但我们不希望这个过程被那些只是犯“错误”的学生使用。
我有一个 VM 似乎工作正常,但是当 VMWare DR(或我)尝试创建快照时,它失败了,当我查看 VM 的摘要页面时,它在顶部有一个警告,显示磁盘需要统一。
所以我转到 VM 的快照管理器并选择合并(在快照管理器中,顺便说一下实际上没有列出任何快照)。如果失败并出现此错误:
此虚拟机在其快照树的单个分支中有 255 个或更多重做日志。已达到支持的最大限制,将不允许创建新快照。要创建新快照,请删除旧快照或合并重做日志。
如果我浏览数据存储(它有足够的可用空间,2 TB,而这个 vm 低于 40gb),在 vm 文件夹中,我确实看到了一堆文件,编号一直到 0255:
我该如何清理这一切?是否有 SSH 命令行命令,或者我可以安全地删除某些文件吗?谢谢!
我有一个运行 Ubuntu 12.04 32 位 AMI 的 EC2 实例(在用于启动新实例的经典向导的第一页中可用)。根设备是 EBS 卷。然后我按照以下步骤操作:
在向导的第三步中,我注意到“存储设备配置”这一行
Root /dev/sda1 snap-xxxxxx 8GiB standard true
Run Code Online (Sandbox Code Playgroud)
这似乎向我表明它正在使用快照作为新实例的根卷(实际上,它是唯一的卷)。
然后我启动实例。但是,它在“初始化”步骤期间未能通过“状态检查”。如果我右键单击实例并“获取系统日志”,这是日志的尾部:
Using IPI No-Shortcut mode
XENBUS: Timeout connecting to devices!
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
EXT3-fs: sda1: couldn't mount because of unsupported optional features (240).
EXT2-fs: sda1: couldn't mount because of unsupported optional features (244).
Kernel panic - …Run Code Online (Sandbox Code Playgroud) 我是 btrfs 的新手,我正在尝试删除我几个月前制作的一些快照。它们占用了大约 20GB 的空间,我需要收回这些空间。
这似乎列出了快照:
? sudo btrfs subvolume list /
ID 257 gen 82021 top level 5 path @
ID 258 gen 82021 top level 5 path @home
ID 263 gen 81983 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-04-29
ID 364 gen 81986 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-05-04
ID 376 gen 81996 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-05-14
Run Code Online (Sandbox Code Playgroud)
如何删除它们?当我尝试显而易见的事情时,我收到一个错误:
? sudo btrfs subvolume delete root_post_install_2014-04-29
Delete subvolume '/home/mlissner/.btrfs/snapshots/root_post_install_2014-04-29'
ERROR: cannot delete '/home/mlissner/.btrfs/snapshots/root_post_install_2014-04-29' - Device or resource busy
Run Code Online (Sandbox Code Playgroud)
我感觉有点迷茫,谷歌搜索没有发现真正的帮助。如果这会有所帮助,我很高兴发布更多信息,但就目前而言,我对如何进行感到困惑。
snapshot ×10
backup ×5
btrfs ×2
lvm ×2
amazon-ec2 ×1
ext4 ×1
filesystems ×1
netapp ×1
openstack ×1
qemu ×1
rsnapshot ×1
storage ×1
virtualbox ×1
vmware-esxi ×1
vps ×1