NFS服务基础

文件系统的类型:

本地文件系统:EXT3/4、SWAP、NTFS、...    ——本地磁盘

伪文件系统:/proc、/sys、...             ——内存空间

网络文件系统:NFS(Network File System) ——网络存储空间

NFS与Samba对比:

NFS: 实现类unix系统间区享。

Samba:实现windows和类unix系统间共享。

NFS共享协议:Unix/Linux最基本的文件共享机制,1980年由SUN公司开发,依赖于RPC(远程过程调用)映射机制(NFS只实现了共享功能,底层数据传输功能由RPC提供)。存取于远程磁盘中的文档数据,对应用程序是透明的,就好像访问本地的文件一样。

1、NFS依赖于rpc服务。NFS只提供了共享功能,没有实现底层数据传输,它的数据传输采用的是RPC服务。

2、RPC称作远程过程调用。在RHEL5中用portmap,在RHEL6以后采用rpcbind服务

3、RPC端口号111,NFS端口号2049

NFS:网络文件系统  类UNIX系统实现共享文件夹

CIFS: Common Internet FileSystem  windows与类unix系统共享文件夹

RPC:远程过程调用,在RHEL6中使用rpcbind服务,在RHEL5中使用portmap服务,端口号111

查看NFS共享列表:showmount -e [服务器地址]

挂载NFS共享目录:mount [-t nfs] 服务器地址:共享目录 挂载点

配置NFS服务器

/etc/exports配置解析:共享目录 客户机地址1(参数,参数,...)客户地址2(.. ..) ...

客户机地址:IP地址(192.168.4.20)、网段地址(192.168.4.0/24或192.168.4.*),所有主机(*)、单个域(*.tarena.com)、主机名

参数:rw:可读可写、ro:只读、sync:同步写、async:异步写入

no_root_squash: 保留来自客户端的root权限

all_squash:客户端权限都降为nfsnobody

如果希望远程root用户创建的文件仍然是root所有者,需要加no_root_squash;如果希望任何用户创建的文件,都是nfsnobody拥有者,则设置all_squash选项

默认情况下,来自NFS客户端的root用户会被降权,若要保留其root权限,注意应添加no_root_squash控制参数;

# exportfs -rv  重新共享输出内容

# vim /etc/exports

/root  192.168.4.201 (rw,no_root_squash)   //将/root共享给201,可写、保留客户端的root权限

/usr/src 192.168.4.0/24 (ro)   //将/usr/src共享给4.0网段,只读

# service rpcbind restart        //启用RPC机制

# service nfs restart            //启用nfs服务

201存储服务器把本机的磁盘D NAS共享给前端的应用服务器(网站服务器)101和102使用

[root@web101 ~]# umount /dev/sdb1
  • 存储服务器的配置

1.1 提供存储空间

[root@web101 ~]# fdisk /dev/vdd    //n--->p--->1--->回车--->回车--->p--->w[root@web101 ~]# fdisk -l /dev/vdd[root@web101 ~]# mkfs.ext4 /dev/vdd1[root@web101 ~]# mkdir /sharedir       //创建共享目录[root@web101 ~]# mount /dev/vdd1 /sharedir[root@web101 ~]# df -h /sharedir

1.2 使用NFS服务共享磁盘挂载目录

a 安装

在RHEL5中RPC用portmap服务,在RHEL6以后,用rpcbind服务。NFS端口号2049,RPC端口号111

