服务器hostname命名规范

背景说明

目前,小组服务器的hostname没有一个标准,通常情况是沿用云机ID。若遇到hostname都是localhost,则修改hostname会比较困惑。特别注意,hostname修改操作只针对新机器,不能动生产的服务器。因calico依赖hostname,故hostname变更会引起三层虚拟网络断开故障。

推荐小规模集群hostname命名规范

规则: UN/LOCODE码-机房标记(可选)-随机字符-系统和版本(可选)-云服务商缩写(可选)-环境(可选)-域名(可选)
简洁示例: suz-ba91 lxa-4f97
完整示例: gzu-spe-a904-rhel7-ecs-ctyun.prd.21cn.com can-4th-b69d-win2012-bms-ctyun.tst.21cn.com
过程:
I.查询UN/LOCODE城市代码, https://service.unece.org/trade/locode/cn.htm ;
II.查询操作系统发行版本, 执行命令: hostnamectl ;
III.截取uuid.online生成的ID 4位字符, http://www.uuid.online/ ;
IV.根据上述规则和数据, 组成hostname名称 ;
V.执行命令: hostnamectl set-hostname .

说明: bms代表物理机,ecs代表虚拟机;系统和版本参见附录3;环境缩写参见附录4.

hostname命名规则总结

  1. 公有云服务器
    规则: 云服务商缩写-IATA城市代码-系统和版本-随机字符-域名
    示例: aws-tko-ctos7-44rr4.colinleefish.com

  2. 标准化别名结构(Standardized CNAME Structure)
    规则: OrenTirosh记忆编码项目特定选择的1633个词之一(只有4-7个字母),
    示例:crimson melody verona banjo
    DNS A Records和CNAME Records示例:
    melody.example.com. A 192.0.2.12
    melody.lan.example.com. A 10.0.2.12
    melody.oob.example.com. A 10.42.2.12
    web02.prd.nyc.example.com. CNAME melody.example.com.
    说明: 适用于1500个左右全局服务器命名.

  3. IBM hostname 命名格式
    a.标准域名服务器(DNS)主机名字符串,例如,xmachine.manhattan.ibm.com
    b.缺省的简短 DNS 主机名字符串,例如,xmachine
    c.数字IP 地址,例如,127.1.255.3

  4. ansible方案
    规则: 项目名-环境-模块-ip
    示例: hnds-online-app-242

  5. IDC方案
    规则: {IDC}-{业务bu}-[{项目名}[{编号}]]-{应用名}{机器编号}.vivo.lan
    示例: jsyz01-op-cmdb-mysql001.aa.lan

  6. YouTube方案
    规则: {数据中心}{区域}{节点}-in-{楼层}.{域名}
    示例:lga34s13-in-f14.1e100.net nuq04s29-in-f14.1e100.net

  7. ServerDensity方案
    示例: hcluster3-web1.sjc.sl.serverdensity.net

  8. aws方案
    示例:ec2-34-194-228-249.compute-1.amazonaws.com

  9. 小规模服务器群方案
    规则:以单词 / 动物 / 人物命名,适合
    示例:lyre.riseup.net
    devianza.investici.org
    confino.investici.org
    perdizione.investici.org
    cryptonomicon.mit.edu
    Random Name Generator网站:
    https://www.behindthename.com/random/

  10. google方案
    规则:必须符合 RFC 1035 要求
    示例: test.example.com
    说明:主机名必须包含一系列与正则表达式 a-z? 匹配的标签,各个标签用点连接起来。每个标签的长度为 1-63 个字符,整个序列不得超过 253 个字符。

常见问题

a. 不以用途(如db1/nginx1等)来命名的原因
因使用云主机时要突出的内容并不是用途, 故标记了地区/供应商/系统版本等.

b. 云主机供应商缩写非权威
目前,没有权威机构编制了云主机供应商的代号

