关于kvm:KVM-给虚拟机新增一块磁盘

前情需要就是普普通通的给kvm下的一台虚拟机加1000G的磁盘计划一虚拟机不关机在线增加磁盘1.查看指标 vm4的磁盘 状况 2. 在kvm主机上创立一个新的虚构磁盘root@szo-192:/opt/kvm/image# qemu-img create -f qcow2 -o size=1000G /opt/kvm/image/kvm-vm4-02-1T.qcow2Formatting '/opt/kvm/image/kvm-vm4-02-1T.qcow2', fmt=qcow2 size=1073741824000 cluster_size=65536 lazy_refcounts=off refcount_bits=16 3. 从kvm主机挂载盘到vm4上root@szo-192:/opt/kvm/image# lskvm-vm1_1.qcow2 kvm-vm2.qcow2 kvm-vm4-02-1T.qcow2 kvm-vm5.qcow2 kvm-vm7.qcow2kvm-vm1.qcow2 kvm-vm3.qcow2 kvm-vm4.qcow2 kvm-vm6.qcow2 kvm-vm8.qcow2root@szo-192:/opt/kvm/image# virsh attach-disk --domain kvm-vm4 --source /opt/kvm/image/kvm-vm4-02-1T.qcow2 --target vdb --targetbus virtio --driver qemu --subdriver qcow2 --sourcetype file --cache none --persistentDisk attached successfully 4.验证kvm 主机端: virsh domblklist kvm-vm4 在vm4扩容 /home 分区[root@vm4 ~]# fdisk -lDisk /dev/vda: 536.9 GB, 536870912000 bytes, 1048576000 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000a6a14 Device Boot Start End Blocks Id System/dev/vda1 * 2048 2099199 1048576 83 Linux/dev/vda2 2099200 18616319 8258560 82 Linux swap / Solaris/dev/vda3 18616320 123473919 52428800 83 Linux/dev/vda4 123473920 1048575999 462551040 5 Extended/dev/vda5 123475968 1048575999 462550016 83 LinuxDisk /dev/vdb: 1073.7 GB, 1073741824000 bytes, 2097152000 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytes[root@vm4 ~]# [root@vm4 ~]# [root@vm4 ~]# [root@vm4 ~]# fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition tableBuilding a new DOS disklabel with disk identifier 0xff552d5a.Command (m for help): nPartition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): pPartition number (1-4, default 1): First sector (2048-2097151999, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-2097151999, default 2097151999): Using default value 2097151999Partition 1 of type Linux and of size 1000 GiB is setCommand (m for help): pDisk /dev/vdb: 1073.7 GB, 1073741824000 bytes, 2097152000 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0xff552d5a Device Boot Start End Blocks Id System/dev/vdb1 2048 2097151999 1048574976 83 LinuxCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@vm4 ~]# partprobe[root@vm4 ~]# fdisk -lDisk /dev/vda: 536.9 GB, 536870912000 bytes, 1048576000 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000a6a14 Device Boot Start End Blocks Id System/dev/vda1 * 2048 2099199 1048576 83 Linux/dev/vda2 2099200 18616319 8258560 82 Linux swap / Solaris/dev/vda3 18616320 123473919 52428800 83 Linux/dev/vda4 123473920 1048575999 462551040 5 Extended/dev/vda5 123475968 1048575999 462550016 83 LinuxDisk /dev/vdb: 1073.7 GB, 1073741824000 bytes, 2097152000 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0xff552d5a Device Boot Start End Blocks Id System/dev/vdb1 2048 2097151999 1048574976 83 Linux[root@vm4 ~]# [root@vm4 ~]# [root@vm4 ~]# [root@vm4 ~]# pvcreate /dev/vdb1 Physical volume "/dev/vdb1" successfully created.[root@vm4 ~]# vgdisplay selabel_open failed: No such file or directory[root@vm4 ~]# pvdisplay "/dev/vdb1" is a new physical volume of "<1000.00 GiB" --- NEW Physical volume --- PV Name /dev/vdb1 VG Name PV Size <1000.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID CNDRjs-534c-FK5w-EcCY-WAr1-EKsk-RMyWQw [root@vm4 ~]# vgcreate -s 64M centos /dev/vdb1 Volume group "centos" successfully created[root@vm4 ~]# pvdisplay --- Physical volume --- PV Name /dev/vdb1 VG Name centos PV Size <1000.00 GiB / not usable 63.00 MiB Allocatable yes PE Size 64.00 MiB Total PE 15999 Free PE 15999 Allocated PE 0 PV UUID CNDRjs-534c-FK5w-EcCY-WAr1-EKsk-RMyWQw [root@vm4 ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 0 0 wz--n- <999.94g <999.94g[root@vm4 ~]# vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <999.94 GiB PE Size 64.00 MiB Total PE 15999 Alloc PE / Size 0 / 0 Free PE / Size 15999 / <999.94 GiB VG UUID cPr09p-NEI9-AqzI-dplr-236J-cY4q-89WajD[root@vm4 ~]# pvdisplay --- Physical volume --- PV Name /dev/vdb1 VG Name centos PV Size <1000.00 GiB / not usable 63.00 MiB Allocatable yes PE Size 64.00 MiB Total PE 15999 Free PE 15999 Allocated PE 0 PV UUID CNDRjs-534c-FK5w-EcCY-WAr1-EKsk-RMyWQw[root@vm4 ~]# mkdir /data[root@vm4 ~]# lvcreate -L 999G -n data centos Logical volume "data" created.[root@vm4 ~]# echo $?0[root@vm4 ~]# lvdisplay --- Logical volume --- LV Path /dev/centos/data LV Name data VG Name centos LV UUID pFjVfe-WyxD-Wldo-zkyr-JDhY-mt2a-JK0W61 LV Write Access read/write LV Creation host, time vm4, 2023-06-19 17:31:11 +0800 LV Status available # open 0 LV Size 999.00 GiB Current LE 15984 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 252:0[root@vm4 ~]# mkfs.xfs /dev/centos/datameta-data=/dev/centos/data isize=512 agcount=4, agsize=65470464 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0data = bsize=4096 blocks=261881856, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=127872, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0[root@vm4 ~]# echo $?0[root@vm4 ~]# vim /etc/fstab[root@vm4 ~]# cat /etc/fstab## /etc/fstab# Created by anaconda on Tue Jun 13 05:25:45 2023## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#UUID=76f19609-5d15-47ec-8334-1070e09a71a6 / xfs defaults 0 0UUID=5b531ad0-8ba7-443c-b873-cfedd11caaa3 /boot xfs defaults 0 0UUID=3ed24818-0c16-4e69-9cf9-de77429a868f /home xfs defaults 0 0#UUID=16616dc6-ef8f-4cc2-be9a-45897bd963fa swap swap defaults 0 0/dev/centos/data /data xfs defaults 0 0 [root@vm4 ~]# mount -a[root@vm4 ~]# df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 7.8G 0 7.8G 0% /devtmpfs 7.8G 0 7.8G 0% /dev/shmtmpfs 7.8G 102M 7.7G 2% /runtmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup/dev/vda3 50G 3.5G 47G 7% //dev/vda5 441G 1.9G 440G 1% /home/dev/vda1 1014M 170M 845M 17% /boot/dev/mapper/centos-data 999G 33M 999G 1% /data计划二虚构机关机新增磁盘#第一:创立一块磁盘 qemu-img create -f raw /kvm-hosts/kvm-web011.raw 10G#第二:编辑xml文件,在本来磁盘信息的上面,增加如下内容 virsh edit kvm-web01<disk type='file' device='disk'> <driver name='qemu' type='raw'></driver> <source file='/kvm-hosts/kvm-web011.raw'></source> <target dev='vdb' bus='virtio'></target> </disk> #留神点:vdb,virtio,type,file#第三:启动虚拟机,并查看配置 virsh start kvm-web01 ps -ef |grep kvm#第四:进入虚拟机,格式化,挂载应用

