云主机&虚拟化-kvm案例(找回数据)

虚拟化,简单来说就是把一台服务器/PC电脑,虚拟成多台独立的虚拟机,每台虚拟机之间相互隔离,每个虚拟机都有自己独立的操作系统,磁盘,网络资源。虚拟化是一个很庞大的系统,我的介绍主要是帮助你入门,让你了解基本技术原理,具备搭建操作虚拟化的能力。由于涉及到内容较多,这里的目录就只是以简单分类介绍和说明,不再针对单个小节进行目录列出,主要涉及的分类包括以下几个方面:

1.虚拟化介绍

2.kvm基本使用

3.kvm进阶使用(本小节属于)

4.kvm技术原理

5.vmware介绍&使用

6.小结

对于kvm,在我们日常运维中,其实只要经常做备份或者说快照,对于虚拟机的绝大部分问题都可以恢复,这里列举一个可能会遇到的磁盘问题然后提供2种方法来修复。

故障情况

虚拟机A故障,故障情况是无法启动,短时间无法修复,但是这个时候需要里面的数据,我们的目的是尽快把故障主机数据取出来。

 

csharp

代码解读

复制代码

#模拟故障机器 [root@localhost ~]# virsh list --all |grep kvm31.202 - kvm31.202 shut off

**方法1-**把磁盘挂载到到其他主机

1.确认当前主机磁盘位置

 

ini

代码解读

复制代码

<disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/data/image/kvm31.202.qcow2'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk>

2.把当前磁盘挂载到其他主机

这里注意盘符和pci编号要修改,避免冲突。

 

xml

代码解读

复制代码

<disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/data/image/kvm31.205'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/data/image/kvm31.202.qcow2'/> <!--vda改成vdb --> <target dev='vdb' bus='virtio'/> <!-- 修正了slot的值到'0x01',并且function的值到'0x1' --> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/> </disk>

3.重新定义挂载磁盘的主机

 

bash

代码解读

复制代码

#具体以现场为准 virsh define /etc/libvirt/qemu/kvm31.205.xml virsh start kvm31.205

4.进入系统

 

bash

代码解读

复制代码

#根据具体需求挂载,使用完毕记得还原。 mkdir /xxx mount /dev/vdb2 /xxx

使用我们前面学习的磁盘挂载就可以找回数据,链接参考:Linux磁盘-格式化&挂载

win也是类似的,只是需要对应的win系统。

**方法2-**使用nbd方式

1.加载nbd内核

 

csharp

代码解读

复制代码

#加载nbd内核 [root@localhost ]# lsmod | grep nbd [root@localhost ]# sudo modprobe nbd [root@localhost ]# lsmod | grep nbd nbd 73728 0

2.使用nbd挂载磁盘

 

bash

代码解读

复制代码

#具体路径和名字以现场为准 [root@localhost ]# qemu-nbd -c /dev/nbd0 /data/image/kvm31.202.qcow2 [root@localhost nbd]# ll /dev/nbd0* brw-rw---- 1 root disk 43, 0 Nov 12 23:43 /dev/nbd0 brw-rw---- 1 root disk 43, 1 Nov 12 23:43 /dev/nbd0p1 brw-rw---- 1 root disk 43, 2 Nov 12 23:43 /dev/nbd0p2

有了设备路径,参考上面的步骤挂载即可,但是只适合标准分区,如果是lvm则参考下面的步骤。

3.扫描pv

 

ini

代码解读

复制代码

[root@localhost nbd]# pvscan PV /dev/nbd0p2 VG centos lvm2 [<19.00 GiB / 0 free] Total: 1 [<19.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 0 [0

4.激活vg

 

csharp

代码解读

复制代码

#名字来源于pv扫描 [root@localhost nbd]# vgchange -ay centos 1 logical volume(s) in volume group "centos" now active

5.查看lv

 

bash

代码解读

复制代码

[root@localhost nbd]# lvdisplay --- Logical volume --- LV Path /dev/centos/root

剩下的挂载参考上面部分,处理完毕以后,记得卸载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值