CentOS-7 虚拟机安装和部署-WIN-AMD-VMW
1. 环境说明和软件准备
环境说明:
- 宿主机操作系统:Window 10
- 宿主机 CPU 架构:x86_64
- 虚拟机软件:VMware Workstation Pro 15
- 虚拟机系统:CentOS-7.6
软件下载:
- CentOS 镜像下载地址:
- 阿里云:
https://mirrors.aliyun.com/centos-vault/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
- 清华大学:
https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
- 阿里云:
2. 创建虚拟机
在选择好系统镜像之后,如果选择【安装程序光盘映像文件】,会自动安装系统,虽然方便,但是会安装太多的服务和程序,并且会自动分区,所有我们选择【稍后安装系统】 来手动的安装系统。
关于 CentOS 系统不同版本所需的启动内存,参考本文附录【8.1 CentOS 系统启动所需内存】
关于网络连接的 3 种方式的区别,参考本文附录【8.2 虚拟机 3 种网络类型说明】
3. 虚拟机硬件设置
4. 虚拟网络配置
5. 安装系统
5.1 进入系统安装引导界面
提示:虚拟机界面与Windows界面鼠标切换:Ctrl + Alt
5.2 修改网卡名为 eth0
为了统一企业中的多版本系统共存的环境,这里将网卡名称设置为 eth*
的形式,不使用 CentOS7 默认的网卡命名规则,相关说明如下:
CentOS7 以前的 eth + 数字编号
的网卡命名方式往往不一定能准确对应网卡接口的物理顺序,CentOS7 的网卡命名方式可以解决这一问题,但同时也为 Linux 系统管理员带来了额外的困扰,即无法兼容 CentOS6 的环境以及使用习惯,所以一般都还是会改回早期的 eth0、eth1 这样的网卡命名方式,具体修改内核参数组合如下:
- 默认内核参数
biosdevname=0 net.ifnames=1
,网卡名如enp5s2
- 如果
biosdevname=1 net.ifnames=0
,网卡名如em1
- 如果
biosdevname=0 net.ifnames=0
,网卡名如eth0
(传统的方式)
所以在初始安装的时候,需要增加内核参数,先选中 【Install CentOS 7】,按 Tab 键进入内核参数配置界面,并手动输入以下参数,输入完成之后,按 【Enter】 即可进入下一步,随后也会看到按 【Enter】 的提示,等待即可。
也在系统安装之后也可以修改网卡名称,参考本文附录【8.3 CentOS7 修改网卡命名方式为传统方式】
5.3 选择语言,建议选择英文
如果由于分辨率问题导致【Continue】按钮看不到,就需要进入全屏模式:
5.4 安装摘要页面 INSTALLATION SUMMARY
5.5 配置系统时区和时间 DATE&TIME
5.6 选择额外的语言支持 LANGUAGE SUPPORT
5.7 系统软件包选择 SOFTWARE SELECTION
根据经验,选择安装包时应该采用最小化原则,即不需要的或不确定是否需要的东西就不安装,即【Minimal Install】,这样可以最大程度上确保系统安全。
如果安装过程中落下了部分组件,或者是其他伙伴安装时未选择,那么在安装完成之后也可以手动安装这些组件,参考本文附录【8.4 CentOS7 手动安装系统组件】
5.8 配置网络和主机名 NETWORK&HOSTNAME
经过这一步的配置,我们做了这些事情:
- 设置静态 IP 为 10.0.0.100
- 设置 DNS 服务器的地址为 223.5.5.5
- 设置主机名为 node01
这些配置都可以在系统安装完成后进行修改,参考附录【8.9 CentOS7 网络配置】
5.9 选择磁盘分区,配置分区 INSTALLATION DESTINATION
关于分区相关知识,参考本文附录【8.5 Linux 系统分区知识简介】
点击【Done】进入分区设置页面
说明:
LVM 的意思是逻辑卷管理,它可以对设置好的分区大小进行动态调整,前提是所有的分区格式都需要事先做成 LVM 分区格式,即分区标号为 8e,企业环境的分区一般都是按需求实现规划好的,极少有后续调整的需求,且 LVM 的性能和标准分区及硬件 RAID 卡相比还是有一定的差距的,因此,如果没有特殊需求,则不会选择 LVM 功能分区,而是使用更优秀的标准分区模式 Standard Partition。
关于 Linux 系统的多种分区方案,参考本文附录【8.6 Linux 系统分区方案】
说明:
- Mount Point:挂载点,这是 Linux 访问磁盘分区的入口,即如果要往 /boot 分区(/dev/sda1)里写入数据,则必须通过 /boot 入口来写入
- File System:文件系统类型,磁盘分区只有在设置了文件系统类型,格式化并挂载到挂载点之后,分区才能存放数据
关于文件系统类型的简介,参考本文附录【8.7 Linux 文件系统简介】
检查一下,确保所有分区(/、/boot、swap)的 Device Type 都是 Standard Partition,之后点击 【Done】
5.10 系统安全相关
KDUMP:将宕机前系统内存异常信息进行保存
SECURITY POLICY:系统的安全策略配置
5.11 系统安装
点击 【Begin Installation】
设置 root 用户的密码:
设置普通用户的密码:提示密码强度不够,要强制使用需要点击两次 【Done】
然后等待系统安装好即可,出现 【Reboot】 按钮就是已经安装好了
然后点击【Reboot】按钮进行重启,重启过程不需要任何操作,等待即可。
6. 系统安装后的操作与配置
6.1 登陆系统
6.2 检查网络配置
查看 IP 信息:ip address show
,简写为 ip a
或者使用 ifconfig
命令查看 IP 信息,如果没有 ifconfig
命令,执行 yum install net-tools -y
命令进行安装。
查看网关设置:ip route
查看 DNS 设置:cat /etc/resolv.conf
测试虚拟机能够访问外网:ping www.baidu.com
如不能访问外网,参考本文附录【8.8 系统无法联网的故障排除方法】
6.3 设置主机名与 IP 地址的映射关系
编辑 /etc/hosts
文件,增加 IP 地址和主机名的映射
$ sudo cat /etc/hosts
127.0.0.1 localhost
::1 localhost
10.0.0.100 node01
同时在 Windows的 C:\Windows\System32\drivers\etc\hosts
文件中也增加同样的内容:10.0.0.100 node01
6.4 关闭防火墙
# 关闭防火墙服务
systemctl stop firewalld
# 禁用防火墙服务
systemctl disable firewalld
# 查看防火墙服务状态
systemctl status firewalld
# 查看防火墙服务状态信息
systemctl is-active firewalld # 检查服务是否正常运行
systemctl is-failed firewalld # 检查服务是否停止
systemctl is-enabled firewalld # 检查确认服务是否开机运行
6.5 禁用 SELINUX
永久禁用 SELINUX,编辑 /etc/selinux/config
文件:
# 原来为 SELINUX=enforcing
SELINUX=disabled
临时禁用 SELINUX:
setenforce 0
# 或者
setenforce Permissive
SELINUX 其他命令:
# 查看 SELINUX 状态
getenforce
# 临时开启 SELINUX
setenforce 1
setenforce Enforcing
# SELINUX 的三种状态
Disabled # 禁用
Permissive # 违反 SELinux 规则的行为只会记录到日志中,但仍可执行
Enforcing # 违反 SELinux 规则的行为将被阻止并记录到日志中
6.6 配置阿里云的yum源
- 下载wget
yum install wget -y
- 备份旧的yum源文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 下载阿里云的yum源文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 同时下载扩展的yum源文件
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 执行以下命令:
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
- 重新生成yum缓存
yum clean all
yum makecache
- 验证
# 检查可用 yum 源
$ yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,070
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,314
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 397
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 743
repolist: 24,524
6.7 系统更新
yum update -y
# 或者
yum upgrade -y
6.8 安装常用的软件
yum install -y \
tree \
nmap \
dos2unix \
rzsz \
nc \
lsof \
wget \
tcpdump \
htop \
iftop \
iotop \
sysstat \
nethogs \
psmisc \
net-tools \
bash-completion \
bash-completion-extras \
vim-enhanced \
unzip
对这些软件的说明:
软件包名 | 包含的核心命令 |
---|---|
tree | tree 以树形结构显示文件和目录 |
nmap | nmap 扫描端口的工具 |
dos2unix | 转换脚本格式的工具 |
lrzsz | 包含上传(rz)、下载(sz)文件工具 |
nc | 文件传输、端口检查工具 |
lsof | 反查端口进程以及服务开发文件工具 |
wget | 下载软件包工具 |
tcpdump | 抓包、监听等重要排错工具 |
htop | 系统进程相关信息查看工具 |
iftop | 查看主机网卡带宽工具 |
iotop | IO 分析工具 |
sysstat | 含有 sar、iostat 等重要系统性能查看工具 |
nethogs | 显示进程的网络流量 |
psmisc | 含有 killall、pstree 等命令 |
net-tools | 含有 netstat、ifconfig、route、arp 等命令 |
bash-completion bash-completion-extras |
tab 补全功能工具包 |
vim-enhanced | vim 编辑器工具包 |
unzip | 解压 zip 包的工具 |
6.9 设置关机时清理系统日志
在/usr/local/bin
目录下创建清理系统日志的脚本 clean-log.sh
,内容如下:
#!/bin/bash
rm -rf /var/log/hawkey.log-*
rm -rf /var/log/audit/audit.log.*
rm -rf /var/log/hawkey.log-*
rm -rf /var/log/sssd/sssd_kcm.log-*
rm -rf /var/log/boot.log-*
rm -rf /var/log/btmp-*
rm -rf /var/log/cron-*
rm -rf /var/log/dmesg.*
rm -rf /var/log/maillog-*
rm -rf /var/log/messages-*
rm -rf /var/log/secure-*
rm -rf /var/log/spooler-*
rm -rf /var/log/vmware-network.[0-9]*.log
rm -rf /tmp/*
说明,这里只是添加了操作系统的日志,这些日志都是会按照一定的规则滚动,删除的时候保留了最新的,后续在系统上安装的各种应用也会产生日志,后续在安装应用后,按需把应用的日志也添加到此脚本中。
增加 /usr/lib/systemd/system/my-powerdown.service
文件,内容如下:
[Unit]
Description=run my scripts while system poweroff
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/clean-log.sh
[Install]
WantedBy=halt.target reboot.target shutdown.target
启用服务:
systemctl enable my-powerdown.service --now
6.10 修改系统字符编码集
# 查看系统编码字符集
$ echo $LANG
en_US.UTF-8
# 临时修改系统字符集
$ LANG=zh_CN.UTF-8
# 永久修改系统字符集
# 方法一
# 编辑 /etc/profile 文件,添加如下内容
export LANG=zh_CN.UTF-8
# 然后 source /etc/profile 文件即可
# 方法二
# 编辑 /etc/locale.conf 文件
LANG="zh_CN.UTF-8"
# 然后 source /etc/locale.conf 文件即可
# 方法三
$ sudo localectl set-locale LANG=zh_CN.UTF-8
# 然后 source /etc/locale.conf 文件即可
6.11 远程连接优化
# 1. 修改 /etc/ssh/sshd_config 文件中的内容
# 这一行默认为 yes,改为 no
GSSAPIAuthentication no
# 这一行默认注释且值为 no,放开注释
UseDNS no
# 2. 然后确保 /etc/hosts 文件中有本机的 IP 和主机名映射
$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.100 node01
# 3. 重启 sshd 服务
$ systemctl restart sshd
6.12 创建一个管理员用户
创建一个普通用户,并赋予 sudo 权限:
useradd hadoop # 创建 hadoop 用户
passwd hadoop # 给 hadoop 用户设置密码
给 hadoop 用户添加 sudo 权限,并且设置 hadoop 用户可以不输入密码就执行 sudo 命令,编辑 /etc/sudoers
文件:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
# 这一行是新增加的
hadoop ALL=(ALL) NOPASSWD:ALL
6.13 开机自动同步时间
虚拟机如果长时间不开机,则系统时间与现实时间会不一致,在系统时间与现实时间相差太多的情况下,NTP 服务无法自动使用外网更正时间,需手动同步时间,所以这里设置开机后自动同步时间。
在/usr/local/bin
目录下创建清理系统日志的脚本 time-sync.sh
,内容如下:
#!/bin/bash
systemctl stop ntpd
# 从中国国家授时中心同步时间
ntpdate cn.pool.ntp.org
systemctl start ntpd
增加执行权限:
chmod +x /usr/local/bin/time-sync.sh
给/etc/rc.d/rc.local
文件增加执行权限,该文件在开机时会执行其中的命令:
chmod +x /etc/rc.d/rc.local
修改/etc/rc.d/rc.local
文件,追加内容:
sh /usr/local/bin/time-sync.sh
7. 关机并保存快照
先关掉虚拟机再拍快照
8. 附录
8.1 CentOS 系统启动所需内存
系统版本 | 安装所需内存 | 启动所需内存 |
---|---|---|
CentOS-5 | 256M | 100M |
CentOS-6 | 最少512M,建议1GB+ | 最少512M,建议1GB+ |
CentOS-7 | 最少512M,建议1GB+ | 最少512M,建议1GB+ |
如果安装时内存小于最低推荐内存,可能会报错,建议安装的时候内存设置的比建议值大一些,例如2GB,之后再根据本地资源使用情况再做内存的调整。
8.2 虚拟机 3 种网络类型说明
- NAT(Network Address Translation):网络地址转换,虚拟机通过宿主机进行上网和交换数据。在 NAT 模式下,虚拟机的网卡连接到宿主机的 VMnet8 网卡上,宿主机中的 VMware NAT Service 服务充当了路由器的角色,负责将虚拟机发送到 VMnet8 的包进行地址转换之后再发送到实际的网络上,同理,将实际网络上返回的包进行地址转换后通过 VMnet8 发送给虚拟机,VMware DHCP Service 负责为虚拟机分配分配 IP 地址。NAT 网络适用于宿主机直连网线或者办公室的局域网环境,优点是不会与其他物理机的 IP 发生冲突,更换网络环境后,虚拟机的 IP 不会受到影响,推荐使用 NAT 模式;
- Bridged(桥接模式):虚拟机可以分配于宿主机相同网段的独立 IP ,所有网络功能几乎与真实机器完全一样,虚拟机直接连接到真实网络中,适用场景:局域网环境,优点:远程机器可以通过路由器访问到虚拟机,缺点:与宿主机通信都会走真实的路由器,且可能会造成 IP 冲突,更换网络环境后,所有虚拟机的 IP 都会受影响;
- Host-only(仅主机模式):虚拟机不能访问外网,只能与宿主机通信。
8.3 CentOS7 修改网卡命名方式为传统方式
# 1. 修改/etc/sysconfig/network-scripts/ifcfg-ens33 文件
NAME=eth0
DEVICE=eth0
# 2. 网卡设备文件重命名
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
# 3. 修改/etc/default/grub文件,添加如下内容
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 rhgb quiet"
# 4.系统重新加载grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
参考 https://blog.51cto.com/oldboy/1722101
8.4 CentOS7 手动安装系统组件
查看哪些系统组件已经安装,哪些还没有安装
$ yum grouplist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.bit.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
# 可以安装的
Available Environment Groups:
Minimal Install
Compute Node
Infrastructure Server
File and Print Server
Basic Web Server
Virtualization Host
Server with GUI
GNOME Desktop
KDE Plasma Workspaces
Development and Creative Workstation
# 已安装的
Installed Groups:
Compatibility Libraries
Development Tools
Security Tools
System Administration Tools
# 可以安装的
Available Groups:
Console Internet Tools
Graphical Administration Tools
Legacy UNIX Compatibility
Scientific Support
Smart Card Support
System Management
Done
安装:
# yum group install 包名
yum group install "Compatibility Libraries" "Development Tools"
# 查看已经安装的包:yum groupinfo [package-name]
8.5 Linux 系统分区知识简介
Linux磁盘分区知识简介:
- 磁盘在使用之前一般要先分区(相当于买的房要分几居一样);
- 磁盘分区有主分区、扩展分区和逻辑分区之分。一块磁盘最多可以有 4 个主分区,其中,一个主分区的位置可以用一个扩展分区来替换,在这个扩展分区内可以划分多个逻辑分区;
- 如果规划的分区数量超过 4 个,则分区组合可为 3primary(p)+1extend(e) 或者 2p+1e 或 1p+1e;
- 一块磁盘最多只能有一个扩展分区,扩展分区不能直接使用,必须在扩展分区上划分逻辑分区,然后格式化(创建文件系统),之后才能存取数据或者装系统。
磁盘分区命名以及编号方式:
-
以设备名命名
在 Linux 系统中,磁盘设备对应于系统中的特殊文件,这些特殊的文件放在
/dev
目录中,不同的设备对应的设备名称具体如下:- 系统的第一块 IDE 接口的硬盘名称为
/dev/hda
- 系统的第二块 IDE 接口的硬盘名称为
/dev/hdb
- 系统的第一块 SCSI 接口的硬盘名称为
/dev/sda
- 系统的第二块 SCSI 接口的硬盘名称为
/dev/sdb
- 系统的第一块 IDE 接口的硬盘名称为
-
使用数字编号
为了表示不同的分区,通常会使用数字进行编号,比如:
- 系统的第一块 IDE 接口的硬盘的第一个分区名称为
/dev/hda1
- 系统的第一块 IDE 接口的硬盘的第五个分区名称为
/dev/hda5
- 系统的第二块 SCSI 接口的硬盘的第一个分区名称
/dev/sdb1
- 系统的第二块 SCSI 接口的硬盘的第五个分区名称
/dev/sdb5
- 系统的第一块 IDE 接口的硬盘的第一个分区名称为
对分区进行编号时,数字 1-4 只能留给主分区或者扩展分区,在安装时由系统自行完成创建。
8.6 Linux 系统分区方案
Linux系统对分区的基本要求:
- 最好要有一个根(/)分区,用来存放系统文件及程序,大小在5GB以上;
- 要有一个交换(swap)分区,它的作用相当于 Windows 的虚拟内存,swap 分区的大小一般为物理内存容量的 1.5 倍(内存 <8GB),当系统物理内存大于 8GB 时,swap分区配置 8-16GB 即可,太大无用,浪费磁盘空间。swap 分区不是必须的,但是大多数情况下还是设置一下比较好,个别企业的数据库应用场景不设置 swap;
- /boot分区,这是 Linux 系统的引导分区,用于存放系统引导文件,如 Linux 内核等。对CentOS7而言,这个分区要比之前的版本大一点,可设置为 1024MB,这个分区也不是必须的。
企业生产场景中 Linux 的分区方案:
-
方案一:针对网站集群架构中的某个节点服务器分区,该服务器上的数据包含多份(其他节点也有)且数据不太重要,建议的分区方式如下:
- /boot:512~1024MB
- /swap:当物理内存小于8GB时,设置为物理内存的1.5倍,当物理内存大于等于8GB时,分配8-16GB,建议给8GB就可以了
- /:硬盘剩余空间大小(/usr、/home、/var等分区和"/"共用一个分区,这就相当于是在Windows系统中只有一个C盘一样,所有数据和系统文件都存放在一起)
-
方案二:针对数据库及存储角色的服务器分区,该服务器的业务包含了大量重要的数据,建议分区方式如下:
- /boot:512~1024MB
- /swap:当物理内存小于8GB时,设置为物理内存的1.5倍,当物理内存大于等于8GB时,分配8-16GB,建议给8GB就可以了
- /:大小设置为50~200GB,只存放系统相关文件,网站等的业务数据不放在这里
- /data:剩余硬盘空间大小,存放数据库及存储服务等重要数据,当然,data这个名称可以自定义
方案二就是将重要数据单独分区,以便于备份和管理
-
方案三:针对大网站或者门户级别企业的服务器进行分区
- /boot:512~1024MB
- /swap:当物理内存小于8GB时,设置为物理内存的1.5倍,当物理内存大于等于8GB时,分配8-16GB,建议给8GB就可以了
- /:大小设置为50~200GB,只存放系统相关文件,网站等的业务数据不放在这里
保留剩余的磁盘空间,不再进行分区,将来分配给不同的使用部门,由他们自己根据需求再分,此种分区方案更加灵活,比较适合也业务线比较多且需求不确定的大企业使用
-
不推荐的分区方案:
手动对/usr、/home、/var等进行分区,这样分配了太多额外的分区,没有必要,导致管理麻烦,不推荐这种分区方式。
红帽官网对系统分区的说明:
redhat-6:
https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/6/html/installation_guide/s2-diskpartrecommend-x86#doc-wrapper
redhat-7:
https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/installation_guide/sect-recommended-partitioning-scheme-x86
redhat-8:
https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/performing_a_standard_rhel_8_installation/manual-partitioning_graphical-installation
redhat-9:
https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/9/html/performing_a_standard_rhel_9_installation/assembly_customizing-your-installation_installing-rhel#manual-partitioning_graphical-installation
8.7 Linux 文件系统简介
常用的文件系统类型如下:
- xfs:一个优秀的文件系统类型,在 CentOS7 中作为默认的文件系统类型替换了 ext4;
- ext2/ext3/ext4:一种适合于 Linux 的文件系统类型,ext3 多出了日志记录功能,因此系统恢复起来会更快速,ext4 是 ext3 的升级,效率更高,CentOS6 默认使用的是 ext4;
- physical volume(LVM):一种弹性调整文件系统大小的机制,即可以让文件系统变大或者变小,而无须改变原有文件数据的内容,功能不错,但性能会有所下降;
- swap:内存交换空间,由于 swap 并不会使用到目录树的挂载,所以不需要指定挂载点;
- vfat:同时支持 Linux 和 Windows 的文件系统类型,如果主机同时存在 Windows 与 Linux 两种操作系统,存在数据交换需求,就可以使用这种文件系统类型。
8.8 系统无法联网的故障排除方法
- 检查IP、子网掩码、网关和DNS是否设置正确
替换此文件中的某一个配置,例如将 ONBOOT=no 改为 ONBOOT=yes 的命令为:
sed -i 's#ONBOOT=no#ONBOOT=yes#g' /etc/sysconfig/network-scripts/ifcfg-eth0
查看某个配置,例如查看 ONBOOT 配置的值的命令:
grep ONBOOT /etc/sysconfig/network-scripts/ifcfg-eth0
修改之后重启网卡:
systemctl restart network
- 查看 Windows 的 VMware NAT 服务是否开启
8.9 CentOS7 网络配置
设置静态 IP 地址
修改 /etc/sysconfig/network-scripts/ifcfg-eth0
文件,做如下修改:
# 修改的内容
BOOTPROTO=static
ONBOOT=yes
# 新增的内容:
NM_CONTROLLED=no # 不使用NetworkManager来管理网络
# 设置静态IP
IPADDR=10.0.0.100
# 设置网关IP
GATEWAY=10.0.0.2
# 设置阿里云的DNS
DNS1=223.5.5.5
# 设置子网掩码
NETMASK=255.255.255.0
# 删除的内容【可选】
# 假如你的虚拟机还要被克隆,那么删除 UUID 这个配置
UUID=XXXXXXXXXXXXXXXXXXXX
说明:如果安装系统时没有设置网卡的命名规则使用传统模式,那么 CentOS7 系统的网卡名为 ens + 数字
,比如:ens33、ens32、ens160
等。对应要修改的文件是:/etc/sysconfig/network-scripts/ifcfg-网卡名
。
保存退出后,停止 NetworkManager 服务、禁用 NetworkManager 服务并重启网络服务:
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
systemctl restart network
配置 DNS 服务器
在 /etc/sysconfig/network-scripts/ifcfg-eth0
文件中已经添加了 DNS 服务地址:
DNS1=223.5.5.5
那么重启网络服务后,查看 /etc/resolv.conf
文件就可以看到增加的 DNS 服务地址:
$ sudo cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5
而如果没有在 /etc/sysconfig/network-scripts/ifcfg-eth0
文件中配置 DNS,那么可以直接在 /etc/resolv.conf
文件中添加,格式为 nameserver DNS地址
,CentOS-7 最多支持 3 个 DNS 地址,即使配置超过 3 个,多余的也不起作用。
建议在 /etc/sysconfig/network-scripts/ifcfg-eth0
中配置 DNS 并重启网络服务来修改 DNS 的配置。
修改主机名
编辑 /etc/hostname
文件,设置主机名,例如我的主机名为 node01
$ sudo cat /etc/hostname
node01
推荐阅读