UUID介绍与使用范围
最近再做存储Multipath 以及/etc/fstab挂载得时候遇到需要查询磁盘得uuid得情况,查找到如下得信息,可以提供一起学习,交流
前言介绍
描述:通用唯一识别码(英语:Universally Unique Identifier,简称UUID)是一种软件建构的标准是在计算机系统中用来标识信息的一个 128 位(比特)的数字,最初被用在阿波罗网络计算机系统(NCS)中,亦为自由软件基金会组织会(OSF)在分散式计算环境领域境(DCE)的一部份。
UUID的目的是让分散式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来每个人都可以创建不与其它人冲突的UUID。在这样的情况下就不需考虑数据库创建时的名称重复问题
。
目前最广泛应用的UUID:
- 微软公司的全局唯一标识符(GUID)
- 其他重要的应用则有Linux ext2/ext3文件系统、LUKS加密分区、GNOME、KDE、Mac OS X等等
Linux UUID的作用及意义
- 原因1:它是真正的唯一标志符 UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的。如果你在系统中添加了新的存储设备如硬盘,很可能会造成一些麻烦,比如说启动的时候因为找不到设备而失败,而使用UUID则不会有这样的问题。
- 原因2:设备名并非总是不变的 自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺序。如果你在插入了USB盘时启动了系统,而下次启动时又把它拔掉了,就有可能导致设备名分配不一致。 使用UUID对于挂载移动设备也非常有好处──例如我有一个24合一的读卡器,它支持各种各样的卡,而使用UUID总可以使同一块卡挂载在同一个地方。
- 原因3:Ubuntu中的许多关键功能现在开始依赖于UUID
UUID版本 UUID1:从主机ID、序列号和当前时间生成UUID。它基于硬件地址和一个随机的14位序列号。 UUID3:根据名称空间标识符(即UUID)和名称(即字符串,此站点使用UUID1作为字符串)的MD5哈希值生成UUID。 UUID4:生成一个随机UUID。 UUID5:根据名称空间标识符(即UUID)和名称(即字符串,本站点使用UUID1作为字符串)的SHA-1散列生成UUID。
UUID格式 UUID 以 32 个十六进制的数字表示,被连字符分割为 5 组显示,总共的 36 个字符的格式为 8-4-4-4-12(32 个字母或数字和 4 个连字符)。
例如:d92fa769-e00f-4fd7-b6ed-ecf7224af7fa
获取与生成uuid
获取UUID
Linux 中获取硬盘分区或文件系统的 UUID 的七种方法 描述:Linux 系统管理员你应该知道如何去查看分区的 UUID 或文件系统的 UUID,因为现在大多数的 Linux 系统都使用 UUID 挂载分区,你可以在 /etc/fstab 文件中可以验证。
cat /etc/fstab UUID=b379c221-7e3d-42ff-b5ae-bf1d2dfe9ffb /boot xfs defaults 0 0
UUID它可以帮助 Linux 系统识别一个磁盘分区而不是块设备文件。
#使用下面的 7 个命令来查看 #blkid 命令:定位或打印块设备的属性。 $blkid /dev/sda1: UUID="b379c221-7e3d-42ff-b5ae-bf1d2dfe9ffb" TYPE="xfs" /dev/sda2: UUID="WYci3Y-yQO9-eU0R-Dzmu-ccUH-Lhns-rLhVnJ" TYPE="LVM2_member"#lsblk 命令:列出所有可用的或指定的块设备的信息。 $lsblk -o name,mountpoint,size,uuid NAME MOUNTPOINT SIZE UUID sda 40G |-sda1 /boot 1G b379c221-7e3d-42ff-b5ae-bf1d2dfe9ffb `-sda2 39G WYci3Y-yQO9-eU0R-Dzmu-ccUH-Lhns-rLhVnJ|-centos-root / 37G bf08ef5c-d394-4893-86ad-a3c8025daa85`-centos-swap [SWAP] 2G b27b7ddb-1f8b-43cb-aaed-0365d1e2e450#hwinfo 命令:硬件信息工具,是另外一个很好的实用工具,用于查询系统中已存在硬件。 hwinfo --block | grep by-uuid | awk -F "," '{print $1,"-",$3}' Device Files: /dev/sda1 - /dev/disk/by-uuid/b379c221-7e3d-42ff-b5ae-bf1d2dfe9ffb#udevadm 命令:udev 管理工具 udevadm info -q all -n /dev/sda1 | grep -i by-uuid | head -1 S: disk/by-uuid/b379c221-7e3d-42ff-b5ae-bf1d2dfe9ffb#tune2fs 命令:调整 ext2/ext3/ext4 文件系统上的可调文件系统参数。 tune2fs -l /dev/sdc1 | grep UUID Filesystem UUID: d17e3c31-e2c9-4f11-809c-94a549bc43b7#dumpe2fs 命令:查询 ext2/ext3/ext4 文件系统的信息。 tune2fs -l /dev/sdc1 | grep UUID Filesystem UUID: d17e3c31-e2c9-4f11-809c-94a549bc43b7#by-uuid 路径:该目录下包含有 UUID 和实际的块设备文件,UUID 与实际的块设备文件链接在一起。 ls -lh /dev/disk/by-uuid/ ls -lh /dev/disk/by-id/ #能看见扩展分区磁盘的UUID lrwxrwxrwx 1 root root 10 Aug 2 17:09 b379c221-7e3d-42ff-b5ae-bf1d2dfe9ffb -> ../../sda1 lrwxrwxrwx 1 root root 10 Aug 2 17:09 b27b7ddb-1f8b-43cb-aaed-0365d1e2e450 -> ../../dm-1 lrwxrwxrwx 1 root root 10 Aug 2 17:09 bf08ef5c-d394-4893-86ad-a3c8025daa85 -> ../../dm-0
Linux 中获取网卡的UUID方法
#示例1.Linux中网卡的UUID,可利用此uuid修改网卡的配置文件; uuidgen eth0 e784d3f5-54ef-48f4-a5e0-4ee2d670e8b#示例2.查看网卡的UUID与网卡名称对应的设备名称 [[email protected] ~]$ nmcli con NAME UUID TYPE DEVICE br-9bc175e03197 e784d3f5-54ef-48f4-a5e0-4ee2d670e8b bridge br-9bc175e03197
生成UUID
描述:UUID 由该库生成可以合理地认为在一个系统中 UUID 是唯一的,生成的UUID并且在所有系统中也是唯一的。
- libuuid : 自内核2.15.1起就是 util-linux-ng 包中的一部分;
- e2fsprogs : 包中的UUID库找到实现;
方式1:采用Python使用了UUID模块生成uuid1/3/4/5等版本的UUID字符串,位于Lib/uuid.py之中;
import uuid class uuid.UUID(hex=None, bytes=None, bytes_le=None, fields=None, int=None, version=None, *, is_safe=SafeUUID.unknown) UUID('{12345678-1234-5678-1234-567812345678}') UUID('12345678123456781234567812345678') UUID('urn:uuid:12345678-1234-5678-1234-567812345678') UUID(bytes=b'\x12\x34\x56\x78'*4) UUID(bytes_le=b'\x78\x56\x34\x12\x34\x12\x78\x56' +b'\x12\x34\x56\x78\x12\x34\x56\x78') UUID(fields=(0x12345678, 0x1234, 0x5678, 0x12, 0x34, 0x567812345678)) UUID(int=0x12345678123456781234567812345678)#SPACESNAME常量 (可作为uuid3/5 的 namespace 值) uuid.getnode() #通用管理的MAC地址优于本地管理的MAC地址 uuid.NAMESPACE_OID UUID('6ba7b812-9dad-11d1-80b4-00c04fd430c8') >>> uuid.NAMESPACE_DNS UUID('6ba7b810-9dad-11d1-80b4-00c04fd430c8') >>> uuid.NAMESPACE_URL UUID('6ba7b811-9dad-11d1-80b4-00c04fd430c8') >>> uuid.NAMESPACE_X500 UUID('6ba7b814-9dad-11d1-80b4-00c04fd430c8')
基础示例:
#!/usr/bin/env python # python有一个模块叫做uuid,导入它就可以使用它的四个方法了 import uuidprint uuid.uuid1() #bf1dfacf-67d8-11e8-9a23-408d5c985711 print uuid.uuid3(uuid.NAMESPACE_DNS, 'yuanlin') #UUID using an MD5 hash of a namespace UUID and a name #ddb366f5-d4bc-3a20-ac68-e13c0560058f print uuid.uuid4() #144d622b-e83a-40ea-8ca1-66af8a86261c print uuid.uuid5(uuid.NAMESPACE_DNS, 'yuanlin') #UUID using a SHA-1 hash of a namespace UUID and a name #4a47c18d-037a-5df6-9e12-20b643c334d3
方式2:Linux中shell采用uuidgen进行生成
uuidgen fcfe9f3e-1edc-43fe-8b29-c2a92958ce41
方式3:采用JS生成uuid
function uuid() {return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[0148]/g, c =>(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)) }/** 调用生成 **/ print(uuid()) b3255b0d-ae61-16c6-833f-96c827fd17d8 725ad3d6-6eb1-12a2-855f-5a8a8bb6859d
方式4:采用java的util包里面的UUID类实现
import java.util.UUID; public class createUUID {public static void main(String[] args) {System.out.println(createID());}public static String createID(){UUID uuid = UUID.randomUUID();String id=uuid.toString();return id.replace("-", "");} }//调用执行效果 56e41c4d8aa64e3cbf4d1d119004af61 f1d443fcb9564ae7b3fc1993de1680d5 91fe1a1ef54843c08c42ba8c68f98d4b 2f763662d0b24b0f8e18c6f0da4dd643 4bf13006b8324ed8bfe4c194d6cb057e 1947e4ef40cb49c28ecfd2d725815ef8
UUID介绍与使用范围相关推荐
- UUID介绍与生成方法
什么是UUID? UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符.UUID具有以下涵义: 经由一定的算法 ...
- UUID介绍与生成的方法
什么是UUID? UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符.UUID具有以下涵义: 经由一定的算法 ...
- Python uuid 介绍
1. 背景知识: UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, ...
- uuid php,php生成uuid介绍
UUID是国际标准化组织(ISO)提出的一个概念.UUID是一个128比特的数值,这个数值可以通过一定的算法计算出来.为了提高效率,常用的UUID可缩短至16位.UUID用来识别属性类型,在所有空间和 ...
- 全面且简单明了的蓝牙服务及UUID介绍
什么是蓝牙 蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话.PDA.无线耳机.笔记本电脑.相关外设等众多设备之间进行无线信息交换.利用"蓝牙"技术,能 ...
- UUID/GUID介绍、生成规则及生成代码
UUID/GUID介绍.生成规则及生成代码 1. UUID介绍 1.1 介绍 1.2 UUID优势 1.3 UUID劣势 2. UUID版本 2.1 版本1 - 基于时间的UUID 2.1.1优点 2 ...
- Python 标准库之 uuid
1. uuid 介绍 UUID: 通用唯一标识符 ( Universally Unique Identifier ),对于所有的 UUID 它可以保证在空间和时间上的唯一性.它是通过 MAC 地址.时 ...
- java uuid_Java UUID
java uuid 介绍: UUID(通用唯一标识符)表示一个128位长的唯一值 . 它也被普遍称为GUID(全球唯一标识符). UUID的标准表示形式由十六进制数字组成: 533a4559-e55c ...
- PostgreSQL中UUID的完整指南
目录 理解SQL中的键 自然键与代理键 使用PostgreSQL创建主键的语法 创建复合主键 通用唯一ID?UUID介绍 UUID_v4与UUID_V1 使用uuid-osp创建UUID主键-Post ...
最新文章
- keyshot材质中文目录_KeyShot10 Pro for Ma 苹果3D渲染动画制作软件 中文版下载
- 全面理解java内存模型_深入理解Java内存模型(八)——总结
- lc412. Fizz Buzz
- 未能加载类型“URLRewriter.ModuleRewriter”。 解决方法
- go给Linux安装mysql_在Linux上安装Go语言开发包
- 误删了公司数据库,但我还是活下来了
- new、delete与malloc、free的详解
- Linux服务跟随启动,Linux—添加开机启动(服务/脚本)
- Oracle 和Mysql Group by的细节与坑
- 转换构造函数与类型构造函数与运算符重载函数
- 转 windows查看端口占用命令
- 计算机-计算机发展史
- 1.通俗地理解贝叶斯公式(定理)
- WISP Client+AP WDS 的区别
- 漫画:脑筋急转弯题目(尼姆问题求解)
- 升级iOS 15后iPhone无法连接App Store怎么办?
- will be doing的用法
- 阿里云漏洞验证需要付费的解决方法
- 程序包xxx不存在 问题的完美解决
- 网格交易法在交易中的应用
热门文章
- js,uniapp,vue类似于微信和qq时间间隔显示
- NOTE-1-基础笔记: FOV视场角
- 你真的听懂了任何一场学术讲座吗?
- Lucene系列:(8)搜索结果摘要
- 项目四:飞机票订票管理系统
- 西安翻译学院计算机系有那些方向,西安翻译学院招生方向?
- java实现简单的orm_一种利用反射自动封装JavaBean的想法的实现(简单的ORM,较实用于JDBC查询)...
- 超炫15分钟超现实主义短片《Sundays》
- dvi接口引脚定义_DVI接口详细图文介绍
- Windows系统如何清除开机密码