[Linux]Vmwaer创建CENTOS7虚拟机
阅读原文时间:2023年07月17日阅读:2

1 前期准备

  • CENTOS系统镜像

本实验版本: CENTOS 7.9

  • 安装 VMware Workstation

本实验版本: VMware Workstation Pro 15.0

2 VMware 创建 CENTOS

VMware: 文件>新建虚拟机(Ctrl+N)

典型安装:VMware会将主流的配置应用在虚拟机的操作系统上,对于新手来很友好。

自定义安装:自定义安装可以针对性的把一些资源加强,把不需要的资源移除。避免资源的浪费。

需注意兼容性: 高版本VMware创建的虚拟机低版本VMware中不兼容,低版本VMware创建的虚拟机在高版本VMware中兼容

  • 若是用VMware12创建的虚拟机复制到VM11、10或者更低的版本会出现一不兼容的现象。
  • 若是用VMware10创建的虚拟机在VMware12中打开则不会出现兼容性问题。

选择之后将要安装的操作系统。

处理器分配要根据自己的实际需求来分配。

在使用过程中CPU不够的话是可以再增加的。

内存也是要根据实际的需求分配。我的宿主机内存是8G所以我给虚拟机分配2G内存。

网络连接类型一共有:桥接NAT仅主机不联网 4种。

  • 桥接:选择桥接模式的话虚拟机和宿主机在网络上就是平级的关系,相当于连接在同一交换机上。桥接模式里虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络。如上图所示的局域网中添加了一台新的、独立的计算机一样。宿主机与vm虚拟机是平级关系。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问。
  • NAT:NAT模式就是虚拟机要联网得先通过宿主机才能和外面进行通信。NAT模式使用的是VMware自己的网络连接模式。
  • 仅主机:虚拟机与宿主机直接连起来

桥接与NAT区别: 桥接NAT模式访问互联网过程,如下图所示


博主选择的【桥接模式】



点击【完成】,已经创建好虚拟机。

step12.1 右击刚创建的虚拟机,选择设置

step12.2 选择CENTOS的ISO镜像,作为CD/DVD的待安装系统文件

先选择CD/DVD,再选择使用ISO映像文件,最后选择浏览找到下载好的镜像文件。启动时连接一定要勾选上后确定。

step12.3 开启虚拟机

step12.4 安装操作系统

1 开启虚拟机后会出现以下界面:

  • Install CentOS 7 安装CentOS 7 【←选择此项,Enter】
  • Test this media & install CentOS 7 测试安装文件并安装CentOS 7
  • Troubleshooting 修复故障

选择第一项,安装直接CentOS 7,回车,进入下面的界面






2 如下图所示,点击加号,选择/boot,给boot分区分200M。最后点击Add:

3 然后,以同样的办法给其他三个区分配好空间后点击Done

4 然后,会弹出摘要信息,点击AcceptChanges(接受更改)

5 设置主机名与网卡信息


6 最后,选择Begin Installation(开始安装)

7 设置root密码


8 点击USER CREATION,创建管理员用户 (可掠过)

9 Reboot, Over!

3 补充

虚拟机 右键> 设置 > 选项 > 共享文件夹 > 总是启用 > 添加 (共享文件夹) > …


case2.1 问题描述

case2.1.1 宿主机的基本信息

宿主物理机:
    OS Version: Windows 10(x86_64)
    网络: WFII/WLAN (局域网固定静态IP地址: 192.168.1.4 / 默认网关: 192.168.1.1 / 网段: 192.168.1.x/24)

case2.1.2 需实现的效果

