详解Linux中获取全球唯一标示符UUID的方法

UUID(UniversallyUniqueIdentifiers),全球唯一标识符。
他们为什么使用UUID?因为系统本身分配的设备名称并不总是一致的,它们取决于引导时设置内核模块值的顺序,特别是grub中的内核设置,因此不会出现分区混乱。
下面介绍几种使用UUID.1的方法。
最简单的方法是使用blkid命令,该命令主要用于识别封闭系统的设备(使用的文件系统顺序(包括VERTO分区)类型、LABEL、UUID等查询信息。
使用该命令需要安装e2fsprogs包-perl0.02-4PerlextensionforusingUUIInterfacesasdefine2fsprogsroot@10.1.1.200:~#blkid/dev/sda1:UUID="b20e80f1-c88d-4918-9d9b-75cd7906629e"类型=“ext3”/dev/sda5:类型=“交换”UUID=“1fb3d17b-b2fe-470d-b39c-f00c4a30efbf”/dev/sda6:UUID="c7050200-7efb-468c-81d1-a3add309bee1"TYPE="ext3"SEC_TYPE="ext2"/dev/sda7:UUID="934e4e22-3431-4707-8d47-dca47e76f448“类型=”xfs”/dev/hioa:UUID=”de0af117-ad92-4867-aa21-3e7d423e8864”类型=”xfs”root@10.1.1.200:~#blkid/dev/sda1/dev/sda1:UUID="b20e80f1-c88d-4918-9d9b-75cd7906629eTYPE="ext3"root@10.1.1.200:~#cat/etc/blkid.tab/dev/sda1/dev/sda5/dev/sda6/dev/sda7/dev/hioa2在设备浏览器中复制。
代码如下:root@10.1.1.200:~#ls-l/dev/disk/by-uuid/total0lrwxrwxrwx1rootroot102013-03-1911:011fb3d17b-b2fe-470d-b39c-f00c4a30efbf-../../sda5lrwxrwxrwx1rootroot102013-03-1911:01934e4e22-3431-4707-8d47-dca47e76f448-../../sda7lrwxrwxrwx1rootroot102013-03-1911:01b20e80f1-c88d-4918-9d9b-75cd7906629e-../../sda1lrwxrwxrwx1rootroot102013-03-1911:01c7050200-7efb-468c-81d1-a3add309bee1-../../sda6lrwxrwxrwx1rootroot102013-03-1911:02de0af117-ad92-4867-aa21-3e7d423e8864-../../hioaroot@10.1.1.200:~#ls-l/dev/disk/by-uuid/|grepsda1|awk'{print$8}'b20e80f1-c88d-4918-9d9b-75cd7906629e3。
sda1ID_FS_USAGE=filesystemID_FS_TYPE=ext3ID_FS_VERSION=1.0ID_FS_UUID=b20e80f1-c88d-4918-9d9b-75cd7906629eID_FS_UUID_ENC=b20e80f1-c88d-4918-9d9b-75cd7906629eID_FS_LABEL=ID_FS_LABEL_ENC=ID_FS_LABEL_SAFE=root@10.1.1.200:~#vol_id/dev/sda1|grep'UUID'ID_FS_UUID=b20e80f1-c88d-4918-9d9b-75cd7906629eID_FS_UUID_ENC=b20e80f1-c88d-4918-9d9b-75cd7906629e,4.使用tune2fs,这是Linux下的文件系统调整工具,型号代码如下:root@10.1.1.200:~#tune2fs-l/dev/sda1tune2fs1.41.3(12-Oct-2008)文件系统名称:Lastmountedon:FilesystemUUID:b20e80f1-c88d-4918-9d9b-75cd7906629eFilesystemmagicnumber:0xEF53Filesystemrevision#:1(动态)文件系统功能:has_journalext_attrresize_inodedir_indexfiletypeneeds_recoverysparse_superlarge_file文件系统标志:signed_directory_hashDefaultmountoptions:(无)Filesystemstate:cleanErrorsbehavior:ContinueFilesystemOStype:LinuxInodecount:1864128Blockcount:7442103Reservedblockcount:372105Freeblocks:6884819Freeinodes:1712582Firstblock:0root@10.1.1.200:~#tune2fs-l/dev/sda1|grep'UUID'FilesystemUUID:b20e80f1-c88d-4918-9d9b-75cd7906629e以下是2fs调整的一些常用参数:示例代码如下:root@192.168.2.80:~#tune2fs--helptune2fs1.41.3(12-Oct-2008)调整2fs:invalidoption--'-'用法:tune2fs[-eerrors_behavior][-ggroup][-iinterval[d|m|w]]]文件系统超时,超时后系统自动锁定。
mount_options[,...]]设置默认加载参数。
基本上,如果文件系统使用ext3,请在文件系统达到安装计数后使用-c0Enlightenments检查文件系统。
禁用强制文件系统检查:复制如下代码:root@10.1.1.200:~#tune2fs-i0-c0/dev/sda1tune2fs1.41.3(12-Oct-2008)Settingmaximalmountto-1SettingintervalBetweenchecksto0seconds还有dump2fs也足够了。
通过文件系统Tools.dump2fs显示显示当前磁盘状态:复制代码如下:root@10.1.1.200:~#dumpe2fs/dev/sda1Filesystemvolumenname:Lastmountedon:FilesystemUUID:b20e80f1-c88d-4918-9d9b-75cd7906629eFilesystemmagicnumber:0xEF53Filesystemrevision#:1(dynamic)Filesystemfeatures:(none)Filesystemstate:cleanErrorsbehavior:继续文件系统操作系统类型:LinuxInodecount:1864128Blockcount:7442103Reservedblockcount:372105Freeblocks:6884819Freeinodes:1712582Firstblock:0Blocksize:4096Fragmentsize:4096ReservedGDTblocks:1022Blockspergroup:32768Fragmentspergroup:32768Inodespergroup:8176Inodeblockspergroup:511Filesystemcreated:FriNov1615:36:592012Lastmounttime:TueMar1911:02:582013Lastwritetime:WedMar2714:09:252013Mountcount:17Maximummount:-1Lastchecked:FriNov1615:36:592012Checkinterval:0()Reservedblocksuid:0(userroot)Reservedblocksgid:0(grouproot)第一节点:11Inodesize:256Requiredextraisize:28Desiredextraisize:28Journalinode:8Firstorphaninode:1618875Defaultdirectoryhash:half_md4DirectoryHashSeed:3090ccf1-625c-4934-9ec4-be3f74767f98Journalbackup:inodeblocksJournalsize:128M复制代码像这样:Group0:(Blocks0-32767)Primarysuperblockat0,Groupdescriptorsat1-2ReservedGDTblocksat3-1024Blockbitmapat1025(+1025),Inodebitmapat1026(+1026)Inodetableat1027-1537(+1027)0freeblocks,8152freeinodes,2个目录Freeblocks:Freeinodes:22,25,27-8176Group1:(Blocks32768-65535)Backupsuperblockat32768,Groupdescriptorsat32769-32770ReservedGDTblocksat32771-33792Blockbitmapat33793(+1025),Inodebitmap33794(+1026)Inodetableat33795-34305(+1027)3freeblocks,8176freeinodes,0directoriesFreeblocks:34309-34311Freeinodes:8177-16352Group2:(Blocks65536-98303)Blockbitmap65536(+0),Inodebitmap65537(+1)Inodetableat65538-66048(+2)7freeblocks,8176freeinodes,0directoriesFreeblocks:66049-66055Freeinodes:16353-24528Group3:(Blocks98304-131071)Backupsuperblockat98304,组描述sat98305-98306保留GDT块sat98307-99328Blockbitmapat99329(+1025)、Inodebitmapat99330(+1026)Inodetableat99331-99841(+1027)6freeblocks,8176freeinodes,0directoriesFreeblocks:99842-99847Freeinodes:24529-32704Group4:(Blocks131072-163839)Blockbitmap131072(+0),Inodemap131073(+1)Inodetableat131074-131584(+2)63个空闲块,0个空闲节点,0个目录空闲块:132074-132079,133643-133647,135671,137739-137743,139811-139815,141814-141815,143879,145922-145927,147933-147935,150022-150023,152071,154107-154111,156169-156175,158202-158207,160251-160255,162293-162295游离节点:G。
组5:(块163840-196607)Backupsuperblockat163840,Groupdescriptsat163841-163842ReservedGDTblocksat163843-164864Blockbitmapat164865(+1025),Inodebitmapat164866(+1026)Inodetableat164867-165377(+1027)0freeblocks,8130freeinodes,0目录Freeblocks:Freeinodes:40881,40928-49056

