虚拟化
OpenStack
部署OpenStack(devstack)
部署OpenStack(Kolla)
qemu-img
Virtualenv(Python虚拟环境)
Virtualenvwrapper(虚拟环境管理工具)
KVM(虚拟机)
KVM(无桌面安装)
KVM(桌面安装)
KVM迁移
vnc-viewer安装与使用
vnc-server安装与使用
VMware ESXi安装
修改esxi网络配置
KVM部署esxi
报错No network adapters处理方法
开启SSH及命令行
U盘安装(大白菜)
磁盘问题
VMware vCenter安装
vCenter问题
CentOS 7 iSCSI服务(共享盘)
SmartX
本文档使用MrDoc发布
返回首页
-
+
KVM(虚拟机)
2020年5月14日 18:49
admin
#VIRT-INSTALL >##具体安装方法:[传送门](http://baodoc.frp.bao-server.club:22080/project/38/306/ "传送门") >##格式: virt-install [选项] >####选项: >|参数|说明 |--|--| |-n --name |给虚拟机起个名字 |-r --ram |分配给虚拟机的内存,单位MB |--vcpus |分配给虚拟机的cpu个数 |-c --cdrom |指定安装文件的全路径 |-l --location |安装源URL,支持FTP、HTTP及NFS等,如ftp://172.16.0.1/pub; |--disk |指定虚拟机img文件路径,如果虚拟机使用lvm分区,这里就指向到lvm的分区就行 | size |虚拟机文件大小,单位GB | bus |虚拟机磁盘使用的总线类型,为了使虚拟机达到好的性能,这里使用virtio,其值可以为ide、scsi、usb、virtio或xen; | cache |虚拟机磁盘的cache类型,其值有none、writethrouth(缓存读)及writeback(缓存读写); |--network bridge| 指定桥接网卡 | model |网卡模式,这里也是使用性能更好的virtio |--graphics vnc|图形参数,默认为vnc |--autostart|指定虚拟机是否在物理启动后自动启动; |--force|禁止命令进入交互式模式,如果有需要回答yes或no选项,则自动回答为yes; |--accelerate|KVM或KQEMU内核加速,这个选项是推荐最好加上 >##例子 virt-install --name=test_centos --ram 2024 --vcpus=2 / --disk path=/test_centos/images/test_centos.img,size=20,format=raw,bus=virtio / --cdrom /test_centos/iso/CentOS-6.7-x86_64-minimal.iso --network bridge=br0,model=virtio / --graphics vnc --accelerate --force --autostart --- #VIRT-MANAGER >##具体安装方法:[传送门](http://baodoc.frp.bao-server.club:22080/project/38/307/ "传送门") >##开启图形管理程序( linux需要安装有图形界面) virt-manager --- #VIRSH >##格式: virsh [选项] |参数|说明 |--|--| |list|#列出正在运行的虚拟机 |list --all|#列出全部虚拟机 |----------------------|----------------------------------- |start <虚拟机名称>|启动名字为<虚拟机名称>的非活动虚拟机 |autostart <虚拟机名称>|#配置虚拟主机为开机自启动 |autostart --disable <虚拟机名称>|#取消虚拟主机为开机自启动 |reboot <虚拟机名称>|#重启虚拟机 |suspend <虚拟机名称> |#暂停虚拟机 |resume <虚拟机名称> |#恢复暂停的虚拟机 |shutdown <虚拟机名称> |#正常关闭虚拟机 |destroy <虚拟机名称> |#强制关闭虚拟机 |----------------------|----------------------------------- |dominfo <虚拟机名称> |显示虚拟机的基本信息 |domid <虚拟机名称> |显示虚拟机id号 |domuuid <虚拟机名称> |显示虚拟机的uuid |domstate <虚拟机名称> |显示虚拟机的当前状态 |domblklist v<虚拟机名称> |#查看该虚拟机的磁盘位置 |----------------------|----------------------------------- |vcpuinfo <虚拟机名称>|显示基本的CPU信息 |setvcpus <虚拟机名称> 3|设置虚拟机的CPU个数 |----------------------|----------------------------------- |setmem <虚拟机名称> 3G|设置虚拟机的内存大小(运行状态下设置) |setmaxmem <虚拟机名称> 4G |设置虚拟机的最大内存大小(停止状态下设置) |----------------------|----------------------------------- --- #创建虚拟机 >|参数|说明 |--|--| |dumpxml <虚拟机名称>| #输出虚拟机的当前配置文件 |dumpxml <虚拟机名称> > <虚拟机名称>.xml| #输出虚拟机的当前配置文件到xml文件 |create <虚拟机名称>.xml| 使用XML文件创建一个新的虚拟机(此方法为方便开发调试等临时需求,不会持久化,虚拟机关机后就消失了) |define <虚拟机名称>.xml| 使用XML文件定义一个新的虚拟机(永久) >####注意:使用dumpxml导出的xml文件,需要修改以下三处才可使用。 #修改name #把uuid整行删除 #修改img文件路径 >![](/media//202005/2020-05-15121409853448.png) --- #克隆虚拟机 virt-clone --connect qemu:///system --original=test_centos --name=test_centos3 --file=/test_centos/images/tomcat_02.img #参数说明: --original #克隆的虚拟机对象 --name #克隆的新虚拟机名称 --file #克隆的新虚拟机img文件存放路径 --- #删除虚拟机 >####1, 关闭虚拟机 virsh destroy <虚拟机名称> >####2,解除标记 virsh undefine <虚拟机名称> >####3,删除虚拟机文件 rm -rf <虚拟机文件路径> --- #连接虚拟机 >####查看VNC端口 virsh vncdisplay test_centos >##CentOS 7下通过virsh console访问虚拟机 >####注意:首先需要在KVM(客户机)下开机启动并启动服务 systemctl enable serial-getty@ttyS0.service systemctl start serial-getty@ttyS0.service >####连接虚拟机 virsh console <虚拟机名称> >####退出虚拟机 ctrl+] --- #修改虚拟机配置 virsh edit <虚拟机名称> virsh shutdown <虚拟机名称> virsh start <虚拟机名称> #关闭虚拟机,再开机;注意不要重启,重启配置不生效。 --- #虚拟机快照(不支持raw格式) >####创建默认快照(一般为一串数字): virsh snapshot-create <虚拟机名称> >####创建自定义名称快照: virsh snapshot-create-as <虚拟机名称> <快照名称> >####查看虚拟机相关的快照 virsh snapshot-list 虚拟机名 >####恢复快照 virsh snapshot-revert 虚拟机名称 快照名称 >####删除快照 virsh snapshot-delete 虚拟机名称 快照名称 --- >##raw格式转qcow2格式 >####1、将镜像文件转换成qcow2格式。转换命令为: qemu-img convert -f raw -O qcow2 centos.img centos.qcow2 >####2、修改虚拟机配置文件 virsh edit <虚拟机名称> ------------------------------------------------------- 1.把type改成qcow2 2.把file路径改为你转换后的qcow2文件路径 ------------------------------------------------------- >![](/media//202005/2020-05-15140714447654.png) #关闭虚拟机,再开机;注意不要重启,重启配置不生效。 virsh shutdown <虚拟机名称> virsh start <虚拟机名称> --- #其它常用语句 >##修改CPU个数 修改配置 virsh edit <虚拟机名称> ------------------------------------------------------- 把vcpu信息改成你想要的即可 ------------------------------------------------------- >![](/media//202005/2020-05-15142754762966.png) #关闭虚拟机,再开机;注意不要重启,重启配置不生效。 virsh shutdown <虚拟机名称> virsh start <虚拟机名称> --- >####动态修改VCPU;VCPU只能热增加,不能减少 # 查看当前逻辑CPU数量 cat /proc/cpuinfo| grep "processor"| wc -l # 动态增加到4个 virsh setvcpus node-192.168.5.90-test 4 --live # 再次查看CPU数量 cat /proc/cpuinfo| grep "processor"| wc -l --- >##修改内存 >####动态修改内存(增减都可以) virsh setmem <虚拟机名称> 3G #设置虚拟机的内存大小(运行状态下设置) virsh setmaxmem <虚拟机名称> 4G #设置虚拟机的最大内存大小(停止状态下设置) --- >##添加磁盘 >####一般虚拟机的磁盘结构为系统盘加数据盘,当系统发生故障时,可以重新建一个系统盘,而数据盘不会丢失。 --- >####添加磁盘操作: cd /var/lib/libvirt/images/ 进入磁盘存放目录 qemu-img create -f raw test_add.img 100G 创建一块100G的磁盘 virsh attach-disk tomcat_01 /var/lib/libvirt/images/test_add.img vdb --cache none 动态添加磁盘 >####这种方法是动态添加磁盘,而xml配置文件并没有发生变化,为了防止下次启动添加的磁盘失效,进行如下操作: virsh dumpxml tomcat_01 > tomcat_01.xml #将最新的虚拟机配置重定向到其配置文件中 virsh define tomcat_01.xml #这样,新增的磁盘就不会丢了。
分享到: