存储+调优:存储-IP-SAN

news2024/11/19 6:38:29

存储+调优:存储-IP-SAN


数据一致性问题
    硬盘(本地,远程同步rsync)
    存储设备(网络)
    
网络存储
    不同接口的磁盘
    1.速率
    2.支持连接更多设备
    3.支持热拔插
存储设备什么互联
   千兆或者万兆的网卡 ip
   光纤网卡,光纤交换机 
   怎么解决大家都去访问存储设备数据的时候的一个竞争性问题
   尽可能减小网络延时,瓶颈不出在网络上
   I/O的效率更高一些


硬盘接口是硬盘与主机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据。不同的硬盘接口决定着硬盘与计算机之间的连接速度,在整个系统中,硬盘接口的优劣直接影响着程序运行快慢和系统性能好坏。

IDE
IDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”
IDE最高的传输速度133 MB/S

SATA  
使用SATA(Serial ATA)口的硬盘又叫串口硬盘
SATA1.0 100MB/s
SATA2.0 7200rpm 3Gb/秒 

SCSI
SCSI的英文全称为“Small Computer System Interface”(小型计算机系统接口)
Ultra Wide SCSI        40MB
Ultra2 Wide SCSI    80MB
Ultra160 SCSI        160MB
Ultra320 SCSI         320MB

SAS(Serial Attached SCSI)即串行连接SCSI
SAS2 15000rpm 6.0Gb/秒 

固态硬盘(Solid State Disk、IDE FLASH DISK)
SATA3.0 500MB/s

DAS—直连式存储
  直连式存储依赖服务器主机操作系统进行数据的IO读写和存储维护管理,数据备份和恢复要求占用服务器主机资源(包括CPU、系统IO等),数据流需要回流主机再到服务器连接着的磁带机(库),数据备份通常占用服务器主机资源20-30%,因此许多企业用户的日常数据备份常常在深夜或业务系统不繁忙时进行,以免影响正常业务系统的运行。直连式存储的数据量越大,备份和恢复的时间就越长,对服务器硬件的依赖性和影响就越大。 
PC---> 主板---》接口---》数据总线---》硬盘

SCSI 小型计算机系统接口(直连式)
    1.SCSI协议信息
    2.本服务器承担I/O消耗
    


NAS(Network Attached Storage:网络附属存储)是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术。按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。目前国际著名的NAS企业有Netapp、EMC、OUO等。

PC-----》交换机----------》  nfs | cifs     lvm     RAID

1.可扩展
2.I/O转移到网络


SAN(存储区域网络及其协议Storage Area Network and SAN Protocols)
  存储区域网络(SAN)是一种高速网络或子网络,提供在计算机与存储系统之间的数据传输。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列。一个 SAN 网络由负责网络连接的通信结构、负责组织连接的管理层、存储部件以及计算机系统构成,从而保证数据传输的安全性和力度。 
SAN (NAS+DAS)


        PC
         |
         |
        交换机
             /    \
           /       \
       lvm      lvm
      raid      raid

1.SAN存储被前端使用存储的设备识别为块设备
2.需要实现在网络上传输scsi协议数据
3.光纤协议 FC

ISCSI------》 IP SAN
FC -------》 FC SAN

1.存储节点 iscsi_target
2.前端节点 iscsi_initiator


        -------       ----------
        server1        server2
        -------       ---------
      172.16.1.10       172.16.1.20
           \               /
             \            /
        交换机
              /           \
            /                \
      172.16.1.1       172.16.1.2
       -------           ------
       node1            node2
       --------          -------

node1  node2
[root@node1 ~]# yum install scsi-target-utils
[root@node1 ~]# vim /etc/tgt/targets.conf 
default-driver iscsi


# Continue if tgtadm exits with non-zero code (equivalent of
# --ignore-errors command line option)
#ignore-errors yes


# Sample target with one LUN only. Defaults to allow access for all initiators:

<target iqn.2012-02.com.uplooking:node1.target1>
    backing-store /dev/sdb
    vendor_id node1
    product_id storage1
    initiator-address 172.16.1.10
    initiator-address 172.16.1.20
