容器和宿主机之间的存储问题

简介

作用:方便备份恢复数据,实现数据共享

一、单台机器中

用数据卷挂载

二、多台机器中

ssh  

建立免密通道将数据scp过去,然后再用卷挂载到容器内

nfs  网络文件系统

搭建nfs服务器+客户端挂载

过程如下

一.安装软件包yum install -y nfs-utils
二、启动服务
[root@nfs-server ~]# systemctl start nfs
[root@nfs-server ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@nfs-server ~]#
三、查看rpcbind的端口和进程
[root@nfs-server ~]# ps aux|grep nfs
root       1919  0.0  0.0      0     0 ?        S<   17:24   0:00 [nfsd4_callbacks]
root       1925  0.0  0.0      0     0 ?        S    17:24   0:00 [nfsd]
root       1926  0.0  0.0      0     0 ?        S    17:24   0:00 [nfsd]
root       1927  0.0  0.0      0     0 ?        S    17:24   0:00 [nfsd]
root       1928  0.0  0.0      0     0 ?        S    17:24   0:00 [nfsd]
root       1929  0.0  0.0      0     0 ?        S    17:24   0:00 [nfsd]
root       1930  0.0  0.0      0     0 ?        S    17:24   0:00 [nfsd]
root       1931  0.0  0.0      0     0 ?        S    17:24   0:00 [nfsd]
root       1932  0.0  0.0      0     0 ?        S    17:24   0:00 [nfsd]
root       1964  0.0  0.0 112824   972 pts/0    S+   17:25   0:00 grep --color=auto nfs
[root@nfs-server ~]# ss -anplut|grep rpcbind
udp    UNCONN     0      0         *:797                   *:*                   users:(("rpcbind",pid=1894,fd=7))
udp    UNCONN     0      0         *:111                   *:*                   users:(("rpcbind",pid=1894,fd=6))
udp    UNCONN     0      0      [::]:797                [::]:*                   users:(("rpcbind",pid=1894,fd=10))
udp    UNCONN     0      0      [::]:111                [::]:*                   users:(("rpcbind",pid=1894,fd=9))
tcp    LISTEN     0      128       *:111                   *:*                   users:(("rpcbind",pid=1894,fd=8))
tcp    LISTEN     0      128    [::]:111                [::]:*                   users:(("rpcbind",pid=1894,fd=11))
[root@nfs-server ~]#nfsd进程将监听端口的活外包给了rpcbind进程
四、创建nfs共享目录
[root@nfs-server ~]# mkdir /web
[root@nfs-server ~]# cd /web
[root@nfs-server web]# echo "welcome to sanchuang changsha nongda" >index.html
[root@nfs-server web]# ls
index.html
[root@nfs-server web]#
5、编辑/etc/exports文件   **修改配置文件需要重新加载配置文件( exportfs -arv)
/web  192.168.1.0/24(rw,sync,all_squash)/web 共享的目录的路径
192.168.1.0/24 允许能访问的机器的网段
(rw,sync,all_squash) 拥有的权限  rw 可以读写  sync 在host上修改了数据,里面同步到nfs服务器all_squash 任何机器上的任何用户连接过来都看成一个普通的用户nobody对待[root@nfs-server web]# exportfs -av  让共享目录生效
exporting 192.168.1.0/24:/web
[root@nfs-server web]#
6.设置共享目录的权限
[root@localhost web]# cat /etc/passwd|grep nfs
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
[root@localhost web]# 
[root@nfs-server web]# chown  nobody:nobody /web
[root@nfs-server web]# ll -d /web
drwxr-xr-x 2 nobody nobody 24 8月  26 17:28 /web
[root@nfs-server web]#共享权限
linux系统里的权限[root@nfs-server web]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
[root@nfs-server web]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destinationChain FORWARD (policy ACCEPT)
target     prot opt source               destinationChain OUTPUT (policy ACCEPT)
target     prot opt source               destination
[root@nfs-server web]# getenforce
Disabled
[root@nfs-server web]#
===========
所有的客户端
1.安装软件
[root@sc-docker _data]# yum install nfs-utils -y
[root@sc-docker2 /]#yum install nfs-utils -y
2.新建挂载目录,然后挂载
[root@sc-docker ~]# mkdir /nfs-web
[root@sc-docker2 ~]# mkdir /nfs-web[root@sc-docker2 ~]# mount 192.168.1.133:/web /nfs-web/
[root@sc-docker ~]# df -Th|grep nfs
192.168.1.133:/web      nfs4       17G  1.5G   16G    9% /nfs-web
[root@sc-docker ~]#
[root@sc-docker ~]# cd /nfs-web/
[root@sc-docker nfs-web]# ls
index.html
[root@sc-docker nfs-web]# cat index.html
welcome to sanchuang changsha nongda
[root@sc-docker nfs-web]#
[root@sc-docker2 ~]# cd /nfs-web/
[root@sc-docker2 nfs-web]# ls
index.html
[root@sc-docker2 nfs-web]# cat index.html
welcome to sanchuang changsha nongda
[root@sc-docker2 nfs-web]#[root@sc-docker2 nfs-web]# mount|grep nfs
192.168.1.133:/web on /nfs-web type nfs4 (rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.124,local_lock=none,addr=192.168.1.133)
[root@sc-docker2 nfs-web]#

