linux磁盘重启乱序问题处理linux

最近到客户那去巡检时,客户提到一个问题,他们的rac在重启的时候,原来的sda一、sdb一、sdc1会对应变成sdd一、sde一、sdf1,因为他们使用的是盘符来绑定裸设备,因此启动后,常常要手动执行如下命令

[root@ractest1 ~]# raw /dev/raw/raw1 /dev/sda1

[root@ractest1 ~]# raw /dev/raw/raw2 /dev/sdb1

[root@ractest1 ~]# raw /dev/raw/raw3 /dev/sdc1

而且,比较奇怪的事,两边有时认得的盘彻底不同,一边是sda\b\c,另外一边是sdd\e\f,这样,使oracle rac的共享盘出现问题。oracle

在了解了他们的状况后,我基本上明白是什么缘由,这种盘序错乱,与linux对磁盘的扫描机制有关,因此咱们只能从另外一角度去规避这样的问题,使用id号去绑定,这样就没有问题。在告诉他后,他赞成咱们对他原来的绑定方式进行修改,具体操做以下:ui

[root@ractest1 ~]# fdisk -lspa

Disk /dev/sdd: 429.4 GB, 429496729600 bytes

255 heads, 63 sectors/track, 52216 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes.net

Device Boot      Start         End      Blocks   Id  System

/dev/sdd1               1       52216   419424988+  83  Linuxblog

Disk /dev/sde: 209 MB, 209715200 bytes

7 heads, 58 sectors/track, 1008 cylinders

Units = cylinders of 406 * 512 = 207872 bytesip

Device Boot      Start         End      Blocks   Id  System

/dev/sde1               1        1008      204595   83  Linuxci

Disk /dev/sdf: 209 MB, 209715200 bytes

7 heads, 58 sectors/track, 1008 cylinders

Units = cylinders of 406 * 512 = 207872 bytesget

Device Boot      Start         End      Blocks   Id  System

/dev/sdf1               1        1008      204595   83  Linuxinput

能够看到,刚重启的节点1是sdd/sde/sdf

另外一个节点的状况是:

[root@ractest2 ~]# fdisk -l

Disk /dev/sda: 429.4 GB, 429496729600 bytes

255 heads, 63 sectors/track, 52216 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1       52216   419424988+  83  Linux

Disk /dev/sdb: 209 MB, 209715200 bytes

7 heads, 58 sectors/track, 1008 cylinders

Units = cylinders of 406 * 512 = 207872 bytes

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1        1008      204595   83  Linux

Disk /dev/sdc: 209 MB, 209715200 bytes

7 heads, 58 sectors/track, 1008 cylinders

Units = cylinders of 406 * 512 = 207872 bytes

Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1        1008      204595   83  Linux

分别在两台机子上执行以下命令:

[root@ractest2 ~] /usr/lib/udev/scsi_id -g -s /block/sda

360080e500017ff06000004054c47bd4a

[root@ractest2 ~] /usr/lib/udev/scsi_id -g -s /block/sdb

360080e500017fdd8000004c74c6344ef

[root@ractest2 ~] /usr/lib/udev/scsi_id -g -s /block/sdc

360080e500017ff060000044f4c63446e

[root@ractest1 ~] /usr/lib/udev/scsi_id -g -s /block/sdd

360080e500017ff06000004054c47bd4a

[root@ractest1 ~] /usr/lib/udev/scsi_id  -g -s /block/sde

360080e500017fdd8000004c74c6344ef

[root@ractest1 ~] /usr/lib/udev/scsi_id -g -s /block/sdf

360080e500017ff060000044f4c63446e

能过对比,能够看到sda与sdd,sdb与sde,sdc与sdf是对应用的,因此咱们启用udev,经过绑定id来规避这个问题!

[root@ractest1 ~]# cd /etc/udev/rules.d/

[root@ractest1 rules.d]# ls -a

.                    50-udev.rules     60-pcmcia.rules         61-uinput-wacom.rules  90-hal.rules

..                   51-hotplug.rules  60-raw.rules            85-pcscd_ccid.rules    95-pam-console.rules

05-udev-early.rules  60-libsane.rules  60-wacom.rules          90-alsa.rules          98-kexec.rules

40-multipath.rules   60-net.rules      61-uinput-stddev.rules  90-dm.rules            bluetooth.rules

[root@ractest1 rules.d]# vi 60-raw.rules

# Enter raw device bindings here.

#

# An example would be:

#   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"

# to bind /dev/raw/raw1 to /dev/sda, or

#   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"

# to bind /dev/raw/raw2 to the device with major 8, minor 1.

ACTION=="add", KERNEL=="sd*1", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360080e500017ff060000044f4c63446e", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="sd*1", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360080e500017fdd8000004c74c6344ef", RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="sd*1", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360080e500017ff06000004054c47bd4a", RUN+="/bin/raw /dev/raw/raw3 %N"

KERNEL=="raw[1-3]", OWNER="oracle", GROUP="dba", MODE="660"

[root@ractest1 rules.d]# start_udev

Starting udev: [  OK  ]

[root@ractest1 rules.d]#

[root@ractest1 rules.d]# raw -qa

