存储技术分为:直连式存储,网络存储
直连存储 | 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会检点点。