跳过正文

VMware Workstation 安装虚拟机指南

·895 字·5 分钟· loading · loading ·
目录

前言:本文主要介绍 CentOS 7 的安装使用,学习过程跟随“老男孩”老师,因此本文也有部分学习笔记可供参考。

一、创建一个新的虚拟机
#

1、使用快捷键 ctrl+N 会弹出新建虚拟机向导的窗口。

2、使用自定义,继续下一步,接着默认下一步。

3、这里选择稍后安装系统,在创建虚拟机后,手动选择镜像或光盘放入虚拟光驱进行安装。

如果选择“安装程序光盘印象文件”,则会在创建完虚拟机后自动安装系统,虽然方便,但是会增加太多的安装包,并且会自动分区,这样不符合企业环境安装的标准。

4、这里选择 Linux 系统,版本为“CentOS 7 64 位”,接着下一步。

5、为虚拟机命名并选择程序安装路径。

6、配置虚拟机处理器。

7、为虚拟机选择内存资源的大小。

8、为虚拟机选择网络类型。

这里使用 NAT(地址转换)进行网络连接。虚拟机借助 NAT (网络地址转换)功能,通过宿主机所在的网络来访问公网。采用 NAT 模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

参考链接:

桥接、NAT、Host-only 上网方式的区别-腾讯云开发者社区-腾讯云

三种连接方式:bridge,NAT,host-only 的区别_hostonly nat-CSDN 博客

9、选择虚拟机的 I/O 控制器类型,一般使用默认的。

10、磁盘类型选择推荐的类型。

11、采用默认的“创建新虚拟磁盘”。

12、采用默认的 20GB 的大小。

13、指定磁盘文件存储位置,路径为:I:\VMwareALL\clusters\CentOS_7_OldboyCoreBasis\CentOS_7_OldboyCoreBasis.vmdk。

14、检查配置的虚拟机的所有选项信息。点击“自定义硬件”按钮可以进行修改。

15、创建虚拟机后的界面信息,左边是虚拟机的名称,右边是虚拟机的实际配置。

16、将 ISO 镜像文件载入光驱


二、下载 CentOS 系统 ISO 镜像
#

访问 CentOS 的官方站点(不挂梯子) The CentOS Project

其他国内的下载站点 centos 安装包下载_开源镜像站-阿里云


三、安装 CentOS 操作系统
#

1、选择系统引导方式
#

共三种方式,选择第一个直接安装

第三种 Troubleshooting 是系统故障恢复。

2、修改网卡名为 eth0 的形式,按 Tab 键进入内核参数配置界面,并手动输入如下参数:
#

net.ifnames=0 biosdevname=0

3、进入图形安装界面,默认选择安装过程的语言为英语。
#

4、进入到安装摘要界面(Installation Summary)
#

5、配置系统时区和时间(上海)
#

6、选择额外的语言支持
#

7、系统软件包选择,一般选择最小化安装。
#

8、配置网络和主机名,激活右上角的网卡按钮“ON”,然后配置左下角的主机名为“www”。
#

不建议保留默认的“Host name”主机名,设置一个规范的主机名,会显得更加专业。

9、选择磁盘设备,配置分区。
#

10、按企业生产标准定制磁盘分区,将 LVM 分区改为更优秀的标准分区模式“Standard Partition”。
#

Linux 系统磁盘分区知识简介:

1、磁盘在使用之前一般要先分区(买房分居室)

2、分区有主分区、扩展分区和逻辑分区。一块磁盘最多可以拥有 4 个分区,其中一个主分区的位置可以用一个扩展分区来替换,在这个扩展分区内可以划分多个逻辑分区。

3、如果规划的分区数量超过 4 个,则分区组合可为 3primary(p)+1extend(e)或 2p+1e 或 1p+1e。

4、一块磁盘最多只能有一个扩展分区,扩展分区不能直接使用,必须在扩展分区上划分逻辑分区,然后格式化(创建文件系统),之后才能存取数据或装系统。

磁盘分区命名及编号方式:

(1)以设备名命名 在 Linux 系统中,磁盘设备对应于系统中的特殊文件,这些特殊的文件放在“/dev”目录中,不同的设备对应的设备名称具体如下。 *系统的第一块 IDE 接口的硬盘称为/dev/hda。 *系统的第二块 IDE 接口的硬盘称为/dev/hdb。