June 19, 2023 · 5 min · jiezi

关于kvm:KVM时钟漂移

KVM中Windows Guest工夫漂移起因测试发现当虚拟机运行前期初工夫和宿主机保持一致,而应用一段时间后两者之间就产生了显著的差异,具体表现为虚拟机的工夫会比宿主机的慢,另体现为应用频率高时会比低时偏移的体现更加显著。起因经翻阅材料才搞明确这是一个kvm时钟至今存在的一个无奈防止的问题就是所谓的虚拟机工夫漂移传统时钟咱们晓得传统时钟有RTC/HPET/PIT/ACPI PM TIMER/TSC等, 这些时钟按原理可分成两类:提供中断的周期性时钟, 如RTC/PIT/HPET等;另一种是提供COUNTER计数器的单步递增性时钟,如TSC。虚拟化下的时钟TSCGuest中应用rdtsc指令读取TSC时,会因为EXIT_REASON_RDTSC导致VM Exit。VMM读取Host的TSC和VMCS中的TSC_OFFSET,而后把host_tst+tsc_offset返回给Guest。要做出OFFSET的起因是思考到vcpu热插拔和Guest会在不同的Host间迁徙。qemu软件模仿的时钟:qemu中有对RTC和hpet都模拟出了相应的设施,例如RTC的典型芯片mc146818。这种软件模仿时钟中断存在的问题:因为qemu也是应用程序,收到cpu调度的影响,软件时钟中断不能及时产生,并且软件时钟中断注入则是每次产生VM Exit/Vm Entry的时刻。所以软件模仿时钟就无奈精准的登程并注入到Guest,存在提早较大的问题。kvm-clock:kvm-clock是KVM下Linux Guest默认的半虚拟化时钟源。在Guest上实现一个kvmclock驱动,Guest通过该驱动向VMM查问工夫。临时在windows内没有,具体原理临时未知。其工作流程也比较简单:Guest调配一个内存页,将该内存地址通过写入MSR通知VMM,VMM把Host零碎工夫写入这个内存页,而后Guest去读取这个工夫来更新。这里应用到的两个MSR是:MSR_KVM_WALL_CLOCK_NEW和MSR_KVM_SYSTEM_TIME_NEW(这是新的,应用cpuid 0x40000001来标记应用新的还是旧的)别离对应pvclock_wall_clock和pvclock_vcpu_time_info(具体构造体中的内容在内核代码中可查看)。Linux Guest中查看以后时钟源是否为kvm-clock:$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource$ kvm-clock解决办法以下摘自qemu代码中 qemu-options.hx的原文: (-rtc base=utc|localtime|date[,driftfix=none|slew]) Enable @option{driftfix} (i386 targets only) if you experience time drift problems, specifically with Windows' ACPI HAL. This option will try to figure out how many timer interrupts were not processed by the Windows guest and will re-inject them. 大抵意思就是:如果有工夫漂移问题能够尝试计算出(零碎中没有解决的计数器终端数量),并从新注入。 说白了就是,写个脚本依照一个特定的工夫去从新同步时钟。 解决思路能够在windows现有的虚拟化agent上增加工夫同步的代码。能够通过串口和宿主机通信进行时钟同步,另外这样做的益处宿主能够自定义时钟同步的工夫,不便解决。另外能够批改windows内工夫同步的距离,例如改为3分钟:在注册表内 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient” 下的SpecialPollInterval 单位为秒