nfs客户端创建卷+容器挂载

docker volume create --driver local \
--opt type=nfs \
--opt o=addr=<NFS服务器地址>,nolock,soft,rw,sync \
--opt device=:<共享目录全路径> \
<卷名>创建一个卷底层挂载到nfs服务器192.168.1.133上的共享目录/web里
[root@sc-docker nfs-web]# docker volume create --driver local --opt type=nfs --opt  o=addr=192.168.1.133,nolock,soft,rw,sync  --opt  device=:/web nfs-web-6
nfs-web-6
[root@sc-docker nfs-web]# docker volume ls
DRIVER    VOLUME NAME
local     2f1f1ac5ccdde7a9d80e277a974eeb3c2b6ff98b7126349f52caaef0042bbf9f
local     5103a4c07fe6745fba25c88320cc42a385c1e44b9cd461ed6b7be894e77bf357
local     b9eeeb4fc5d95a184919ad9dbdb6a329771950a85a98e3729ad911107eb681d4
local     nfs-web
local     nfs-web-2
local     nfs-web-6
local     nginx-web
[root@sc-docker nfs-web]# docker volume inspect nfs-web-6
[{"CreatedAt": "2022-08-26T18:24:33+08:00","Driver": "local","Labels": {},"Mountpoint": "/var/lib/docker/volumes/nfs-web-6/_data","Name": "nfs-web-6","Options": {"device": ":/web","o": "addr=192.168.1.133,nolock,soft,rw,sync","type": "nfs"},"Scope": "local"}
]
[root@sc-docker nfs-web]#
创建一个容器使用nfs-web-6卷
docker run -d -p 8818:80 -v nfs-web-6:/usr/share/nginx/html --name siyx-nginx-8 nginx

参考:https://www.ibm.com/cn-zh/topics/storage-area-network 

NAS  网络附加存储

NAS(Network Attached Storage)网络附加存储  网络存储基于标准网络协议实现数据传输,为网络中的Windows / Linux / Mac OS 等各种不同操作系统的计算机提供文件共享和数据备份。

 NAS是一台可以放在家中或办公室的个人储存设备

使用传统的网络,实现文件存储和共享 

将存储设备直接连在网上,提供数据和文件服务。

如果在企业中办公使用的话,NAS网络存储是特别方便的,在局域网内装一台NAS存储设备,同一局域网内的用户都可以连接上,连接上以后如下图会增加一个类似本地盘的大的阵列盘,可以在里面放公共的文件,这样大家之间不需要拷贝,直接可以在存储里面的查找修改,极大程度的提高了工作效率。

