Linux环境VMware安装与使用教程

VMware介绍

是一款虚拟机工具。可以安装win或者linux系统方便进行模拟测试工作。
如果是全新的服务器可以考虑安装VMware ESXI版,不需要预先安装操作系统。

Linux安装VMware

不同操作系统需要对应的VMware版本。不然会出现编译器版本不匹配等各种问题。

Redhat6.5安装VMware

RedhatLinux6.5选择VMware10.0.6版本可以正常安装

  1. 下载地址:https://my.vmware.com/group/vmware/details?productId=362&downloadGroup=WKST-1006-LX
  2. 注册账号并且登录下载
  3. 上传至Linux远程服务器
  4. 执行安装命令
    1
    2
    3
    4
    5
    6
    yum -y install perl gcc kernel-devel libX11 libXinerama libXcursor libXtst

    ./VMware-Workstation-Full-10.0.6-2700073.x86_64.bundle --console \
    --eulas-agreed \
    --required \
    -s vmware-workstation serialNumber xxxxx-xxxxx-xxxxx-xxxxx-xxxxx # xxxx-xxxx 是序列号
  5. 验证状态
    1
    2
    vmware-modconfig --install-status
    ps -aux|grep vmware
  6. 本地windows桌面端安装相同或者更高版本vmware软件,通过连接远程服务器输入IP\linux系统账号\密码然后进入目标服务器进行虚拟机创建与维护

如果需要卸载执行命令:vmware-installer -u vmware-workstation

其他运维命令:

  • service vmware start 启动服务
  • service vmware stop 停止服务
  • vmrun list 列出正在运行的虚拟机
  • vmrun --help 查询命令使用方法

Redhat 7.2 可以使用VMware-Workstation-Full-12.1.1
现在最新版本是VMware-Workstation-Full-15.5.6-16341506.x86_64.bundle估计要在CentOS8上可以直接安装,未验证。

在VMware中安装Centos7

  • 使用最小安装,不安装界面,可以预先配置好网络参数,设置root账号密码
  • 查看IP地址ip addr
  • 编辑网卡参数vi /etc/sysconfig/network-scripts/ifcfg-ens33,也可能是ifcfg-eth0名称,名称可以自定义,重点是MAC与IP
  • 安装虚拟机的服务器是可以ping通虚拟机里面的IP的,虚拟机里面的Centos也可以访问网络。当时外部的其他电脑无法直接访问虚拟机里面的Centos。初始安装默认是NAT模式(与虚拟机共享主机IP地址)
  • 在客户端把服务器的Vmware网卡配置修改成桥接模式(自动,虚拟机直接连接到外部网络),重启网卡服务service network restart,会重新生成一个与外部网络相同网段的IP地址。外部电脑也可以直接访问了。设置固定IP修改ifcfg-ens33dhcpstatic,添加IPADDR="192.168.33.70"自定义IP,添加GATEWAY="192.168.33.1",添加PREFIX="24",重启服务service network restart

问题安装后其他服务器还是无法访问

其他服务器只有22端口可以访问,大概率是被防火墙挡住了。

通过命令放开其他需要的端口:
firewall-cmd --zone= public --query-port=9000/tcp
firewall-cmd --reload
firewall-cmd --list-all

Centos7磁盘扩容

在vmware软件添加一块80G新硬盘

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cat /etc/fstab # 查看文件系统格式
mount # 查看mount信息
vgdisplay # Information about the volume group、可以查看vg name
vgs # The vgs tool is also useful for displaying a quick overview of the space available in the volume groups on a system
lvdisplay # Information about logical volumes,LV path
fdisk -l # 查看磁盘空间

fdisk -l /dev/sdb
pvcreate /dev/sdb
vgextend centos /dev/sda3 # 扩展vg,vg name centos
lvextend -L+80G /dev/centos/root # 扩展空间,LV path,这个dev/mapper/centos-root路径也行
df -T /
xfs_growfs / # XFS filesystem 使用该命令同步扩展文件系统,或者xfs_growfs /dev/mapper/centos-root 命令
df -h # 查看容量

ls -l /dev/mapper/centos-root /dev/centos/root # 可以看出这两个路径是一个概念都是连接lvm dm-0设备。更详细的区别得google了
# 关注LV Name,VG Name,LV Path

网络配置

桥接

VMnet0

一般是使用桥接模式。跟主机使用相同的外部网络。

NAT模式(与虚拟机共享主机的IP地址)

VMnet8

  1. 这个虚拟机里面操作系统使用DHCP自动获取IP
  2. 虚拟机网络配置设置成NAT
  3. 在虚拟机软件编辑→虚拟网络编辑器, NAT设置… → 设置主机端口与虚拟机IP端口的映射关系
  4. 勾选将主机虚拟适配器连接到此网络
  5. 勾选使用本地DHCP服务将IP地址分配给虚拟机
  6. 就可以通过主机IP+Port访问虚拟机内部应用。相当于虚拟了一个路由器。

需要其他主机访问虚拟机里面的服务,需要增加VMnet1网络与VMnet8网络配合这两个网络都要连接上。 主机的防火墙也要关掉或者放开端口。

Configure Host-Only Networking for an Existing Virtual Machine
You can configure host-only networking for an existing virtual machine. You can connect a virtual network adapter to the default host-only network (VMnet1) or to a custom host-only network. If a virtual machine has two virtual network adapters, you can connect it to two host-only networks.

仅主机

VMnet1

就是只能主机访问虚拟机了,虚拟一个路由器,主机虚拟了一个网卡连接到这个路由器、虚拟机使用跟主机虚拟的网卡相同网段的地址,也是连接到这个虚拟路由器。

其他说明

连接到物理网络需要有路由器,如果是网线直连是不行的,会导致外面无法访问内部网络。都是通过VMnet0虚拟交换机连接到主机网络。
route print查看windows相关路由信息。

其他

查找vmx,默认目录/var/lib/vmware/Virtual Machines

1
find / -name "*.vmx"

启动vmx vmrun start xxx.vmx。 可以再xshell执行需要安装xmanager。空格需要转义比如切换到cd CentOS\ 4_5_6\ \(64-bit\)/目录cd CentOS\ 4_5_6\ \(64-bit\)/。太难敲了直接用vmrun start *.vmx。无gui启动虚拟机:vmrun -T ws start xxx.vmx nogui (-T 是区分宿主机的类型,ws|server|server1|fusion|esx|vc|player,比较常用的是ws、esx和player)
关闭虚拟机vmrun stop "/CentOS/VMware/xxx.vmx" hard | soft (强制关闭虚拟机(相当于直接关电源) | 正常关闭虚拟机)
重启vmrun reset "/CentOS/VMware/xxx.vmx" hard | soft(冷重启虚拟机 | 热重启虚拟机)
列出虚拟机vmrun list

参考