April 8, 2023 · 1 min · jiezi

关于kvm:配置kvm虚拟交换机网口以及开启snmp服务

装置镜像与virt-manager的网口配置应用virt-manager装置实现交换机之后,在显示虚构硬件详情的菜单项上面配置虚构网口配置为虚构网络*路由到某个网口(默认的是虚构网络default: NAT, 须要自行去创立一个网口,配置网口的取值范畴),设施型号抉择e1000 具体操作参考在KVM中通过导入qcow2镜像形式装置虚拟机(图形界面) 配置交换机网口进入特权模式,这边配置的网口为GigabitEthernet 0/0,ip地址与掩码为192.168.1.222/24 Switch> enable查看以后网口配置, 个别会呈现一个Gi...0/0的网口,抉择配置这个,如果没有看到这个网口,须要去重新配置virt-manager的对应虚拟机网口 Switch# show ip interface GigabitEthernet0/0 is up, line protocol is up....进入全局配置模式 Switch# configure terminal开始配置Gi0/0网口 Switch(config)#interface GigabitEthernet 0/0如果曾经有配置,想批改配置,须要重置一下该网口配置 Switch(config-if)# no ip address在三层交换机下面,能够把二层接口改为三层接口,把该网口配置为等于一个路由器上的接口 Switch(config-if)#no switchport配置网口IP和掩码 Switch(config-if)#ip address 192.168.1.222 255.255.255.0确保网卡状态是up, 如果要down网卡,间接shutdown即可 Switch(config-if)#no shutdown退出网口配置模式 Switch(config-if)#end查看网口配置信息,网口状态是up并且ip,掩码等信息都有 Switch#show ip interface GigabitEthernet0/0 is up, line protocol is up Internet address is 192.168.1.222/24 Broadcast address is 255.255.255.255 .......要将配置的设置保留到启动配置文件,保障下次重启的时候网口配置还在,在弹出对话问题行输出startup-config Switch#copy running-config startup-configDestination filename [startup-config]? startup-configBuilding configuration...Compressed configuration from 2758 bytes to 1360 bytes[OK]配置实现之后能够在本人的pc机器下面去ping交换机网口的IP,如果网络不通的话须要重启一下交换机,间接在virt-manager控制台那边点击按钮强制关机重启就行 ...

