首页 > 系统相关 >linux 遇到硬盘设备名称会改变时,可以使用udev规则绑定硬盘

linux 遇到硬盘设备名称会改变时,可以使用udev规则绑定硬盘

时间:2024-06-06 10:10:56浏览次数:22  
标签:udevadm 绑定 rules linux udev 规则 SERIAL 硬盘

udev规则绑定硬盘

# lsblk -o NAME,MODEL,SERIAL
NAME        MODEL            SERIAL
sda         Samsung SSD 860  S3YLNM0NC12424A
├─sda1
├─sda2
└─sda3
  ├─cl-root
  └─cl-swap
sdb         Samsung SSD 860  S3ZBND0NC04099A
└─sdb1
sdc         Samsung SSD 860  S3ZBND0NC00975A
└─sdc1

# cat /etc/udev/rules.d/99-mydisks.rules

规则用于绑定第一块数据盘

SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="S3ZBND0NC04486A", SYMLINK+="data1"

规则用于绑定第二块数据盘

SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="S3ZBND0NC00073A", SYMLINK+="data2"

运行以下命令以重新加载 udev 规则:
udevadm control --reload-rules

您还可以运行以下命令触发规则立即生效:

udevadm trigger

完成后,您应该能够在 /dev/data1 和 /dev/data2 路径下找到您绑定的两块数据盘。

sed -i "s/abc/123/g" /var/www/test/index.html

# cat udev_disk_rules.sh
#!/bin/bash

AA=$1
BB=$2

RULES_FILE="/etc/udev/rules.d/99-mydisks.rules"

# 创建规则文件,并添加规则
sudo bash -c "cat << EOF > $RULES_FILE
# 规则用于绑定第一块数据盘
SUBSYSTEM==\"block\", ENV{ID_SERIAL_SHORT}==\"$AA\", SYMLINK+=\"data1\"

# 规则用于绑定第二块数据盘
SUBSYSTEM==\"block\", ENV{ID_SERIAL_SHORT}==\"$BB\", SYMLINK+=\"data2\"
EOF
"

# 重新加载udev规则
sudo udevadm control --reload-rules

# 触发规则立即生效
sudo udevadm trigger

echo "完成创建并添加udev规则。"
$ cat getserial.sh
#!/bin/bash
sn1=`lsblk -o NAME,SIZE,SERIAL|egrep -w "sda|sdb|sdc|sdd"|awk '$2>900G {print $3}'|sed -n 1p`
sn2=`lsblk -o NAME,SIZE,SERIAL|egrep -w "sda|sdb|sdc|sdd"|awk '$2>900G {print $3}'|sed -n 2p`
echo $sn1
echo $sn2
echo "SUBSYSTEM==\"block\", ENV{ID_SERIAL_SHORT}==\"$sn1\", SYMLINK+=\"data1\"" >/etc/udev/rules.d/99-mydisks.rules
echo "SUBSYSTEM==\"block\", ENV{ID_SERIAL_SHORT}==\"$sn2\", SYMLINK+=\"data2\"" >>/etc/udev/rules.d/99-mydisks.rules
udevadm control --reload-rules
udevadm trigger
vm1=`virsh list --all|grep G|awk '{print$2}'|sed -n 1p`
vm2=`virsh list --all|grep G|awk '{print$2}'|sed -n 2p`
perl -pi -e 's/\/dev\/sd([a-z])/\/dev\/data1/g' /opt/vmxml/${vm1}.xml
perl -pi -e 's/\/dev\/sd([a-z])/\/dev\/data2/g' /opt/vmxml/${vm2}.xml
virsh define /opt/vmxml/${vm1}.xml
virsh define /opt/vmxml/${vm2}.xml

标签:udevadm,绑定,rules,linux,udev,规则,SERIAL,硬盘
From: https://www.cnblogs.com/suixinnan/p/18234561

相关文章

  • Binary Ninja 4.0.5336 (macOS, Linux, Windows) - 逆向平台
    BinaryNinja4.0.5336(macOS,Linux,Windows)-逆向平台请访问原文链接:https://sysin.org/blog/binary-ninja/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgBinaryNinjaANewTypeofReversingPlatformBinaryNinja是一个交互式反编译器、反汇编器、调试......
  • Linux 35.5 + JetPack v5.1.3@ ego-planner编译安装
    Linux35.5+JetPackv5.1.3@ego-planner编译安装1.源由2.编译&安装Step1:依赖库安装Step2:建立工程Step3:编译工程Step4:安装工程3.问题汇总3.1planner/plan_env-OpenCV3.2uav_simulator/local_sensing-CUDA优化4.总结1.源由Fast-PlannerFUELRACEReg......
  • linux 基线检查加固
    修改vsftp回显信息ansible-ihoststask-mshell-a"grep'ftpd_banner'/etc/vsftpd/vsftpd.conf"sed-i'/ftpd_banner/s/^/#/g'/etc/vsftpd/vsftpd.confansible-ihoststask-mshell-a"echo'ftpd_banner="Authorize......
  • 【Linux】进程(6):环境变量
    大家好,我是苏貝,本篇博客带大家了解Linux进程(6):环境变量,如果你觉得我写的还不错的话,可以给我一个赞......
  • 2024年6月 AWVS -24.4.27详细安装教程附下载教程含windows和linux多版本
    免责声明请勿利用文章内的相关技术从事非法测试。由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,请务必遵守网络安全法律法规。本文仅用于测试,请完成测试后24小时删除,请勿用于商业用途。如文中内容涉及侵权......
  • Linux 安装 docker-compose
    什么是DockerComposeDockerCompose是一个单独的开源项目,DockerCompose可以高效管理和定义多个容器作用:批量容器编排web服务、redis、mysql、nginx等等多个容器docker-compose.ymlversion:'3.1'services:web:build:.ports:-"5000:5000"volumes:-.:/code-......
  • 【Linux多线程】线程的终止、等待和分离
    文章目录线程终止正常退出return退出pthread_exit函数终止线程pthread_cancel强制终止线程进程终止线程等待为什么需要等待线程?pthread_join函数分离线程pthread_detach函数线程终止下面给出终止线程的三种方式:正常退出:线程执行完它的函数之后return自动结......
  • 新手上路:Linux虚拟机创建与Hadoop集群配置指南①(未完)
    一、基础阶段Linux操作系统:创建虚拟机1.创建虚拟机打开VM,点击文件,新建虚拟机,点击自定义,下一步下一步这里可以选择安装程序光盘映像文件,我选择稍后安装选择linux系统位置不选C盘,创建一个新的文件夹VM来放置虚拟机,将虚拟机名字改为master方便后续识别(也可以改为其他......
  • linux信号集与信号掩码-保护信号处理程序,确保进程正确运行
    在Linux环境下,当进程收到信号时,如何优雅地处理并确保程序的正常运行?这就需要借助信号集和信号掩码的功能。本文将为你揭开信号集和信号掩码的神秘面纱,并通过生动的代码示例,让你彻底掌握在C++程序中使用它们的技巧。一、信号集:表示信号的数据结构信号集(signalset)是......
  • 【Linux】(六)—— vim编辑器
    vim文件编辑器Vim(ViImproved)是一个高度可配置的文本编辑器,最初基于UNIX下的Vi编辑器发展而来,广泛用于程序开发和系统管理中。vim编辑器可以只通过终端命令即可编写修改文件,不需要和gedit一样需要打开类似于记事本的窗口。Vim以其高效、灵活和强大著称,但对初学者来说可能有......