一、为什么要做服务器标准化配置

当机器数量从 1 台变成多台后,如果每台服务器的终端样式、主机名规则、地址修改方式和克隆流程都不统一,后续就很容易出现管理混乱。

原始笔记这一部分的核心目标就是:把环境做成“可以复制、可以快速修改、可以批量复用”的状态。

二、让命令行界面更清晰

2.1 给所有用户统一设置命令行颜色

原始笔记建议把下面内容写入 /etc/profile

export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$ '
source /etc/profile

这样做的好处是:

  • 用户名、主机名和当前路径更醒目
  • 多台服务器之间切换时不容易看错
  • 日常运维体验更好

2.2 如果只想当前用户生效

可以把同样的 PS1 写入当前用户的:

  • ~/.bash_profile
  • ~/.bashrc

例如:

echo "export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$ '" >> ~/.bash_profile

三、主机名与 hosts 文件如何统一管理

3.1 主机名修改方式

原始笔记给出了临时修改和永久修改两种方式。

临时修改:

hostname aaa
hostname

永久修改:

hostnamectl set-hostname aaa

3.2 为什么还要维护 hosts

在实验环境或局域网环境中,维护 hosts 文件可以让主机之间直接通过名字互相访问,更适合测试和集群搭建。

示例:

cat >> /etc/hosts << EOF
172.16.1.61 m01
EOF

这样后续访问时就不一定每次都写 IP,可以直接用主机名。

四、一键修改主机名和 IP 的脚本思路

4.1 这个脚本解决什么问题

当你克隆出多台虚拟机后,最烦的事情通常是重复改:

  • 主机名
  • 外网侧 IP
  • 内网侧 IP

原始笔记给出的 change.sh,就是为了解决这个重复劳动。

它的适用前提是:

  • 公网 IP 最后一位
  • 局域网 IP 最后一位

两者保持一致。

4.2 脚本核心逻辑

原始脚本的关键思路包括:

1、判断参数个数是否正确 2、取出当前主机 IP 最后一位 3、取出新 IP 最后一位 4、同时修改 ifcfg-eth0ifcfg-eth1 5、重启网络 6、更新主机名

示例脚本如下:

#!/bin/bash
#author: ZQ
#desc:  change ip and hostname
#version: v1.0

[ $# -ne 2 ] && {
   echo "脚本格式不对"
   echo "脚本正确格式: $0 主机名 ip地址"
   exit 1
}

ip=$(hostname -I | awk '{print $1}' | sed 's#.*\.##g')
ip_new=$(echo $2 | sed 's#^.*\.##g')
hostname=$1

sed -i "s#192.168.1.$ip#192.168.1.$ip_new#g" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s#172.16.1.$ip#172.16.1.$ip_new#g" /etc/sysconfig/network-scripts/ifcfg-eth1

systemctl restart network
hostnamectl set-hostname $hostname

4.3 脚本使用示例

bash change.sh aaa 192.168.1.111

这类脚本在批量准备实验机器时非常实用。

五、虚拟机克隆时有哪些注意事项

5.1 最好关机后再克隆

原始笔记建议先关机:

shutdown -h now

这样可以避免克隆时带着运行中的缓存和状态,减少后续异常。

5.2 克隆流程的关键选择

根据笔记中的流程,常见步骤是:

1、右键虚拟机,进入【管理】->【克隆】 2、克隆源选择【虚拟机中的当前状态】 3、克隆方式选择【创建完整克隆】

其中“完整克隆”更适合实验环境长期使用,因为它独立性更强,不依赖母盘。

六、为什么这部分配置很适合形成模板

一旦你把下面几件事做成模板,后续搭环境速度会明显提升:

  • 统一命令行样式
  • 统一主机名规则
  • 统一 hosts 解析
  • 统一 IP 修改方式
  • 统一克隆流程

这样每次新加服务器时,都不必再从零重复折腾。

七、小结

这部分看起来不像“高大上的架构内容”,但它决定了后面多台机器是否好管理、好识别、好复制。

实际工作里,越早做标准化,后面越省事。尤其是在集群实验环境里,主机名、IP、hosts 和克隆流程越统一,后续维护成本就越低。