February 12, 2023 · 2 min · jiezi

关于kvm:快速搭建-kvm-web-管理工具-WebVirtMgr

- 作者:SRE运维博客 博客地址: https://www.cnsre.cn/ 文章地址:https://www.cnsre.cn/posts/211117937177/ 相干话题:https://www.cnsre.cn/tags/kvm/ -WebVirtMgr是近两年来倒退较快,比拟沉闷,十分清爽的一个KVM治理平台,提供对宿主机和虚机的对立治理,它有别于kvm自带的图形管理工具(virtual machine manager),让kvm治理变得更为可视化,对中小型kvm利用场景带来了更多不便。WebVirtMgr介绍WebVirtMgr采纳简直纯Python开发,其前端是基于Python的Django,后端是基于Libvirt的Python接口,将日常kvm的治理操作变的更加的可视化。 WebVirtMgr 特点操作简略,易于应用 、通过libvirt的API接口对kvm进行治理、提供对虚拟机生命周期治理 WebVirtMgr 性能宿主机治理反对以下性能、CPU利用率、内存利用率、网络资源池治理、存储资源池治理、虚拟机镜像、虚拟机克隆、快照治理、日志治理、虚机迁徙、虚拟机治理反对以下性能、CPU利用率、内存利用率、光盘治理、关/开/暂停虚拟机、装置虚拟机、VNC console连贯、创立快照 官网文档https://github.com/retspen/we... 装置前的部署装置一些依赖包 yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx gcc python-devel wget vim net-tools lrzsz 装置pipwget https://bootstrap.pypa.io/get-pip.py python get-pip.py pip -V pip install numpy 装置python的须要包和配置Django环境git clone git://github.com/retspen/webvirtmgr.git 装置nginxrpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx -y装置supervisor装置参考 https://www.2cto.com/kf/20171... 开机自启参考 https://blog.csdn.net/binggoo... cat /etc/supervisord.conf{{< alert theme="warning" dir="ltr" >}} ⚠️ 留神 如果没有这个文件依照一下步骤装置 有的话疏忽此步骤{{< /alert >}} pip install supervisormkdir /etc/supervisord.d/echo_supervisord_conf > /etc/supervisord.conf新建文件夹 ...