[root@storage201 ~]# rpm -q  rpcbind     //rpcbind用来提供RPC协议的支持[root@storage201 ~]# yum list |grep -i nfs  [root@storage201 ~]# rpm -q nfs-utils || yum -y install nfs-utils[root@storage201 ~]# service rpcbind start; chkconfig rpcbind on[root@storage201 ~]# vim /etc/exports##共享/sharedir文件夹的读写权限101,102服务器/sharedir 192.168.4.101(rw) 192.168.4.102(rw)[root@storage201 ~]# chmod o+w /sharedir[root@storage201 ~]# ll -d /sharedir[root@storage201 ~]# service nfs start; chkconfig nfs on; service nfs status[root@storage201 ~]# showmount -e localhost[root@storage201 ~]# mount | grep /sharedir/dev/vdd1 on /sharedir type ext4 (rw)[root@storage201 ~]# which showmount/usr/sbin/showmount[root@storage201 ~]# rpm -qf /usr/sbin/showmountnfs-utils-1.2.3-64.el6.x86_64[root@storage201 ~]# exportfs -rv        //重新输出共享目录

二、配置前端应用服务器101、102

[root@web101 ~]# yum -y install nfs-utils[root@web101 ~]# showmount -e 192.168.4.201[root@web101 ~]# service rpcbind restart[root@web101 ~]# mount -t nfs 192.168.4.201:/sharedir /var/www/html///注意事项:从未授权的客户机将无法挂载此共享;若未启用no_root_squash,挂载后会无权限浏览(750)[root@web101 ~]# mount    //查看挂载[root@web101 ~]# df -h在web101、web102在/var/www/html/写入文件[root@storage201 ~]# ls /sharedir/*.html

Multipath多路径

多路径概述

当服务器到某一存储设备有多条路径时,每条路径都会识别为一个单独的设备

多路径允许你将服务器节点和储存阵列间的多个I/O路径配置为一个单一设备

这些I/O路径是可包含独立电缆、交换器和控制器的实体SAN链接

多路径集合了I/O路径,并生成由这些集合路径组成的新设备

多路径主要功能

冗余:主备模式,高可用

改进的性能:主主模式,负载均衡

多路径设备:

若没有DM Multipath,从服务器节点到储存控制器的每一条路径都会被系统视为独立的设备,即使I/O路径连接的是相同的服务器节点到相同的储存控制器也是如此

DM Multipath提供了有逻辑的管理I/O路径的方法,即在基础设备顶端生成单一多路径设备

利用iSCSI实现多路径

应用服务器上将共享路径卸载并登出

  • 配置存储节点:192.168.4.201

配置应用服务器eth1网络:192.168.2.101、192.168.2.102

配置iSCSI服务端:准备共享介质(分区、LV或磁盘镜像)

安装scsi-target-utils

准备规划iqn名称

修改target.conf配置文件,以提供存储

启动tgtd服务

二、在201上配置192.168.2.2也能使用共享存储后重启系统

[root@storage201 ~]# vim /etc/tgt/targets.conf   //添加一块磁盘<target iqn.2017-11.cn.tedu:storage201.diske>backing-store /dev/vdewrite-cache offinitiator-address 192.168.4.101initiator-address 192.168.4.102initiator-address 192.168.2.101initiator-address 192.168.2.102</target>[root@storage201 ~]# service tgtd restart[root@storage201 ~]# tgt-admin -s

三、客户端在两张网络上发现设备,登录设备

访问共享存储:

因为到达共享存储有两条路径,所以需要在两条路径上都执行发现命令

