虚拟化学习笔记-Linux 系统在虚拟机迁移中的技术难点

简介: 版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396683 磁盘分区名被硬编码。
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396683

磁盘分区名被硬编码。当我们做磁盘虚拟化时,可能会使用不同类型的虚拟磁盘设备,这将会导致磁盘名字的变化。比如 Xen 虚拟机中的半虚拟化设备使用 /dev/xvda 而标准的 Linux 半虚拟化设备使用 /dev/vda。准备迁移的 Linux 系统中存在对 /dev/hd* 和 /dev/sd* 磁盘分区名分散的关联,比如在 /etc/fstab 文件,启动初始化文件系统 ramfs 和一些解析磁盘设备的开机启动脚本文件中。V2V 迁移工具需要在整个磁盘上查找并修改这些关联。有一个简单的方法来避免这种情况: Linux 系统上主流的文件系统和交换分区类型可以使用 Lables 或 UUID 作为分区名。迁移时这些信息是被重点保护的,系统应该小心使用这些信息,一定不要使用设备作为分区名。另外,LVM 分区名和设备无关,在迁移中也不受影响。
网络硬件设备的改变。当系统迁移时,网络设备很可能产生变化。比如虚拟网络设备和物理网络设备的转化或者不同类型的网络设备之间的转变。但是是他们的 MAC 地址没有变化。MAC 地址是 IEEE 分配给物理设备制造商的,两个物理设备不会有相同的 MAC 地址;然而虚拟网络设备可能出现这种情况。所以在做虚拟机迁移时,你必须记录每一个网络设备的 MAC 地址,保证 MAC 地址和网络设备的对应关系。
内核不支持某些虚拟设备。某些 Linux 发行版没有 virtio 虚拟设备的驱动,可能是因为 Linux 发行版早于虚拟设备发布了;或者虚拟设备的驱动是闭源的;或者是在系统编译时去掉了。因此,有时我们另外需要一个完全不同的内核(比如 Xen 早期的版本就是这样的)。无论如何,在客户机上安装一个新的内核并且使之可以启动是一个很大的冒险,最好避免这样做。
Xwindow 需要重新配置。与磁盘、网络设备一样,系统迁移后显示设备也会变化。理想的情况是 Xwindow 会自动处理这个的变化,探测所有的显示设备并且使用它发现的第一个设备。但是这不意味着所有的 Linux 发行版都会以这种方式工作。
网络环境的变化。静态 IP 地址和静态 DNS 解析在虚拟机迁移中 是一个麻烦的事情。尽管不是必须的,但是最好配置系统从 DHCP 服务器自动获得所有的网络配置信息。
CPU 的扩展指令集发生变化。迁移后的系统中,新的虚拟 CPU 或主板和旧的会有一些不同。CPU 的扩展指令集如 SSE,Vectors, NX 可能被加入或去掉。CPU 的型号和制造商信息可能被改变。因此,如果你想要优化虚拟系统上的软件,这可能是浪费时间并且导致系统崩溃。最好是使用通用的软件,让程序在每次启动的时候检查运行环境和是否需要优化。实际上,实时迁移的状况比这个还要复杂,因为处理器可能在程序的运行的过程中被改变。目前为止还没有一个方案能很好的解决这个问题。

P2V 和 V2V 最大的问题在于硬件的改变。Linux 发行版本身应该可以处理所有的硬件变化:在系统启动的时候去检查所有的硬件,操作系统内核识别新的设备并寻找新的驱动处理它们 ,所有应用软件都不要和硬件绑定,设计一个很好的模式来应对突然的环境变化。