NAS提供了很多的安全机制,为每个用户设置权限,可以分级、分部门等。还有很多安全机制可以保护数据安全。 

特点:

1.需要专业的存储设备 --》NAS--->NFS
2.使用传统的tcp/ip网络
3.其他的电脑/手机/pad等设备都可以使用 

SAN  存储区域网络

存储区域网络 (Storage Area Network, SAN) 是企业最常用的存储网络架构,要求高吞吐量和低延迟的业务关键型业务往往采用这类架构运行。如今,采用全闪存存储的 SAN 部署数量增速迅猛。与旋转磁盘相比,全闪存存储可提供更出色的性能、稳定一致的低延迟以及更低的总成本。SAN 将数据存储在集中式共享存储中,使企业能够运用一致的方法和工具来实施安全防护、数据保护和灾难恢复。 

 

SAN (Storage Area Network的简称)直译过来就是存储区域网络,它采用光纤通道 (Fibre Channel)技术,通过光纤通道交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。 SAN网络存储是一种高速网络或子网络,SAN存储系统提供在计算机与存储系统之间的数据传输。

计算机内存和本地存储资源可能无法为企业应用程序提供足够的存储、存储保护、多用户访问或速度和性能。 因此,除了网络附加存储 (NAS) 之外,大多数组织还采用某种形式的 SAN,以提高效率,更好地进行数据管理。

传统上,可以连接到服务器的储存设备数量有限,从而限制了网络的存储容量。 但是 SAN 引入了网络灵活性,让一台服务器或许多跨多个数据中心的异构服务器能够共享一个公共存储实用程序。 SAN 消除了网络文件服务器和存储之间的传统专用连接,以及服务器有效拥有和管理存储设备的概念,这让带宽瓶颈不复存在。 SAN 消除了单点故障,以提高存储可靠性和可用性。

SAN 也是灾难恢复 (DR) 的最佳选择,因为网络可能包含许多存储设备,其中有磁盘、磁带和光存储。 存储实用程序的位置也可能离它所使用的服务器很远。

优点:

  1. 提高应用程序可用性    存储独立于应用程序而存在,可通过多种路径访问以提高可靠性、可用性和可服务性。
  2. 更好的应用程序性能   SAN 将存储处理从服务器卸载并转移到单独的网络上。
  3. 中央和综合   SAN 让更简单的管理、可扩展性、灵活性和高可用性成为可能。
  4. 远程站点数据传输和存储   SAN 通过远程复制保护数据免受灾难和恶意攻击。
  5. 简单的集中管理    SAN 通过创建存储介质的单个映像来简化管理。

NAS 和 SAN

与直连存储 (DAS) 不同,基于网络的存储允许多台计算机通过网络访问它,从而更好地进行数据共享和协作。 它的异地存储能力也使其更适合备份和数据保护。 网络附加存储 (NAS) 和存储区域网络 (SAN) 是两种典型的基于网络的存储设置。

NAS 通常是由冗余存储容器或独立磁盘冗余阵列 (RAID) 组成的单个设备。 SAN 存储可以是多个设备的网络,包括 SSD 和闪存存储、混合存储、混合云存储、备份软件和设备以及云存储。 选择适合于您用例的存储很重要。 以下是 NAS 和 SAN 的不同之处

SAN

  • 多设备网络
  • 块存储系统
  • 光纤通道网络
  • 针对多位用户进行了优化
  • 性能更快
  • 高度可扩展
  • 成本更高且设置复杂

NAS

  • 单个存储设备或 RAID
  • 文件存储系统
  • TCP/IP 以太网
  • 受限用户
  • 限速
  • 扩展选项有限
  • 成本更低且易于设置

云存储

