如何查看 /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如何安装yum命令?

    Linux系统中,yum(Yellow dog Updater, Modified)是一款广泛使用的包管理工具,主要用于自动下载、安装、更新RPM包以及管理依赖关系,尤其在Red Hat系列发行版(如CentOS、RHEL、Fedora)中扮演核心角色,在某些情况下(如系统最小化安装、yum组件损坏或跨发行版使……

    2025年8月30日
    23700
  • Linux终端如何下载文件?

    在Linux终端环境中,下载文件是日常运维、开发和服务管理中的常见需求,由于Linux服务器通常不配备图形界面,掌握终端下载命令至关重要,本文将详细介绍Linux终端中主流的文件下载工具及其使用方法,涵盖基础命令、高级功能及适用场景,帮助用户根据实际需求选择合适的下载方式,基础下载工具:wget与curlwge……

    2025年9月19日
    28300
  • Linux如何切换桌面环境?

    Linux系统以其高度的可定制性和开源特性,吸引了大量用户,而桌面环境作为用户与系统交互的核心界面,其选择直接影响使用体验,用户可能因性能需求、功能偏好或操作习惯的改变,需要转换桌面系统,这种转换既包括在同一Linux发行版内更换桌面环境,也涉及从其他操作系统(如Windows)迁移到Linux桌面,本文将详细……

    2025年9月17日
    29000
  • Linux如何检查GCC是否安装?

    通过终端命令检查查看GCC版本(最常用) gcc –version输出结果分析:若已安装:显示版本号(如 gcc (Ubuntu 11.4.0) 11.4.0),若未安装:提示 Command ‘gcc’ not found,原理:调用GCC的版本信息,系统会检查可执行文件路径(/usr/bin/gcc),检……

    2025年7月12日
    32700
  • 如何查看Linux进程状态?ps、top命令详解?

    在Linux系统中,进程是程序执行的基本单位,查看进程状态是系统管理和故障排查的核心操作,Linux进程状态通过特定标识符描述,可通过多种命令工具实时或静态获取,帮助用户监控进程运行情况、资源占用及父子关系,本文将详细介绍查看Linux进程状态的各类方法、工具及参数使用,并结合实例说明输出含义,Linux进程状……

    2025年9月26日
    22500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信