共 1 篇文章

标签:深入解析Linux系统UUID的作用 (linux 系统uuid作用)

深入解析Linux系统UUID的作用 (linux 系统uuid作用)

在Linux系统中,UUID是一个十分常见的概念。UUID即Universally Unique Identifier(通用唯一标识符),它是一个标识符,用于唯一地标识一个特定的物品。在Linux系统中,UUID指的是每个文件系统的唯一标识符。每个文件系统都会有一个UUID,用于在系统重启时找到文件系统。 UUID的作用 1. 避免冲突 在Linux系统中,同一台计算机上可能存在多个文件系统,这些文件系统都需要被识别和管理。如果系统采用传统的方式,使用/dev/sd*标记来引用磁盘分区,就可能会出现磁盘分区的顺序发生变化,这会导致原来的分区标记失效。 UUID保证了每个文件系统都有唯一的标识符,即使磁盘分区发生变化,文件系统也可以被准确地识别和管理。 2. 方便管理 UUID的另一个作用是方便管理。由于每个文件系统都有唯一的UUID,因此,在管理文件系统的时候就不再需要关注文件系统的位置或者编号,而是直接使用UUID来引用文件系统。这大大简化了管理任务,使得管理员在管理文件系统时更加方便和高效。 3. 软件部署 在Linux系统中,软件部署可能需要部署到不同的文件系统上。如果在部署时使用绝对路径,就必须确保每个系统上的文件系统路径都相同,否则软件就无法运行。使用UUID可以解决这个问题,因为UUID不依赖于文件系统路径,可以确保软件在不同的系统上都可以正确地运行。 UUID的生成方法 UUID是一个全球唯一标识符,它的生成方法是按照特定的算法对一些参数进行计算得出的。对于Linux系统而言,UUID是通过libuuid库来生成的。libuuid库提供了一个uuidgen工具,可以生成UUID。 在Linux系统中,可以使用以下命令生成UUID: $ sudo apt-get install uuid-runtime $ uuidgen 输出的结果可能会像这样: ecb1c232-bc3e-4a06-bc2a-80a892a2d211 这就是一个标准的UUID,它可以用于唯一地标识一个文件系统。 UUID是Linux系统中一个非常重要的概念,它可以保证每个文件系统都有唯一的标识符,避免了文件系统顺序变化的问题,并且方便了管理员的管理任务。此外,UUID还能够简化软件部署,确保软件在不同的系统上都可以正确地运行。对于Linux系统的管理员来说,了解UUID的作用和产生方法非常重要。 相关问题拓展阅读: linux私房菜笔记 – 第七章 – Linux磁盘与文件系统管理 linux私房菜笔记 – 第七章 – Linux磁盘与文件系统管理 重点:inode、block(数据区块)、superblock(超级区块) 磁盘结构 GPT与MBR 区别 磁盘以文件表示 linux中设备都以文件形式在/dev中表示,如磁盘为/dev/sd 文件系统:boot+group+group… group: inode信息 数据 限制: 缺点: 区块大:小文件多浪费空间 区块小:inode多读写性能差 记录一个区块指针需要4B,一个inode包含12个直接、1个间接、1个双间接、1个三间接,所以1K区块下一个文件更大12+256+256 256+256 256*256个数据区块共16G 如何查看这些信息 输出:超级区块信息+区块群组信息 存 取 数据不一致 异步处理 修改时将文件读入内存标记为clean,修改后标记为dirty但并不立即写入硬盘,需要调用sync。 不正常关机时会导致磁悔郑盘校验。 文件系统与档御目录树 挂载:文件系统与目录树结合,比如将 / 挂载到 /dev/sda1 这个设备 相同文件系统类型的不同文件系统目录树根的inode相同,不同文件系统内文件inode值可能重复,同一个文件系统inode与文件一一对应。 Linux支持多种文件系统,包括 传统、日志、网络 的,以下命令可以查询。 VFS(Virtual Filesystem Switch)是位于 内核层 的 系统调用 ,帮助处理读取不同文件系统 ext4不好:预先分配所有inode,格式化慢,不适合大容量磁盘 XFS好:适合大容量磁盘和巨型文件 lsattr 和 chattr 可以更改隐藏属性,但是xfs不支持部分隐藏属性 xfs分为数据区(data section)、文件系统活动登录区(log section)、实时运行区(realtime section) 数据区 同ext,分为超级区块、剩余空间的管理、inode分配与追踪。但是inode动态分配,格式化快。且数据块(4K以上内核不给挂载)与inode大小(256B-2M)可以自定义。 文件系统活动登录区 类似日志区,所有文件变化在此记录,当完全被写入记录才被删除,用于校验。可指定外部磁盘作为该区。 实时运行区 先在该区段中寻找数个extent区块,将文件放到这些区块中, 等分配完了 再写入数据区中的inode与区块中。 xfs文件系统查看信息 注意点:如果对 /boot 使用,可以看到 /dev/sda2 指向某个物理设备,但是对 / 使用,可以看到指向 /dev/mapper/centos-root 。这是因为在安装系统时候, 设备分区 使用了LVM而非标准分区,linux为你自动碧蠢颂创建的空间池,用多少取多少。 含有inode大小、个数、总数、区块大小、数量、与阵列 stripe 有关的信息 df /proc 中1kblock,used,free都是0,因为这个目录挂载在内存中 /dev/shm/ 是用内存虚拟出的磁盘空间 不知道某个目录/文件所在挂载点,还想知道这个分区还能存多少东西?...

技术分享