[root@web101 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.201 --discover[root@web101 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.201 --discover[root@web101 ~]# service iscsi restart;chkconfig iscsi on;chkconfig iscsid on[root@web101 ~]# lsblk[root@web101 ~]# iscsiadm --mode node --targetname iqn.2017-11.cn.tedu:storage201.diske --portal 192.168.4.201:3260 -l[root@web101 ~]# iscsiadm --mode node --targetname iqn.2017-11.cn.tedu:storage201.diske --portal 192.168.2.201:3260 -l[root@web101 ~]# ls /dev/sd*

四、多路径配置

1、安装多路径软件

[root@web101 ~]# yum list |grep -i multipath[root@web101 ~]# yum install -y device-mapper-multipath
  1. 获取wwid的方法

多路径设备识别符

每个多路径设备都有一个WWID(全球识别符),它是全球唯一的、无法更改的号码

默认情况下会将多路径设备的名称设定为它的WWID

可以在多路径配置文件中设置user_friendly_names选项,该选项可将别名设为格式为mpathn的节点唯一名称

也可以自定义存储设备名称

假如共享存储在本地被识别为/dev/sdb和/dev/sdc,那么获取它WWID方法是:

[root@web101 ~]# scsi_id --whitelisted --device=/dev/sda  //获取wwid[root@web101 ~]# scsi_id --whitelisted --device=/dev/sdb1IET     00030001//因为两个设备虽然名称不一样,但是实际上是一个设备,所以他们的WWID是相同的

3、生成配置文件并启用多路径

[root@web101 ~]# mpathconf --user_friendly_names n    //不使用友好名称定义用户名//若无需编辑该配置文件,可使用此命令启动多路径守护程序[root@web101 ~]# vim /etc/multipath.confdefaults {user_friendly_names nogetuid_callout   "/lib/udev/scsi_id --whitelisted --device=/dev/%n"}##添加以下内容multipaths {multipath {wwid    "1IET     00030001"alias   mpathe}}

六、启服务并验证

[root@web101 ~]# service multipathd start; chkconfig multipathd on[root@web101 ~]# blkid /dev/mapper/mpathe[root@web101 ~]# ls /dev/mapper/mpathe      //mpatha即为多路径设备[root@web101 ~]# mount /dev/mapper/mpathe /var/www/html/[root@web101 ~]# multipath -rr     //重新加载多路径信息[root@web101 ~]# multipath -ll     //查看多路径信息[root@web101 ~]# ifdown eth1[root@web101 ~]# multipath -rr[root@web101 ~]# multipath -ll

分区:为/dev/mapper/mpathe分区,得到的第一个分区名为/dev/mapper/mpathep1

总结:

多路径:前端应用服务器访问存储服务器时,可以使用不同网段的ip地址访问。

优点:实现访问存储服务器时,路径的冗余和备份。

缺点:通过不同网段的ip地址访问时,会产生两个盘,其实是同一磁盘

解决方法:识别磁盘的唯一识别号WWID

多路径的实现:

1 在存储服务器上共享本机硬盘,共享给多个网段的ip地址

2 在前端应用服务器通过多个网段的ip地址发现设备和登入设备

3 查看登入设备的wwid

4 安装提供多路径服务的软件包

5 创建服务的主配置文件

6 编辑服务的主配置文件

7 启动服务并设置为开机运行

更新多路径信息  # multipath -rr

查看多路径信息  # multipath -ll

8 查看是否生成对应的设备 ls /dev/mapper/别名名称

9 分区、格式化别名名称 挂载设备

多路径的不足:存储的故障

解决方式:分布式

分布式文件系统

分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直 接连接在本地节点上,而是通过计算机网络与节点相连

分布式文件系统的设计基于客户机/服务器模式

一个典型的网络可能包括多个供多用户访问的服务器

对等特性允许一些系统扮演客户机和服务器的双重角色

分布式文件系统的特点: ——分布式文件系统可以有效解决数据的存储和管理难题

将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统

众多的节点组成一个文件系统网络

每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输

人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需像使用本地文件系统一样管理和存储文件系统中的数据

衡量分布式文件系统的优劣

数据的存储方式:无论采取何种存储方式,目的都是为了保证数据的存储安全和方便获取

数据的读取速率:包括响应用户读取数据文件的请求,写信数据文件所在的节点、读取实际硬盘中数据文件的时间、不同节点间的数据传输时间以及一部分处理器的处理时间等

数据的安全机制:采取冗余、备份、镜像等方式

常用分布式文件系统:

Lustre:一个大规模的、安全可靠的,具备高可用性的集群文件系统,它是由SUN公司开发和维护

Hadoop:不仅仅是一个用于存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架

OpenAFS:一套开放源代码的分布式文件系统,允许系统之间通过局域网和广域网来分享档案和资源

googleFs:一个可扩展分布式文件系统,用于大型的,分布式的,对大量数据进行访问的应用

基础架构

服务器角色

与单机的文件系统不同,分布式文件系统不是将这些数据放在一块磁盘上,由上层操作系统来管理

数据存放在一个服务器集群上,由集群中的服务器,各尽其责,通力合作,提供整个文件系统的服务

重要的服务器包括:

主控服务器:主控服务器上放送所有的文件目录信息,要找一个文件,必须先访问它。

Master管理各个数据服务器收集它们的信息,了解所有数据服务器的生存现状,然后给它们分配任务

数据服务器:存放数据的服务器,设计为冗余模式

主要的工作械就是定期向主控服务器汇报其状况,然后等待并处理命令,更快更安全的存放好数据

数据分布:

的方式存储:把文件数据切成数据块;将数据块存储在数据服务器上

独立文件的方式存储:每台数据服务器存储独立的文件;多台数据服务器存储相同的文件,实现冗余及负载均衡

FastDFS原理

FastDFS是一款开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统,作者为淘宝网的余庆,2008年7月发布

****ceph也是生产中常用的分布式文件系统工具***

功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等

解决了大容量存储和负载均衡的问题

特别适合以文件为载体的在线服务,如相册网站、视频网站等

FastDFS用户列表:支付宝、京东商场、赶集网、迅雷、58同城、51CTO、UC...

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)

跟踪器:主要做调度工作,在访问上起负载均衡的作用

存储节点:完成文件管理的所有功能,即存储、同步和提供存取接口,同时对文件的元数据进行管理

FastDFS工作流程

FastDFS系统结构

跟踪器和存储节点都可以由一台多台服务器构成

跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务

跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少

FastDFS采用了分组存储方式

集群由一个或多个组构成,集群存储总容量为集群中所有组的存储容量之和

一个组由一台或多台存储服务器组成,同组内的多台Storage server之间是互备关系,同组存储服务器上的文件是完全一致的

文件上传、下载、删除等操作可以在组内任意一台Storage server上进行

一个组的存储容量为该组内存储服务器容量最小的那个

采用分组存储方式的好处是灵活、可控性较强。比如上传文件时,可以由客户端直接指定上传到的组

一个分组的存储服务器访问压力较大时,可以在该组增加存储服务器来扩充服务能力(纵向扩容)

当系统容量不足时,可以增加组来扩充存储容量(横向扩容)

不同组的Storage server之间不会相互通信,同组内的Storage server之间会相互连接进行文件同步

Storage server采用binlog文件记录文件上传、删除等更新操作

binlog中只记录文件名,不记录文件内容

文件同步只在同组内的Storage server之间进行,采用push方式,即源头服务器同步给目标服务器

FastDFS上传文件过程

client询问tracker上传到的storage,不需要附加参数

tracker返回一台可用的storage

client直接和storage通讯完成文件上传

FastDFS下载文件过程

client询问tracker下载文件的storage,参数为文件标识(卷名和文件名)

tracker返回一台可用的storage

client直接和storage通讯完成文件下载

FastDFS配置及应用

FastDFS官网:http://bbs.chinaunix.net/forum-240-1.html

国际网址:https://sourceforge.net/projects/fastdfs/

https://fastdfs.googlecode.com/files/FastDFS_v4.0.tar.gz

  • 配置主控服务器93

1、安装信赖包

[root@master93 ~]# rpm -q gcc gcc-c++ make libevent[root@master93 ~]# yum -y install gcc gcc-c++ make libevent     //安装yum源中的依赖关系包

安装本地文件中的依赖关系包:

[root@master93 ~]# yum install -y libevent-devel*.rpm  //要预先上传[root@master93 ~]# tar xzf FastDFS_v4.06.tar.gz[root@master93 ~]# cd FastDFS/[root@master93 FastDFS]# ./make.sh[root@master93 FastDFS]# ./make.sh install[root@master93 FastDFS]# cp init.d/fdfs_trackerd /etc/init.d/[root@master93 FastDFS]# mkdir -pv /data/fastdfs[root@master93 FastDFS]# vim /etc/fdfs/tracker.conf

起服务

修改配置文件

启动服务

Tracker配置

2、安装tracker

[root@master93 ~]# tar xzf FastDFS_v4.06.tar.gz    //解压缩[root@master93 ~]# cd FastDFS/[root@master93 FastDFS]# vim INSTALL         //查看安装指南[root@master93 FastDFS]# ./make.sh[root@master93 FastDFS]# ./make.sh install

3、配置

[root@master93 FastDFS]# mkdir -pv /data/fastdfs     //创建数据存储目录[root@master93 FastDFS]# vim /etc/fdfs/tracker.conf    //修改配置文件22 base_path=/data/fastdfs       # 设置基础目录max_connections=4096             # 设置最大连接数store_group=group1               # 设置存储组名use_storage_id = true            # 使用stroage_id代替ip地址storage_ids_filename = storage_ids.conf[root@master93 FastDFS]# cp conf/storage_ids.conf /etc/fdfs/    //创建storage id文件[root@master93 FastDFS]# vim /etc/fdfs/storage_ids.conf   //编辑storage id文件,加入存储组声明100001   group1  192.168.4.103100002   group1  192.168.4.104

4、起动并验证

[root@master93 FastDFS]# cp init.d/fdfs_trackerd /etc/init.d/[root@master93 FastDFS]# chmod +x /etc/init.d/fdfs_trackerd[root@master93 FastDFS]# chkconfig --add fdfs_trackerd//或[root@master93 FastDFS]# chkconfig fdfs_trackerd on[root@master93 FastDFS]# chkconfig --list fdfs_trackerd[root@master93 FastDFS]# /etc/init.d/fdfs_trackerd### 用法:/etc/init.d/fdfs_trackerd {start|stop|status|restart|condrestart}[root@master93 FastDFS]# /etc/init.d/fdfs_trackerd start[root@master93 FastDFS]# /etc/init.d/fdfs_trackerd status   [root@master93 FastDFS]# netstat -tlnp | grep :22122[root@master93 FastDFS]# vim /data/fastdfs/logs/trackerd.log[root@master93 FastDFS]# ls /data/fastdfs/
  • 配置存储服务器103、104

环境准备:准备存储空间

准备两个存储服务器103、104    //104与103相同的准备

# qemu-img create -f qcow2 /var/lib/libvirt/images/st1.img 20G

# qemu-img create -f qcow2 /var/lib/libvirt/images/st2.img 20G

[root@storage103 ~]# service iptables stop;chkconfig iptables off[root@storage103 ~]# setenforce 0[root@storage103 ~]# mount /dev/cdrom /mnt[root@storage103 ~]# fdisk /dev/vdb[root@storage103 ~]# fdisk -l /dev/vdb[root@storage103 ~]# mkfs.ext3 /dev/vdb1[root@storage103 ~]# blkid /dev/vdb1

配置storage

安装yum源中的依赖关系包

[root@storage103 ~]# rpm -q gcc gcc-c++ make libevent[root@storage103 ~]# yum -y install gcc gcc-c++ make libevent  //安装本地文件中的依赖关系包[root@storage103 ~]# yum -y install *.rpm[root@storage103 ~]# tar xzf FastDFS_v4.06.tar.gz    //解压缩[root@storage103 ~]# cd FastDFS/[root@storage103 FastDFS]# vim INSTALL        //查看安装指南[root@storage103 FastDFS]# ./make.sh[root@storage103 FastDFS]# ./make.sh install[root@storage103 FastDFS]# ls /etc/fdfs/[root@storage103 ~]# mkdir -pv /data/fastdfs/     //创建数据存储目录[root@storage103 ~]# mkdir /data1[root@storage103 ~]# mount /dev/vdb1 /data1[root@storage103 ~]# tail -1 /etc/fstabUUID=a3274382-0ffb-44a5-8212-0d7685101be7 /data/fastdfs  ext4   defaults    0 0[root@storage103 ~]# mount -a[root@storage103 FastDFS]# vim /etc/fdfs/storage.conf      //修改配置文件37 base_path=/data/fastdfs      # 设置基础工作目录42 max_connections=4096           # 设置最大连接数96 store_path_count=1100 store_path0=/data1    # 设置上传文件目录105 subdir_count_per_path=256109 tracker_server=192.168.4.93:22122    # 设置连接的Tracker172 upload_priority=10             # 设置组内服务器优先级[root@master93 FastDFS]# ls /data/fastdfs/data/    //最初只有一个文件storage_changelog.dat

起动并测试

[root@storage103 FastDFS]# cp init.d/fdfs_storaged /etc/init.d/[root@storage103 FastDFS]# chmod +x /etc/init.d/fdfs_storaged[root@storage103 FastDFS]# chkconfig --add fdfs_storaged//或[root@storage103 FastDFS]# chkconfig fdfs_storaged on[root@storage103 FastDFS]# chkconfig --list fdfs_storaged[root@storage103 FastDFS]# /etc/init.d/fdfs_storaged start[root@storage103 FastDFS]# /etc/init.d/fdfs_storaged status[root@storage103 FastDFS]# netstat -tlnp | grep :23000[root@storage103 FastDFS]# ls /data1/data  //查看初始化成功[root@storage104 FastDFS]# cat /data/fastdfs/logs/storaged.log[root@master93 FastDFS]# ls /data/fastdfs/data/storage_changelog.dat   storage_servers_new.datstorage_groups_new.dat  storage_sync_timestamp.dat[root@master93 FastDFS]# cat /data/fastdfs/logs/trackerd.log

storage数据文件说明:

storage为用户创建256个目录存放上传文件

辅助文件的目录为/data/fastdfs/data

.data_init_flag:初始化信息

storage_stat.dat:统计信息

sync/binlog.index:当前binlog文件索引号

sync/binlog.###:更新操作记录(日志)

sync/${id}.mark:同步完成情况

文件操作

客户端环境准备:拷贝命令

将fdfs_test / fdfs_upload_file / fdfs_delete_file / fdfs_download_file / client.conf 拷贝到~/bin目录

[root@storage103 ~]# scp /usr/local/bin/fdfs_* 192.168.4.254:/root/bin/[root@storage103 ~]# scp /etc/fdfs/client.conf 192.168.4.254:/etc/[root@pc207 bin]# mkdir -pv /tmp/client_test/   创建工作目录[root@pc207 ~]# vim /etc/client.conf     //修改客户端配置文件——创建连接主控服务器的配置文件10 base_path=/tmp/client_test/14 tracker_server=192.168.4.93:22122
  1. 使用测试命令

通过fdfs_test

上传文件到storage:测试程序会对一个文件上传两次。返回的文件id也是两个并上传文件附加属性。Storage上生成4个文件

上传本地文件到文件到存储服务器:

[root@pc207 ~]# /root/bin/fdfs_test /etc/client.conf  upload /etc/passwd[root@storage103 FastDFS]# ls /data1/data/00/00wKhxPFc3oD6ARewxAAC6OPZ7hp8271_big.log    wKhxPFc3oD6ARewxAAC6OPZ7hp8271.logwKhxPFc3oD6ARewxAAC6OPZ7hp8271_big.log-m  wKhxPFc3oD6ARewxAAC6OPZ7hp8271.log-m

删除文件:

[root@pc207 ~]# /root/bin/fdfs_test /etc/client.conf delete 上传后的路径名

通过其他相关命令

  1. 通过fdfs_upload_file上传文件
[root@pc207 ~]# /root/bin/fdfs_upload_file /etc/client.conf  /etc/hosts  
  1. 通过fdfs_download_file下载文件
[root@pc207 ~]# /root/bin/fdfs_download_file /etc/client.conf  上传后的路径名 下载后的名字

3)通过fdfs_delete_file删除文件

