Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon ec2 使用;dd";捕获和恢复失败?_Amazon Ec2_Linux Kernel_Vmware_Dd_Gunzip - Fatal编程技术网

Amazon ec2 使用;dd";捕获和恢复失败?

Amazon ec2 使用;dd";捕获和恢复失败?,amazon-ec2,linux-kernel,vmware,dd,gunzip,Amazon Ec2,Linux Kernel,Vmware,Dd,Gunzip,我使用dd来捕获两个本地vm分区,如下所示 # dd if=/dev/sda1 | gzip >mySda1.gz # dd if=/dev/sda2 | gzip >mySda2.gz 然后,我将两个足够大的卷附加到一个已经运行的实例并装入它们(如/mnt/one和/mnt/two),然后将.gz文件复制到该实例,并使用这些命令来恢复分区 # gunzip –c mySda1.gz | dd of=/dev/xvdk # gunzip –c mySda2.gz | dd of=

我使用dd来捕获两个本地vm分区,如下所示

# dd if=/dev/sda1 | gzip >mySda1.gz 
# dd if=/dev/sda2 | gzip >mySda2.gz
然后,我将两个足够大的卷附加到一个已经运行的实例并装入它们(如/mnt/one和/mnt/two),然后将.gz文件复制到该实例,并使用这些命令来恢复分区

# gunzip –c mySda1.gz | dd of=/dev/xvdk
# gunzip –c mySda2.gz | dd of=/dev/xvdl

gunzip命令没有显示失败,但是当我随后转到/mnt/one并发出命令ls-a时,那里什么都没有。为什么会这样?gz文件非常大。为什么即使gunzip命令已完成,已装入的分区仍显示为空白?

在可以直接写入分区之前,必须首先确保已卸载该分区

Linux不会注意到您是否在磁盘背后直接写入磁盘(更重要的是,它会假设不会发生这种情况——如果您尝试修改装载的文件系统,它可能会非常困惑)

因此,正确的程序如下:

umount /dev/xvdk
gunzip –c mySda1.gz | dd of=/dev/xvdk
mount /dev/xvdk

再次对
/dev/xvdl

进行确认:您卸载了
/dev/xvdk
/dev/xvdkl
,对它们进行了写操作,成功地重新安装了它们,但仍然没有找到任何内容?还是在覆盖分区之前忘记卸载分区?后者会造成彻底的破坏,只会混淆Linux内核。没问题——我会将注释转换为答案。