存储基本概念与SAN存储

存储基本概念与SAN存储前言环境 centos7 9 什么是存储 storage 简单来说 存储就是存放数据的介质 我们平时最常见的存储就是 U 盘 移动硬盘 笔记本使用的机械或固态硬盘等等 在服务器领域 为了数据的安全性 业务数据一般要与系统分开而且重要的业务数据一般是通过某种共享技术 nsf 挂载到远程存储上的 这样即是为了安全 也是为了高可用性 比如 音视频网站 存放音视频的目录一般不能放在根分区下 以防系统挂掉的时候 需要重新系统时 音视频数据还在 同时 由于音视频数据量太大 不可能说把音视频的数据放在本地服务器的磁盘空间上

前言

环境:centos7.9

什么是存储storage

Linux存储五层

在这里插入图片描述

存储的分类

存储分类 描述
DAS直连式存储(direct assess/attach storage) 如:机箱里的disk,或通过接口直连到系统总线上的disk(如U盘,移动硬盘)
NAS网络附加存储(network attched storage) 通过交换机,路由器连接起来,共享的是目录,如:nfs、Samba、ftp
SAN存储区域网络(storage area network) 通过交换机,路由器连接起来的高速存储网络,共享的是块设备,如:sdb、dbc

备注:NAS共享的是目录,应用服务器直接mount挂载就可以使用;SAN共享的快设备,应用服务器挂载之后还需要分区、格式化之后才能使用。

存储类型的分类

存储类型的分类 描述
文件存储 NAS都属于这一种,简单来说就是mount后直接使用
快存储 SAN都属于这一类,简单来说就是类似于/dev/sdb这种,要分区、格式化后才能使用
对象存储 通俗来讲,就是存储是什么形式,怎么做的都不需要关注,使用的人只需要直接使用程序接口去访问,进行get下载与put上传即可

模拟SAN存储服务器

DAS直连式存储太简单了,我们的U盘就是,这种我们不讲, NAS网络附加存储我们其实也讲过,nfs就能实现,而nfs的配置可以查看之前我写的文章,本篇我们主要讲SAN存储区域网络,即块存储,在此,我们模拟IP-SAN之iscsi实现。

准备工作

先准备两台虚拟机:存储服务器A、应用服务器B;同时存储服务器A新加1块磁盘,如下所示,为了简单,在存储服务器A我已经加了1块1G的硬盘:

[root@storage ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk sda1 8:1 0 300M 0 part /boot sda2 8:2 0 39.7G 0 part centos-root 253:0 0 35.7G 0 lvm / centos-swap 253:1 0 4G 0 lvm [SWAP] sdb 8:16 0 1G 0 disk #这块硬盘就是新加了,为了方面模拟 sr0 11:0 1 1024M 0 rom [root@storage ~]#  

存储服务器A-安装软件、共享硬盘

在存储服务器A中安装epel源:

[root@storage ~]# yum install epel-release -y #安装epel源 [root@storage ~]# yum install scsi-target-utils -y #安装scsi-target-utils [root@storage ~]# rpm -qc scsi-target-utils #查看scsi-target-utils有哪些配置文件 /etc/sysconfig/tgtd /etc/tgt/conf.d/sample.conf /etc/tgt/targets.conf /etc/tgt/tgtd.conf [root@storage ~]# vim /etc/tgt/targets.conf #编辑配置文件 [root@storage ~]# vim /etc/tgt/targets.conf  # Set iSNS parameters, if needed  backing-store /dev/LVM/somedevice # 
    # This is a sample config file for tgt-admin. # # The "#" symbol disables the processing of a line. # Set the driver. If not specified, defaults to "iscsi". default-driver iscsi <target storage:data> #这段target就是新加的,storage:data共享名,可以自定义 backing-store /dev/sdb #/dev/sdb就是共享的快设备,既可以是整块硬盘,也可以是一个分区或者dd的一个文件等 allow-in-use yes </target> # Set iSNS parameters, if needed #iSNSServerIP 192.168.111.222 #iSNSServerPort 3205 #iSNSAccessControl On #iSNS On # Continue if tgtadm exits with non-zero code (equivalent of # --ignore-errors command line option) #ignore-errors yes [root@storage ~]# systemctl start tgtd #启动tgtd服务 [root@storage ~]# systemctl enable tgtd #设置开机自启 [root@Oracle11g ~]# lsof -i:3260 #tgtd服务的端口是3260 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME tgtd 2549 root 6u IPv4 36160 0t0 TCP *:iscsi-target (LISTEN) tgtd 2549 root 7u IPv6 36161 0t0 TCP *:iscsi-target (LISTEN) [root@Oracle11g ~]# 

应用服务器B-安装软件、挂载

[root@nginx /]# yum install iscsi-initiator-utils -y #安装iscsi-initiator-utils [root@nginx /]# iscsiadm -m discovery -t sendtargets -p 192.168.118.131 #发现存储端共享的设备,会把相关信息保存 192.168.118.131:3260,1 storage:data #发现存储端共享了一个名为storage:data快设备 [root@nginx /]# lsblk #查看硬盘,这是还没有存储端的硬盘挂载过来 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 10G 0 disk sda1 8:1 0 1G 0 part /boot sda2 8:2 0 9G 0 part centos-root 253:0 0 8G 0 lvm / centos-swap 253:1 0 1G 0 lvm [SWAP] sr0 11:0 1 1024M 0 rom [root@nginx /]# iscsiadm -m node -l #登陆,因为上一步discovery了存储设备并保存了相关信息 Logging in to [iface: default, target: storage:data, portal: 192.168.118.131,3260] (multiple) Login to [iface: default, target: storage:data, portal: 192.168.118.131,3260] successful. [root@nginx /]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 10G 0 disk sda1 8:1 0 1G 0 part /boot sda2 8:2 0 9G 0 part centos-root 253:0 0 8G 0 lvm / centos-swap 253:1 0 1G 0 lvm [SWAP] sdb 8:16 0 1G 0 disk #登陆之后,存储端的共享硬盘就挂载过来了 sr0 11:0 1 1024M 0 rom [root@nginx /]#  [root@nginx /]# iscsiadm -m node -u #取消登陆,取消链接 Logging out of session [sid: 1, target: storage:data, portal: 192.168.118.131,3260] Logout of [sid: 1, target: storage:data, portal: 192.168.118.131,3260] successful. [root@nginx /]# lsblk #共享硬盘已经取消了,看不到了 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 10G 0 disk sda1 8:1 0 1G 0 part /boot sda2 8:2 0 9G 0 part centos-root 253:0 0 8G 0 lvm / centos-swap 253:1 0 1G 0 lvm [SWAP] sr0 11:0 1 1024M 0 rom [root@nginx /]# iscsiadm -m node -l #重新登陆,下面我们就可以自由对共享过来的硬盘进行磁盘分区、格式化等操作了 [root@nginx /]# fdisk /dev/sdb fdisk: cannot open /dev/sdb: No such file or directory [root@nginx /]# iscsiadm -m node -l Logging in to [iface: default, target: storage:data, portal: 192.168.118.131,3260] (multiple) Login to [iface: default, target: storage:data, portal: 192.168.118.131,3260] successful. [root@nginx /]# fdisk /dev/sdb #分区,只分一个sdb1进行测试就可以 Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x3e423aab. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-, default 2048): Using default value 2048 Last sector, +sectors or +size{ 
   K,M,G} (2048-, default ): Using default value  Partition 1 of type Linux and of size 1023 MiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@nginx /]# mkfs.xfs /dev/sdb1 #格式化分区为xfs文件系统 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=65472 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=855, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@nginx /]# mkdir /data #创建挂载点 [root@nginx /]# mount /dev/sdb1 /data #把磁盘分区挂载到挂载点 [root@nginx /]# df -h #查看所有磁盘 Filesystem Size Used Avail Use% Mounted on devtmpfs 899M 0 899M 0% /dev tmpfs 910M 0 910M 0% /dev/shm tmpfs 910M 9.7M 901M 2% /run tmpfs 910M 0 910M 0% /sys/fs/cgroup /dev/mapper/centos-root 8.0G 5.5G 2.6G 69% / /dev/sda1 1014M 239M 776M 24% /boot tmpfs 182M 0 182M 0% /run/user/0 /dev/sdb1 1020M 33M 988M 4% /data #sdb1已经正常挂载到了?data目录,可以正常存储文件了 [root@nginx /]#  

问?

总结–SAN存储配置

