惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
小众软件
小众软件
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
宝玉的分享
宝玉的分享
有赞技术团队
有赞技术团队
J
Java Code Geeks
WordPress大学
WordPress大学
The Cloudflare Blog

Oskyla 烹茶室

修复 Joplin on KDE 菜单栏显示问题 Copy Fail:Linux 内核 2017 年至今的高危漏洞(附临时缓解方案) | CVE-2026-31431 Hermes Agent — 在 K3s / K8s 中运行指南 在 K3s 节点上安装并使用 nerdctl Mouser:轻量开源的罗技鼠标驱动替代方案 Claude Opus 4.7:优缺点与评测信息汇总 openFuyao NPU-Operator故障排查 openFuyao 2603 共测测试报告 openFuyao InferNex AI推理集成部署 310P(300I Pro) 环境问题记录及解决 ceph mon Operation not permitted 问题解决 Ascend 310P + openFuyao + NPU-Operator 故障排查 KDE Plasma6 禁用全局菜单,恢复正常应用菜单 终极指南:在 Linux 裸机服务器上快速部署 Moltbot (原 Clawbot) 并集成飞书 Windows 配置 Claude Code 解决 settings.json 不生效 Windows 配置 Claude Code 全流程 2025-12-31 | 年终总结 AI 生图精品提示词|第二期:城市星球 AI 生图精品提示词|第一期 Kubernetes kubectl --raw 使用指南 彻底解决阿里云和 tailscale 冲突 2025-10-21 | 沉淀思维 macOS 单独为鼠标或触控板开启自然滚动 2025-10-16 | 负载高低 2025-10-15 | 睡眠周期 2025-10-14 | 转换情绪与独立观点 go 拉取 gitcode.com 私有 mod Git 将某个文件恢复到其他分支的状态 SSH 通过跳板机连接 lxc 使用 chronyc 构建 ntp 服务 2025-10-13 | 独立思考于未来能源
ubuntu 克隆 netplan dhcp ip 冲突问题
Tianlun Song · 2024-07-27 · via Oskyla 烹茶室

本文 首发于 🌱 煎茶转载 请注明 来源

在被克隆的机器上编辑 /etc/netplan/xx-installer-config.yaml

文件。

network:
  ethernets:
    ens33:
      dhcp4: true
      dhcp-identifier: mac # 加上这一行。
  version: 2

这样每次从这台机器进行的克隆都会有唯一的 ip 地址。

原因分析

  • Ubuntu 网络组件使用 systemd-networkd
  • Centos 网络组件使用 dhclient

这就是他们默认策略不同的原因, systemd-networkd 默认使用 /etc/machine-id 来识别,当虚拟机克隆的时候,他们都有一样的 /etc/machine-idDHCP server,因此返回的都是同一个 ip 了。

root@k8s-arm64-f-k8s-master1:~# cat /etc/machine-id
d79a8bd69d39428eaea36e7ddebee560
root@k8s-arm64-f-k8s-worker1:~# cat /etc/machine-id
d79a8bd69d39428eaea36e7ddebee560

实测确实 machine-id 克隆后一样,但是 production-id 是不一样,因此不影响 k8s 部署:

root@wz-k8s-arm64-f-k8s-master1:~# cat /sys/class/dmi/id/product_uuid
7ad08708-3c74-456e-ad49-007f0b3027d1
root@wz-k8s-arm64-f-k8s-worker1:~# cat /sys/class/dmi/id/product_uuid
8ac730d3-3326-4c59-be99-e57ec56af976

Centos 所使用的 dhclient 组件,采用默认策略就是使用链路层地址,虽然虚拟机进行了文件克隆,但是他们的链路层地址是由虚拟机进行分配的所以并不一样。

id 含义

本节内容由 chatgpt 生成,问题为: linux 中的 /etc/machine-id /sys/class/dmi/id/product_uuid 这两个值分别是什么意思,有什么意义,在什么项目中被用到过,还有没有其他类似的标记机器 id 的方法

在 Linux 系统中,/etc/machine-id/sys/class/dmi/id/product_uuid 都是用于标识机器的唯一标识符,它们在不同的应用和场景中有不同的用途。

/etc/machine-id

含义与用途

  • /etc/machine-id 文件包含一个唯一的机器 ID,这个 ID 是在系统安装时生成的,并且在整个系统的生命周期内保持不变。
  • 这个 ID 通常用于标识系统本身,并在分布式系统、日志记录、软件许可等需要唯一标识机器的场景中使用。

使用场景

  • 系统初始化过程
  • 日志记录和监控系统
  • 分布式系统中节点的唯一标识
  • 软件许可和激活

生成方法

  • 这个文件通常由系统的初始化脚本在系统第一次启动时生成,可以通过 systemdsystemd-machine-id-setup 工具生成。

/sys/class/dmi/id/product_uuid

含义与用途

  • /sys/class/dmi/id/product_uuid 文件包含的是来自于 DMI(桌面管理接口)信息的产品 UUID,这是由硬件制造商在生产时写入到系统固件(BIOS/UEFI)中的唯一标识符。
  • 这个 UUID 通常用于硬件层面的唯一标识,因此在涉及硬件配置、资产管理和硬件认证的场景中非常有用。
  • 也可以通过 dmidecode -s system-uuid 获取到

使用场景

  • 硬件资产管理
  • 系统硬件配置
  • 物理服务器和虚拟机的唯一标识
  • 云计算中的实例识别

生成方法

  • 这个 UUID 由硬件制造商在制造硬件时写入,通常无法轻易更改。

其他类似的标记机器 ID 的方法

除了上述两个标识符,还有其他一些用于标识机器的方法:

  1. MAC 地址

    • 每个网络接口卡(NIC)都有一个唯一的 MAC 地址,可以用来标识设备。
    • 用途:网络设备管理,网络层面的机器识别。
  2. 系统序列号(似乎不好用):

    • 通过 DMI 信息获取,如 /sys/class/dmi/id/product_serial
    • 用途:硬件资产管理,客户支持和保修服务。
  3. 硬盘序列号

    • 可以通过命令 lsblkhdparm 获取硬盘的唯一序列号。
    • 用途:存储设备管理,备份和恢复系统。
  4. BIOS 版本和固件信息

    • 通过 DMI 信息获取,如 /sys/class/dmi/id/bios_version
    • 用途:系统更新和维护,硬件兼容性检查。

这些标识符在不同的应用场景中有不同的作用,可以根据具体需求选择合适的标识方法来实现系统和硬件的唯一标识和管理。

References