云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管(hosting)公司运营大型的数据中心,需要数据存储托管的人,则通过向其购买或租赁存储空间的方式,来满足数据存储的需求。数据中心营运商根据客户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池(storage pool)的方式提供,客户便可自行使用此存储资源池来存放文件或对象。实际上,这些资源可能被分布在众多的服务器主机上。 

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

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

相关文章

新能源汽车技术的最新进展和未来趋势

文章目录 电池技术的进步智能驾驶与自动驾驶技术充电基础设施建设新能源汽车共享和智能交通未来趋势展望结论 &#x1f389;欢迎来到AIGC人工智能专栏~探索新能源汽车技术的最新进展和未来趋势 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客…

融媒行业落地客户旅程编排,详解数字化用户运营实战

移动互联网时代是流量红利的时代&#xff0c;企业常用低成本的方式进行获客&#xff0c;“增长黑客”的概念大范围传播。与此同时&#xff0c;机构媒体受到传播环境的影响&#xff0c;也开始启动全行业的媒体融合转型。在此背景下&#xff0c;2015 年神策数据成立&#xff0c;核…

港联证券:为什么好股票拿不住?股票怎么买更赚钱?

股票是一种高危险高收益的出资方式&#xff0c;要想挣钱仍是需求掌握一些技巧。那么为什么好股票拿不住&#xff1f;股票怎样买更挣钱&#xff1f;港联证券也为大家准备了相关内容&#xff0c;以供参考。 为什么好股票拿不住&#xff1f; 1、心态不稳。许多出资者缺少长时间的…

Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务 em

​ 鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性&#xff0c;公司对内部工…

bootloader串口更新程序[瑕疵学习板]

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、储备知识二、程序步骤2.程序展示1.bootloader2.然后是主运行函数总结前言 很久没有更新文章了。最近工作太忙,没有学习很多的知识,然后这两天不忙了,就学习了一下bootloader的程序升级…

【已解决】pycharm突然双击无法打开,重启电脑也不管用

1.问题&#xff1a; pycharm突然双击无法打开&#xff0c;重启电脑也不管用 2.解决 2.1 方法一&#xff08;修改Roaming&#xff09; 1.找到C盘对应路径下的pycharm版本 2. 用记事本打开文件类型为VMOPTIONS文件 3. 修改或删除最后一行的映射路径 4.保存退出 2.2 方法二…

2023.8.28日论文阅读

文章目录 NestFuse: An Infrared and Visible Image Fusion Architecture based on Nest Connection and Spatial/Channel Attention Models(2020的论文)本文方法 LRRNet: A Novel Representation Learning Guided Fusion Network for Infrared and Visible Images本文方法学习…

phpspreadsheet导出excel自动获得列,数字下标

安装composer require phpoffice/phpspreadsheetuse PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\Style\Border;$spreadsheet new Spreadsheet(); $sheet $spreadsheet->getActiveSheet();//从65开&a…

实现人物关系图还在用Echarts吗?快试试relation-graph

关于relation-graph 支持Vue和React的 关联关系图谱组件&#xff0c;可以展示如组织机构图谱、股权架构图谱、集团关系图谱等知识图谱&#xff0c;可提供多种图谱布局&#xff0c;包括树状布局、中心布局、力学布局自动布局等。官网 安装使用 一&#xff0c;通过nodejs开发v…

java主要的垃圾回收算法

垃圾收集算法了解吗&#xff1f; 标记-清除算法 标记 : 标记出所有需要回收的对象 清除&#xff1a;回收所有被标记的对象 主要存在两个缺点&#xff1a; 执行效率不稳定&#xff0c;如果 Java 堆中包含大量对象&#xff0c;而且其中大部分是需要被回收的&#xff0c;这时必…

经济大环境不好是你给自己找的理由吗?

最近很多自媒体博主都在说的一个现象&#xff0c;就是今年的经济形势比口罩那几年都要难过&#xff0c;全球的经济都面临打的挑战&#xff0c;就业岗位的缺失&#xff0c;22-35岁的青年失业率攀升很多人都在痛苦的边缘挣扎。 我国灵活就业人数已超2亿&#xff0c;平台经济快速发…