</target>

[root@node1 ~]# service tgtd start
Starting SCSI target daemon: Starting target framework daemon
  
[root@node1 ~]# netstat -tunpl | grep tgtd
tcp        0      0 0.0.0.0:3260                0.0.0.0:*                   LISTEN      3710/tgtd           
tcp        0      0 :::3260                     :::*                        LISTEN      3710/tgtd           
[root@node1 ~]# tgt-admin --show
Target 1: iqn.2012-02.com.uplooking:node1.target1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB
            Online: Yes
            Removable media: No
            Backing store type: rdwr
            Backing store path: None
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 21475 MB
            Online: Yes
            Removable media: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
    Account information:
    ACL information:
        172.16.1.10
        172.16.1.20


server1 server2

[root@server2 ~]# yum install iscsi-initiator-utils
[root@server2 ~]# iscsiadm -m discovery -t sendtargets -p 172.16.1.1:3260
iscsiadm: can not connect to iSCSI daemon (111)!
iscsiadm: Could not scan /sys/class/iscsi_transport.
iscsiadm: Could not scan /sys/class/iscsi_transport.
iscsiadm: can not connect to iSCSI daemon (111)!
iscsiadm: Cannot perform discovery. Initiatorname required.
iscsiadm: Discovery process to 172.16.1.1:3260 failed to create a discovery session.
iscsiadm: Could not perform SendTargets discovery.

[root@server2 ~]# service iscsid start
Starting iSCSI daemon:                                     [  OK  ]
                                                           [  OK  ]
[root@server2 ~]# iscsiadm -m discovery -t sendtargets -p 172.16.1.1:3260
172.16.1.1:3260,1 iqn.2012-02.com.uplooking:node1.target1
[root@server2 ~]# iscsiadm -m discovery -t sendtargets -p 172.16.1.2:3260
172.16.1.2:3260,1 iqn.2012-02.com.uplooking:node2.target1

[root@server2 ~]# iscsiadm -m node -T iqn.2012-02.com.uplooking:node1.target1 -l
Logging in to [iface: default, target: iqn.2012-02.com.uplooking:node1.target1, portal: 172.16.1.1,3260]
Login to [iface: default, target: iqn.2012-02.com.uplooking:node1.target1, portal: 172.16.1.1,3260]: successful

[root@server2 ~]# iscsiadm -m node -T iqn.2012-02.com.uplooking:node2.target1 -l
Logging in to [iface: default, target: iqn.2012-02.com.uplooking:node2.target1, portal: 172.16.1.2,3260]
Login to [iface: default, target: iqn.2012-02.com.uplooking:node2.target1, portal: 172.16.1.2,3260]: successful