存储服务器配置如下: [root@storage ~]# yum install epel-release -y #安装epel源 [root@storage ~]# yum install scsi-target-utils -y #安装scsi-target-utils [root@storage ~]# vim /etc/tgt/targets.conf #编辑配置文件 [root@storage ~]# vim /etc/tgt/targets.conf  # Set iSNS parameters, if needed  backing-store /dev/LVM/somedevice # 
    # This is a sample config file for tgt-admin. # # The "#" symbol disables the processing of a line. # Set the driver. If not specified, defaults to "iscsi". default-driver iscsi <target storage:data> #这段target就是新加的,storage:data共享名,可以自定义 backing-store /dev/sdb #/dev/sdb就是共享的快设备,既可以是整块硬盘,也可以是一个分区或者dd的一个文件等 allow-in-use yes </target> # Set iSNS parameters, if needed #iSNSServerIP 192.168.111.222 #iSNSServerPort 3205 #iSNSAccessControl On #iSNS On # Continue if tgtadm exits with non-zero code (equivalent of # --ignore-errors command line option) #ignore-errors yes [root@storage ~]# systemctl start tgtd #启动tgtd服务 [root@storage ~]# systemctl enable tgtd #设置开机自启 [root@Oracle11g ~]# lsof -i:3260 #tgtd服务的端口是3260 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME tgtd 2549 root 6u IPv4 36160 0t0 TCP *:iscsi-target (LISTEN) tgtd 2549 root 7u IPv6 36161 0t0 TCP *:iscsi-target (LISTEN) [root@Oracle11g ~]# 客户端挂载配置如下: [root@nginx /]# yum install iscsi-initiator-utils -y #安装iscsi-initiator-utils [root@nginx /]# iscsiadm -m discovery -t sendtargets -p 192.168.118.131 #发现存储端共享的设备,会把相关信息保存 192.168.118.131:3260,1 storage:data #发现存储端共享了一个名为storage:data快设备 [root@nginx /]# iscsiadm -m node -l #登陆,因为上一步discovery了存储设备并保存了相关信息 Logging in to [iface: default, target: storage:data, portal: 192.168.118.131,3260] (multiple) Login to [iface: default, target: storage:data, portal: 192.168.118.131,3260] successful. [root@nginx /]# lsblk #查看设备 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 10G 0 disk sda1 8:1 0 1G 0 part /boot sda2 8:2 0 9G 0 part centos-root 253:0 0 8G 0 lvm / centos-swap 253:1 0 1G 0 lvm [SWAP] sdb 8:16 0 1G 0 disk #登陆之后,存储端的共享硬盘就挂载过来了,可以自由分区格式化然后使用了 sr0 11:0 1 1024M 0 rom [root@nginx /]# fdisk /dev/sdb #开始分区 fdisk: cannot open /dev/sdb: No such file or directory [root@nginx /]# iscsiadm -m node -l Logging in to [iface: default, target: storage:data, portal: 192.168.118.131,3260] (multiple) Login to [iface: default, target: storage:data, portal: 192.168.118.131,3260] successful. [root@nginx /]# fdisk /dev/sdb #分区,只分一个sdb1进行测试就可以 [root@nginx /]# mkfs.xfs /dev/sdb1 #格式化分区为xfs文件系统 [root@nginx /]# mkdir /data #创建挂载点 [root@nginx /]# mount /dev/sdb1 /data #把磁盘分区挂载到挂载点 [root@nginx /]# df -h #查看所有磁盘分区 
NAS是远程通过网络共享目录; SAN是远程通过网络共享块设备; 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210687.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午7:07
下一篇 2026年3月19日 上午7:07


相关推荐

  • ios-anchorPoint、position理解[通俗易懂]

    ios-anchorPoint、position理解[通俗易懂]anchorPoint(锚点)是layer的一个属性,下面我们来看看其对view的影响,本文主要通过图片方式展现:锚点用单位坐标来描述也就是图层的相对坐标。在苹果文档中说明左下是(0,0),右上是(1,1),经过试验这个是错的,实际上:图层左上角是{0,0},右下角是{1,1},取值范围不限。单位坐标的意思是指以视图长款为单位来计算,坐标系展示如下:默认一个视图的锚

    2022年10月8日
    4
  • 《数据结构导论自考知识点(自己总结)》「建议收藏」

    《数据结构导论自考知识点(自己总结)》「建议收藏」《数据结构导论自考知识点》一、线性表:1、插入:从后往前挪,删除:从前往后挪2、顺序存储(方式:for循环)3、链式存储:{单链表的一个结点由两部分组成,数据元素和指针。datanext^^数据指针}二、栈、队列:4、栈:top++入栈,top–出栈5、队列:顺序队列,出队操作队首,指针后移一位,front=(front+1)%习题:一个二维数组,…

    2022年8月18日
    5
  • java mongodb 使用MongoCollection,BasicDBObject 条件查询

    java mongodb 使用MongoCollection,BasicDBObject 条件查询

    2021年6月7日
    185
  • 御用导航官方网站提醒提示页_砼讯 | 河海大学官方网站全新改版上线!「建议收藏」

    御用导航官方网站提醒提示页_砼讯 | 河海大学官方网站全新改版上线!「建议收藏」上新了河海河海大学的官方网站上新啦!经过精心的筹备和技术人员不懈努力在105周年校庆来临之际河海大学官方网站全新改版上线!旧版网站全新改版新版网站高端大气的界面设计简洁明晰的板块分布河海元素的多重呈现超大大大图带来绝佳的视觉体验改版后的河海大学官网分为:河海新闻学术活动信息公告光影河海媒体河海五大板块信息门户、邮箱等在网站的右上角校园文化、校园景观、校园服务、图书档案、校历、校车等则在校…

    2022年5月30日
    163
  • 开关量电压转换电路

    开关量电压转换电路单片机的I/O口承受输入电压一般是-5V到 +5V,如果一个开关接的距离比较远,就容易受到线路干扰、线缆本身的电阻率影响导致MCU无法识别。虽然MCU的I/O的输入是“高阻抗”的,但是还是很难确保远距离后的影响。  左边可以输入0~12V,右边可以很稳定的输出0~5V

    2022年5月5日
    43
  • 马化腾最新发文:目前我们所处的时期,很像AI时代的第一个上升螺旋

    马化腾最新发文:目前我们所处的时期,很像AI时代的第一个上升螺旋

    2026年3月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号