效果: CENTOS7虚拟机 与 Win10宿主物理机 处在同一局域网网段 => 能够互相访问。

  • 尤其是,Windows宿主机能够通过【ssh】直接登录到CENTOS7虚拟机.

  • 尤其是,CENTOS7虚拟机能够在直接访问【互联网公网】

    即:

    1. [网络配置]CENTOS7虚拟机 的 网络连接类型 := 桥接模式

    2. [网络配置]CENTOS7虚拟机 的 网段为: 192.168.1.x/24; 默认网关为: 192.168.1.1

    3. [网络配置]CENTOS7虚拟机 的 采用 固定/静态 IP (即 需弃用 DHCP 动态主机配置协议)
      假定 CENTOS7虚拟机的 固定静态IP地址为: 192.168.1.16

    4. [通信/交互方式] CENTOS7 需 关闭22防火墙段,并开启sshd服务。

case2.2 配置CENTOS7虚拟机的【网络连接类型】为【桥接模式】

虚拟机 右键> 设置 > 硬件 > 网络适配器 > 桥接模式(自动) > 确定

case2.3 配置CENTOS7虚拟机的【网络IP】

目标回溯:

操作步骤:

  • 找到网卡名称————ens33

    ifconfig

ifconfig := interfaces config := 网卡配置。

ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

  • 配置虚拟机网络IP

———— VMware 桥接模式的虚拟机可行(亲测,桥接模式下仅此一种方式可行)

sudo chmod 777 /etc/sysconfig/network-scripts/ifcfg-ens33

vi /etc/sysconfig/network-scripts/ifcfg-ens33
  TYPE="Ethernet"
  PROXY_METHOD="none"
  BROWSER_ONLY="no"
  BOOTPROTO="static" 【dhcp 换为 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="0daxx917-ffe8-4feb-b77e-f9f1bd97ebec"
  DEVICE="ens33"
  ONBOOT="yes" [说明:ONBOOT是指明在系统启动时是否激活网卡,只有在激活状态的网卡才能去连接网络,进行网络通讯]
  IPADDR=192.168.1.16 【配置 固定IP 地址】
  NETMASK=255.255.255.0 【配置 网段】
  GATEWAY=192.168.1.1 【配置 默认网关 】
  DNS1=114.114.114.114 【配置 DNS 服务器】

延申: 如何配置动态IP?启用DHCP协议?

  • 方式1(永久)———— VMware 桥接模式的虚拟机不可行(亲测)

区别: BOOTPROTO(staticdhcp) / 屏蔽:IPADDR/NETMASK/GATEWAY/DNS1

YPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
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="0dafd917-ffe8-4feb-b77e-f9f1bd97ebec"
DEVICE="ens33"
ONBOOT="yes"
#IPADDR=192.168.43.16
#NETMASK=255.255.255.0
#GATEWAY=192.168.43.1
#DNS1=114.114.114.114
  • 方式2(临时)————VMware 桥接模式的虚拟机不可行(亲测)
sudo ifconfig ens33 172.16.199.18/24 up

  • 重启网络服务

    systemctl restart network

其一,这样动态配置IP地址就设置好了,这个时候再查看一下ip addr 或者 ifconfig,就可以看到已经获取了IP地址。

ip addr
    或者 ifconfig 等

其二,在宿主机Windows 10上,已经可以ping到虚拟机 CENTSOS7虚拟机了。(为后续 宿主机 sshd/22端口 登录 CENTOS7虚拟机做铺垫)

其三,虚拟机CENTOS7里已经可以上【公网互联网】了。

ping baidu.com

case2.4 开启22端口或关闭防火墙,启动sshd服务

systemctl start sshd
systemctl status sshd

systemctl stop/status/reload firewalld
firewall-cmd --list-all
firewall-cmd --query-port=8080/tcp [查询是否开放了指定端口]
firewall-cmd --permanent --add-port=80/tcp [开放指定端口]
firewall-cmd --permanent --remove-port=8080/tcp [移除指定端口]

  • 测试: 宿主机Windows 10 使用 xshell 连接 虚拟机

本小节转载自: Linux ifconfig命令详解 - 博客园

ifconfig(interfaces config)。通常需要以root身份登录或使用sudo来使用ifconfig工具

ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

ifconfig命令配置的网卡信息,在网卡重启后、机器重启后,配置就不存在