November 17, 2021 · 3 min · jiezi

关于kvm:kvm-安装-windows-虚拟机

- 作者:SRE运维博客 博客地址: https://www.cnsre.cn/ 文章地址:https://www.cnsre.cn/posts/211108848062/ 相干话题:https://www.cnsre.cn/tags/kvm/ - 装置前筹备验证CPU是否反对KVM如果后果中有vmx(Intel)或svm(AMD)字样,就阐明CPU的反对的。 egrep '(vmx|svm)' /proc/cpuinfo 敞开SELinux将 /etc/sysconfig/selinux 中的 SELinux=enforcing 批改为 SELinux=disabled 装置一些最根本的服务可选项,因为我是刚装置好的CentOS,所以为了上面不便点,先把一些必要的工具装置下 yum install epel-release net-tools vim unzip zip wget ftp -y 装置KVM及其依赖项yum install qemu-kvm libvirt virt-install bridge-utils -y 验证装置后果下图阐明曾经胜利装置了 lsmod | grep kvm 开启kvm服务并且设置其开机主动启动 systemctl start libvirtd systemctl enable libvirtd查看状态操作后果如下图所示,阐明运行状况良好 systemctl status libvirtd systemctl is-enabled libvirtd 配置网桥模式先将 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件备份一份 创立 ifcfg-br0 文件创立的 br0文件的IP地址要和物理网卡的IP地址统一,命令 ipconfig 查看物理网卡将不会显示IP 内容如下: [root@bogon ~]*# vim /etc/sysconfig/network-scripts/ifcfg-br0*DEVICE=br0BOOTPROTO=noneDEFROUTE=yesONBOOT=yesTYPE=BridgeIPV4_FAILURE_FATAL=yesIPADDR=192.168.1.130NETMASK=255.255.255.0GATEWAY=192.168.1.254DNS1=221.6.4.66DELAY=0USERCE=no批改原网卡配置vim /etc/sysconfig/network-scripts/ifcfg-eno1sTYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="YES"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="eno1"UUID="bb40d726-8d67-4187-90c3-eb61e1b42d61"DEVICE="eno1"ONBOOT="yes"IPADDR="192.168.1.130"NETAMSK=255.255.255.0GATEWAY="192.168.1.254"DNS1="221.6.4.66"IPV6_PRIVACY="no"BRIDGE=br0重启网络服务systemctl restart network应用 ifconfig 验证操作后果,多了一块网卡 br0 ,当初拜访宿主机 应用 192.168.1.130 就能够了。 ...

November 8, 2021 · 4 min · jiezi

关于kvm:Centos7搭建-KVM-命令行安装虚拟机

[toc] - 作者:SRE运维博客 博客地址: https://www.cnsre.cn/ 文章地址:https://www.cnsre.cn/posts/211105852095/ 相干话题:https://www.cnsre.cn/tags/kvm/ -本文将介绍centos7 环境如何搭建一个kvm 环境并且创立windows,linux等虚拟机。装置前筹备验证CPU是否反对KVM如果后果中有vmx(Intel)或svm(AMD)字样,就阐明CPU的反对的。 egrep '(vmx|svm)' /proc/cpuinfo 敞开SELinux将 /etc/sysconfig/selinux 中的 SELinux=enforcing 批改为 SELinux=disabled 装置一些最根本的服务可选项,因为我是刚装置好的CentOS,所以为了上面不便点,先把一些必要的工具装置下 yum install epel-release net-tools vim unzip zip wget ftp -y 装置KVM及其依赖项yum install qemu-kvm libvirt virt-install bridge-utils -y 验证装置后果下图阐明曾经胜利装置了 lsmod | grep kvm 开启kvm服务并且设置其开机主动启动 systemctl start libvirtd systemctl enable libvirtd查看状态操作后果如下图所示,阐明运行状况良好 systemctl status libvirtd systemctl is-enabled libvirtd 配置网桥模式先将 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件备份一份 创立 ifcfg-br0 文件创立的 br0文件的IP地址要和物理网卡的IP地址统一,命令 ipconfig 查看物理网卡将不会显示IP 内容如下: [root@bogon ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0DEVICE=br0BOOTPROTO=noneDEFROUTE=yesONBOOT=yesTYPE=BridgeIPV4_FAILURE_FATAL=yesIPADDR=192.168.1.130NETMASK=255.255.255.0GATEWAY=192.168.1.254DNS1=221.6.4.66DELAY=0USERCE=no批改原网卡配置vim /etc/sysconfig/network-scripts/ifcfg-eno1sTYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="YES"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="eno1"UUID="bb40d726-8d67-4187-90c3-eb61e1b42d61"DEVICE="eno1"ONBOOT="yes"IPADDR="192.168.1.130"NETAMSK=255.255.255.0GATEWAY="192.168.1.254"DNS1="221.6.4.66"IPV6_PRIVACY="no"BRIDGE=br0重启网络服务systemctl restart network应用 ifconfig 验证操作后果,多了一块网卡 br0 ,当初拜访宿主机 应用 192.168.1.130 就能够了。 ...

