使用solusvm开单ip nat小鸡,是真的麻烦。而如果不出售的话,VMware可以实现相同需求。
1.这里不是VMware安装CentOS7,而是CentOS7安装VMware,需要注意这方面的区别。
2.我写这个教程用的VMware Workstation 15 ,而不是VMware Workstation 16,是因为我写这篇教程的时候VMware Workstation 16激活码网上还没有,15也够用了吧。
3.你可以在vmware安装的centos嵌套虚拟化安装使用vmware,但无法在hyper-v安装的centos嵌套虚拟化安装使用vmware
Hyper-V虚拟机内不支持Hyper-V以外的虚拟化应用程序,强行使用可能会出现问题。这包括需要硬件虚拟化扩展的所有软件。
4.实体机(独服)上的centos安装之前要确认是否支持虚拟化,vmware虚拟机内的centos需要使用lsmod
查看是否有kvm来确定是否支持虚拟化。
准备
1.系统安装好centos7的桌面以及vnc,vnc配置好显示的分辨率,为了方便我就用CentOS-7-x86_64-LiveKDE-2003
中科大镜像吧。centos7的系统根目录请拉到最大,也就是按照centos7默认配置安装到硬盘。我之所以不用纯字符界面的centos7而是用livekde的版本,是因为纯字符界面安装完,通过Windows 的VMware无法连接,查看并没有生成虚拟vmnet网卡,但安装了图形化界面的测试主机,图形化界面安装时就正常。因为我用的服务器不是我自己的,为了完成任务的话我还是尽可能减少麻烦别人吧,因此用最稳妥的方法。
以上是我查资料的时候原作者说的,但实际上我安装的时候没这个问题,因此可以不用桌面版的centos.
2.准备好VMware15的linux安装包,如果不知道在哪找的可以点击下载。
以下内容非必要内容,主要是我想备注下怎么用CentOS 7 LiveKDE的vnc
4.CentOS 7 LiveKDE安装的时候最开始不会先进安装界面,需要从这里进入,点击安装才会进入centos的安装界面。接下来就是centos7普通的安装界面了。
3.CentOS 7 LiveKDE自带了vnc服务端,叫Krfb,直接用即可。
4.你可以不用桌面端的centos7,我也在纯字符版centos测试确认可行。
安装nat软件
说实话iptables是最好的,但我现在用起来最舒服的就是appnode了,为了我自己用的舒服的话,我还是用appnode的端口映射吧。你也可以用逗逼的iptables脚本。
安装appnode的控制中心和受控端即可。
安装VMware Workstation 15
用sftp、直接下载的方式将VMware Workstation 15安装包放到centos7内
安装环境
yum install gcc gcc-c++ kernel-devel
yum groupinstall "Development tools"
yum install kernel-devel
yum install elfutils-libelf-devel
安装elfutils-libelf-devel以便于正常构建 VMware 内核模块
使用rpm -qa | grep kernel-headers
查找内核,如果找不到的话就使用yum install kernel-headers
安装
使用
yum -y install perl gcc kernel-devel libX11 libXinerama libXcursor libXtst
保证必须的环境
开始安装
给予权限:
sudo su
chmod +x VMware-Workstation-Full-15.5.6-16341506.x86_64.bundle
可以使用的key
YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8
UG5J2-0ME12-M89WY-NPWXX-WQH88
UA5DR-2ZD4H-089FY-6YQ5T-YPRX6
GA590-86Y05-4806Y-X4PEE-ZV8E0
ZF582-0NW5N-H8D2P-0XZEE-Z22VA
YA18K-0WY8P-H85DY-L4NZG-X7RAD
执行下面的命令安装
sh VMware-Workstation-Full-15.5.6-16341506.x86_64.bundle --console
--console
的含义是使您可以使用终端进行安装。
安装完成后会自启动
1.安装的时候会提示用户协议,按q
,然后使用yes
即可同意
2.按需选择,前两问是询问是否自动更新和加入客户改善计划,我是填的no
安装完成后,使用ps -aux | grep vmware
查看是否正常启动
[root@localhost ~]# ps -aux | grep vmware
root 15750 0.0 0.0 15176 1356 ? Ss 16:33 0:00 /usr/bin/vmware-usbarbitrator
root 17171 2.3 0.7 1183684 63584 ? Sl 16:33 0:04 /usr/lib/vmware/bin/vmware-hostd -a /etc/vmware/hostd/config.xml
root 17397 0.0 0.0 21276 348 ? Ss 16:34 0:00 /usr/bin/vmnet-dhcpd -s 6 -cf /etc/vmware/vmnet1/dhcpd/dhcpd.conf -lf /etc/vmware/vmnet1/dhcpd/dhcpd.leases -pf /var/run/vmnet-dhcpd-vmnet1.pid vmnet1
root 17401 0.0 0.0 14012 1364 ? S 16:34 0:00 /usr/bin/vmnet-natd -s 6 -m /etc/vmware/vmnet8/nat.mac -c /etc/vmware/vmnet8/nat/nat.conf
root 17409 0.0 0.0 21276 344 ? Ss 16:34 0:00 /usr/bin/vmnet-dhcpd -s 6 -cf /etc/vmware/vmnet8/dhcpd/dhcpd.conf -lf /etc/vmware/vmnet8/dhcpd/dhcpd.leases -pf /var/run/vmnet-dhcpd-vmnet8.pid vmnet8
root 17425 0.0 0.0 16804 868 ? Ss 16:34 0:00 /usr/sbin/vmware-authdlauncher
root 17467 0.0 0.0 112828 976 pts/0 S+ 16:37 0:00 grep --color=auto vmware
然后重启母鸡。
使用
在Windows的VMware Workstation客户端使用连接远程服务器
服务器名称:填入ip:端口,例如1.1.1.1:4443
用户名和密码为你母鸡拥有vmware的用户名和密码,例如root。
嵌套虚拟化
由于我需要在vm内安装idv/vdi,因此需要嵌套虚拟化。
进入终端
基于 Intel 的处理器运行以下命令:
[root@kvm-hypervisor ~]# cat /sys/module/kvm_intel/parameters/nested
N
基于 AMD 的处理器运行以下命令:
[root@kvm-hypervisor ~]# cat /sys/module/kvm_amd/parameters/nested
N
上述命令输出 N 表示嵌套虚拟化是禁用的。如果我们得到的输出是 Y 则表示在您的宿主机已启用嵌套虚拟化。
现在启用嵌套虚拟化,使用以下内容创建一个文件名为 /etc/modprobe.d/kvm-nested.conf
的文件:
[root@kvm-hypervisor ~]# vi /etc/modprobe.d/kvm-nested.conf
options kvm-intel nested=1
options kvm-intel enable_shadow_vmcs=1
options kvm-intel enable_apicv=1
options kvm-intel ept=1
保存并退出文件。
现在移除 kvm_intel
模块然后通过 modprobe
命令添加同样的模块。在移除模块之前,确保虚拟机已关机,否则我们会得到像 “modprobe: FATAL: Module kvm_intel is in use”
这样的错误信息。
[root@kvm-hypervisor ~]# modprobe -r kvm_intel
[root@kvm-hypervisor ~]# modprobe -a kvm_intel
现在验证嵌套虚拟化功能是否启用。
[root@kvm-hypervisor ~]# cat /sys/module/kvm_intel/parameters/nested
Y
重启服务器,再执行一次看看。
是Y则说明嵌套虚拟化成功
为了验证是否真的开启了嵌套虚拟化,建议创建个虚拟机,然后在虚拟机内查看:
执行命令:
cat /proc/cpuinfo |grep vmx
如果有输出,则说明CPU支持虚拟化技术。
--------> svm - Secure virtual machine, AMD的虚拟化技术AMD-V
--------> vmx - Intel的虚拟化技术Intel-VT
然后执行命令:
lsmod |grep kvm
可以对比以下结果:
未开启
kvm 554609 0
irqbypass 13503 1 kvm
已开启
kvm_intel 170181 0
kvm 554609 1 kvm_intel
irqbypass 13503 1 kvm
如果没有开启的话,先注意下创建虚拟机的时候开启了CPU嵌套虚拟化了吗,然后再看看上文配置是否正确。
卸载
使用vmware-installer -u vmware-workstation
即可卸载。
参考:
CentOS 7 安装VMware Workstation 15
VMware Workstation Pro Product Documentation
How to Install VMware Workstation Pro 15 on Linux Systems
Install VMware Workstation Pro 15 on CentOS 8
Run Hyper-V in a Virtual Machine with Nested Virtualization
在 Centos7 的KVM上启用嵌套虚拟化
如何查看linux是否打开虚拟化
此处评论已关闭