主机名管的是什么
主机名是系统在网络与管理层面的自我标识,显示在命令提示符、日志、监控平台和集群节点的登记信息里。用 systemd 的系统通过 hostnamectl 统一管理三类名字(静态、瞬态、美化名),改一次同时写入 /etc/hostname 并即时生效,比手工编辑文件更省事,但名字只影响本机,跨机互相解析仍需 hosts 或 DNS 配合。
基本信息
| 查看命令 | hostnamectl、hostname、hostnamectl status |
|---|---|
| 修改命令 | hostnamectl set-hostname node01 |
| 落盘位置 | /etc/hostname(静态名) |
| 三类名字 | static 静态名、transient 瞬态名、pretty 美化名 |
| 别名解析 | /etc/hosts 或 DNS,二者本机不做自动同步 |
| 权限要求 | root 或具备 polkit 授权的账户 |
典型使用场景
- 装机后按命名规范补设主机名(如 kylin-node01)
- 克隆虚拟机或批量装机后,清理沿用模板机的旧名
- 迁移割接时把主机名改成目标环境的命名,避免监控重复登记
- 集群部署前先统一命名,方便节点发现与日志归集
- 把 IP 与主机名写进 hosts,作为小规模环境的临时解析方案
修改并验证
修改并验证
hostnamectl set-hostname node01 # 立即生效,同时写入 /etc/hostname
hostnamectl # 输出静态/瞬态/美化三类名字与机型信息
hostname # 当前会话读到的名字
cat /etc/hostname # 落盘结果
grep -q '\bnode01\b' /etc/hosts || echo '127.0.0.1 node01' >> /etc/hosts # 补一条本地解析
exec bash -l # 重开登录 shell,让提示符与部分软件读到新名配套检查
配套检查
hostnamectl set-hostname node01
systemctl is-active systemd-hostnamed # 该服务负责处理改名请求,异常时先起它
journalctl -u systemd-hostnamed -n 20 # 改名失败时看这里的报错
ping -c1 node01 # 验证本机名可解析,失败说明 hosts/DNS 没配输出逐列读法
| 字段 | 含义 | 正常与异常 |
|---|---|---|
| Static hostname | 持久化的主机名 | 与规范不符说明改错或改了没落盘 |
| Transient hostname | 运行时内核使用的名字 | 与静态名不一致常见于临时改名或容器环境 |
| Pretty hostname | 给人看的美化名,可含空格 | 留空不影响解析,只影响显示 |
| Icon name / Chassis | 机型图标与硬件类型 | 为 vm 时说明是虚拟机,报障时有用 |
| Operating System / Kernel | 系统与内核版本 | 与基线清单比对可发现误装版本 |
只有 hostname 命令而不落盘时,重启后会恢复旧名;要持久的改动必须走 hostnamectl 或改 /etc/hostname。
数据库、集群软件、许可证绑定常把主机名作为节点标识,改名前先查该软件的换名流程,否则可能出现节点重复注册或授权失效。