[root@pc207 ~]# /root/bin/fdfs_delete_file /etc/client.conf  上传后的路径名

配置web访问

服务器端脚本语言: python、php、java、asp、jsp

客户端脚本语言:    javascript(js)

web: 程序代码文件

存储服务器:静态文件

数据库:动态文件

静态文件:模板文件、js(javascript)代码、图片、CSS样式表文件

动态文件:有变化的数据

[root@storage103 ~]# netstat -pantul |grep :80   //若被占用,要先停止

1、安装依赖包

[root@storage103 ~]# yum install -y pcre zlib pcre-devel openssl-devel zlib-devel

2、创建运行帐户

[root@storage103 ~]# useradd -s /sbin/nologin nginx[root@storage103 ~]# grep nginx /etc/group

3、编译安装nginx

[root@storage103 ~]# tar xzf fastdfs-nginx-module_v1.16.tar.gz[root@storage103 ~]# ls fastdfs-nginx-module/src/[root@storage103 ~]# cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/[root@storage103 ~]# tar xzf nginx-1.7.10.tar.gz[root@storage103 ~]# cd nginx-1.7.10/[root@storage103 nginx-1.7.10]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --add-module=../fastdfs-nginx-module/src/[root@storage103 nginx-1.7.10]# make && make install

4、配置

