为什么会有存储服务器?
1.单服务器空间空间达到上限 无法扩展
2.数据共享(多机共享数据)
3.数据备份(数据备份中心 热备 温备 冷备)
存储:不论是服务器还是存储, 在无有效备份的前提下, 数据的安全性无法保证

存储相关术语:
硬盘: 绿盘 蓝盘 紫盘 黑盘 金盘 监控级硬盘 企业级硬盘
1)家用标准:
    IDE或SATA 3.5寸 磁盘空间:(1T-16T) 转速:5400RPM-7200RPM  缓存:64M-256M
    SATA有企业级产品
    垂直式硬盘与叠瓦式硬盘:
        垂直式: 擦除数据时不会影响到附近轨道的其它数据, 安全性相对更高. 同时碎片化写入数据不过给硬盘造成负担, 从而影响整体写入速度.
        叠瓦式: 擦除和覆写数据的操作需要磁头写入两次数据, 相对磁盘寿命有所降低
    汇总:垂直式优势: 读取擦除安全 写入不掉速 寿命相对更长
2)企业级:
    SAS 尺寸:2.5或3.5寸 磁盘空间:146G 300G 600G 1.2T 2.4T 12T 转速:7.2k-15k
3)SSD固态盘
    致命缺点:一但芯片发生损坏,要想在碎成几瓣或者被电流击穿的芯片中找回数据那几乎就是不可能的


存储技术:
DAS直连式存储(Direct-Attached Storage):直连式附加存储
    1)存储设备直接通过接口和服务器相连(HBA卡)
    2)存储服务器接口数量有限, 线缆限制所跨越的范围有限, 当服务器非集中存放管理时, 无法统一管理
    产品: DELL MD3x00系列存储

NAS网络附加存储(Network Attached Storage): EMC   (Fastdfs)
    1) 它是一种专用数据存储服务器,它以数据为中心,将存储设备与服务器彻底分离,便于集中管理数据
    2) 客户端通过tcp/ip网络来访问服务端 (nfs现在已经不再使用 cifs:smb)

SAN存储区域网络(Storage Area Network): 通常SAN也称为FC-SAN与IP-SAN进行区分
    1) 独立于TCP/IP网络之外的专用网络
    2) 更高的传输速度2Gbps 4Gbps 8Gbps
    3) 光纤交换机 服务器单独的扩展卡
    4) 所有设备及链路全部双冗余
    总空间: 上百TB  成本:

冗余阵列: 6块盘 单块1T空间   (数据库MySQL 阵列级别10)
    raid0:  可用空间:6T空间 任何1块损坏 数据全部丢失 无任何磁盘浪费
    raid5:  可用空间:5T空间 在损坏1块磁盘的情况下 服务器依旧能够提供服务 数据不会丢失 (浪费1块磁盘 提高了安全性 -1)
    raid6:  可用空间:4T空间 在损坏2块磁盘的情况下 服务器依旧能够提供服务 数据不会丢失 (浪费2块磁盘 提高了安全性 -2)
    raid10: 可用空间:3T空间 在损坏3块磁盘的情况下 服务器依旧能够提供服务 数据不会丢失 (浪费3块磁盘 提高了安全性 /2)

数据安全性: 三副本
成本:

阵列卡:
DELL720 DELL730阵列卡:

DELL PERC H710  512M mini
DELL PERC H730  1G mini
DELL PERC H730p 2G mini (2000左右)

支持的raid级别不一样  缓存大小不一样 (硬盘缓存一个道理)

比如 配置及型号安全相同的两台服务器
    1) 能否把一台服务器上的硬盘拔下来 全部插到另一台服务器?
        不可以? 因为原服务器阵列卡记录了阵列相关的信息 另一台服务器的阵列卡无原阵列的相关信息
        可以? 阵列信息除了在阵列卡存有这外 硬盘同样也存储了一份

gw: 提供安装源(yum)
node05: 为node01提供数据备份业务:
node01:

iSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术
    1) 数据传输对于用户来说是透明的, 用户在存储数据的时候, 就像是使用自己的本地硬盘
    2) 速度与稳定性受限于网络及提供共享服务的服务器性能

服务端(node05): target
    添加1块磁盘2G空间

客户端(node01): initiator

服务器端:
1) 安装对应的软件包 并设置开机启动
[root@node05 ~]# yum install targetcli -y
[root@node05 ~]# systemctl start target
[root@node05 ~]# systemctl enable target

2) 对新加的磁盘进行分区
[root@node05 ~]# fdisk /dev/sdb <<EOF
n
p
1


w
EOF

# 查看分区结果
[root@node05 ~]# fdisk -l | grep sdb1
/dev/sdb1            2048     4194303     2096128   83  Linux

3) 进行相关配置
3.1 建立一个块存储 www.disk2G 可以自己命名
3.2 iqn.2021-01.cn.example.www:disk
命名在同一子网内确保是唯一,命名格式为:iqn.yyyy-mm.<主机名反写>:自定义名称
    iqn.       # iscsi限定名称
    2019-05    # 时间 常用格式:yyyy-mm
    cn.example.www   # 反向域名
    disk    # 自定义标签名称 一般disk