centos下查看设备的UUID(参考:http://www.361way.com/linux-uuid/2050.html

dumpe2fs  /dev/sdXY | grep UUID    # X为设备号,Y为分区;可以查看任意设备的UUID
sudo grub-probe  -t  fs_uuid  /boot/grub    # 缺陷:只能查看当前系统所在设备分区的UUID

blkid
ls -l /dev/disk/by-uuid
vol_id /dev/sda1

1、重装操作系统或对分区进行fdisk调整会导致UUID不一样,即使是不作任何改变地在同一分区重装亦如此。
2、在LVM分区下,/etc/fstab下仍使用老的表示方式。

centos下查看分区的UUID(配置文件:/dev/disk/uuid)

ls -l /dev/disk/by-uuid
blkid /dev/sda5
新建或改变 sda5 的 uuid (需要 root 权限)
uuidgen | xargs tune2fs /dev/sda5 -U

可以把 fstab 里找到的原 uuid 写回分区:
tune2fs -U c1b9d5a2-f162-11cf-9ece-0020afc76f16 /dev/sda5
相关文章
|
3月前
|
机器学习/深度学习 监控 安全
解密虚拟化弹性内存:五大核心技术与实施策略
本文深入解析虚拟化环境中实现内存弹性管理的五大核心技术与实施策略。内容涵盖内存架构演进、关键技术原理、性能优化方法及典型问题解决方案,助力提升虚拟机密度与资源利用率。
152 0
|
12月前
|
存储 安全 虚拟化
虚拟化技术:实现资源高效利用和灵活管理的利器
虚拟化技术作为实现资源高效利用和灵活管理的重要手段,在数字化时代背景下,正逐步改变传统IT架构模式。本文概述了虚拟化技术的概念、原理及其在数据中心管理、云计算平台、企业信息化建设、科研教育及医疗行业的应用,并探讨了其面临的挑战与未来发展趋势。
585 3
|
存储 Linux 虚拟化
超详细!VMware虚拟机迁移操作教程
为VMware虚拟机迁移提供从0到1的详尽操作指导
1270 0
超详细!VMware虚拟机迁移操作教程
|
8月前
|
存储 虚拟化 Docker
|
8月前
|
开发工具 虚拟化 git
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
|
8月前
|
编解码 虚拟化 Windows
通过Hyper分辨率适配技术,可以解决虚拟机显示器上的分辨率适配难题
Hyper-V的增强会话模式通过RDP协议实现虚拟机与物理显示器的高质量连接,支持更高分辨率、优化图形性能,并提供共享剪贴板、拖放文件等增强功能。启用此模式可解决虚拟机分辨率适配难题,提升显示效果和交互性。需确保操作系统支持RDP,网络稳定,且注意对主机性能的影响。
|
8月前
|
安全 大数据 虚拟化
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显。作为Windows Server的核心组件,Hyper-V具备卓越的技术性能,支持高可用性、动态迁移等功能,确保虚拟机稳定高效运行。它与Windows深度集成,管理便捷,支持远程管理和自动化部署,降低管理成本。内置防火墙、RBAC等安全功能,提供全方位安全保障。作为内置组件,Hyper-V无需额外购买软件,降低成本。其广泛的生态系统支持和持续增长的市场需求,使其成为企业虚拟化解决方案的首选。
|
8月前
|
编解码 监控 虚拟化
Hyper分辨率优化技术,怎么使得虚拟机中的图形应用能够以更高的清晰度呈现
Hyper分辨率优化技术通过增强虚拟机的图形处理能力,显著提升图像清晰度和视觉体验,适用于图形设计、视频编辑等场景。该技术依赖于虚拟机的硬件配置、显卡驱动及显示设置,确保高分辨率内容的最佳呈现。使用时需合理设置分辨率,定期更新驱动并监控性能,以实现最佳效果。
|
8月前
|
编解码 Linux 虚拟化
在Hyper-V虚拟化的图形处理中,怎么调整虚拟机的屏幕分辨率?
在Hyper-V虚拟化中,调整虚拟机屏幕分辨率对提升用户体验和确保应用程序兼容性至关重要。高分辨率可提供清晰图像、提高工作效率,并避免显示异常。调整方法包括通过增强会话模式、虚拟机内部设置或手动编辑配置文件。注意事项包括正确安装显卡驱动、避免过高分辨率及及时保存设置。
|
9月前
|
存储 运维 数据挖掘
虚拟化数据恢复—误还原快照导致虚拟机上数据库丢失的数据恢复案例
虚拟化数据恢复环境&故障: vmfs文件系统,存储的数据是SqlServer数据库及其他办公文件。 工作人员误将快照还原,导致了SqlServer数据库数据的丢失,需要恢复原来的SqlServer数据库文件。
201 22
下一篇
开通oss服务