一、VMware 与 CentOS 简介
Mware 虚拟机是一款功能强大的专业虚拟机软件,由 VMWare 公司开发。它可以在一台机器上同时运行两个及以上的 Windows、Linux 和 MacOS 等操作系统。VMware 总部位于美国加州帕洛阿尔托,是全球云基础架构和移动商务解决方案厂商。
VMware 的主要作用有很多。首先,它不需要重新对硬盘进行分区和重新开机就能在同一台机器运行和使用两种以上的操作系统。其次,安装在虚拟机里的不同操作系统相互之间完全隔离,并且可以保护不同操作系统的操作环境及各自安装在系统中的应用软件和资料。此外,不同的虚拟操作系统之间能够互动操作,对网络、设备、文件共享进行连接,还可以实现相互之间的复制、粘贴等功能。同时,VMware 还具有复原功能,能够设定并且随时修改操作系统的操作环境,如内存、磁盘空间、周边设备等等。
CentOS7 和 CentOS8 都有各自的特点和优势。CentOS7 采用 Systemd 初始化技术,并行运行方式,提高了系统的启动速度。在 yum 源上做了优化,默认会自动寻找离自己地理位置最近的 yum 源下载软件。同时,CentOS7 的命令也有所变化,一些常用命令需要通过安装相应软件包来获取。此外,CentOS7 只需要一行命令就能搞定字符集修改,开机启动管理也更加方便。
CentOS8 基于 Red Hat Enterprise Linux (RHEL) 8,具有许多新的功能和改进。例如,CentOS8 的 GNOME Shell 的 GUI 版本已经更新到基于 3.28 版本,默认使用 Wayland 作为显示服务器。在网络功能方面,CentOS8 使用 TCP 网络堆栈版本 4.16,网络栈升级到上游版本 4.18,iptables 被 nftables 框架取代,成为默认的网络包过滤工具。软件管理方面,YUM 包管理器现在基于 DNF 技术,提高了性能,支持模块化内容,并且提供了设计良好的稳定 API。在语言、web 服务器和数据库方面,CentOS8 提供了 Python 3.6 和有限的 Python 2.7 支持,还有 Node.js、PHP 7.2、Ruby 2.5、Perl 5.26、SWIG 3.0 等动态编程语言,以及 MariaDB 10.3、MySQL 8.0、PostgreSQL 10、PostgreSQL 9.6 和 Redis 5 等数据库服务器,Web 服务器有 Apache HTTP Server 2.4 和 nginx 1.14。在虚拟化技术方面,CentOS8 与 qemu-kvm 2.12 一起发布,支持 Q35 客户机类型、UEFI 客户引导、vCPU 热插拔、NUMA 调优等功能。
二、VMware 虚拟机安装 CentOS8
(一)准备工作与虚拟机创建
首先,我们需要下载安装包。VMware 可以从其官方网站下载,而 CentOS8 可以从镜像站点如阿里云等下载。
创建新虚拟机时,打开 VMware,选择 “创建新的虚拟机”,配置类型选择 “自定义(高级)”,然后依次点击 “下一步”。在选择客户机操作系统时,选择 “Linux (L)”,版本选择 “CentOS 8 64 位”。接着,可以自定义虚拟机名称和存放位置。根据自己电脑的配置设置合适的处理器数量和内存大小。设置虚拟机网络连接模式为 “NAT”,选择合适的 I/O 控制器类型和磁盘类型,创建新虚拟磁盘并分配适当的磁盘容量,勾选 “将虚拟磁盘拆分成多个文件”。最后点击 “完成”,虚拟机创建完成。
(二)安装 CentOS8 过程
右击刚刚创建好的虚拟机,点击 “设置”,选择 “CD/DVD”,勾选 “启动时连接”,再选择使用 ISO 映像文件,找到提前下载好的系统镜像文件,最后点击 “确定”。点击开启此虚拟机,鼠标点进黑色窗口,使用键盘方向键选择第一项,然后回车,系统开始自动安装。
选择安装过程中的语言,这里可以根据自己的需求选择,点击 “Continue 继续”。然后依次设置各个模块,首先点击 “Root Password”,设置登录密码,两次输入需要保持一致,确认输入无误后,点击两次左上角的 “Done”。再点击 “Installation Destination”,点击两次 “Done” 设置完成。接着点击 “Network & Host Name”,开启右侧的 “Ethernet(ens160)” 开关,由于选择的是 NAT 模式,系统会自动分配一个 IP 给这台虚拟机,也可以根据需要设置静态 IP,之后点击两次 “Done”。此时 “Installation Source” 会进行自动配置,待该模块配置完毕后,点击 “Software Selection” 进行选择,如选择 “Minimal Install”,点击两次 “Done” 完成设置。依次完成所有设置后,点击 “Begin Installation”,系统开始安装。等待系统安装完毕后,点击 “Reboot System” 重启系统。
(三)登入虚拟机
系统重启完毕后会进入到系统登录页面,在登录页面输入默认的用户 “root”,点击回车,然后输入之前设置好的登录密码。需要注意的是,密码输入时是不可见的,所以一定要牢记自己设置的登陆密码,输入错误会提示登录失败,再次输入用户名和密码登录即可。如果登录过程中遇到问题,可以检查密码是否正确输入,网络连接是否正常等。一般来说,只要按照正确的安装步骤进行操作,登录过程是比较顺利的。
三、VMware 虚拟机安装 CentOS7
(一)准备工作与虚拟机创建
首先,下载 VMware 虚拟机软件,可以从官方网站获取。同时,准备 CentOS7 的镜像文件,可以从阿里云等镜像站点下载。
打开 VMware,选择 “创建新的虚拟机”,配置类型选择 “自定义(高级)”,然后依次点击 “下一步”。在选择客户机操作系统时,选择 “Linux (L)”,版本选择 “CentOS 7 64 位”。接着,自定义虚拟机名称和存放位置。根据实际情况设置处理器数量和内存大小。设置虚拟机网络连接模式为 “NAT”,选择合适的 I/O 控制器类型和磁盘类型,创建新虚拟磁盘并分配适当的磁盘容量,如 50GB,并勾选 “将虚拟磁盘拆分成多个文件”。最后点击 “完成”,虚拟机创建完成。
(二)安装 CentOS7 过程
右击创建好的虚拟机,点击 “设置”,选择 “CD/DVD”,勾选 “启动时连接”,再选择使用 ISO 映像文件,找到下载好的 CentOS7 镜像文件,点击 “确定”。开启此虚拟机,鼠标点进黑色窗口,使用键盘方向键选择第一项 “Install CentOS 7”,然后回车。
选择安装过程中的语言,可根据自身需求选择,如中文,点击 “继续”。设置时区,选择亚洲上海。在 “软件选择” 中,可选择 “最小安装” 和 “开发工具”,以满足不同需求。接着点击 “安装位置”,默认即可,点击两次 “完成”。然后点击 “网络和主机名”,开启右侧的 “Ethernet” 开关,确保网络连接正常。之后点击两次 “完成”。最后点击 “开始安装”。设置 root 密码,两次输入需保持一致,确认输入无误后,点击两次左上角的 “完成”。等待系统安装完毕。
(三)安装后问题及解决
ifconfig 命令失效:CentOS7 已经不适用 ifconfig 命令了,已用 ip addr 命令代替。可以输入 ip addr 查看网卡分配情况。
网络不通:如果 pingwww.baidu.com不通,可能是网络未启用。可以通过编辑 /etc/sysconfig/network-scripts/ifcfg-ens32 文件,将 ONBOOT=no 改为 ONBOOT=yes,保存退出,然后重新启动网卡,命令为 service network restart。这样就可以看到一个绿色的 OK,现在 pingwww.baidu.com就可以 ping 通了。如果还是不通,可以检查虚拟机网络连接模式是否正确设置为 NAT,以及 IP 地址等配置是否正确。
四、CentOS7 与 8 在 VMware 中的使用体验及区别
(一)使用体验对比
内存需求方面:
CentOS8 对于内存的需求相对较高,一般在 VMware 上需要至少 2G 的内存才能较为流畅地运行,而 CentOS7 对内存的要求相对低一些。在实际使用中,如果分配的内存不足,CentOS8 可能会出现卡顿现象,而 CentOS7 在较低内存配置下仍能保持一定的稳定性。
安装过程感受:
安装过程中,两者都有一定的步骤,但 CentOS8 的安装过程中可能会遇到一些小问题,比如安装登录的时候可能会因为物理机内存和显卡的原因出现卡顿。而 CentOS7 的安装过程相对较为顺利,较少出现这类问题。
VMware Tools 方面:
CentOS7 通常自带 VMware Tools,安装相对方便,安装后可以提升虚拟机性能,如鼠标指针在虚拟机与主机之间移动更加流畅,文件共享变得更加方便,以及虚拟机与主机之间的时间同步得到改进。而 CentOS8 不自带 VMware Tools,需要手动安装,安装过程相对复杂一些。
(二)功能区别
内核版本:
CentOS7 采用内核版本为 3.10-0-x,而 CentOS8 采用内核版本为 4.18.0-x。
网络时间同步:
CentOS7 支持 Chronyd 和 NTP 两种时间同步方式,而 CentOS8 只使用 Chronyd,不支持 NTP 部署。
文件系统支持:
两者默认的文件系统都是 XFS。但 CentOS8 中 XFS 文件系统支持的最大文件大小已从 500 TiB 增加到 1024 TiB,仅适用于 64 位机器。而 CentOS7 最大文件大小和文件系统大小均为 500TiB。
网络数据包过滤:
CentOS8 使用 nftables 取代了 iptables 框架,firewalld 守护进程现在使用 nftables 作为默认后端,为 IPv4 和 IPv6 协议提供了一个单一的框架。而 CentOS7 firewalld 守护进程使用 iptables 作为其默认后端。
数据库:
CentOS8 默认支持的数据库有 MySQL 8.0、MariaDB 10.3、PostgreSQL 10 和 PostgreSQL 9.6、Redis 5.0。而 CentOS7 中 MySQL 的默认实现是 MariaDB。
虚拟机管理:
在 CentOS8 系统中,默认情况下由 Cockpit 管理虚拟机,如果需要还可以安装 virt-manager。而在 CentOS7 系统中 virt-manager 将用于基于 KVM 的虚拟系统管理。
版本控制系统:
CentOS8 提供 Git 2.18、Mercurial 4.8、Subversion 1.10,并发版本系统(CVS)和版本控制系统(RCS)在 CentOS8 中都不可用。而 CentOS7 与三个最流行的开源修订控制系统一起发布:Git、SVN 和 CVS。
编程语言版本:
CentOS8 提供 Python 3.6、PHP 7.2、Ruby 2.5、Node.js 10 等新版本编程语言。而 CentOS7 支持 Python 2(2.7.X)、PHP 5.4、Ruby 2.0.0 等编辑语言。
容器技术支持:
CentOS8 中 Docker 不包括在内,使用容器时,需要使用 podman、buildah、skopeo 和 runc 工具,podman 工具已经作为一个完全支持的特性发布了。而 CentOS7 中 Docker 和 Docker Registry 是 CentOS7 中的 Extras 订阅频道的一部分。
开发工具支持:
CentOS8 提供 OpenJDK 11、OpenJDK 8、IcedTea-Web 和各种 Java 工具,如 Ant、Maven 或 Scala。CentOS7 中,OpenJDK8 用作默认的 Java 开发工具包(JDK),而 Java 8 用作默认的 Java 版本。
NFS 配置对比:
CentOS8 的 NFS 配置文件是 /etc/NFS.conf。而在 CentOS7 中,默认的 NFS 配置文件是 /etc/sysconfig/NFS。
网络管理:
在 CentOS8 中,network 在默认情况下不可用。有一个新版本的 ifup 和 ifdown 正在使用,这将需要 NetworkManager 守护进程运行,并在后端使用 nmcli。如果需要早期的网络脚本,则必须安装 “network-scripts” 包。ifconfig、route 默认也不可用,取而代之是 iproute2 包中的 ip 命令。需要使用之前的命令管理网络就得安装 net-tools。而 CentOS7 中网络管理相对较为传统和稳定。
五、CentOS7&8 在 VMware 虚拟机中的模拟方法总结
(一)桥接模式下设置静态 IP 的方法
CentOS7 设置静态 IP(桥接模式):
在虚拟机设置里面,将网络适配器里面的网络连接点成桥接模式。
打开自己电脑的 CMD,输入ipconfig -all查看自己主机的一些网络信息,记住网关、子网掩码等。
打开虚拟机,登录进去,进入/etc/sysconfig/network-scripts/目录。
找到ifcfg-ens*开头的文件,例如ifcfg-ens33。使用vi ifcfg-ens33打开它,再按一下i键编辑它,添加如下配置:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="30149c54-cc1f-4de2-87ca-b2d232c0019b"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="与主机同网段但不重复的 IP 地址"
GATEWAY="主机网关 IP"
NETMASK="主机子网掩码"
DNS1="8.8.8.8"
DNS1="8.8.4.4"
接着按一下esc键,再输入:wq保存并退出,输入service network restart重启网络。如果重启网络失败,可以尝试关闭 NetworkManager 服务,即service NetworkManager stop,并且禁止开机启动chkconfig NetworkManager off,再重启网络服务。
CentOS8 设置静态 IP(桥接模式):
在虚拟机设置里面,将网络适配器里面的网络连接点成桥接模式,并选中复制物理网络连接状态。
编辑网卡文件,vim /etc/sysconfig/network-scripts/ifcfg-ens160(具体文件名可能不同)。将BOOTPROTO由原来的dhcp改成static,并添加以下配置:
IPADDR=192.168.0.111 # ip 地址前三个网段跟宿主机保持一致,第四个不要跟宿主机 IP 相同
GATEWAY=192.168.0.1 # 网关跟宿主机一样
NETMASK=255.255.255.0 # 子网掩码一般都是这个
DNS1=114.114.114.114 # DNS 地址,网上有的教程说可以不写,但可能不写不行,直接写这个
编辑好之后保存重启一下网卡服务,可以使用nmcli c reload,然后可以使用nmcli c up ens32(具体网卡名可能不同)或nmcli d reapply ens32或nmcli d connect ens32使配置生效。最后可以ping一下百度测一下通不通。如果出现虚拟机能ping通外网但ping不通主机的情况,可能是因为 windows 开启了防火墙,去控制面板中将防火墙关闭即可。
(二)不同安装方式和配置的要点回顾
安装方式:
可以从阿里云等镜像站点下载 CentOS7 和 CentOS8 的镜像文件。
在 VMware 中新建虚拟机选择自定义(高级),然后依次按照选择客户机操作系统为 Linux 并选择相应版本、设置虚拟机名称和存放位置、配置处理器和内存、选择网络类型为 NAT、创建虚拟磁盘等步骤进行操作。
通过虚拟机设置选择使用 ISO 映像文件进行系统安装。
配置要点:
CentOS7 和 CentOS8 在安装过程中有一些不同的配置选项,如 CentOS7 在 “软件选择” 中可以选择 “最小安装” 和 “开发工具” 等,CentOS8 在安装过程中可能会遇到一些小问题需要注意。
在安装完成后,可能会遇到一些问题需要解决,如 CentOS7 中ifconfig命令失效需要用ip addr命令代替,网络不通时需要检查网络配置等。
对于 CentOS7 和 CentOS8 在 VMware 中的使用体验和功能区别,需要根据实际需求进行选择和配置,如内存需求、VMware Tools 安装、内核版本、网络时间同步、文件系统支持、网络数据包过滤、数据库、虚拟机管理、版本控制系统、编程语言版本、容器技术支持、开发工具支持、NFS 配置对比、网络管理等方面的不同。