故,要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

  • 网卡启、停、重载命令

    ifconfig eth0 up # 启动
    ifcfg etho up # 启动

    ifconfig eth0 down # 关闭
    ifcfg eth0 down # 关闭

    ifconfig eth0 reload # 重启

    说明: ifconfig eth0 up 为启动网卡eth0 ;ifconfig eth0 down 为关闭网卡eth0。
    ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

  • 为网卡配置和删除IPv4地址【临时生效,永久生效需要更改配置文件】

eth2网卡配置文件: /etc/sysconfig/network-scripts/ifcfg-eth2

[root@localhost ~]# ifconfig eth0 192.168.25.166 netmask 255.255.255.0 up

[root@localhost ~]# ifconfig eth0 192.168.25.166/24 up       【效果同上】

[root@localhost ~]# ip addr add 192.168.25.166/24  dev eth0  【效果同上】
  • 为网卡配置和删除IPv6地址【临时生效,永久生效需要更改配置文件】

eth2网卡配置文件: /etc/sysconfig/network-scripts/ifcfg-eth2

ifconfig eth0 add 33ffe:3240:800:1005::2/64             # 为网卡eth0配置IPv6地址 

ifconfig eth0 del 33ffe:3240:800:1005::2/64              # 为网卡eth0删除IPv6地址
  • 用ifconfig修改MAC地址

    ifconfig eth0 down //关闭网卡

    ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址

    ifconfig eth0 up //启动网卡

  • 启用和关闭ARP协议

    ifconfig eth0:ws arp

    ifconfig eth0:ws -arp

  • 设置最大传输单元

    ifconfig eth0 mtu 1500

    Settings > Privacy > Screen Lock > Off/On

(未亲测)

Y 延申场景

Q0: 克隆CENTOS并启动时,VMware 报"克隆时出错:指定的虚拟磁盘需要进行修复"的问题

  • 解决思路

进入到VMware安装目录,在地址栏输入cmd,利用vmware-vdiskmanager.exe修复虚拟磁盘

cd D:\Program Files(x86)\VMware-Workstation
vmware-vdiskmanager -R "G:\VirtualMachines\CentOS64 位\CentOS 64 位.vmdk"

Q1: 克隆CENTOS并启动时,出现黑屏: "Host SMBus controller not enabled"的问题

step1 lsmod | grep i2c
  显示输出的结果是模块的确切名字:i2c_piix4

step2 vi /etc/modprobe.d/dccp-blacklist.conf
  将该模块列入不装入名单 => 在文件中加入1行配置,然后保存: blacklist i2c-piix4


step3 reboot
  重启

Q2: 克隆CENTOS并启动时,出现黑屏: "sd 0:0:0:0: [sda] Assuming drive cache: write through …"的问题

解决方法:

step1  vi /etc/default/grub
  文件里去掉 rhgb 参数,其中"rhgb"表示"redhat graphics boot" 即 图形进度条模式

step2 grub2-mkconfig -o /boot/grub2/grub.cfg


Q3: 克隆CENTOS并启动时,出现黑屏: "welcome to emergency mode!after logging in ,type “journalctl -xb” to view system logs …"的问题

黑屏内容

welcome to emergency mode!after logging in ,type “journalctl -xb” to view system logs,“systemctl reboot” to reboot ,“systemctl default” to try again to boot into default mode。
give root password for maintenance
(?? Control-D???):

可能的原因

在先前拷贝的CENTOS虚拟机内配置文件 /etc/fstab 写入了光盘自动挂载,但开机有没有挂载成功导致的
  此类错误,多注意一下: 是不是加载了外部硬盘、存储器或者是网络共享空间,在重启时没有加载上导致的。

解决方法

step1 登陆root

step2 vim /etc/fstab ,检查磁盘挂载信息

step3 注释掉自己增加的内容,如果确定不在使用可以删除

step4 reboot 重启

X 参考文献