# 进入交互模式
[root@node05 ~]# targetcli
/> ls
o- / ............................................................................. [...]
  o- backstores .................................................................. [...]
  | o- block ...................................................... [Storage Objects: 0]
  | o- fileio ..................................................... [Storage Objects: 0]
  | o- pscsi ...................................................... [Storage Objects: 0]
  | o- ramdisk .................................................... [Storage Objects: 0]
  o- iscsi ................................................................ [Targets: 0]
  o- loopback ............................................................. [Targets: 0]
# 建立一个块存储 www.disk2G 注意名字
/> /backstores/block create www.disk2G /dev/sdb1   # 名字见名知义 对应的磁盘名称
Created block storage object www.disk2G using /dev/sdb1.
/> iscsi/ create iqn.2021-01.cn.example.www:disk   #
Created target iqn.2021-01.cn.example.www:disk.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.

# 创建ACL
/> iscsi/iqn.2021-01.cn.example.www:disk/tpg1/acls create iqn.2021-01.cn.example.www:nodes
Created Node ACL for iqn.2021-01.cn.example.www:nodes

# 绑定块设备 前面定义的名字 www.disk2G
/> iscsi/iqn.2021-01.cn.example.www:disk/tpg1/luns create /backstores/block/www.disk2G
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2021-01.cn.example.www:nodes

# 删除默认的IP和端口设置
/> iscsi/iqn.2021-01.cn.example.www:disk/tpg1/portals/ delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260

# 添加本地IP地址和端口号
/> iscsi/iqn.2021-01.cn.example.www:disk/tpg1/portals create 10.15.200.105 3260    # 10.15.200.104
Using default IP port 3260
Created network portal 10.15.200.105:3260.

# 保存配置
/> saveconfig
Configuration saved to /etc/target/saveconfig.json

客户端:
[root@node01 ~]# yum -y install iscsi-initiator-utils

# 此处InitiatorName必须与服务端配置得ACL允许ISCSI客户机连接名称一致

[root@node01 ~]# vim /etc/iscsi/initiatorname.iscsi    # 创建的ACL的名字
InitiatorName=iqn.2021-01.cn.example.www:nodes

[root@node01 ~]# systemctl enable iscsid
[root@node01 ~]# systemctl restart iscsid

# 查找ISCSI设备
[root@node01 ~]# iscsiadm -m discovery -t sendtargets -p node05   # node04
10.15.200.105:3260,1 iqn.2021-01.cn.example.www:disk

# 验证客户端存储是否已发现服务端target
[root@node01 ~]# ls /var/lib/iscsi/nodes/
iqn.2021-01.cn.example.www:disk

# 连接ISCSI设备
# -T:-target -l:Login -u:Logout
[root@node01 ~]# iscsiadm -m node -T iqn.2021-01.cn.example.www:disk -l
Logging in to [iface: default, target: iqn.2021-01.cn.example.www:disk]
Login to [iface: default, target: iqn.2021-01.cn.example.www:disk]] successful.

[root@node01 ~]#  iscsiadm -m session -P 3 | grep Attached
    Attached scsi disk sdb          State: running

[root@node01 ~]# fdisk -l | grep sdb
Disk /dev/sdb: 2146 MB, 2146435072 bytes, 4192256 sectors

[root@node01 ~]# mkfs.xfs /dev/sdb 
[root@node01 ~]# blkid /dev/sdb
/dev/sdb: UUID="bab4b5ba-49a9-467e-bd39-887d1b55628d" TYPE="xfs"

[root@node01 ~]# mkdir /backup
[root@node01 ~]# vim /etc/fstab
UUID=c0d2eb8f-7725-4d79-a3d7-925c084a4f97 /backup xfs _netdev 0 0

# mount all filesystems mentioned in fstab
[root@node01 ~]# mount -a
[root@node01 ~]# df -h | grep backup
/dev/sdb                 2.0G   33M  2.0G   2% /backup

# 重启系统进行校验
[root@node01 ~]# init 6
[root@node01 ~]# df -h | grep backup
/dev/sdb                 2.0G   33M  2.0G   2% /backup

[root@node01 ~]# mount -a   # 出错 因为未挂载
mount: can't find UUID=bab4b5ba-49a9-467e-bd39-887d1b55628d
[root@node01 ~]# iscsiadm -m node -T iqn.2021-01.cn.example.www:disk -l   # 重新登录
Logging in to [iface: default, target: iqn.2021-01.cn.example.www:disk
Login to [iface: default, target: iqn.2021-01.cn.example.www:disk,] successful.
[root@node01 ~]# mount -a  # 重新挂载
[root@node01 ~]# df -h | grep backup
/dev/sdb                 2.0G   33M  2.0G   2% /ba

# 恢复原装 将开机启动中的选项 注释或删除
[root@node01 ~]# /etc/fstab
# 卸载挂载点
[root@node01 ~]# umount  /backup
# -u: 退出 (只有非挂载状态 才可以-u)
[root@node01 ~]# iscsiadm -m node -T iqn.2021-01.cn.example.www:disk -u
Logging out of session [sid: 1, target: iqn.2021-01.cn.example.www:disk, portal: 10.15.200.105,3260]
Logout of [sid: 1, target: iqn.2021-01.cn.example.www:disk, portal: 10.15.200.105,3260] successful.

[root@node01 ~]# systemctl stop iscsi
[root@node01 ~]# systemctl disable iscsi

# /backup挂载状态时 无法退出
iscsiadm: initiator reported error (28 - device or resource in use)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