水论文的三种套路

目录 1、换模型不换领域&#xff08;同领域换基准模型&#xff09;2、换领域不换模型&#xff08;同基准模型换领域&#xff09;3、改进的模型 1、换模型不换领域&#xff08;同领域换基准模型&#xff09; 有一个&#xff0c;对Transformer做了一个改进A&#xff0c;做视频描…

C语言这么没用??

今日话题&#xff0c;C语言真的这么不堪吗&#xff1f;最近我兄弟向我倾诉&#xff0c;他在几天前受到老板的责骂&#xff0c;原因是他只懂C语言编程&#xff0c;无法达到老板的期望。其实不是C语言不堪&#xff0c;而是嵌入式领域复杂性多种多样&#xff0c;需要灵活的解决方案…

如何使用ADX指标呢?10秒教会你

这是使用ADX大佬的收益结果&#xff0c;这是没有使用ADX技术指标的新手表情&#xff0c;事实证明只要会使用ADX指标&#xff0c;交易的结果就是令人可喜的&#xff0c;那么如何使用ADX指标呢?anzo capital昂首资本10秒教会你。 从评估价格方向、模式和水平开始技术分析。使用…

未来科技城携手加速科技 共建集成电路测试公共服务平台!

8月26日&#xff0c;2023未来产业发展大会在杭州未来科技城国际会议中心开幕&#xff01;会上&#xff0c;发布了未来科技城培育发展未来产业行动计划&#xff0c;启动了未来产业发展共同体&#xff0c;进行了未来产业公共服务平台签约仪式。未来科技城与加速科技签约共建集成电…

【PHP面试题81】php-fpm是什么?它和PHP有什么关系

文章目录 &#x1f680;一、前言&#xff0c;php-fpm是什么&#x1f680;二、php-fpm与PHP之间的关系&#x1f680;三、php-fpm解决的问题&#x1f50e;3.1 进程管理&#x1f50e;3.2 进程池管理&#x1f50e;3.3 性能优化&#x1f50e;3.4 并发处理 &#x1f680;四、php-fpm常…

最简单的爬虫!只需要粘贴你要爬虫的网址

依赖 必须按照这个库&#xff0c;爬虫必备&#xff01; pip install requests四行代码 import get import save spider_text get.html("https://www.baidu.com/") save.file(spider_text)使用 更改 get.html() 中的参数&#xff0c;改成你想要爬取的网站的地址&…

【微信小程序】小程序隐私保护指引设置

首先了解官方提供demo&#xff1a; demo1: 演示使用 wx.getPrivacySetting 和 <button open-type"agreePrivacyAuthorization"> 在首页处理隐私弹窗逻辑 https://developers.weixin.qq.com/s/gi71sGm67hK0 demo2: 演示使用 wx.onNeedPrivacyAuthorization 和…

AutoRunner自动化测试工具新版本智能识别算法之视觉识别

泽众AutoRunner&#xff08;简称AR&#xff09;是国内专业的支持C/S、B/S各种技术框架的、基于组件识别的自动化测试工具&#xff0c;实现7*24小时的自动化回归测试和功能测试&#xff0c;让测试更智能。 视觉识别是一种通过计算机技术对图像或视频进行分析和理解的方法。这种算…

AMEYA360:大唐恩智浦电池管理芯片DNB1168-新能源汽车BMS系统的选择

DNB1168是一款全球独有的集成&#xff08;EIS&#xff09;交流阻抗谱监测功能的单电池监测芯片。该芯片通过车规级AEC-Q100和汽车行业最高功能安全等级ISO 26262&#xff1a;2018 ASIL-D双重认证。芯片?内部集成多种高精度电池参数监测&#xff0c;支持电压、温度、交流阻抗检…