[root@storage103 ~]# vim /etc/fdfs/mod_fastdfs.conf40 tracker_server=192.168.4.93:2212247 group_name=group153 url_have_group_name = true62 store_path0=/data1[root@storage103 ~]# vim /usr/local/nginx/conf/nginx.conf# location / {#    root   html;#    index  index.html index.htm;# }                                      将这段说明注释掉,增加以下说明location / {ngx_fastdfs_module;}

5、起动并测试

[root@storage103 ~]# /etc/init.d/fdfs_storaged  stop[root@storage103 ~]# /etc/init.d/fdfs_storaged  start[root@storage103 ~]# /usr/local/nginx/sbin/nginx[root@storage103 ~]# netstat -pantul |grep :80[root@storage103 ~]# echo storage103 > /usr/local/nginx/html/a.thml[root@pc207 ~]# elinks --dump http://192.168.4.103/a.html//访问时直接转给模块了,所以找不到访问文件[root@pc207 ~]# /root/bin/fdfs_upload_file  /etc/client.conf  /root/图片/day.jpggroup1/M00/00/00/wKgEZ1oE6WyIJtU7AA6q2wjnW8sAAAAAQAAF-oADqrz467.jpg[root@room1pc27 ~]# firefox http://192.168.4.103/group1/M00/00/00/wKgEZ1oE6WyIJtU7AA6q2wjnW8sAAAAAQAAF-oADqrz467.jpg &

