我正在通过点对点 T1 线路发送增量 ZFS 快照,我们已经到了在下一次备份开始之前一天的快照几乎无法通过网络传输的地步。我们的发送/接收命令是:
zfs send -i tank/vm@2009-10-10 tank/vm@2009-10-12 | bzip2 -c | \
ssh offsite-backup "bzcat | zfs recv -F tank/vm"
Run Code Online (Sandbox Code Playgroud)
我有足够的 CPU 周期可用。是否有更好的压缩算法或替代方法可以用来将更少的数据推送到线路上?
我即将在我的 CentOS 5 服务器上执行实验性升级。如果升级失败,我希望能够撤销对文件系统的更改。这种情况似乎类似于LVM2 读写快照的 LVM HOWTO 的第 3.8 节中的示例- 但该示例缺乏实际的操作方法。
我将如何提交更改,将它们合并回原始分区?
我将如何恢复更改,将文件系统恢复到其原始状态?如果不是彻底重启,我是否应该假设我需要重新启动多个服务?
是否可以仅对分区上的某些目录进行快照,还是分区范围的操作?
我制作了一个脚本来创建我们的 EC2 卷的快照。该脚本查看哪些实例正在运行,哪些卷连接到这些实例,然后为这些卷创建快照,忽略其余的。
使用describe-instances,我获得了预订 ID,而不是实例 ID。这令人困惑,但事实就是如此。当一个实例启动时,会为该实例创建一个预留。
我仍然对预订概念感到困惑。
旁注:我知道什么是保留实例,这与我在这里描述的不同。“预留实例”意味着您将实例租用一年或两年或三年,并因此获得降价。所以你预留了一年的t2.medium,如果你不使用它,你仍然需要付费,但如果你使用它,它比正常的便宜。
现在回到“预订 ID”。AWS 常见问题解答说:
EC2 启动的每个实例都有一个预留 ID。预留 ID 与实例启动请求是一对一的关系,但如果您使用同一个启动请求启动多个实例,则可以与多个实例相关联。
然后是这个 SE 问题:Amazon EC2 中“预订”的目的是什么
目前尚不清楚预订 ID 究竟代表什么
如果您一次启动一个实例,每个实例都有自己唯一的预留 ID。
在我们的情况下,所有实例都有一个唯一的预留 ID,但我想知道在什么情况下这可以改变,对于我使用describe-instances.
我有一个 ESXi 盒,带有通过 iSCSI 公开的 HP LeftHand 存储。
我有一个带有 1TB 磁盘的虚拟机,其中消耗了 800GB。磁盘在 LeftHand 存储上进行了厚配置。
在 VM 上打开了一个快照(以便 Veeam Backup and Recovery 可以完成它的工作),并且打开了大约 6 个小时。在此期间创建了大约 5GB 的增量磁盘。
快照删除现在已经花费了 5 个多小时,但仍未完成。存储阵列报告该阵列上几乎没有 IOPS(大约 600,这是背景噪音),没有吞吐量(大约 8MB/秒,这又是背景噪音),平均队列深度为 9。
换句话说,快照整合过程似乎不受 IO 限制,我看不到任何导致快照删除如此缓慢的原因。它正在工作,通过观察增量文件来判断。
关于为什么这个(相对较小的)快照删除速度如此之慢,我还应该考虑什么?
根据VMWare 文档,我现在正在观看ls -lh | grep -E "delta|flat|sesparse",并且看到两个正在更改的增量文件:
-rw------- 1 root root 194.0M Jun 15 01:28 EXAMPLE-000001-delta.vmdk
-rw------- 1 root root 274.0M Jun 15 01:27 EXAMPLE-000002-delta.vmdk
Run Code Online (Sandbox Code Playgroud)
我推断一个快照文件正在合并,而另一个在合并过程中收集增量。然后合并新的增量,并在该过程中创建另一个增量。
文件大小随着每次迭代而下降(好吧,大多数迭代),所以我假设最终这个整合过程会完成(也许我需要将虚拟机从网络中移除 30 分钟,让这个完成而不产生任何更改) .
每 100 兆 delta 需要大约 …
我是虚拟化的新手,想确保我了解删除快照时会发生什么
说我有一棵这样的树
两个问题:
如果我删除 SnapShotB,SnapShotC 会发生什么变化?
从 vmware 帮助“注意:单击删除将快照数据提交到父级并删除选定的快照。 ”因此,如果我安装了软件或将文件添加到 SnapShotB 并删除它,这是否意味着软件和那些文件被推送到快照A?
我将 Oracle 11 机器作为 ZFS 存储设备运行,并且我正在通过cron.
过去,我知道如果我想从快照中获取特定文件,则会保留一个只读副本.zfs/snapshot/{name}/,我可以在那里导航并将文件拉出。这记录在 Oracle 的网站上。
但是,前几天我去这样做了,并注意到快照目录中的 ZFS 目录都是空的。zfs list -t snapshot正确显示应该存在的快照列表,并.zfs/snapshots正确包含每个快照的目录,并且在每个快照中,每个 ZFS 文件系统都有一个目录。但是,这些目录似乎是空的。
我刚刚通过触摸很少使用的共享中的文件并回滚到最新的每小时快照来测试恢复,这似乎工作正常。所以回滚功能就在那里。
Oracle 是否更改了快照的完成方式?或者这里有什么严重的问题?
我正在尝试按照此过程使用 KVM 进行实时快照。
我一定是在某个时候搞砸了,因为我处于一种我不明白的状态。
我的 VM 被称为prod. 它是在文件中创建的/srv/vm/prod.qcow2。
显然,没有正在运行的快照:我正在处理基本文件。我可以猜测是因为文件的修改日期/srv/vm/prod.qcow2每分钟左右更改一次。此外,此命令确认:
# virsh domblklist prod
Target Source
------------------------------------------------
vda /srv/vm/prod.qcow2
Run Code Online (Sandbox Code Playgroud)
并且没有什么可以阻止提交:
# virsh blockcommit prod vda --active --pivot
error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file
Run Code Online (Sandbox Code Playgroud)
但是,libvirt 会跟踪旧快照:
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
snap 2015-06-09 12:11:33 +0200 disk-snapshot
Run Code Online (Sandbox Code Playgroud)
它的描述符文件是/var/lib/libvirt/qemu/snapshot/prod/snap.xml:
<domainsnapshot>
<name>snap</name>
<state>disk-snapshot</state>
<creationTime>1433844693</creationTime>
<memory snapshot='no'/>
<disks>
<disk name='vda' snapshot='external' type='file'>
<driver type='qcow2'/>
<source …Run Code Online (Sandbox Code Playgroud) 获取 Windows(XP、Vista 或 7)程序安装程序安装/修改的所有文件和添加/删除的密钥的列表的简单方法是什么?
我想拍一张前后快照,看看有什么变化。在我执行安装时让程序运行也可以。
这与克林顿布莱克莫尔的问题非常相似(例如:采用和比较两个文件系统),但专门针对 Windows,并同时考虑文件和注册表项。
我最近开始在具有 8G 内存的 Linux 主机系统上将 KVM 用于我的开发/测试环境。之前,我在我的虚拟环境中使用 VMware Fusion,但我的 Macbook 只有 2G 内存。我在主机上尝试了 VMware Server 和 ESX 而不是 KVM,但是 webUI 不能在 Mac OSX 的 Firefox 上运行,无论如何我们将使用 KVM 做更多的事情。
我想念的 VMware 的主要功能是强大的快照/回滚,但我在 KVM 中缺少它。我理解快照命令,但它在完成后关闭来宾操作系统,然后复制磁盘映像以保留其状态很麻烦。
这真的是在 KVM 上管理快照的最佳方式吗?
假设我们有一个安装了 lxc 的服务器,以及一个用作基础 img 的 lxc 容器/var/lib/lxc/ubuntu_base。为简单起见,让我们忘记复制基础 img 后的配置更改。
有些人建议使用子卷和快照来制作新容器,但可以轻松地执行 cp --reflink 并获得类似的结果。
那么管理多个容器的正确方法(或哪种更好)是什么?
这种方式看起来最好,但是像 lxc-destroy 这样的命令将不起作用,因为它无法删除目录。
btrfs subvolume snapshot /var/lib/lxc/ubuntu_base /var/lib/lxc/container_1
Run Code Online (Sandbox Code Playgroud)
我不确定这个或快照之间是否有任何性能差异
cp --reflink=always /var/lib/lxc/ubuntu_base /var/lib/lxc/container_1
Run Code Online (Sandbox Code Playgroud)
编辑:
我在 reflink 选项中看到的一件事是,如果其他容器正在运行,则无法删除基本容器,因为/proc和/dev已安装且从未更改,因此引用始终相同。但是关闭所有复制的容器似乎有帮助。
snapshot ×10
vmware-esx ×2
zfs ×2
amazon-ec2 ×1
btrfs ×1
compression ×1
containers ×1
installation ×1
iscsi ×1
lefthand ×1
linux ×1
lvm ×1
lxc ×1
solaris ×1
virsh ×1
vmware-esxi ×1
windows ×1