November 5, 2021 · 2 min · jiezi

关于kvm:Linux中KVM虚拟机的安装

能够在无图形界面的状况下,应用KVM来治理虚拟机。装置过程以CentOS 7.0为准。 装置virt服务装置软件包: yum install qemu-kvm libvirt virt-install virt-viewer批改/etc/libvirt/qemu.conf,用于开启VNC服务: 将vnc_listen改为0.0.0.0批改vnc_password为须要的明码。批改之后需重启服务: systemctl restart libvirtd装置虚拟机须要筹备好装置光盘,以及足够的硬盘空间。 装置命令如下: virt-install --name=winxp --ram 1024 --vcpus=1 --disk path=/xxx.img,size=20 --cdrom /xxx.iso --vnc --accelerate --force其中参数阐明如下: ram是内存大小,单位是MB。vcpus是调配的CPU个数。path参数指向的硬盘镜像,不须要提前创立,前面的size单位为GB。cdrom须要指向已有ISO光盘镜像。vnc示意开启VNC服务。运行装置命令之后,可间接用VNC软件连贯下来,而后在图形界面进行近一步的装置配置。 virt治理命令查看正在运行的虚拟机:virsh list查看全副虚拟机:virsh list --all批改虚拟机配置:virsh edit [NAME]启动虚拟机:virsh start [NAME]敞开虚拟机:virsh shutdown [NAME]重新启动虚拟机:virsh reboot [NAME]销毁(进行)虚拟机:virsh destroy [NAME]删除虚拟机:virsh undefined [NAME]装置Windows时找不到驱动须要先下载一个CentOS的仓库配置。 curl --output /etc/yum.repos.d/virtio-win.repo https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo而后装置VirtIO的Windows软件包。 yum install virtio-winWinXP网卡驱动找不到须要用迅雷在Fedora网站下载驱动盘。 在命令行运行virsh edit [NAME],编辑虚拟机,搜寻cdrom将光盘改为virtio-win.iso所在门路,而后搜寻network,将网卡型号从默认的e1000,改为virtio,重新启动虚拟机。 在WinXP检测到新硬件,开始装置驱动时,抉择光盘中的NetKVM/xp/x86的目录,会主动装置上网卡驱动的。

October 31, 2021 · 1 min · jiezi

关于kvm:KVM修改虚拟机配置