NFS、分布式、FastDFS相关推荐

  1. 分布式FastDFS存储原理2

    框架 数据流程 FastDFS文件同步 连接tracker有独立的线程(tracker_report_thread_entrance),连接n个tracker就有n个线程:一个group里面又n个st ...

  2. 005_FastDFS分布式nginx访问

    1. 修改mod_fastdfs.conf和nginx.conf配置 1.1. 修改192.168.25.135.192.168.25.137机器上的mod_fastdfs.conf配置 vim /e ...

  3. linux文件系统的总体架构,Linux NFS的整体架构与核心代码解析

    前面文章我们从应用层面对NFS进行了介绍,接下来的文章我们将进入实现层面.本文首先从整体上对Linux的NFS软件架构进行介绍,然后介绍代码与实际业务逻辑介绍一下NFS的处理流程. NFS文件系统的架 ...

  4. GFS(GlusterFS)分布式文件系统

    GFS(GlusterFS)分布式文件系统 一.GlusterFS概述 1.GliusterFS特点 2.GFS组成 3.GFS文件系统组成 4.GFS术语 5.GFS架构 6.GlusterFS工作 ...

  5. NFS协议介绍(NAS)

    分布式文件系统:多个客户机和一个服务器(服务器或者更多)建立的一组网络架构,服务器将数据保存在它的本地磁盘上,客户机通过组织良好的协议消息来获取数据. 正如上面图片中看到的,服务器有磁盘,客户机发送消 ...

  6. 【NAS】NFS协议介绍

    原文链接: http://pages.cs.wisc.edu/~remzi/OSTEP/dist-nfs.pdf 第一次使用分布式客户端服务器模式的计算的其中一个领域是分布式文件系统.在这样一个环境中 ...

  7. java架构师_成为一名Java高级架构师究竟要学哪些东西??

    Java架构师,应该算是一些Java程序员们的一个职业目标了吧.很多码农码了五六年的代码也没能成为架构师.那成为Java架构师要掌握哪些技术呢,总体来说呢,有两方面,一个是基础技术,另一个就是组织能力 ...

  8. Java 后端开发学习型网站汇总

    首页 - 不灭的焱:个人网站,汇集了大量开发实践经验文章,技术种类繁多,总结得也比较好,适合不时访问查看. 第十二章:技术总览_我是廖志伟的博客-CSDN博客:私人博客,收集了各种技术的官方网站. 网 ...

  9. 架构师素养及从小菜进阶架构(CTO)的书籍【转】

    CTO要了解无线技术/搜索/大数据/数据库等. -- 通常定义架构有几个层次,这包括业务架构.产品架构.应用架构和技术架构:  1.业务架构:描述一个企业围绕一个行业做了哪些业务,例如支付行业的收单. ...

  10. Java中间件有哪些

    网关:Nginx.Kong.Zuul 缓存:Redis.MemCached.OsCache.EhCache 搜索:ElasticSearch.Solr 熔断:Hystrix.resilience4j ...