c. 为什么选用UN/LOCODE码,而不是IATA城市代码
使用全拼太长, 取首字母易混淆, 例如sz无法区分深圳和苏州;
UN/LOCODE码比IATA码能覆盖更多特定的位置,而且具有定义良好的标准。

d. 使用5个随机字符而不是ip地址后3位,或者使用001编号.
随机字符可以解决标记冲突的问题, 既足够使用又不至于太长.
ip地址后三位有冲突的风险,而标记数字在服务器过少(如只有001编号)时, 显得突兀。

附录

a. UN/LOCODE码城市代码示例

  • 广州 can
  • 深圳 snz
  • 拉萨 lxa
  • 杭州 haz
  • 苏州 suz
  • 贵州 gzu

b. 云主机供应商缩写

  • Amazon Web Services aws
  • Microsoft Azure maz
  • Linode lnd
  • DigitalOcean don
  • Vultr vlt
  • Bandwagon bwg
  • 阿里云 aliyun
  • Ucloud ucd
  • 腾讯云 qcd
  • 天翼云 ctyun

c. 系统和版本缩写与示例

  • Red Hat Enterprise Linux rhel rhel7
  • CentOS ctos ctos7
  • Fedora fdr fdr7
  • Oracle Linux orl orl7
  • Ubuntu ubt ubt1604
  • FreeBSD fbd fbd10
  • CoreOS crs crs1068
  • Windows win win2012

d. 软件应用环境缩写

  • 开发环境 development dev
  • 集成环境 integration intgr
  • 测试环境 testing tst
  • QA验证 QA qa
  • 模拟环境 staging stg
  • 生产环境 production prd

e. 主机功能编号

  • app Application Server (non-web)
  • sql Database Server
  • ftp SFTPserver
  • mta Mail Server
  • dns Name Server
  • cfg Configuration Management (puppet/ansible/etc.)
  • mon Monitoring Server (nagios, sensu, etc.)
  • prx Proxy/Load Balancer (software)
  • ssh SSHJump/Bastion Host
  • sto Storage Server
  • vcs Version Control Software Server (Git/SVN/CVS/etc.)
  • vmm Virtual Machine Manager
  • web Web Server
  • con Console/Terminal Server
  • fwl Firewall
  • lbl Load Balancer (physical)
  • rtr L3 Router
  • swt L2 Switch
  • vpn VPN Gateway
  • pdu Power Distribution Unit
  • ups Uninterruptible Power Supply

##参考资料
1. 怎么制定一套合适的服务器命名方案
[2. Airline and Location Code Search]https://www.iata.org/en/publications/directories/code-search/?airport.search=shenzhen
3. 我如何标记自己的公有云服务器实例
4. 我如何标记自己的公有云服务器实例
5. 什么是staging server
6. 软件生命周期中要经历的几种环境
7. 概要文件、节点、服务器、主机和单元的命名注意事项
8. RFC 1178 - Choosing a name for your computer
9. Ops:命名规范
10. 对服务器 rDNS/Hostname 命名的一次探索
11. 主机名命名规范
12. 创建使用自定义主机名的虚拟机实例
13. rfc1035

