Linux集群存储——day1——udev管理技术、多路径服务

存储技术分为:直连式存储,网络存储

直连存储 SCSI接口(双绞线) 小型计算接口、其接口对应的系统中的磁盘名是  sd开头
DAS技术 将存储设备通过SCSI接口或者光纤通道链接计算机
优点:存储速度综合较快,短距离中性价比高
缺点:不能数据共享,在数据量巨大的时候,其性能下降较快
网络存储 NAS 是一个专用数据存储服务器,属于一个用于数据共享的设备,用户可以通过TCP/IP协议访问数据
SAN 通过网络交换设备把存储设备和相关服务器连接起来,属于搭建一个网络服务来实现共享存储设备的存储空间
FC-SAN  是用光纤设备组成的SAN,成本高,相连的所有设备都必须是支持光纤的网络设备,但性能高
IP-SAN  是用普通双绞线进行连接,性价比高,在距离不是很远的时候参用较多,但是距离长可能会有不少延迟
其中包含一个iscsi的技术(具体iscsi的配置查看我关于iscsi配置的相关blog)

设备文件管理方法:udev 技术

    因为连接ISCSI共享出的磁盘,其设备在系统的名字是按顺序分配的,不固定,导致在写一些自动挂载的时候会无故报错,所以想用udev技术让一个设备完全固定一个名字。

  Linux查看系统中设备信息

    1. 获取设备信息
          动态监听系统设备信息
             udevadm monitor --property

          具体查看当前系统设备的信息
             获取路径
                udevadm info -q path -n 设备的系统路径
             获取详细信息
                udevadm info -q all -p 刚刚查看的路径 -a
             合并起来可以写成:
                udevadm info -q all -n 设备的系统路径 -a

    2. 配置udev,修改配置文件:/etc/udev/rules.d/50-iscsidisk.rules

       具体格式就算把所有的匹配选项和具体操作,用  ,   连接起来,程序会把匹配所有匹配选项的设备一一进行所有操作,不过最好匹配项能锁定一个具体设备

符号含义
== 代表匹配
!= 代表不匹配
= 代表赋值
+= 代表追加
:= 代表指定值,不允许被替换
变量
%k 内核所识别出来的设备名,如sdb1
%n 设备的内核编号,如sda3中的3
%p 设备路径,如/sys/block/sdb/sdb1
%% %符号本身
具体操作
NAME="名字" 定义设备名称
SYMLINK+="相对路径" 添加一个链接,其相对路径是从/dev/ 开始的
OWNER="用户" 指定设备的所有者
MODE="0644" 定义设备的权限其数字代表的就是权限
从上面的命令udevadm中,查找有用信息
ACTIOMN=="设备动作" 判断设备的动作(添加add,删除delete)
SUBSYSTEM=="block" 设备类型是   块设备
ATTR{size}=="104857600" 设备大小
ATTRS{model}=="db           "

 设备命名

KERNEL=="sd[a-z][1-7]"

判断内核中该设备名字可以用范围也可是确定值

是磁盘就不加数字,是分区就要加上数字

ATTRS{vendor}=="LIO-ORG " 生产厂家

例如:

SUBSYSTEM=="block",ATTRS{model}=="db",ATTRS{vendor}=="LIO-ORG ",KERNEL=="sd[a-z]",SYMLINK="iscsi/udisk"

    先手动进行连接iscsi的设备,然后查看其设备信息,然后在配置文件写一些关于磁盘的具体标识,可以是磁盘的标识也可以是磁盘的标识,选的什么的信息到时候,创建的连接就是谁,最后加一个链接,这样就可以在/dev/下创建一个链接,然后不管是挂载还是格式化都只要对这个链接操作。
    要注意,如果想做的是一个磁盘,可以对其分区,但是最好不要格式化,否则会让分分区信息消失,可以分区后,再像上面再配置文件中写一个分区的链接。


为提高稳定性,搭建多路径服务

  装包:device-mapper-multipath

  初始化配置:mpathconf  --user_friendly_names n

  进阶配置:
    获取磁盘的唯一标示wwid:/usr/lib/udev/scsi_id --whitelisted --device=磁盘
    修改配置文件: /etc/multipath.conf   (在后面追加)

multipaths {
   multipath {
        wwid  "刚刚查看的磁盘的wwid信息"
        alias  自定的名字(其会自动创建在/dev/mapper/)
   }
}

  启服务:systemctl restart multipathd

  刷新多路径信息 multipath -rr
  查看多路径信息 multipath -ll

   检查多路径的配置是否成功,查看/dev/mapper/有没有自定义的名字,我们如果要分区、格式化、挂载也是对这目录下创建出来的内容操作,分区后,这个目录下也会有相关的文件
   如定义的名字为mapth,那么磁盘就是/dev/mapper/mapth,分区后就会多一个/dev/mapper/mapth1,然后的操作就和基本的磁盘一样了。


总结:
   1. iscsi是较为常见的磁盘存储共享,请熟练掌握
   2. udev和multipaths都是创建了一个链接,然后通过链接来操作磁盘
   3. udev分区后不会有分分区相关的链接,但是multipaths会自动创建,其操作相对udev会检点点。

你可能感兴趣的:(Linux,集群存储)