最新文章

  1. ARKit应用超300万次安装,排第一的是一款养成游戏
  2. JavaScript库开发者们的规则
  3. STM32 定时器 定时时间的计算
  4. CentOS 命令大全 (转)
  5. django加载本地html
  6. Centos7 docker 安装 zookeeper
  7. 庆国庆,Power BI 统一报表门户横空出世,指南请收
  8. 从淘宝CFO到接棒马云 张勇是如何在12年里成为阿里董事局主席的
  9. 功能测试-测试定义与原则
  10. Lync Server 2013视频会议新功能及配置
  11. 进程cpu使用率的计算
  12. LPDIRECTDRAW7编译错误的解决方法
  13. 如何快速深入理解监控知识? | 技术干货
  14. 木马的远程控制和清除 实验
  15. Hermite多项式正交性证明
  16. 2021-2027全球与中国外部谷仓门市场现状及未来发展趋势
  17. html5游戏 分数排行榜,热推游戏榜 9月份“微信HTML5游戏排行榜”
  18. 【产业互联网】阿里曾鸣:下一个风口是产业互联网
  19. 三针重叠问题算法整理
  20. java计算机毕业设计九宫格日志网站源代码+数据库+系统+lw文档

热门文章

  1. jjson - 支持注释的 json 和 javascript 对象解析之 Python 模块
  2. Midjourney笔记
  3. Android上实现视频录制
  4. linux如何看udpsocket状态,Linux如何使用ss命令查看系统的socket状态
  5. 车位编号lisp_自动编号CAD插件
  6. Deep learning翻译
  7. iOS本地推送实现备忘录闹铃提醒
  8. 互联网早报:腾讯小微推新功能,支持在微信中进行硬件管理和音乐分享....
  9. android中dialog的dismiss()和cancel()的区别
  10. tsconfig.json配置学习笔记