服务器hostname命名规范汇总相关推荐

  1. JAVA基础(三)——服务器操作系统、Java开发环境、Java技术架构、定义Java类及其命名规范、Java注释方式

    1. 服务器操作系统 当前主流的服务器操作系统则主要分为:Windowsserver.UNIX.Linux.NetWare这四大阵容. (1)Windowsserver作为推广的最好,用户群体最大的服 ...

  2. oraclenbsp;命名规范

    1. 编写目的 使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读.理解和继承. 2. 适用范围 本规范适用于公司范围内所有以ORACLE作为后台数据库的应用系统和项目开发工作. 3. ...

  3. HTML编码规范 - (WEB前端命名规范)

    HTML编码规范 1 (一)命名规则: 2 3 头:header 4 内容:content/container 5 尾:footer 6 导航:nav 7 侧栏:sidebar 8 栏目:column ...

  4. 前端命名规范(经常查阅)

    HTML命名规范 (一)命名规则:头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wra ...

  5. java命名规范(规范总结大全)

    1.命名规范 ​    1.类名 驼峰式命名规则 MarcoPolo ​    2.方法名 小写开头&单词首字母大写 testMethod ​    3.常量 大写单词,单词间使用_分割,含义 ...

  6. Android --- 命名规范

    一.命名规范 1. 包 采用反域名命名规则,全部使用小写字母.一级包名为com,二级包名xxx(为个人或公司名称,可以简写),三级包名根据应用进行命名,四级包名utils或service等(模块名或层 ...

  7. web mysql 界面表命名规范_MySql数据库表字段命名及设计规范

    1.设计原则 1) 标准化和规范化web 数据的标准化有助于消除数据库中的数据冗余.标准化有好几种形式,但 Third Normal Form(3NF)一般被认为在性能.扩展性和数据完整性方面达到了最 ...

  8. java中类的命名规则_java类方法属性的命名规范介绍

    java类方法属性的命名规范介绍,java命名总结.一个优秀的程序员,首先要培养良好的编程习惯,为了提高代码的可读性,必须有好的命名规范. 这篇文章是小编结合网上的很多资料整理出来的,若有不当或错误的 ...

  9. mysql中对象标识符的命名规则,标准规范数据库命名规范.doc

    标准规范数据库命名规范 数据库命名规范 概述 基本原则 以大小写敏感编写SQL语句. 尽量使用Unicode 数据类型. 优先使用连接代替子查询或嵌套查询. 尽量使用参数化SQL查询代替语句拼接SQL ...

最新文章

  1. 算法题:水洼有多少(C++)
  2. vue 点击div 获取位置_vue 点击元素滚动到指定位置
  3. UI-UIScrollView
  4. 如果你在北京失业了,别怕,记得去领这笔钱!最少2034元/月!
  5. Qt笔记-桌面应用程序加载字体库(ttf)
  6. 孙宇晨在线发钱,变身“人间王多鱼”之后,大家突然不讨厌他了?
  7. RMAN 数据库克隆文件位置转换方法
  8. 【图像分割】基于matlab直觉模糊C均值聚类图像分割IFCM【含Matlab源码 120期】
  9. plsql破解版,plsql安装包
  10. 全球宽带接入发展转折点 FTTP用户数首超DSL
  11. matlab高尔顿板钉试验,高尔顿钉板试验动态图形软件的设计与制作
  12. 矩阵 LUP 分解 解线性方程组 求行列式值 矩阵求逆 算法说解
  13. 软件生命周期模型优缺点及适用范围
  14. TLS Origination for Egress Traffic(0.8)
  15. iOS即时通讯进阶 - CoacoaAsyncSocket源码解析(Connect篇)
  16. 常用电平标准(TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL、RS232
  17. 2018北航计算机 北理工计算机夏令营经验分享
  18. LCD1602液晶使用介绍--(完整版)
  19. 什么是MBS和ABS(资产支撑证券化)
  20. 2020身高体重标准表儿童_【宝宝身高体重标准表】儿童身高体重标准表2020、2019_身高体重标准表_亲子百科_太平洋亲子网...

热门文章

  1. 【动态规划DP,二维动归】poj1651,Multiplication Puzzle
  2. 【Python黑科技】tkinter库实战“贪吃蛇”小游戏(保姆级图文+实现代码)
  3. 用html做祝福语朋友,朋友祝福语大全简短
  4. mv命令 – 移动或改名文件
  5. linux环境下查看ibm mq mb日志
  6. Android 11.0 系统Settings去掉开发者模式功能
  7. MTK平台修改开机动画,开机logo
  8. 我的世界基岩版好还是java版好_【Minecraft/我的世界】Java版和基岩版的区别(1)...
  9. ClickableSpan 去除下划线
  10. Mac 不能写入移动硬盘的解决方案