立即前往

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
查看全部活动
热门活动
  • 智算采购季 热销S6云服务器2核4G限时88元/年起,部分主机可加赠对象存储组合包!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 一键部署Llama3大模型学习机 0代码一键部署,预装最新主流大模型Llama3与StableDiffusion
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 产品能力
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      虚拟化--KVM

      首页 知识中心 服务器 文章详情页

      虚拟化--KVM

      2023-06-25 07:00:33 阅读次数:433

      ,kvm,磁盘,虚拟机

      一、虚拟化介绍

      什么是虚拟化?

      虚拟化指通过虚拟化技术将一台物理计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可以使用不同的系统,并且系统和系统之间互不干扰,能够充分合理的利用物理计算机的资源。

      为什么要用虚拟化技术?

      • 一变多
      • 充分利用物理计算机的资源
      • 虚拟化是向云演进的必要基础

      假设公司有三台服务器,但是有60位开发人员,每个人都要求有一个测试环境,怎么能把这三台服务器合理地分配给这60个人使用?这时候我们就可以使用虚拟化技术,用这三台物理服务器虚拟出60个系统然后分配成开发人员。

      假设一台服务器的性能很高,我们仅仅需要NTP服务,有些太浪费了,我们完全可以将这一台高性能服务器虚拟成10台虚拟机,然后在虚拟机里面安装NTP服务,其它的9台虚拟机用来做别的事情。

      应用场景?

      • 同一台物理机运行php多个版本

      • 机房的迁移,解决了硬件和系统的依赖

      • 云的趋势的势不可挡,而云计算机必须依赖于虚拟化

      • 开发环境和测试环境(3台物理服务器,60个开发,要求都要有自己的独立环境,快照)

      • 业务的快速部署(第一次部署时快照,后面直接克隆)

      常见的虚拟化软件

      vmware vspere:付费,图形界面,管理简单方便

      kvm:免费的,纯命令行,LINUX内核原生集成。

      KVM、vmware与虚拟化是什么关系?

      kvm和vmwrae都可看做是一个可以实现虚拟化的软件。

      查看

      [root@kvm01 ~]# lscpu
      Virtualization:        VT-x
      Hypervisor vendor:     VMware   #显示虚拟化平台是vmware
      Virtualization type:   full
      

      通过vmware workstation打开的的虚拟机是上述这样的,如果是阿里云主机就会显示是kvm了。

      二、通过kvm安装centos7系统

      在使用kvm时,建议将内存调整到4G以上。

      第一步:安装kvm管理软件、上传镜像、启动kvm服务。

      //使用本地yum源安装kvm的管理软件,这三个软件的作用下方有解释
      [root@kvm01 ~]# yum install libvirt* virt-* qemu-kvm* -y
      
      //上传一个centos7的镜像到/opt目录,不能用rz,rz不能上传大于4G的,用xshell的xftp上传。
      [root@kvm01 opt]# ls
      CentOS-7-x86_64-DVD-1810.iso
      
      //启动kvm服务
      [root@kvm01 ~]# systemctl start libvirtd.service
      
      //安装kvm之后会多出两个网卡:virbr0和vnet0,在后面的小节我们会有解释这两个网卡的作用
      

      libvirt:用来管理虚拟机

      virt:用来安装和克隆虚拟机用的

      qemu:用来管理虚拟机的磁盘的。

      第二步:开始安装centos7

      先准备好VNC客户端,在360软件管家里面即可下载到,如下图所示(只安装客户端即可):

      虚拟化--KVM

      //通过下面这些参数进行安装,莫慌,下文当中有解释。
      [root@kvm01 ~]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1  --disk  /opt/centos7.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1810.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
      [root@kvm01 opt]# ss -tnlp | grep 5900
      LISTEN     0      1            *:5900                     *:*                   users:
      

      运行时此命令之后,立马通过vnc连接,格式是ip:5900的,快一点,不然就会检测磁盘了

      通过vnc安装系统时,不用更改内核,设置时区、不用kvm(慢)而用标准分区一个根分区即可,主机名、网卡打开,最小化安装

      virt-install --virt-type kvm 指定安装的虚拟机类型是kvm

      --os-type=linux 指定系统的类型是linux

      --os-variant rhel7 指定系统的版本是rhel7

      --name centos7 指定虚拟机的名字为centos7

      --memory 1024 指定内存为1G

      --vcpus 1 指定cpu为1颗

      --disk /opt/centos7.raw 指定磁盘的路径是/opt/centos7.raw

      format=raw 指定磁盘的格式,常用的有两种格式,下方有解释

      size=10 指定磁盘的大小为10G,默认单位为G

      --cdrom /opt/CentOS-7-x86_64-DVD-1810.iso 指定光盘镜像的位置

      --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole 网络使用NAT网络,通过VNC图形界面安装,侦听到0.0.0.0,最后一个选项的意思是运行完当前使命令之后返回终端,而不是一直占用

      raw 这种类型的磁盘,不支持快照,但是性能好,用的比较少。

      qcow2 这种类型的磁盘,支持快照,性能相对raw差一点,用的比较多。

      注意:第一台虚拟机默认的端口是9500,第二台是9501,依次类推

      三、常用操作

      虚拟机列表

      [root@kvm01 ~]# virsh list   #不加--all只能看正在运行的虚拟机
       Id    Name                           State
      ----------------------------------------------------
       1     centos7                        running
      [root@kvm01 ~]# virsh list --all  #加上-all查看所有的虚拟机状态
       Id    Name                           State
      ----------------------------------------------------
       1     centos7                        running
      

      开关机

      //开机

      [root@kvm01 ~]# virsh start centos7
      

      //"温柔"关机

      [root@kvm01 ~]# virsh shutdown centos7
      

      //强制关机

      [root@kvm01 ~]# virsh destroy centos7
      

      导出虚拟机

      kvm虚拟化与vmware workstation虚拟化有些不同,vmware虚拟出来的虚拟机通常会有多个文件,而kvm的虚拟机只有两个文件:配置文件和磁盘文件,我们怎样才能找到某个虚拟机对应的文件呢?其实很简单,先列出所有的虚拟机,然后再通过virsh edit 虚拟机名,然后过滤“source file”就会把磁盘的路径过滤出来,而虚拟机的配置文件都会存放在/etc/libvirt/qemu/这个目录里面,以虚拟机名字命名的的.xml文件。实际上virsh edit 虚拟机名打开的就是该虚拟机的配置文件,配置文件里面记录了磁盘文件的路径。通过edit命令打开配置文件有语法检测,直接通过vim打开没有语法检查,如下所示:

      [root@kvm01 ~]# du -smh /opt/*
      1.4G	/opt/centos2.raw   #虚拟机的磁盘文件,看起来是10G,实际上是1.4,传输进又变成了10G。
      4.3G	/opt/CentOS-7-x86_64-DVD-1810.iso
      [root@kvm01 ~]# ll //etc/libvirt/qemu
      -rw------- 1 root root 4175 Dec  9 15:35 centos7.xml     #centos7的配置文件
      drwx------ 3 root root   42 Dec  9 14:45 networks
      

      其实所谓的导出虚拟机,只要把这两个文件复制走就可以了,不过配置文件最好是导出来,而不是直接拷贝走,通过virsh dumpxml centos7 > /opt/centos7.xml即可把配置文件导出来,导出到别的主机之后再通过vrish define centos7.xml `就把配置文件导入了,然后再根据配置文件里面磁盘文件的路径将磁盘文件放到正确的路径就可以启动了,就是这么简单,如下所示:

      //备份配置文件
      virsh dumpxml centos7 > /opt/centos7.xml
      
      //删除虚拟机,其实就是删除默认的配置文件而已,磁盘文件没有变动
      virsh undefine centos7
      
      //还原时候,用define命令导入
      vrish define centos7.xml
      

      重命名

      //必须关机之后才能重命名
      [root@kvm01 ~]# virsh domrename centos7 centos7.1
      error: Requested operation is not valid: cannot rename active domain
      [root@kvm01 ~]# virsh destroy centos7  #关机之后才能更改
      [root@kvm01 ~]# virsh domrename centos7 centos7.1
      

      挂起&恢复

      //挂起
      [root@kvm01 ~]# virsh suspend centos7.1
      Domain centos7.1 suspended
      //恢复
      [root@kvm01 ~]# virsh resume centos7.1
      Domain centos7.1 resumed
      

      查看某个虚拟机对应的端口

      [root@kvm01 ~]# virsh vncdisplay centos7.1
      :0 
      

      :0代表5900,如果是:1就代表是5901端口.

      kvm开机启动

      前提:kvm服务必须是开机启动的,默认就这样的;

      //设置虚拟机centos7.1开机启动
      [root@kvm01 ~]# virsh autostart centos7.1
      //关闭虚拟机centos7.1开机启动
      [root@kvm01 ~]# virsh autostart --disable centos7.1
      

      console登陆(失败,暂无查出原因)

      在虚拟机上先配置一下内核参数然后重启虚拟机:

      grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
      reboot
      
      //在物理机上通过这条命令即可通过console登录
      [root@kvm01 ~]# virsh console centos7
      
      四、克隆

      磁盘格式转换

      raw:裸格式,占用空间比较大,不支持快照,性能好。

      qcow2:cow(写时复制,,用多少就 占用多少),占用空间小,支持快照,性能比raw差一点-----常用

      [root@kvm01 ~]# qemu-img info /opt/centos7.raw 
      image: /opt/centos7.raw
      file format: raw
      virtual size: 10G (10737418240 bytes)
      disk size: 1.3G
      

      如上所示,虽然仅占用了1.3G,但是一旦使用cp这样的命令进行传输时,文件大小就会变成10G,所以,我们要在传输之前将格式转换成qcow2格式,而且qcow2格式支持快照,raw格式不支持快照,这是个大问题。

      //-f源格式,-O目标格式
      [root@kvm01 opt]# qemu-img convert -f raw -O qcow2 centos7.raw centos7.qcow2
      
      //关机
      virsh shutdown centos7
      
      //既然磁盘文件的名字变了,配置文件也要修改一下,指向新的磁盘文件
      [root@kvm01 opt]# virsh edit centos7
       <driver name='qemu' type='qcow2'/>
      <source file='/opt/centos2.qcow2'/>
      [root@kvm01 opt]# virsh start centos7
      

      快照管理

      只要qcow2的磁盘格式才支持快照哟!raw格式的磁盘文件并不支持快照。

      快照的存放位置,在它原本的文件放在一起了,每做一次,原磁盘文件就会变大,删除了快照,容量还是那么大,不会回收了,因为已经创建了。

      //做快照
      [root@kvm01 opt]# virsh snapshot-create centos7
      
      //查看快照列表
      [root@kvm01 opt]# virsh snapshot-list centos7
       Name                 Creation Time             State
      ------------------------------------------------------------
       1575796675           2019-12-08 17:17:55 +0800 running
       
      //删除centos7的快照 1575796675 ,通过snapshot-list命令可以看到
      virsh snapshot-delete centos7 --snapshotname 1575796675   
      
      //还原快照
      [root@kvm01 opt]# virsh snapshot-revert centos7.1 --snapshotname 1575796675
      

      完整克隆

      完整克隆,速度比较慢

      //克隆cenots7,-o后面是旧名字,-n后面是新的虚拟机的名字,
      [root@kvm01 ~]# virt-clone --auto-clone -o centos7 -n centos7.clone
      

      手动克隆

      1. 复制虚拟磁盘文件
      2. 备份源虚拟机的配置文件,另存为web02
      3. 修改web02的配置文件
        • 修改name
        • 删除uuid
        • 删除mac
        • 修改虚拟机磁盘路径
      4. 导入web02
      5. 检查是否正常启动

      链接克隆

      **链接克隆的格式:qemu-img create -f 格式 -b 旧磁盘名 新磁盘名 **

      [root@kvm01 opt]# ls
      centos2-clone.qcow2  centos2.qcow2  CentOS-7-x86_64-DVD-1810.iso  centos7.xml  rh
      [root@kvm01 opt]# qemu-img create -f qcow2 -b centos2.qcow2 centos3.qcow2
      [root@kvm01 opt]# qemu-img info centos3.qcow2
      image: centos3.qcow2
      file format: qcow2
      virtual size: 10G (10737418240 bytes)
      disk size: 196K    #文件很小
      cluster_size: 65536
      backing file: centos2.qcow2   #基于这个文件实现的克隆
      Format specific information:
          compat: 1.1
          lazy refcounts: false
      
      五、网络相关

      当我们安装了一台KVM虚拟机之后,默认是这个虚拟机是以服务的方式运行的,默认侦听在5900端口,我们通过物理机的IP+端口的方式就可以进行连接。其实我们在物理机通过ssh服务也可以进行连接。虽然KVM虚拟机与物理机不在同一个网段,使用SSH依然还是可以连接,因为当我们安装好KVM之后,默认又会生成一个新网卡,这个新网卡的IP与虚拟机自动获取的IP地址是同一个网段的,所以使用物理机就可以连接这个虚拟机。

      我们发现只要物理机能够上网,虚拟机就能上网,本来以为这和vmware workstation的原理是一样的,结果发现是不一样的,kvm虚拟的网关竟然是物理机上网卡的地址,其实仔细想一想,在生产环境当中根本不可能使用NAT模式的,因为一旦使用了NAT模式,就只有物理机能连接虚拟机,别人不能用。真正在生产环境当中使用的是桥接模式。

      nat地址转换(默认)

      当我们没有安装kvm的时候,ifconfig默认只会有两个网卡,一个是物理网卡(ens33或eth0),另一个是本地环回网卡lo,当我们安装完kvm之后发现又会增加两个网卡,virbr0和vnet0,那么这两个网卡是用来做啥子的呢?virbr0的地址与虚拟机的IP是在同一个网段,并且virbr0的地址是虚拟机的网关,,vnet0是虚拟机的网卡,虚拟机网卡通过交换机连接网关,virbr0再通过nat地址转换,通过物理网卡eth0上网,如下图所示:

      虚拟化--KVM

      桥接网络

      假设物理网卡的名字是ens33,我们要把虚拟机桥接到物理网络当中来,操作非常简单,但是操作之前我们最好把原理搞清楚,原理图如下所示:

      虚拟化--KVM

      //将物理网卡ens33的IP移动到br0上
      [root@kvm01 ~]# virsh iface-bridge ens33 br0
      
      //别忘记重启一下网络服务,不然不生效的哟!
      [root@kvm01 ~]# /etc/init.d/network restart
      
      //将物理网卡的地址移动到br0网卡上之后,再查看网卡发现又多了一个网卡br0
      [root@kvm01 ~]# ifconfig
      //重新生成一个新的网卡br0,物理网卡上的地址被移动到了新的网卡上
      br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.80.240  netmask 255.255.255.0  broadcast 192.168.80.255
      //曾经的物理网卡地址没有了
      ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              ether 00:0c:29:cb:07:0e  txqueuelen 1000  (Ethernet)
              RX packets 80142  bytes 52934639 (50.4 MiB)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 71073  bytes 8736045 (8.3 MiB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      //下面这是NAT模式用的虚拟网卡
      virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
      //下面这个是虚拟机的网卡,来来一个虚机就是vent1
      vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet6 fe80::fc54:ff:fe59:fe59  prefixlen 64  scopeid 0x20<link>
              ether fe:54:00:59:fe:59  txqueuelen 1000  (Ethernet)
              RX packets 1179  bytes 135342 (132.1 KiB)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 3752  bytes 255893 (249.8 KiB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      

      在物理机上的操作完成后,桥接网络还没有完成 ,虚拟机上还要操作,因为虚拟机默认是nat网络,我们要将虚拟机的网络改为桥接,直接更改配置文件即可,如下所示:

      [root@kvm01 ~]# virsh list
       Id    Name                           State
      ----------------------------------------------------
       7     centos7.2                      running
       
      //改之前最好先关机
      [root@kvm01 ~]# virsh destroy centos7.2
      
      //更改配置文件
      [root@kvm01 ~]# virsh edit centos7.2
       <interface type='bridge'>    #类型由之前的default改为bridge
       <source bridge='br0'/>       #桥接到br0上
       
      //启动虚拟机之后,就发现它的地址与br0(物理机)是同一个网段了,桥接成功。
      
      六、加硬盘和扩容

      在线加硬盘

      在线增加硬盘也是很常见的需求了,操作如下所示:

      //虚拟机上默认就只有一个块硬盘10G
      [root@kvm001 ~]# fdisk -l
      Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors
      /dev/vda1   *        2048    20971519    10484736   83  Linux
      
      //下面的操作是物理机
      //在opt目录下创建一块硬盘,其实在哪里创建都可以,指定磁盘类型,指定名字,指定大小5G即可。
      qemu-img create -f qcow2 add01.qcow2 5G
      
      //给centos7.2这台主机增加上这块盘,vdb是指明盘符,--live是在线增加,不加缓存,指定驱动
      [root@kvm01 ~]# virsh attach-disk centos7.2 /opt/add01.qcow2 vdb --live --cache=none --subdriver=qcow2
      
      //下面是虚拟机的操作
      //增加完硬盘之后,发现多了一块盘
      [root@kvm001 ~]# fdisk -l
      
      Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk label type: dos
      Disk identifier: 0x000b859c
      
         Device Boot      Start         End      Blocks   Id  System
      /dev/vda1   *        2048    20971519    10484736   83  Linux
      
      Disk /dev/vdb: 5368 MB, 5368709120 bytes, 10485760 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      

      扩容

      如果觉得新加的这块硬盘容量还是太小,想要扩容这块盘,就要先卸载这块盘。

      //下面是物理机的操作
      //卸载新增加的这块硬盘
      [root@kvm01 ~]# virsh detach-disk centos7.2 vdb
      
      //扩容,加5G
      [root@kvm01 ~]# qemu-img resize /opt/add01.qcow2 +5G
      
      //再次添加上
      [root@kvm01 ~]# virsh attach-disk centos7.2 /opt/add01.qcow2 vdb --live --cache=none --subdriver=qcow2
      
      //下面是虚拟机的操作,发现新增加的那块硬盘果真加了5G。
      [root@kvm001 ~]# fdisk -l
      Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk label type: dos
      Disk identifier: 0x000b859c
      
         Device Boot      Start         End      Blocks   Id  System
      /dev/vda1   *        2048    20971519    10484736   83  Linux
      
      Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      

      注意:一旦在虚拟上使用了这块磁盘,比如已经格式化并且已经在里面创建了文件之后,再加扩容量,再挂载之后,会发现容量还是保持在原来的大小,是因为格式化之后,文件系统已经固定了,新加的空间没有格式化,如果想用的话,就得执行xfs_growfs /dev/vdb,用来更新文件系统,这仅是针对xfs的分区, 新的空间就会被添加上了,如果文件系统是ext系列的话,就得使用resizefs /dev/vdb。

      七、热迁移

      热迁移原理

      所谓的热迁移就是在不停机或极短暂(几秒)即可恢复的手段。

      前提条件就是必须使用的是共享存储,这样才能实现热迁移。

      必须是桥接网络

      我们在做冷迁移时,其实迁移的都是两个文件:配置文件和磁盘文件,但是热迁移时就不只这两个软件 ,还有,还有什么呢?我们想一下,当kvm01运行的时候,内存当中肯定有数据,我们仅把配置文件和磁盘文件迁移过去,没有内存的东西不行呀,这怎么办呢?好在红帽公司早就给我们想好了,我们使用virtual machine manager软件就可以实现将内存里面的数据一起迁移到其它主机,但是这个软件是图形化的,所以我们要也安装图形化。

      热迁移操作

      环境描述:

      按理说是需要三台机器的,一台是需要迁移的服务器A,另一台是用来承载的的服务器B,还有一台是nfs用来共享存储的服务器C。但是考虑到我的电脑只有8G的内存,我们可以这样,A服务器“兼职"做NFS.

      角色/名字 IP 描述
      kvm01 192.168.80.5 源
      kvm02 192.168.80.6 目标
      nfs 192.168.80.5 共享存储/data

      准备工作:

      • 两边都得安装kvm,别忘记启动kvm。kvm01要有虚拟机,kvm02上并不要求有虚拟机。

      • 两边都必须是桥接,桥接完成之后别忘记重启网卡。

      • 虚拟机最好是静态地址,我们这里用192.168.80.10,UUID删除掉。

      第一步:在kvm01安装图形界面&远程连接工具&vnc服务端

      //用本地yum源
      yum groupinstall "GNOME Desktop"  -y
      yum install openssh-askpass -y
      yum install tigervnc-server -y
      

      我们安装图形界面的原因是用来承载vnc服务端,vnc的服务端是图形界面的,我们通过vnc客户端连接上服务端之后,就可以图形界面操作了。因为连接时要加密的,所以我们还要安装个加密传输的协议openssh。

      第二步:给vnc服务端设置密码

      //给vnc服务端设置密码,并启动vnc-server
      [root@kvm01 ~]#vncpasswd----->输入两次密码,然后按n
      
      //启动vncserver
      [root@kvm01 ~]# vncserver :1
      
      //检查一下vncserver是否启动
      [root@kvm01 ~]# ss -tnlp | grep 590
      LISTEN     0      1            *:5900                     *:*                   users:(("qemu-kvm",pid=11600,fd=17))
      LISTEN     0      5            *:5901                     *:*                   users:(("Xvnc",pid=20532,fd=9))
      LISTEN     0      5           :::5901                    :::*                   users:(("Xvnc",pid=20532,fd=10))
      

      第三步:在kvm01上安装nfs,并共享带有虚拟机磁盘的目录 ,在kvm01和kvm02上挂载,挂载到同一个目录

      [root@kvm01 ~]# yum install nfs-utils
      [root@kvm01 ~]# mkdir /data
      [root@kvm01 ~]# cat /etc/exports
      /data 192.168.80.0/24(rw,async,no_root_squash,no_all_squash)   #禁止uid的映射
      [root@kvm01 ~]# systemctl start nfs
      
      //将opt目录下的所有文件(主机要磁盘文件)移动到data目录下
      [root@kvm01 ~]# virsh shutdown centos7
      [root@kvm01 ~]# mv /opt/* /data/
      
      //两边都要挂载,更改所有人和所属组,更改所有人和所属组于前面的no_root_squash,no_all_squash相关。
      [root@kvm01 ~]# mount -t nfs 192.168.80.5:/data /opt
      [root@kvm02 ~]# mount -t nfs 192.168.80.5:/data /opt
      [root@kvm01 ~]# chown -R qemu:qemu /opt
      [root@kvm02 ~]# chown -R qemu:qemu /opt
      
      //kvm01和kvm02都准备好域名解析文件
      [root@kvm01 ~]# cat /etc/hosts
      127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
      ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
      192.168.80.5 kvm01
      192.168.80.6 kvm02
      

      从kvm01上连接kvm02

      虚拟化--KVM

      开始迁移

      虚拟化--KVM

       
      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/u_11580232/3218929,作者:一张贺卡,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:远程给客户配置防火墙的反思

      下一篇:Windbg双击调试(真机WIN10+虚拟机WIN10)

      相关文章

      2025-04-22 09:24:51

      【Linux笔记】理解文件系统(上)

      【Linux笔记】理解文件系统(上)

      2025-04-22 09:24:51
      硬盘 , 磁盘
      2025-04-15 09:24:56

      Redis多级缓存指南:从前端到后端全方位优化!

      在现代互联网应用中,高性能和高可用性是两个非常重要的目标。为了达到这些目标,我们通常会使用缓存技术,其中 Redis 是一种非常受欢迎的缓存中间件。

      2025-04-15 09:24:56
      内存 , 存储 , 数据 , 服务器 , 浏览器 , 磁盘 , 缓存
      2025-04-15 09:19:55

      高性能、高可靠性!Kafka的技术优势与应用场景全解析

      Kafka的高吞吐量表现堪称惊人。单机每秒处理几十上百万的消息量,即使存储了TB级别的消息,它依然能够保持稳定的性能。

      2025-04-15 09:19:55
      Kafka , 数据 , 日志 , 消息 , 消费者 , 用户 , 磁盘
      2025-04-14 08:48:01

      expdp备份集直接导出到asm磁盘组

      expdp备份集直接导出到asm磁盘组

      2025-04-14 08:48:01
      备份 , 导出 , 磁盘
      2025-03-21 06:57:11

      【ceph】什么是条带化(Data striping) ?

      【ceph】什么是条带化(Data striping) ?

      2025-03-21 06:57:11
      size , 大小 , 并发 , 数据 , 深度 , 磁盘
      2025-03-17 07:50:16

      VMware11版安装Ubuntu24.10-live-Sever-amd64位

      VMware11版安装Ubuntu24.10-live-Sever-amd64位

      2025-03-17 07:50:16
      分区 , 创建 , 虚拟机 , 选择
      2025-03-12 09:33:43

      【分布式理论13】分布式存储:数据存储难题与解决之道

      【分布式理论13】分布式存储:数据存储难题与解决之道

      2025-03-12 09:33:43
      RAID , 分布式 , 存储 , 数据 , 磁盘
      2025-03-11 09:36:17

      【环境情况】linux环境检查:内存剩余、磁盘读写性能、hosts、innode数量、CPU等

      【环境情况】linux环境检查:内存剩余、磁盘读写性能、hosts、innode数量、CPU等

      2025-03-11 09:36:17
      CPU , inode , 检查 , 磁盘
      2025-02-26 07:21:36

      HashMap和hashTable的区别--------》sleep、wait、join

      HashMap和hashTable的区别--------》sleep、wait、join

      2025-02-26 07:21:36
      java , sleep , wait , 对象 , 方法 , 线程 , 虚拟机
      2025-02-21 08:58:35

      fread,fwrite数据写磁盘流程|fflush--linux编程写文件注意问题(fwrite没有直接写入文件)

      fread,fwrite数据写磁盘流程|fflush--linux编程写文件注意问题(fwrite没有直接写入文件)

      2025-02-21 08:58:35
      write , 写入 , 磁盘 , 缓冲 , 调用
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      32777

      阅读量

      4802323

      查看更多

      最新文章

      【Linux笔记】理解文件系统(上)

      2025-04-22 09:24:51

      高性能、高可靠性!Kafka的技术优势与应用场景全解析

      2025-04-15 09:19:55

      VMware11版安装Ubuntu24.10-live-Sever-amd64位

      2025-03-17 07:50:16

      【Linux】磁盘分区|磁盘管理|/dev/sda|/dev/sdb|UUID

      2025-02-21 08:58:12

      Linux 7.9 ens33网卡异常处理

      2024-12-31 06:01:41

      虚拟机中windows与宿主机文件共享

      2024-12-31 06:01:41

      查看更多

      热门文章

      VM虚拟机常见问题之三-- 虚拟网卡问题

      2023-04-24 11:29:11

      跨vCenter Server在线迁移虚拟机

      2023-04-28 02:38:11

      vSphere与Workstation虚拟机交互的几种方法(三)

      2023-04-24 11:28:34

      vSphere与Workstation虚拟机交互的几种方法(四)

      2023-04-24 11:28:34

      vmware 虚拟机安装linux忘记密码怎么办

      2023-06-08 06:22:48

      vSphere与Workstation虚拟机交互的几种方法(二)

      2023-04-24 11:28:34

      查看更多

      热门标签

      服务器 linux 虚拟机 Linux 运维 数据库 网络 日志 数据恢复 java python nginx 配置 centos mysql
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      跨vCenter Server在线迁移虚拟机

      Windows虚拟机克隆后修改SID

      VMware11版安装Ubuntu24.10-live-Sever-amd64位

      Docker底层原理

      JVM笔记【1】-- 运行时数据区

      在Windows Virtual PC中使用“集成功能”

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 权益商城
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 权益商城
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号