*系统的第一块 SCSI 接口的硬盘称为/dev/sda ​ *系统的第二块 SCSI 接口的硬盘称为/dev/sdb。 (2)使用数字编号 ​ 为了表示不同的分区,通常会使用数字进行编号,比如如下示例名称。 ​ *系统的第一块 IDE 接口硬盘的第 1 个分区称为/dev/hda1 ​ *系统的第一块 IDE 接口硬盘的第 5 个分区称为/dev/hda5 ​ *系统的第二块 SCSI 接口硬盘的第 1 个分区称为/dev/sdb1。 ​ *系统的第二块 SCSI 接口硬盘的第 5 个分区称为/dev/sdb5 ​ 需要注意的是,在对分区进行编号时,数字 1~4 只能留给主分区或扩展分区使用, 逻辑分区(在扩展分区基础之上)的编号只能从 5 开始。 ​ 在对 Linux 系统设置了分区之后,还要在分区上创建文件系统才能安装系统,这个在安装时可由系统自行完成创建。

Linux 系统对分区的基本要求 1)最少要有一个根( / )分区,用来存放系统文件及程序。其大小至少在 5GB 以上。

2)要有一个 swap(交换)分区, 它的作用相当于 Windows 里的虚拟内存,swap 分区的大小一般为物理内存容量的 1.5 倍(内存<8GB)。但当系统物理内存大于 8GB 时, 则对 swap 分区配置 8-16GB 即可, 太大无用,浪费磁盘空间。swap 分区不是必须的, 但是大多数情况下还是设置一下比较好,个别企业的数据库应用场景不分 swap 。

3)/boot 分区,这是 Linux 系统的引导分区,用于存放系统引导文件, 如 Linux 内核等。对于 CentOS7 而言,其要比以前的版本大一些。因此, 该分区可以设置为 1024MB,这个分区也不是必须的。

企业生产场景中 Linux 系统的分区方案 常规的分区方案如下。 方案 1:针对网站集群架构中的某个节点服务器分区,该服务器上的数据包含多份(其他节点也有)且数据不太重要,建议的分区方案如下。

/boot: 设置为 512~1024MB

swap: 物理内存的 1.5 倍,当内存大于等于 8GB 时,分配 8~16GB 即可。

/: 剩余硬盘空间大小(/usr、/home、/var 等分区和“ / ”共用一个分区,这就相当于是在 Windows 系统中只有一个 C 盘一样,所有数据和系统文件都存放在一起)。

方案 2: 针对数据库及存储角色的服务器分区,该服务器的业务包含了大量重要的数据,建议分区方案如下。

/boot: 设置为 512~1024MB。

/: 大小设置为 50-200GB,只存放系统相关文件,网站等的业务数据不放在这里。

swap: 物理内存的 1.5 倍,当内存大于等于 8GB 时,分配 8~16GB 即可。

/data:剩余硬盘空间大小,存放数据库及存储服务等重要数据。当然,data 的名称也可以换成别的名字。

本方案其实就是将重要数据单独分区,以便于备份和管理。

方案 3: 针对大网站或门户级别企业的服务器进行分区 /boot: 大小设置为 512~1024MB。

/swap: 物理内存的 1.5 倍,当内存大于等于 8GB 时,分配 8~16GB 即可。

/: 大小设置为 50~200GB,只存放系统相关文件,网站等的业务数据不放在这里。

保留剩余的磁盘空间,不再进行分区,将来分配给不同的使用部门,由他们自己根据需求再分!

此种分区方案更灵活,比较适合业务线比较多且需求不确定的大企业使用。 对于分区,有网友还给出了如下的方案:

/boot、swap、/、/usr、/home、/var

这种分区方案的特点是典型的没有主见的被动式的分区,分了太多的额外分区(/usr、/home、/var),没有必要不说,管理起来也更麻烦了, 这就类似于一个家庭就 2~3 口人,买了 100 平米的房子,却非要隔成好几个房间是一个道理的, 笔者极不推荐这样的分区方案。

如果说是怕某个分区满了会影响系统运行,那么这样的分区想法就更错了。第一, 硬盘空间是固定的,分区多了,比只分一个区肯定更容易满;第二,在企业应用里业务不可用和服务器宕机的危害几乎差不多,因此,分区少一些,然后对所有分区进行监控报警,这是目前大多数规范企业的选择。

