注册
块设备挂盘
专栏/技术分享/ 文章详情 /

块设备挂盘

zxw 2026/09/30 127 0 0
摘要

Linux 的 块设备 挂盘

物理盘
 |
 |
/dev/sdb1    linux识别出来的块设备(block device)
 | 绑定(raw映射)
 |
/dev/raw/raw1  raw是Linux提供的一种裸设备接口,把块设备转成字符设备
 |									
 |
 |
DM DSC使用

​ 在达梦 DSC配置里的两种挂盘方式:

​ 方法1:无多路径(单路径)

​ 方法2:多路径绑定(Multipath)

多路径 = 一块存储盘,通过多条物理线路连接服务器,提高可靠性和性能。
无多路径 = 一块存储盘,只有一条线路连接服务器。

无多路径

结构:

          A服务器
             |
             |  一条光纤/iSCSI连接
             |
          共享存储
             |
             |  一条光纤/iSCSI连接
             |
          B服务器

假设存储给你5块盘:

共享存储
 |
 +---- sdb1
 +---- sdb2
 +---- sdb3
 +---- sdb4
 +---- sdb5

linux看到:

fdisk -l

/dev/sdb1
/dev/sdb2
/dev/sdb3
/dev/sdb4
/dev/sdb5

所以配置:

sdb1 --> /dev/raw/raw1
sdb2 --> /dev/raw/raw2
...

也就是:

物理盘
 |
 v
/dev/sdb1    linux识别出来的块设备(block device)
 | 绑定(raw映射)
 v
/dev/raw/raw1  raw是Linux提供的一种裸设备接口,把块设备转成字符设备
 |									
 |
 v
DM DSC使用

无多路径udev绑定(A机器、B机器依次修改)

[root@~]# vi /etc/udev/rules.d/70-persistent-ipoib.rules

# 当有硬件添加,名字是sdb1,执行/bin/raw /dev/raw/raw1 %N命令,将sda1绑定到/dev/raw/raw1
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdb4", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdb5", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="raw[1-5]", OWNER="dmdba", GROUP="dinstall", MODE="660" [root@~]# partprobe /dev/sdb
[root@~]# reboot

注意:可通过blockdev --getsize64 /dev/raw/raw*命令查看设备大小

多路径

​ 生产环境不用单路径,因为光纤一旦断了,数据库直接挂

生产一般(一台服务器有多个路径):

                 +---- 光纤1 ----+
                 |              |
服务器 -----------+              +----- 存储
                 |              |
                 +---- 光纤2 ----+

服务器看到:

/dev/sdb
/dev/sdc
/dev/sdd
/dev/sde

其实可能都是同一块存储LUN:

应用程序
   |
数据库(DM/Oracle)
   |
文件系统 / ASM / DMASM
   |
裸设备(Raw Device)
   |
块设备(磁盘)
   |
  LUN
   |
存储阵列(SAN存储)
真实存储盘

		LUN1
         |
  ----------------
  |      |       |
 sdb    sdc     sdd
路径1  路径2   路径3

如果/dev/sdb

如果直接使用/dev/sdb会有问题,因为/dev/sdb,/dev/sdc,/dev/sdd实际上是同一张盘

所以需要multipath软件合并:

sdb
 |
sdc
 |
sdd
 |
sde
 |
 v

/dev/mapper/mpathg

最终数据库只使用:

/dev/mapper/mpathg

使用命令ll /dev/mappr和ll /dev/dm*查看对应设备的信息

会有以下输出:

# 例如 /dev/mapper/mpathg1对应dm-3,主设备编号为253,次设备编号为3

ls -l /dev/mapper/

总用量 0
crw------- 1 root root 10, 236 11月 28 20:40 control
lrwxrwxrwx 1 root root       7 11月 28 21:03 mpathg -> ./dm-2
lrwxrwxrwx 1 root root       7 11月 28 21:03 mpathg1 -> ./dm-3
lrwxrwxrwx 1 root root       7 11月 28 21:03 mpathg2 -> ./dm-4
lrwxrwxrwx 1 root root       7 11月 28 21:03 mpathg3 -> ./dm-5
lrwxrwxrwx 1 root root       7 11月 28 21:03 mpathg4 -> ./dm-6
lrwxrwxrwx 1 root root       7 11月 28 21:03 nlas-home -> ./dm-7
lrwxrwxrwx 1 root root       7 11月 28 21:03 nlas-root -> ./dm-0
lrwxrwxrwx 1 root root       7 11月 28 21:03 nlas-swap -> ./dm-1

ls -l /dev/dm-*

brw-rw---- 1 root disk 253, 0 11月 28 20:40 /dev/dm-0
brw-rw---- 1 root disk 253, 1 11月 28 20:40 /dev/dm-1
brw-rw---- 1 root disk 253, 2 11月 28 21:03 /dev/dm-2
brw-rw---- 1 root disk 253, 3 11月 28 21:03 /dev/dm-3
brw-rw---- 1 root disk 253, 4 11月 28 21:03 /dev/dm-4
brw-rw---- 1 root disk 253, 5 11月 28 21:03 /dev/dm-5
brw-rw---- 1 root disk 253, 6 11月 28 21:03 /dev/dm-6
brw-rw---- 1 root disk 253, 7 11月 28 20:40 /dev/dm-7

​

[root@~]# vi /etc/udev/rules.d/70-persistent-ipoib.rules
  ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="3",RUN+="/bin/raw /dev/raw/raw1 %M %m"
  ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="4",RUN+="/bin/raw /dev/raw/raw2 %M %m"
  ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="5",RUN+="/bin/raw /dev/raw/raw3 %M %m"
  ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="6",RUN+="/bin/raw /dev/raw/raw4 %M %m"
  ACTION=="add",ENV{MAJOR}=="253",ENV{MINOR}=="7",RUN+="/bin/raw /dev/raw/raw5 %M %m"
  ACTION=="add",KERNEL=="raw[1-5]",OWNER="dmdba",GROUP="dinstall",MODE="660"
[root@~]# partprobe /dev/mapper/mpathg
[root@~]# reboot

​

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服