1. 编辑虚拟机配置文件 # 虚拟机的名称为 centos2[root@controller ~]# virsh edit centos2如, <domain type='kvm'> <name>centos2</name> <uuid>12343a79-8c41-4e75-916e-feaecc2606fc</uuid> <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>2</vcpu>...注:不要批改 name 和 uuid! 2. 更新虚拟机配置 [root@controller ~]# virsh define /etc/libvirt/qemu/centos2.xml即便虚拟机仍处于运行状态也能够执行此命令,只是要到虚拟机重启后,新的配置才会起作用。 3. 重启虚拟机 [root@controller ~]# virsh reboot centos24. 查看虚拟机信息 概要信息 [root@controller ~]# virsh dominfo centos2Id: 16名称: centos2UUID: 12343a79-8c41-4e75-916e-feaecc2606fcOS 类型: hvm状态: runningCPU: 2CPU 工夫: 5.0s最大内存: 2097152 KiB应用的内存: 2097152 KiB长久: 是主动启动: 禁用治理的保留: 否安全性模式: selinux安全性 DOI: 0安全性标签: system_u:system_r:svirt_t:s0:c871,c977 (enforcing)具体配置 [root@controller ~]# virsh dumpxml centos2<domain type='kvm'> <name>centos2</name> <uuid>12343a79-8c41-4e75-916e-feaecc2606fc</uuid> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> ...

September 2, 2021 · 1 min · jiezi

关于kvm:KVM跨主机通信

1. 实现目标 在多台物理机上创立 KVM 虚拟机,且使得不同物理机上的 KVM 虚拟机之间可能互相通信,同时还保障 KVM 虚拟机可能拜访互联网。 2. 实现办法 在每台物理机上创立两个网桥: 其中一个应用 KVM 默认的 virbr0 即可,虚拟机通过 virbr0 拜访外网;另外创立一个网桥和 VXLAN 隧道,而后将隧道增加到新建的网桥上,虚拟机通过此网桥实现跨机通信;为虚拟机增加两个虚构网卡,一个(eth0)连贯到 virbr0 上,另一个(eth1)连贯到新建网桥上;为虚拟机增加路由,或者为所有虚拟机的 eth1 网卡调配处于同一个子网内的 IP。3. 脚本1:installKVM.sh 作用:装置 KVM 及必要的工具。 sudo yum install -y virt-* libvirt bridge-utils qemu-img qemu-kvm# 启动服务、开机自启sudo systemctl start libvirtd.servicesudo systemctl enable libvirtd.service4. 脚本2:initKVM.sh 作用:创立内部网桥 br-vxlan 和 VXLAN 隧道。 #!/bin/bashif [ $# != 2 ]; then # local-ip: 本地物理机的 IP # remote-ip: 隧道对端物理机的 IP echo "Usage: $0 local-ip remote-ip"; exit 1filocalIP=$1remoteIP=$2brctl addbr br-vxlanip link set br-vxlan upip link add vxlan0 type vxlan id 42 dstport 4789 remote $remoteIP local $localIPip link set vxlan0 upbrctl addif br-vxlan vxlan05. 脚本3:createVM.sh ...

September 1, 2021 · 2 min · jiezi

关于kvm:KVM创建虚拟机

1. 装置 KVM CentOS7: sudo yum install -y virt-* libvirt bridge-utils qemu-img qemu-kvmsudo systemctl start libvirtd.serviceUbuntu: sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager virt-viewersudo systemctl start libvirtd.service2. 应用 ISO 镜像创立虚拟机 sudo chmod a+rwx /home/openstack/sudo virt-install --name=ubuntu1 --ram=16384 --vcpus=4 \ --os-type=linux --os-variant=ubuntu16.04 \ --disk path=/home/openstack/images/ubuntu1.img,bus=virtio,size=50 \ --bridge=virbr0 --graphics=none \ --extra-args="console=tty0 console=ttyS0" \ --location=/home/openstack/images/ubuntu-16.04.7-server-amd64.iso所创立虚拟机的规格为:虚拟机名字为 ubuntu1,领有 16384MB内存、4个虚构CPU,应用 ubuntu-16.04.7-server-amd64.iso 来装置操作系统,虚拟机的虚构硬盘地位为 /home/openstack/images/ubuntu1.img,虚构硬盘大小为 50GB(无需当时创立虚构硬盘),并将虚拟机连贯到虚构网桥 virbr0 上。 能够通过 osinfo-query os 命令来查看反对哪些 os-variant。 3. 应用虚构磁盘映像创立虚拟机 ...

August 30, 2021 · 1 min · jiezi