Linux磁盘及分区之wwid和uuid

在Linux系统中,添加新的SCSI磁盘或映射SAN存储LUN后,重新启动系统可能会导致磁盘标识符混乱。
例如,之前添加的SAN存储LUN的磁盘标识符为/dev/sdd,重启后可能会变成/dev。
在解决这个问题之前,你需要知道你的Linux系统中的wwid和uuid号。
wwid是根据SCSI标准分配给每个SCSI磁盘的标识符。
它类似于网卡的MAC地址,并且是唯一的。
Linux系统上的/dev/disk/by-id目录包含每个SCSI磁盘的wwid访问路径。
通过在该目录中搜索可以获得磁盘设备的wwid。
例如,在RHEL6或RHEL5中使用“scsi_id--whitelist/dev/sda”或“scsi_id--whitelist/dev/sd*”命令获取设备wwid。
为了保持磁盘标识符不变,需要将磁盘标识符与wwid关联起来。
系统重启后,使用wwid来识别磁盘可以保证磁盘路径永久不变。
uuid(UniversallyUniqueIdentifier)是文件系统创建时生成的标识符。
它用于标记文件系统。
它与wwid类似,有独特性。
使用uuid来识别SCSI磁盘还可以保证永久路径不变性。
在Linux系统中,可以通过`/dev/disk/by-uuid`目录查看创建的文件系统磁盘设备及其与/dev/sd*的映射关系。
使用blkid命令查看分区的uuid。
为了保证挂载目录与文件系统的绑定关系在重启后保持不变,必须在`/etc/fstab`文件中使用uuid来标识文件系统。
例如:UUID=9cbb7f73-582c-47e4-99d7-1c79fae90efc/ext4defaults11此示例中的UUID用于标识“/”挂载点上的文件系统类型为ext4。
在挂载文件系统之前,使用`blkid`命令显示分区的UUID,并在挂载文件系统时指定文件系统类型。
总之,通过使用wwid和uuid来标识SCSI磁盘,并在`/etc/fstab`文件中使用UUID来标识文件系统,可以保证系统重启后磁盘标识符和挂载关系的稳定性,从而避免Disk标识符混淆问题。

Linux下取得UUID的方法分享

GUID(globaluniqueidentifier)是微软的UUID(UniversalUniqueIdentifier)的名称。
在HP和RedHat上,可以使用命令makeuuid生成。
1.安装libuui。
d库,libuuid.so.1包含在e2fsprogs中,我的系统是RedHat7.3,下载ftp://194.199.20.114/linux/redhat/7.3/en/os/i386/RedHat/RPMS/e2fsprogs-1.27-3编辑.i386.rpm2文件。
d.cpp的复制代码如下:#include;#include;#includeuuid.h>;intmain(){uuid_tuu;uuid_generate(uu);std::cout