如何查看 /dev/sdb 磁盘详细信息

在Linux系统中,设备名(如/dev/sda/dev/sdb)是内核动态分配的磁盘标识符,修改设备名通常是为了实现持久化命名,避免因硬件变动导致设备名变化,从而影响系统配置(如/etc/fstab挂载),以下是专业、安全的操作指南:


修改原理:通过udev规则实现

Linux使用udev(设备管理器)动态管理设备,通过自定义udev规则,可永久绑定设备名到特定硬件(如UUID或序列号)。
核心文件

  • 规则目录:/etc/udev/rules.d/
  • 规则文件:自定义如99-custom-disk.rules(文件名需小于原始规则优先级)

操作步骤:永久修改设备名

确定设备唯一标识

# 输出示例:/dev/sdb: UUID="5f3e4a1b-01" TYPE="ext4"
# 或获取磁盘序列号(适用于无分区设备)
sudo udevadm info --query=property --name=/dev/sdb | grep ID_SERIAL
# 输出示例:ID_SERIAL=SAMSUNG_SSD_123456

创建udev规则文件

sudo nano /etc/udev/rules.d/99-custom-disk.rules

规则语法示例(二选一):

# 通过UUID绑定(推荐分区设备)
ACTION=="add", ENV{ID_FS_UUID}=="5f3e4a1b-01", SYMLINK+="my_disk"
# 通过序列号绑定(推荐整块磁盘)
ACTION=="add", ENV{ID_SERIAL}=="SAMSUNG_SSD_123456", SYMLINK+="backup_disk"

参数说明

  • SYMLINK+="自定义名":生成持久化设备符号链接(实际路径仍为/dev/sdX
  • 自定义名需全小写,避免冲突(如my_disk而非sdx

重载并触发udev规则

# 重载规则
sudo udevadm control --reload-rules
# 触发规则生效
sudo udevadm trigger --action=add

验证新设备名

# 查看/dev/下生成的符号链接
ls -l /dev | grep -E 'my_disk|backup_disk'
# 输出示例: 
# lrwxrwxrwx 1 root root 4 Jul 10 10:00 my_disk -> sdb
# lrwxrwxrwx 1 root root 4 Jul 10 10:00 backup_disk -> sdb1

此时可通过/dev/my_disk/dev/backup_disk访问设备。


关键注意事项

  1. 非重命名原始设备
    Linux设备名(sdX)由内核分配,无法直接修改,udev规则仅创建持久化符号链接,原始名仍存在。

  2. 修改fstab挂载配置
    若需挂载新设备名,更新/etc/fstab

    # 原配置:UUID=5f3e4a1b-01 /mnt/data ext4 defaults 0 0
    # 改为:
    /dev/my_disk /mnt/data ext4 defaults 0 0
  3. 风险规避

    • 备份规则文件:操作前复制/etc/udev/rules.d/
    • 避免使用sdX前缀:防止与内核分配冲突。
    • 测试环境验证:在虚拟机或非关键设备测试后再部署。
  4. 临时修改(不推荐)
    通过sudo echo "new_name" > /sys/block/sdb/uevent可临时修改,但重启失效,且易导致系统不稳定。


替代方案:使用by-path/by-uuid

Linux已提供持久化设备路径,通常无需自定义:

# 查看现有持久化链接
ls -l /dev/disk/by-uuid/    # 按UUID标识
ls -l /dev/disk/by-path/    # 按物理端口标识

直接使用/dev/disk/by-uuid/UUID_VALUE挂载更安全可靠。


修改Linux设备名的本质是通过udev规则创建持久化符号链接,而非直接重命名内核设备。*推荐优先使用`/dev/disk/by-`内置路径**,若需自定义名称,务必:

  1. 基于UUID或序列号绑定设备
  2. 更新/etc/fstab等依赖配置
  3. 在非生产环境充分验证

引用说明基于Linux内核文档、udev官方手册及最佳实践整理,遵循POSIX标准,技术细节参考Arch Linux Wiki与Ubuntu Server Guide,确保操作普适性,风险提示依据GNU/Linux系统管理经验总结。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5526.html

(0)
酷番叔酷番叔
上一篇 2025年6月24日 15:19
下一篇 2025年6月24日 15:39

相关推荐

  • 在Linux操作系统中,如何通过命令行工具查看当前系统时间的具体正确方法?

    在Linux系统中,时间的准确性和同步性对系统日志记录、任务调度、安全认证(如证书时效)以及分布式系统协同至关重要,本文将详细介绍Linux查看和操作时间的多种方法,涵盖基础命令、系统时间管理工具、硬件时钟操作以及时间同步配置,帮助用户全面掌握Linux时间管理技能,基础时间查看命令——datedate是Lin……

    2025年9月10日
    10500
  • Linux如何测试邮件发送与接收功能?

    在Linux环境下进行邮件测试是系统运维、应用开发或邮件服务调试中的常见需求,涵盖本地邮件发送、远程SMTP连接、邮件内容验证、垃圾邮件规则检测等多个场景,本文将结合常用工具和实际操作步骤,详细说明如何在Linux中完成邮件测试工作,邮件测试常用工具及选择Linux生态提供了多种邮件测试工具,可根据测试需求选择……

    2025年9月8日
    12300
  • linux如何建立更改用户名和密码错误

    Linux中,用usermod -l 新用户名 旧用户名改用户名,用

    2025年8月13日
    10900
  • 如何访问linux系统

    过本地终端登录、SSH远程登录或通过虚拟机软件访问Linux系统,具体方式依实际

    2025年8月16日
    11500
  • Linux环境下安装JDK成功需掌握哪些关键步骤和注意事项?

    在Linux系统中成功安装JDK(Java Development Kit)是进行Java开发的基础,但由于Linux发行版多样(如Ubuntu、CentOS等)和安装方式的不同(手动解压、包管理器、SDKMAN等),用户可能会遇到环境变量配置、版本冲突等问题,本文将详细讲解Linux环境下JDK安装的完整流程……

    2025年9月19日
    10900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信