vmware workstation14嵌套安装kvm
1.前言
我在2017-11-06使用virtualbox安装了centos,然后嵌套kvm(win7),链接地址如下:
https://www.cnblogs.com/tcicy/p/7790956.html
今天想在virtualbox中再耍一遍的时候,发现egrep -o '(vmx|svm)' /proc/cpuinfo执行不出结果。。。
然后Google了半天,发现virtualbox只支持嵌套,而且是个10多年的老bug了~~~~!!!无语!难道我2017-11-06用的是假的virtualbox???
不过,想做实验,只能硬着头皮装VMware workstation。。。。。真不想装啊!!!
安装VMware workstation14,安装centos7.xmini,一定要配置以下
然后执行以下命令就可以安装kvm了
egrep -o '(vmx|svm)' /proc/cpuinfo
因为是mini安装,要啥啥没有,所以装点必须的
1.1安装调试基础环境
yum install -y epel-release sysstat net-tools mlocate
安装kvm程序及其环境
yum install -y qemu-kvm qemu-kvm-tools libvirt virt-install virt-top
可以安装的程序很多
qemu-kvm # 主要的KVM程序包,KVM在用户空间运行的程序
qemu-kvm-tools # KVM debugging and diagnostics tools
virt-top # 虚拟机统计命令,类似top
libvirt # 提供libvirt服务,用于管理虚拟机,它提供了一套虚拟机操作 API
virt-install # 基于libvirt服务的虚拟机创建命令 bridge-utils # 创建和管理桥接设备的工具
virt-manager # 基于libvirt的GUI图像化虚拟机管理软件
libvirt-client # 虚拟客户机提供的C语言工具包
virt-viewer # GUI连接程序,连接到已配置好的虚拟机,显示虚拟机的控制台Console
python-virtinst # 创建虚拟机所需要的命令行工具和程序库
libvirt-client # libvirt的客户端,最重要的功能之一就是在宿主机关机时可以通知虚拟机也关机
gpxe-roms-qemu # 虚拟机iPXE的启动固件,支持虚拟机从网络启动
libvirt-python # libvirt为python 提供的 API
python-virtinst # 一套Python 的虚拟机安装工具
virt-what # 在虚拟机内部执行,查看虚拟机运行的虚拟化平台
qemu-img # 用于操作虚拟机硬盘镜像的创建、查看和格式转化
关闭防火墙及selinux
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl stop firewalld
systemctl disable firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
reboot 重启之后执行以下
systemctl status NetworkManager
systemctl status firewalld
firewall-cmd --state
getenforce
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
查看信息
systemctl restart libvirtd
systemctl status libvirtd
ifconfig virbr0
ifconfig virbr0-nic
brctl show
ps aux|grep dnsmasq
iptables -nvL -t nat
1.2创建虚机(NAT方式)
创建磁盘
mkdir /data
qemu-img create -f raw -o size=5G /data/tiny-linux.raw
下面开始安装KVM咯!!!我用的tinylinux,安装iso只有18MB,还带桌面环境的~~~反正就是测试嘛~~~里面装个windows或者ubuntu、centos、freebsd等的都行,随便你。
virt-install --virt-type kvm --name Tiny-linux --ram --cdrom /data/TinyCore-current.iso --disk path=/data/Tiny-linux.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
如果觉得这行代码太长,我们可以把代码改下,运行哪个都行,只是加了\换行了而已。
virt-install --virt-type kvm \
--name Tiny-linux \
--ram \
--cdrom /data/TinyCore-current.iso \
--disk path=/data/Tiny-linux.raw \
--network network=default \
--graphics vnc,listen=0.0.0.0 \
--noautoconsole
然后可以查看咯
netstat -ntlp|grep 5900 #第一台kvm是5900端口,依次累加5901,5902,5903........
virsh -c qemu:///system list
virsh list --all
这时候你可以打开vnc连接了
tightvnc的下载地址
http://www.tightvnc.com/download.php
IP地址是centos7.xmini的地址,点击connect就行了,自己安装就完事了。
1.3创建虚机(Bridge方式)
1.3.1创建网桥
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-br0
然后修改,修改后的结果如下:
[root@bogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
UUID=1a5720e1-1ba5-4b97-9b7c-fc312327a291
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0 ##增加这条
[root@bogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=dhcp
NAME=br0
DEVICE=br0
ONBOOT=yes
在ifcfg-ens33中增加BRIDGE=br0
ifcfg-br0中就5条信息就好了~~~[注意,centos7默认没有/etc/sysconfig/network-scripts/ifcfg-br0这个文件]
然后执行systemctl restart network
这时候我的ens33没有IP地址了,原来的IP地址跑到br0上了。
[root@bogon ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 00:0c:29:45:90:2d brd ff:ff:ff:ff:ff:ff
3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:2d:9e:9d brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:2d:9e:9d brd ff:ff:ff:ff:ff:ff
5: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 1000
link/ether fe:54:00:55:75:55 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fe55:7555/64 scope link
valid_lft forever preferred_lft forever
6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:45:90:2d brd ff:ff:ff:ff:ff:ff
inet 192.168.0.106/24 brd 192.168.0.255 scope global dynamic br0
valid_lft 7189sec preferred_lft 7189sec
inet6 fe80::20c:29ff:fe45:902d/64 scope link
valid_lft forever preferred_lft forever
1.3.2创建虚机
创建磁盘
mkdir /data
qemu-img create -f raw -o size=5G /data/tiny-linux.raw
下面开始安装KVM咯!!!我用的tinylinux,安装iso只有18MB,还带桌面环境的~~~反正就是测试嘛~~~里面装个windows或者ubuntu、centos、freebsd等的都行,随便你。
virt-install --virt-type kvm --name Tiny-linux --ram 1024 --cdrom /data/TinyCore-current.iso --disk path=/data/Tiny-linux.raw --network network=br0,model=virtio --graphics vnc,listen=0.0.0.0 --noautoconsole
注意上面的命令network=br0,model=virtio
如果这是你的第二胎,那么端口就是5901了~~~其他都一样,自己改。
1.4其他命令
virsh start Tiny-linux #启动Tiny-linux虚拟机
virsh edit Tiny-linux #编辑tiny-linux虚拟机
virt-top #查看虚拟机的top信息
virsh destroy Tiny-linux #把tiny-linux断电
virsh undefine Tiny-linux #把已断电的tiny-linux虚拟机从数据库中删除,不删除raw磁盘文件
updatedb #更新locate数据库
locate Tiny-linux #哪里有tiny-linux文件,
rm --rf tiny-linux #删除关于tiny-linux的一切.故意多写了一个减号
tiny-linux虚拟机的配置文件在/etc/libvirt/qemu/tiny-linux.xml下,不要直接vi,要通过virsh edit tiny-linux来进行编辑,virsh edit调用的vi,编辑方式完全同vi。
我刚执行了virt-install.........然后发现光盘挂错了,然后就可以执行virsh edit tiny-linux
然后增加以下部分
此时再运行virsh start tiny-linux,虚拟机就挂载的cdrom了。
1.5其他的操作命令
virsh define template.xml 定义一个虚机,并不启动
virsh suspend tinylinux #挂起虚机
virsh resume tinylinux #恢复被挂起的虚机
virsh autostart tinylinux #让虚机随宿主机一起启动
virsh auotstart --disable tinylinux #取消虚机随宿主机一起启动
virsh dominfo tinylinux #显示虚机信息
virsh shutdown tinylinux #关闭虚机
virsh reboot tinylinux #重启虚机
virsh console tinylinux 通过console进入虚机
Ctrl+] #从虚机的console端口退出
virsh vncdisplay tinylinux #查看vnc端口
[root@bogon ~]# virsh vncdisplay centos6.
:
[root@bogon ~]#yum install -y vnc
[root@bogon ~]#vncviewer 127.0.0.1:
file /var/lib/libvirt/qemu/* #查看虚拟机 socket 文件及 save、dump、snapshot 目录
[root@bogon qemu]# file /var/lib/libvirt/qemu/*
/var/lib/libvirt/qemu/channel: directory
/var/lib/libvirt/qemu/domain-2-Tiny-linux: directory
/var/lib/libvirt/qemu/domain-3-gentoo: directory
/var/lib/libvirt/qemu/dump: directory
/var/lib/libvirt/qemu/nvram: directory
/var/lib/libvirt/qemu/ram: directory
/var/lib/libvirt/qemu/save: directory
/var/lib/libvirt/qemu/snapshot: directory
虚机配置文件放在/etc/libvirt/qemu/tiny-linux.xml
修改xml文件,开机引导项设置为硬盘,2种方法,推荐第一种
1.virsh edit tinylinux
<os>
<type>hvm</type>
<boot dev="hd"/> <!-- 虚拟机开机引导项设置为硬盘-->
</os>
2.需要3条命令
vi /etc/libvirt/qemu/tiny-linux.xml
virsh undefine tiny-linux
virsh define tiny-linux
如果想用Virt-manager创建虚机请参考https://www.cnblogs.com/tcicy/p/7790956.html
虚机格式转换请参考https://www.cnblogs.com/tcicy/p/8522808.html
关闭虚拟机
如果virsh shutdown不管用的话就再虚拟机里面执行以下命令
yum -y install acpid
service acpid restart
chkconfig --level acpid on
chkconfig acpid --list
1.6删除虚机
1.virsh destroy tinylinux #删除虚机
2.virsh undefine tinylinux #解除标志
3.rm虚拟机文件(可通过locate tinylinux查找)
重命名虚机 (比较麻烦,一般别折腾)
.关闭虚机
.重命名xml文件
cd /etc/libvirt/qemu
virsh dumpxml tinylinux > xxx.xml
、编辑xxx.xml文件,修改<name>标签对以及磁盘文件,这里我们将磁盘文件Tiny-linux.raw修改成xxx.raw,把tinylinux改成xxx
.重命名磁盘文件
cd /var/lib/libvirt/images (我的路径是/data/)
mv Tiny-linux.raw xxx.raw
.数据库中删除原虚机,定义新虚机
virsh undefine tinylinux
virsh define /etc/libvirt/qemu/xxx.xml
.查看
virsh list --all
1.7未完成操作
给虚拟机添加硬盘
1.物理硬盘
virsh attach-disk tinylinux /dev/sdb vbd --driver qemu --mode shareable #将/dev/sdb给到tinylinux虚机
#如果虚机是Windows的话会出现 SCSI 设备 (Red Hat VirtIO SCSI Disk Device)驱动在 virtio-win-0.1-15.iso
virsh detach-disk tinylinux vdb #卸载硬盘
2.LVM卷
lvcreate -n tinydisk -L 50G tinyvbd #通过lvcreate创建一块硬盘,硬盘名字为tinydisk,文件名字为tinyvbd
virsh attach-disk tinylinux /dev/vg_shkvm1/kvm-1-data vdb --driver qemu --mode shareable
更改内存大小
更改CPU
硬盘扩容
更换光盘
virsh attach-disk tinylinux /path/to/filename.iso hdc --type cdrom
vmware workstation14嵌套安装kvm的更多相关文章
- 虚拟化技术学习(一)在VMware虚拟机中安装KVM
近期一直研究虚拟化技术,曾经对VMware虚拟机有一定的了解,近期突发奇想,能不能在VMware虚拟机中再装一个虚拟机呢? 那么问题就来了,首先,你须要一台电脑,vmware软件,(本人的电脑配置渣渣 ...
- VMware 中安装KVM,模块不加载
# yum -y install qemu-kvm libvirt virt-install bridge-utils 通过以上命令在VMWare中centos7安装KVM模块 安装后使用 #lsmo ...
- CentOS 6.5安装KVM实践
一,安装CentOS6.5,使用最小化的minimal安装二.安装完CentOS后,使用root登录配置网卡,使虚拟机可以使用外网上网 vi /etc/sysconifg/network-script ...
- Ubuntu16.04安装vmware workstation14
1.获得vmware安装包:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html?ClickI ...
- Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题
别试了,这个问题无法解决,已经使用VMware安装了一层虚拟机,然后在里面再安装KVM,网络层次已经变了,即使配置了网桥同样无法上网. 可是这样试一下,不一定成功:把VMware的虚拟机绑定另一张物理 ...
- vmware安装kvm虚拟机
1. 概述 本篇博客主要使用运行在win10专业版上的vmware workstation 15 pro虚拟化软件,安装centos7.7最小化系统,并在centos7上安装kvm虚拟机,实现快速创建 ...
- Redis学习之一VMWare Pro虚拟机安装和Linux系统的安装
一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇关于设计模式的总结的文章了,写完这篇总结性的文章,设计模式的文章就暂时要告一 ...
- Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装(转载)(1)
Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装 一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇 ...
- Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装
一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇关于设计模式的总结的文章了,写完这篇总结性的文章,设计模式的文章就暂时要告一 ...
随机推荐
- linux od命令详解
Linux od命令 Linux od命令用于输出文件内容.od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来 将指定文件以八进制形式(默认)转储到标准输出.如果指定了多于一个的文件参数 ...
- FFMPEG Qt视频播放器
本文是根据PaintEvent事件处理函数不停在组件中绘制视频帧数据 做过图像界面开发的都知道,任何耗时的操作都不能放在主线程进行,一旦主线程阻塞了,那么体现出来的就是界面卡了. 而我们读取视频和解码 ...
- selenium phantomjs 设置代理ip方法
最近遇到phantomjs动态更换ip的功能,在知乎上看到一篇不错的文章,顺手记下来以备后用 phantomjs selenium 如何动态修改代理? 可以这样做(Python代码): # 不使用代理 ...
- HBase与Zookeeper数据结构查询
一.前言 最近一年了吧,总是忙于特定项目的业务分析和顶层设计,很少花时间和精力放到具体的技术细节,感觉除了架构理念和分析能力的提升,在具体技术层次却并没有多大的进步.因为一些原因,总被人问及一些技术细 ...
- 1049.(*) Counting Ones
题意:题目大意:给出一个数字n,求1~n的所有数字里面出现1的个数 思路:转自(柳婼 の blog)遍历数字的低位到高位,设now为当前位的数字,left为now左边的所有数字构成的数字,right是 ...
- JS之事件机制
一.绑定事件的3种方式 1.内联绑定事件 2.on+事件名,绑定事件程序 3.通过addEventListener/removeEventListener绑定事件 不支持ie9之前的浏览器,ie9之前 ...
- SQL优化系列——子查询
sql调优方法: (1)not in子查询优化 尽量避免子查询select * from a where id not in(select id from b); select * from a wh ...
- flume-sink
概述 从Flume Agent移除数据并写入到另一个Agent或数据存储或一些其他存储系统的组件被称为sink.Sink不断的轮询channel中的事件且批量的移除它们.这些事件批量写入到存储或索引系 ...
- 学习笔记之Git / Gitflow / TortoiseGit
Git - Wikipedia https://en.wikipedia.org/wiki/Git Git (/ɡɪt/) is a version control system for tracki ...
- 淘宝购买的“公网IP盒子”企业版存在很多问题
现在罗列了几点问题希望官方尽快能得到解决 1:不支持PPPoE拨号(必须让路由器先拨号后再用这个设备上网)2:不支持双线双IP接入3:配置界面不能设置密码(知道内网IP就可以进了)4:不能代理独立IP ...