[root@server2 ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2610    20860402+  8e  Linux LVM

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 21.4 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

Disk /dev/sdc doesn't contain a valid partition table

[root@server2 ~]# udevinfo -a -p /sys/block/sdb/

Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/block/sdb':
    KERNEL=="sdb"
    SUBSYSTEM=="block"
    SYSFS{stat}=="      17       27      352       51        0        0        0        0        0       51       51"
    SYSFS{size}=="41943040"
    SYSFS{removable}=="0"
    SYSFS{range}=="16"
    SYSFS{dev}=="8:16"

  looking at parent device '/devices/platform/host1/session1/target1:0:0/1:0:0:1':
    ID=="1:0:0:1"
    BUS=="scsi"
    DRIVER=="sd"
    SYSFS{ioerr_cnt}=="0x1"
    SYSFS{iodone_cnt}=="0x20"
    SYSFS{iorequest_cnt}=="0x20"
    SYSFS{iocounterbits}=="32"
    SYSFS{timeout}=="60"
    SYSFS{state}=="running"
    SYSFS{rev}=="0001"
    SYSFS{model}=="storage1"
    SYSFS{vendor}=="node1"
    SYSFS{scsi_level}=="6"
    SYSFS{type}=="0"
    SYSFS{queue_type}=="none"
    SYSFS{queue_depth}=="32"
    SYSFS{device_blocked}=="0"

  looking at parent device '/devices/platform/host1/session1/target1:0:0':
    ID=="target1:0:0"
    BUS==""
    DRIVER==""

  looking at parent device '/devices/platform/host1/session1':
    ID=="session1"
    BUS==""
    DRIVER==""

  looking at parent device '/devices/platform/host1':
    ID=="host1"
    BUS==""
    DRIVER==""

  looking at parent device '/devices/platform':
    ID=="platform"
    BUS==""
    DRIVER==""

[root@server2 ~]# vim /etc/udev/rules.d/90-iscsi.rules
[root@server2 ~]# cat /etc/udev/rules.d/90-iscsi.rules
SUBSYSTEM=="block",  SYSFS{size}=="41943040", SYSFS{model}=="storage1", SYSFS{vendor}=="node1", SYMLINK="iscsi/node1-disk"
SUBSYSTEM=="block",  SYSFS{size}=="41943040", SYSFS{model}=="storage2", SYSFS{vendor}=="node2", SYMLINK="iscsi/node2-disk"
[root@server2 ~]# start_udev 
Starting udev:                                             [  OK  ]
[root@server2 ~]# ls -l /dev/iscsi/
total 0
lrwxrwxrwx 1 root root 6 Feb 23 01:35 node1-disk -> ../sdb
lrwxrwxrwx 1 root root 6 Feb 23 01:37 node2-disk -> ../sdc

[root@server2 ~]# scp /etc/udev/rules.d/90-iscsi.rules 172.16.1.10:/etc/udev/rules.d/


[root@server2 ~]# pvcreate /dev/iscsi/node1-disk 
  Physical volume "/dev/iscsi/node1-disk" successfully created
[root@server2 ~]# pvcreate /dev/iscsi/node2-disk 
  Physical volume "/dev/iscsi/node2-disk" successfully created
[root@server2 ~]# 
[root@server2 ~]# vgcreate vgiscsi /dev/iscsi/node1-disk /dev/iscsi/node2-disk
  /dev/hdc: open failed: Read-only file system
  /dev/cdrom: open failed: Read-only file system
  Attempt to close device '/dev/cdrom' which is not open.
  /dev/cdrom: open failed: Read-only file system
  Attempt to close device '/dev/cdrom' which is not open.
  /dev/cdrom: open failed: Read-only file system
  Attempt to close device '/dev/cdrom' which is not open.
  Volume group "vgiscsi" successfully created
[root@server2 ~]# 
[root@server2 ~]# lvcreate -l 250 -n lviscsi vgiscsi
  /dev/hdc: open failed: Read-only file system
  Logical volume "lviscsi" created

[root@server1 ~]# pvscan 
  PV /dev/sdc   VG vgiscsi   lvm2 [20.00 GB / 19.02 GB free]
  PV /dev/sdd   VG vgiscsi   lvm2 [20.00 GB / 20.00 GB free]
  Total: 2 [39.99 GB] / in use: 2 [39.99 GB] / in no VG: 0 [0   ]
[root@server1 ~]# vgchange -ay vgiscsi
  1 logical volume(s) in volume group "vgiscsi" now active
[root@server1 ~]# lvs
  LV      VG      Attr   LSize    Origin Snap%  Move Log Copy%  Convert
  lviscsi vgiscsi -wi-a- 1000.00M   

[root@server2 ~]# yum install gfs2-utils
[root@server2 ~]# yum install kmod-gfs
[root@server2 ~]# modprobe gfs
[root@server2 ~]# lsmod | grep gfs
gfs                   269540  0 
gfs2                  349833  1 lock_dlm
dlm                   113749  12 gfs,lock_dlm
configfs               28753  2 dlm

[root@server2 ~]# mkfs.gfs2 -t iscsi_cluster:lvsicsi -p lock_nolock /dev/vgiscsi/lviscsi 
This will destroy any data on /dev/vgiscsi/lviscsi.

Are you sure you want to proceed? [y/n] y

Device:                    /dev/vgiscsi/lviscsi
Blocksize:                 4096
Device Size                0.98 GB (256000 blocks)
Filesystem Size:           0.98 GB (255997 blocks)
Journals:                  1
Resource Groups:           4
Locking Protocol:          "lock_nolock"
Lock Table:                "iscsi_cluster:lvsicsi"
UUID:                      220DA71F-D2B2-23FC-BE5E-66F90A104D34


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1683504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ACM实训

【碎碎念】继续搞习题学习&#xff0c;今天完成第四套的ABCD&#xff0c;为下一周挤出时间复习&#xff0c;加油 Digit Counting 问题 法希姆喜欢解决数学问题。但有时解决所有的数学问题对他来说是一个挑战。所以有时候他会为了解决数学难题而生气。他拿起一支粉笔&#xff…

岛屿问题刷题

200. 岛屿数量 - 力扣&#xff08;LeetCode&#xff09; class Solution {public int numIslands(char[][] grid) {int n grid.length;//grid行数int m grid[0].length;//grid列数int res 0;for(int r 0;r<n;r){for(int c0;c<m;c){if(grid[r][c]1){dfs(grid,r,c);res…

HCIP-VLAN综合实验

一、实验拓扑 二、实验要求 1、pc1和pc3所在接口为access;属于vlan 2; PC2/PC4/PC5/PC6处于同一网段’其中PC2可以访问PC4/PC5/PC6; PC4可以访问PC6&#xff1b;PC5不能访问PC6&#xff1b; 2、PC1/PC3与PC2/PC4/PC5/PC6不在同一个网段&#xff1b; 3、所有PC通过DHCP获取IP…

Multi-Attention Transformer for Naturalistic Driving Action Recognition

标题&#xff1a;用于自然驾驶行为识别的多注意力Transformer 源文链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2023W/AICity/papers/Dong_Multi-Attention_Transformer_for_Naturalistic_Driving_Action_Recognition_CVPRW_2023_paper.pdfhttps://openaccess…

安装ollama并部署大模型并测试

Ollama介绍 项目地址&#xff1a;ollama 官网地址&#xff1a; https://ollama.com 模型仓库&#xff1a;https://ollama.com/library API接口&#xff1a;api接口 Ollama 是一个基于 Go 语言开发的简单易用的本地大语言模型运行框架。可以将其类比为 docker&#xff08;同基…

鸿蒙ArkUI-X跨平台技术:【SDK结构介绍】

ArkUI-X SDK目录结构介绍 简介 本文档配套ArkUI-X&#xff0c;将OpenHarmony ArkUI开发框架扩展到不同的OS平台&#xff0c;比如Android和iOS平台&#xff0c;让开发者基于ArkUI&#xff0c;可复用大部分的应用代码&#xff08;UI以及主要应用逻辑&#xff09;并可以部署到相…

深度学习之人脸性别年龄检测系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着计算机视觉和深度学习技术的飞速发展&#xff0c;人脸性别年龄检测系统在多个领域展现出广…

简易Docker磁盘使用面板Doku

这个项目似乎有 1 年多没更新了&#xff0c;最后发布版本的问题也没人修复&#xff0c;所以看看就行&#xff0c;不建议安装 什么是 Doku &#xff1f; Doku 是一个简单、轻量级的基于 Web 的应用程序&#xff0c;允许您以用户友好的方式监控 Docker 磁盘使用情况。Doku 显示 D…

【30天精通Prometheus:一站式监控实战指南】第6天:mysqld_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们&#x1f44b;   欢迎加入【30天精通Prometheus】专栏&#xff01;&#x1f4da; 在这里&#xff0c;我们将探索Prometheus的强大功能&#xff0c;并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。&#x1f680;   Prometheus是云原生和DevOps的…

JavaEE-网络初识

文章目录 一、网络背景1.1 起源1.2 国内网络的发展 二、关键概念2.1 网络2.2 设备2.3 ip地址与端口号 三、协议3.1 协议分层3.2 OSI七层模型3.3 TCP/IP五层模型3.4 数据传输过程的简单叙述 一、网络背景 1.1 起源 在国外大概时上世纪70年代左右&#xff0c;网络就出现了&…

鸿蒙OS开发:【一次开发,多端部署】(典型布局场景)

典型布局场景 虽然不同应用的页面千变万化&#xff0c;但对其进行拆分和分析&#xff0c;页面中的很多布局场景是相似的。本小节将介绍如何借助自适应布局、响应式布局以及常见的容器类组件&#xff0c;实现应用中的典型布局场景。 布局场景实现方案 开发前请熟悉鸿蒙开发指导…

与MySQL DDL 对比分析OceanBase DDL的实现

本文将简要介绍OceanBase的DDL实现方式&#xff0c;并通过与MySQL DDL实现的对比&#xff0c;帮助大家更加容易理解。 MySQL DDL 的算法 MySQL 的DDL实现算法主要有 copy、inplace和instant。 copy copy算法的实现相对简单&#xff0c;MySQL首先会创建一个临时表&#xff0…

服务器c盘爆满了,这几种方法可以帮助C盘“瘦身”

我们在使用服务器的时候基本不会在C盘安装软件&#xff0c;那么用久了发现C盘满了&#xff0c;提示空间不足&#xff1f;那么这是怎么回事&#xff0c;为什么空间会占用这么快呢&#xff1f; 原因一&#xff1a; C盘满了&#xff0c;很可能是因为电脑里的垃圾文件过多。操作系…

Servlet的request对象

request对象的继承关系 1.HttpServletRequest接口继承了ServletRequest接口&#xff0c;对其父接口进行了扩展&#xff0c;可以处理满足所有http协议的请求 2.HttpServletRequest和ServletRequest都是接口&#xff0c;不能创建对象&#xff0c;因此在tomcat底层定义实现类并创…

Google Find My Device:科技守护,安心无忧

在数字化的时代&#xff0c;我们的生活与各种智能设备紧密相连。而 Google Find My Device 便是一款为我们提供安心保障的实用工具。 一、Find My Decice Netword的定义 谷歌的Find My Device Netword旨在通过利用Android设备的众包网络的力量&#xff0c;帮助用户安全的定位所…

考场作弊行为自动抓拍分析系统

考场作弊行为自动抓拍分析系统采用了AI神经网络和深度学习算法&#xff0c;考场作弊行为自动抓拍分析系统通过人形检测和骨架勾勒等技术&#xff0c;实时计算判断考生的异常动作行为。通过肢体动作识别技术&#xff0c;系统可以详细分析考生的头部和手部肢体动作&#xff0c;进…

【oracle004】oracle内置函数手册总结(已更新)

1.熟悉、梳理、总结下oracle相关知识体系。 2.日常研发过程中使用较少&#xff0c;随着时间的推移&#xff0c;很快就忘得一干二净&#xff0c;所以梳理总结下&#xff0c;以备日常使用参考 3.欢迎批评指正&#xff0c;跪谢一键三连&#xff01; 总结源文件资源下载地址&#x…

Google发布的CAT3D,在1分钟内,能够从任意数量的真实或生成的图像创建3D场景。

给定任意数量的输入图像&#xff0c;使用以这些图像为条件的多视图扩散模型来生成场景的新视图。生成的视图被输入到强大的 3D 重建管道&#xff0c;生成可以交互渲染的 3D 表示。总处理时间&#xff08;包括视图生成和 3D 重建&#xff09;仅需一分钟。 相关链接 论文&#x…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十一)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 18 节&#xff09; P18《17.ArkUI-状态管理Observed 和 ObjectLink》 第一件事&#xff1a;嵌套对象的类型上加上 Observed 装饰器…

晶体振荡器

一、晶振与晶体区别 晶振是有源晶振的简称&#xff0c;又叫振荡器&#xff0c;英文名称是oscillator&#xff0c;内部有时钟电路&#xff0c;只需供电便可产生振荡信号&#xff1b;晶体是无源晶振的简称&#xff0c;也叫谐振器&#xff0c;英文名称是crystal&#xff0c;是无极…