MoiMême.ca

Why Not?

Generate a random UUID in Linux

There are many ways to generate an Universally Unique Identifier or UUID in Linux. Not long after I wrote my post about my discoveries on DRBD with Corosync and iSCSI, I discovered that I have to define SCSI serial numbers for each of my LUNs.

I decided to have them randomly generated in order to make sure they’re unique. The easiest way is to generate a random UUID. In Linux, you have usually three ways of doing so.

The kernel random way

I chose to use the generator provided by the Linux kernel by using the /proc/sys/kernel/random/uuid file. The contents of the file are a simple UUID :

$ cat /proc/sys/kernel/random/uuid
4fe4772f-e88e-4e10-b072-189a6444fe2c

The uuidgen way

Another method of generating UUIDs is to use the uuidgen  utility, provided by default in most distributions. This utility is able to generate either random identifiers, or use time as a basis. It can be used as follows :

# Generate a totally random UUID
$ uuidgen
3de197c8-0da3-45e6-8928-11d2be1ec308

# Generate a time-based UUID
$ uuidgen -t
b5646b86-6616-11e4-8035-be3585e0bc43