本文采用常规的服务器分区方案,即分为/boot、swap、/ 三个分区,注意分区的先后顺序。

11、开始增加分区
#

Mount Point(挂载点)是 Linux 下访问磁盘分区的入口,往 /boot 分区( /dev/sda1 )里写入数据,则必须通过 /boot 入口来写入。

**Linux 文件系统类型:**xfs 作为 CentOS 7 中的默认文件系统类型替代了 CentOS 6 中默认使用的 ext4。

swap:内存交换空间。由于 swap 并不会使用到目录树的挂载,因此不需要指定挂载点。

搞懂 Linux 文件系统,99%的操作不求人_linux 文件系统-CSDN 博客

swap 分区配置说明 1)swap 分区不配置 Mount point 挂载点,swap 不需要人为访问,交给系统自动处理即可。 2)swap 分区的大小一般为物理内存容量的 1.5 倍(内存<8GB)。但当系统物理内存大于 8GB 时,swap 分区配置 8-16GB 即可,太大无用,还会浪费磁盘空间。 3)如果是学习环境,为了节省空间,swap 设置得小一点也没有问题。

**注意:**Linux 系统分区时,常规的分区方案为“/”、/boot、swap,其中 swap 不是挂载点( “/”、/boot 都是挂载点),而是分区类型,类似 ext4 的一个文件系统,如果在挂载点输入框处输入 /swap 创建 swap 分区那就错了。

分区设置后的提示界面,注意分区的顺序是:/boot、swap、/

提示: 这里采用的是生产环境中集群节点下的节点服务器的分区方式, 即系统坏掉后硬盘数据不需要保留。此分区方式也适合用于大多数生产环境的服务器, 如果是数据库以及存储等有重要数据的特殊业务服务, 那么一般会单独划分存放数据的分区如“/data” 。

除了/boot、swap 和“/”三个分区外,还可以加/usr、/home、 /var 等分区,具体情况需要根据服务器的需求来决定,一般情况下,只配置这三个分区就足够了。

这种分区方案最大的优点就是简单,使用方便,可批量安装部署, 而且不会存在有的分区满了, 有的分区还剩余了很多空间又不能被利用的情况(LVM 的情况这里我们先不阐述)。

该分区方案的缺点是:如果系统坏了,那么重新装系统时, 因为数据都在“/”(根) 分区,这就导致了数据备份很麻烦;如果设置了/usr、 /home、/var 等分区,那么即使系统出了故障,也可以直接在“/”(根)分区装系统,这样并不会破坏其他分区的数据。当然,刚才也说了,如果是不存在备份数据的集群节点,那么采用这种分区方案就是很明智的,不用特别担心某个分区爆满的问题。

12、开始系统安装
#

设置管理员 root安全密码

这里的登陆账户名是:root

13、系统安装后的基本配置
#

登录界面中的英文内容为 CentOS 的版本以及内核的当前版本。显示的 www 为主机名,login 为登陆提示。

当前 Linux 内核版本号为:

这里的“#”为超级管理员 root 输入命令的提示符。

配置网卡设置网络联网

这里已经事先在前面的安装步骤设置完成。

故障排除方法:

a、查看网卡信息

ip add

该命令是 Linux 系统中用于显示和管理网络接口地址的命令之一。它可以列出系统中所有的网络接口,包括物理网卡和虚拟网卡,并显示其 IP 地址、MAC 地址、网关、网络掩码等信息。

b、查看网卡配置文件以及网卡配置项的含义:

cat /etc/sysconfig/network-scripts/ifcfg-ens33

c、重启网卡的命令

systemctl restart network

查看默认网关设置的命令

ip route

查看 DNS 设置的命令

cat /etc/resolv.conf

14、使用 VMware 为新系统创建快照
#

创建快照的目的是将来能将系统随时还原到做快照时候的系统状态。关闭系统后再创建快照,可以节省磁盘空间。

15、更新系统打补丁到最新
#

yum 是 Linux 下安装软件的优秀工具,是 CentOS Linux 下最好用的包管理器和安装软件包的工具,用起来很方便。Linux 的二进制软件包一般是 rpm 包,类似于 windows 下的 exe 程序。需要将默认获取 rpm 包的地址改成国内的 yum 源地址。