/dev/raw/raw1:  bound to major 8, minor 81

/dev/raw/raw2:  bound to major 8, minor 65

/dev/raw/raw3:  bound to major 8, minor 49

同理,在另外一台机,也进行一样的操做。

通过如上操做后,全部问题都解决了,无论怎么重启都不会有问题!

Linux下重启磁盘盘符会变,linux系统 重启盘符错乱问题相关推荐

  1. linux lvm添加磁盘,Linux下添加磁盘创建lvm分区

    shell> fdisk /dev/xvdb #### 选择磁盘 Command (m for help): m #### 帮助 Command action a toggle a bootab ...

  2. Linux下清除磁盘分区及残留raid信息

    Linux下清除磁盘分区及残留raid信息 适用场景: 1. 查看硬盘编号 2. 删除磁盘分区 3. 删除磁盘内残留raid信息 *本文适用于430-8i等只有低速格式化或没有格式化功能的HBA卡使用 ...

  3. win和linux下的磁盘测速(读写速度)

    win和linux下的磁盘测速(读写速度)1 - 命令行工具测速 后面接Linux下的代码测速 Linux磁盘测速2 - 代码测速 一.linux 下磁盘测速 1. 首先找到都有那些磁盘df命令(di ...

  4. linux下测试磁盘的读写IO速度-简易方法

    linux下测试磁盘的读写IO速度-简易方法 参考资料: https://blog.csdn.net/zqtsx/article/details/25487185 一:使用hdparm命令 这是一个是 ...

  5. Linux下查看磁盘挂载的三种方法

    Linux下查看磁盘挂载的三种方法 2009-06-05 23:17 好久没有更新日志了,呵呵.不是没有要写的东东.实在抽不出时间来写,要准备公司的考试呢,C++考试.已经有七个月没有写C++代码了, ...

  6. (原创)Linux下的磁盘碎片整理(2)

    作者:h2appy 转载请注明出处. 一.Linux下是否需要磁盘碎片整理 首先要说的是,我们下面要讨论的文件系统一定会产生磁盘碎片. 只是由于策略不同,产生的碎片多少不同而已.比如ext3通过预留空 ...

  7. linux下的磁盘配额简介暨 linux下加挂硬盘续

    linux下的磁盘配额简介暨 linux下加挂硬盘续 实验环境 VMware 6.5.2 +redhat Enterprise 5 as 以上是内核版本,还有方便起见加挂一块硬盘 这只是我的环境 实验 ...

  8. linux下监控磁盘空间脚本

    Linux下监控磁盘的空闲空间的shell脚本,对于系统管理员或DBA来说,必不可少.下面是给出的一个监控磁盘空间空间shell脚本的样本. robin@SZDB:~/dba_scripts/cust ...

  9. Linux下的磁盘加密方法

    Linux下的磁盘加密方法 转载时请注明出处和作者联系方式 作者联系方式:李先静 <xianjimli at hotmail dot com> 随着智能手机的计算能力和存储能力的提高,手机 ...

  10. Linux下的磁盘碎片整理

    Linux下的磁盘碎片整理 网上有些帖子说XFS不用做碎片整理,其实是错误的.XFS用延迟写入等技术确实可以减少碎片的出现,但是如果 服务器用了几年,并且文件操作比较频繁,还是会出现碎片的,应该整理. ...

最新文章

  1. linux进程--多线程/多进程同步(十)
  2. 线段树 区间更新模板
  3. 树状数组求逆序对_区间和的个数(树状数组)
  4. 市场需求才是比特币优化的参考标准
  5. unity5.x Translate平移移动 以及GetComponent获取组件
  6. 10-4 5-4 查询至少生产三种不同速度PC的厂商 (20 分)
  7. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)
  8. 机器学习中用到的概率知识_山顶洞人学机器学习之——几种常见的概率分布
  9. GitHub 免费开放开发者计划,增加系列新优势
  10. zypper 工具详解
  11. flume与log4j的整合
  12. qt实现网易云音乐播放器的图片旋转功能(paintevent)
  13. 网络摄像机(大华)不知道ip地址怎么办?查询IPC的ip地址?修改IPC的ip地址?
  14. 传统运维 VS 互联网运维 框架体系大观
  15. 算法提高 盾神与条状项链(静态链表)
  16. sof与NIOS II的elf固件合并生成jic文件
  17. 东南亚电商平台 | Shopee 虾皮 入驻流程全解析
  18. ubuntu忘记密码?怎么办
  19. SCADA系统一次系统与二次系统模型
  20. java优化for循环

热门文章

  1. Ubuntu 设置自动切换桌面壁纸
  2. Hexo中Buttefly最新教程总览
  3. 阿里云天池大赛赛题解析——机器学习篇
  4. 他做国外LEAD,用了一年时间,把所有房贷都还清了
  5. 90 后美女独家秘籍:从小白到 AI 算法工程师
  6. 写给想要入行或刚刚入行程序员的二十条至理格言
  7. 解决SQL Server报错:229、262、5123
  8. 【微软资源站】MSDN
  9. mysql数据库有哪些版本_MySQL数据库各个版本的区别
  10. macOS Chrome无法访问自签名https页面问题的解决办法