参考:CentOS 停服后如何配置国内 yum 源镜像 | 丰盘 ECM 帮助中心

先备份系统原始 yum 源配置文件

将系统内置或手工配置的 yum 源配置文件移动至至新的目录,例如 /etc/yum.repos.d/bak240712/ ,这样后续如果想恢复或者重置也比较方便。注意,如果不移走的话,最后步骤「重建本地缓存」的时候,有可能会受到老配置文件的影响而失败。

# 创建备份文件夹(sudo使用的是root权限,root登陆状态下可以省略)
sudo mkdir -p /etc/yum.repos.d/bak$(date +"%y%m%d")

# 将源配置移动至备份文件夹
sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak$(date +"%y%m%d")

修改更新 yum 源的命令为:

curl -s -o /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

下载 epel 源配置文件。

curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

运行一下两行命令重建本地缓存即可生效

yum clean all && yum makecache

测试安装软件包是否正常

yum install curl wget

使用如下命令将系统更新到最新状态:

yum update -y (也可以使用 yum upgrade -y)

16、额外安装一些有用的软件包
#

CentOS 6 和 CentOS 7 都要安装的企业运维常用的基础工具包:

yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y

centos 7 需要安装的企业运维常用的基础工具包:

yum install psmisc net-tools bash-completiom vim-enhanced -y

四、远程连接管理 Linux
#

**IDC 机房:**互联网数据中心(Internet Data Center)简称 IDC,就是电信部门利用已有的互联网通信线路、带宽资源,建立标准化的电信专业级机房环境,为企业、政府提供服务器托管、租用以及相关增值等方面的全方位服务。

遇到的问题:远程 ssh 服务器拒绝了 x11 转发请求,彻底解决用 Xshell 连接 linux ssh 时出现“The remote SSH server rejected X11 forwarding request”的…-CSDN 博客

1、远程连接 Linux 的原理
#

在互联网企业环境中,最常用的提供 Linux 远程连接服务的工具是 SSH 软件,其又分为 SSH 客户端和 SSH 服务端两部分。SSH 服务端包含的软件程序主要有 openssh (提供 SSH 服务的程序)和 openssl(为 SSH 提供连接加密的程序)。在 Linux 系统中查询 SSH 服务端工具的命令为:

rpm -qa openssh openssl

启动 Linux 系统时,默认启动 SSH 服务器端程序,其是一个守护进程(daemon),在系统后台永久运行并时刻响应来自所有 SSH 客户端的连接请求。SSH 服务端的进程名为 sshd,负责实时监听远程 SSH 客户端的连接请求并进行处理,包括公共密钥认证、密钥交换、对称密钥加密和非安全连接等。SSH 服务是 Linux 系统优化时需要保留开机自启动的服务之一。

最常用的 SSH 客户端是 windows 平台上运行的 SecureCRT。另外还有 Xshell、putty 以及 Linux 下的 SSH 等客户端软件。

SSH 服务端和客户端之间的交流是通过 SSH 协议(Secure Shell Protocol)来实现的。在进行数据传输之前,SSH 通过加密技术对联机数据包进行加密处理,再进行数据传输,这样就可以确保传递的数据安全。SSH 是专为远程登陆会话和其他网络服务提供的安全性协议,利用该协议可以有效防止远程管理中的信息泄露。

SSH 协议有两个不兼容的版本,分别是 SSH 1.x 和 SSH 2.x。openssh 同时支持 SSH 1.x 和 SSH 2.x。SSH 2.x 比 SSH 1.x 更安全,默认情况下服务端通过 SSH 2.x 协议提供服务。

2、工具的选择
#

根据实际情况决定,Xshell 一般更适合个人和学生学习使用。SecureCRT 应用时间更久,简单,用户基数大,但是收费。

参考Linux 服务器远程工具选择 SecureCRT 还是 Xshell 对比-腾讯云开发者社区-腾讯云

Xshell 安装说明

用户界面如下

点击工具栏中的第一个“+”号按钮,需要先查询到本机的 IP 地址。

点击连接后会弹出的界面如下

点击“接受并保存”后输入登陆用户名(超级管理员 root)

保存登陆密码,自动验证登录。

3、调整 Xshell 里的设置
#

4、配置记录 SSH 操作日志及输出
#

日志文件保存路径:I:\SSH%n*%Y-%m-%d*%t.log

5、配置本地机器上传下载目录
#

上传和下载的路径可以设置为同一个,当所选择的路径必须存在于系统中。

设置完毕后,可以通过 Xshell 连接的 Linux 命令行经由 rz 上传文件到 Linux 系统,通过“sz 文件名”即可下载文件到上述配置的路径里,从而实现客户端电脑和 Linux 主机的文件传输。

a、rz、sz 命令的安装方法
#

第一种:安装系统时选择包含 rz、sz 命令的包组“Dial-up Networking Support”

第二种:安装系统后,通过执行 yum install lrzsz -y 或者 yum groupinstall “Dial-up Networking Support” -y 命令来安装。

b、上传命令 rz
#

输入 rz -y 命令可以覆盖本地的同名内容,执行后会打开一个上传文件的窗口,从这个窗口找到所需文件(客户端电脑上的)进行上传到 Linux 系统。

c、下载命令 sz
#

执行命令 “sz -y filename”可以覆盖本地的同名内容进行下载,filename 是命令行 Linux 主机当前目录下的文件。默认的客户端下载路径就是先前设置的下载路径地址 I:\SSH\download

d、注意事项
#

只能上传和下载文件而不是目录,如果是目录则需要打包成文件。

上传文件是,不要勾选最下方的“以 ASCII 方式上传文件”。

e、其他工具
#

还可以使用 ftp、sftp、winscp 等工具来传输文件。

6、批量部署和管理
#

首先确保所有的标签是在同一个 Xshell 窗口中打开的。

然后,在任一个窗口中,右键选择最后一个选项"发送键输入到所有会话"

开启批量输入模式后,操作批量管理命令:

小规模批量部署或执行任务的服务器为数十台,可以使用 Xshell 的这个小功能。大规模服务器数量的部署,可以使用 ansiable 等批量管理工具。

7、配置 Xshell 标签路径
#

通过“工具”里面的“选项”指定一个新的配置目录来实现备份

8、配置标签模版
#

方法 1:对一个已经配置更好的标签实施复制、粘贴来新建标签,这样它就继承了老标签的配置。只需要再修改相应的特殊配置即可,如 IP、会话名字等。

方法 2:在全局选项里配置各种功能设置。

9、SSH 远程连接故障排查
#

a、首先查看远端服务是否正常。
#

利用 ping 命令检查(客户端执行,也就是客户端电脑 DOS 命令行或者 Xshell 界面)

DOS 是 Disk Operating System 的缩写,意为“磁盘操作系统”。

Win 键+R,输入 cmd,回车,直接进入 dos 界面。

在任意文件夹下面,按住 shift 键+鼠标右键,点击 Powershell 界面,即可进入 dos 界面。

参考DOS 操作系统详解:打开及基本指令指南-CSDN 博客

ping 192.168.120.129

b、检查 firewalld 等防火墙策略是否阻挡了连接(服务端执行)
#

systemctl status firewalld

c、利用 telnet 或 nmap 命令检查(客户端执行)
#

telnet 192.168.120.129 22
或
nmap 192.168.120.129 -p 22

参考(26 封私信 / 52 条消息) 两步解决 yum 无法安装软件问题:Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64 - 知乎

telnet 卡住了,键盘敲 CTRL+],然后输入 quit

d、系统中的 SSHD 服务是否正常开启,端口是否正确
#

netstat 是一个用于监控 TCP/IP 网络的命令行工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。在 CentOS 7 系统中,netstat 命令通常已经作为系统必备的网络工具包的一部分存在了,不需要额外安装。

netstat -Intup | grep sshd

参考:CentOS 7 下轻松安装与配置 netstat 命令详解 - 云原生实践

检查 netstat 是否已经安装:

使用 yum 安装 net-tools:

sudo yum install net-tools

安装完成后进行检查


五、克隆 VMware 下的虚拟机
#

对于完成配置操作的 Linux 主机,进行快照,可以当作模版机(temp)永久保留。

关闭当前模版机后,右键左边菜单栏的模版机标签,选择“管理”项进行克隆。

克隆的虚拟机信息,

Cloud_Shy
作者
Cloud_Shy
Don’t be shy, dare to share!