文章目录

  • 第一章节 存储概念与SAN
  • 知识储备
    • 存储介绍
    • Linux存储分层(了解)
    • 存储的分类
    • 存储类型的分类
  • SAN
    • SAN的分类
    • IP-SAN之iscsi实现
  • 存储多路径
    • 实验准备
    • 实验过程
  • 第二章 分布式存储之glusterfs
  • 分布式存储介绍
  • Glusterfs
    • glusterfs介绍
    • raid级别回顾(拓展)
    • 常见卷的模式
    • glusterfs集群
    • replica卷测试
    • 卷的删除
    • stripe模式(条带)
    • distributed模式
    • distributed-replica模式
    • dispersed模式
    • 在线裁减与在线扩容
  • 第三章 分布式存储之Ceph
    • 一、认识Ceph
    • 二、ceph架构
    • **拓展名词**
    • 三、Ceph集群
    • 集群组件
    • 集群环境准备
    • 集群部署过程
      • 第1步: 配置ssh免密
      • 第2步: 在node1上安装部署工具
      • 第3步: 在node1上创建集群
      • 第4步: ceph集群节点安装ceph
      • 第5步: 客户端安装`ceph-common`
      • 第6步: 创建mon(监控)
        • 监控到时间不同步的解决方法
      • 第7步: 创建mgr(管理)
      • 第8步: 创建osd(存储盘)
    • 集群节点的扩容方法
    • 四、RADOS原生数据存取演示
      • 存取原理
      • 创建pool
      • 存储测试
      • 删除pool
    • 五、创建Ceph文件存储
      • 创建文件存储并使用
      • 删除文件存储方法
    • 六、创建Ceph块存储
      • 创建块存储并使用
      • 块存储扩容与裁减
      • 删除块存储方法
    • 七、Ceph对象存储
      • 测试ceph对象网关的连接
      • S3连接ceph对象网关
    • ceph dashboard(拓展)
    • ceph对象存储结合owncloud打造云盘(拓展)
    • 拓展:osd磁盘的删除**(这里以删除node1上的osd.0磁盘为例)

第一章节 存储概念与SAN

任务背景

​ 随着某些业务数据的增大, 公司服务器硬盘空闲空间越来越小, 服务器上也无法再拓展硬盘, 所以我们考虑使用网络存储方式远程共享存储给服务器使用。

任务要求

实现存储通过远程共享给应用服务器使用

任务拆解

1, 需要知道存储有哪些方式可以通过网络共享给服务器使用,如何选择合理的方式

2, 需要知道存储共享给服务器后是一种什么形式,是一个目录呢, 还是一个块设备

3, 使用什么样的软件来实现

4, 配置实现

学习目标

  • 能够区分DAS,NAS,SAN三种存储分类
  • 能够区分文件存储类型与块存储类型
  • 能够使用iscsi实现IP-SAN

知识储备

存储介绍

存储(storage)是什么?

简单来说,存储就是存放数据的介质。

我们在这里不是学习这些硬件知识,而是学习Linux平台下的存储技术

在前面学习的架构基础上再加上远程存储

Linux存储分层(了解)

问题: linux上如何挂载ntfs格式的移动硬盘?

linux内核支持ntfs,但centos7系统并没有加上此功能,解决方法两种:

  • 重新编译内核,在内核加上支持ntfs(此方法不推荐,因为编译内核会造成内核运行不稳定, 没有过硬的实力不要做)
  • 安装软件,为内核加上支持ntfs的模块
安装
# yum install epel-release  -y
# yum install ntfs-3g        挂载命令
# mount.ntfs-3g /dev/sdb1 /mnt

一个新的硬盘在linux系统里使用一般来说就三步:(分区,格式化)-挂载-使用

Linux存储五层:

上面比较难理解的是虚拟文件系统: 又名VFS (Virtual File System),作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统,即为各类文件系统提供了一个统一的操作界面和应用编程接口。

简单来说,就是使用上层应用程序不用关注底层是什么文件系统, 统一使用。

存储的分类

存储的分类(重点)

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

DAS: 直接连接系统,不受网速限制,速度快; 扩展容量有上限。

NAS与SAN: 通过网络设备连接的远程存储,速度受网络影响; 但扩展方便,几乎无上限。

NAS和SAN都是通过网络(通过了网络设备,如路由器,交换机等)的,但NAS共享的是应用层的目录,而SAN共享的是/dev/sdb1或/dev/sdb这种块设备

存储类型的分类

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

文件存储: 类似一个大的目录,多个客户端都可以挂载过来使用。

  • 优点: 利于数据共享
  • 缺点: 速度较慢

块存储: 类似一个block设备,客户端可以格式化,挂载并使用,和用一个硬盘一样。

  • 优点: 和本地硬盘一样,直接使用,速度较快
  • 缺点: 数据不共享

对象存储: 一个对象我们可以看成一个文件, 综合了文件存储和块存储的优点。

  • 优点: 速度快,数据共享
  • 缺点: 成本高, 不兼容现有的模式

如果两台nginx服务器想要实现web家目录里的数据一致, 请问怎么做?

小结:

  • 存储要通过远程的方法共享

  • 有可能要考虑数据共享的问题

  • 存储分类:DAS,NAS,SAN

  • 存储类型分类: 文件存储,块存储, 对象存储

SAN

SAN的分类

两种SAN:

  1. FC-SAN: 早期的SAN, 服务器与交换机的数据传输是通过光纤进行的, 服务器把SCSI指令传输到存储设备上,不能走普通LAN网的IP协议。
  2. IP-SAN: 用IP协议封装的SAN, 可以完全走普通网络,因此叫做IP-SAN, 最典型的就是ISCSI。

FC-SAN优缺点: 速度快(2G,8G,16G), 成本高, 传输距离有一定限制。

IP-SAN优缺点: 速度较慢(已经有W兆以太网标准), 成本低, 传输距离无限制。

IP-SAN之iscsi实现

实验: Linux平台通过iscsi实现IP-SAN

实验准备: 两台虚拟机(centos7平台)同网段(比如vmnet8), 交换机不用模拟,因为同网段的虚拟机就相当于连在同一个交换机上

  1. 静态IP,(两台IP互通就行,网关和DNS不做要求)
  2. 都配置主机名及其主机名互相绑定
  3. 关闭防火墙,selinux
  4. 时间同步
  5. 配置好yum(需要加上epel源)
  6. 在存储导出端模拟存储(模拟存储可以使用多种形式,如硬盘:/dev/sdb,分区:/dev/sdb1,软raid:/dev/md0,逻辑卷:/dev/vg/lv01,dd创建的大文件等等)
下面我为了实验方便,就用dd的大文件来模拟存储
export# mkdir /data/
export# dd if=/dev/zero of=/data/storage1 bs=1M count=500
export# dd if=/dev/zero of=/data/storage2 bs=1M count=1000
export# dd if=/dev/zero of=/data/storage3 bs=1M count=1500
export# dd if=/dev/zero of=/data/storage4 bs=1M count=2000
一个模拟了4个存储文件用来导出(大小不一样,是为了后续讨论)

实验步骤:

  1. export导出端安装软件, 配置导出的存储,启动服务
  2. import导入端安装软件, 导入存储,启动服务

实验过程:

第1步: 在导出端上安装iscsi-target-utils软件包

export# yum install epel-release -y        没有安装epel源的,再次确认安装
export# yum install scsi-target-utils -y

第2步: 在导出端配置存储的导出

export# cat /etc/tgt/targets.conf |grep -v "#"default-driver iscsi<target iscsi:data1>backing-store /data/storage1
</target><target iscsi:data2>backing-store /data/storage2
</target><target iscsi:data3>backing-store /data/storage3
</target><target iscsi:data4>backing-store /data/storage4
</target>

第3步: 导出端启动服务并验证

export# systemctl start tgtd
export# systemctl enable tgtd
验证端口和共享资源是否ok
export# lsof -i:3260
export# tgt-admin --show

第4步: 导入端安装iscsi-initiator-utils软件包

import# yum install iscsi-initiator-utils

第5步: 导入端导入存储

在登录前必须要先连接并发现资源(discovery)

import# iscsiadm -m discovery -t sendtargets -p 10.1.1.11
10.1.1.11:3260,1 iscsi:data1
10.1.1.11:3260,1 iscsi:data2
10.1.1.11:3260,1 iscsi:data3
10.1.1.11:3260,1 iscsi:data4

发现资源成功后,就可以进行资源登录了

只登录其中一个存储:
import# iscsiadm -m node -T iscsi:data1 -p 10.1.1.11 -l
直接登录所有发现的存储:
import# iscsiadm -m node -l

登录成功后,直接使用fdisk -l查看

import# fdisk -l |grep sd[b-z]

第6步: import端启动服务

启动服务,并做成开机自启动
import# systemctl start iscsi
import# systemctl enable iscsiimport# systemctl start iscsid
import# systemctl enable iscsid

补充: 关于取消连接的操作

取消登录其中一个特定目录: 把-l改成-u
import# iscsiadm -m node -T iscsi:data1 -p 10.1.1.11 -u
取消登录所有目录:
import# iscsiadm -m node -u如果要连discovery的信息也删除则使用--op delete命令
import# iscsiadm -m node -T iscsi:data1 -p 10.1.1.11 --op delete
删除所有登录过的目录信息:
import# iscsiadm -m node --op delete

问题一: 重新登录几次,会发现什么?

import# iscsiadm -m node -u &> /dev/null
import# iscsiadm -m node -l &> /dev/null
import# fdisk -l |grep sd[b-z]

答: 会发现名字会混乱. 解决方法有udev和存储多路径。

问题二: 如果再加一个新的导入服务器,两个导入服务器导入同一个存储,然后格式化,挂载。能实现同读同写吗?

答: 不可以。

课外拓展: 可以对导出的存储配置验证功能,导入端配置正确的用户名和密码才能登陆

只有两个地方不一样:

  1. 在导出端配置时加上用户名和密码验证功能
<target iscsi:data1>backing-store /data/storage1incominguser daniel daniel123      验证功能,此用户自定义即可,与系统用户无关
</target>
  1. 在导入端配置时需要多配置下面一步,对应导出端的用户名与密码
如果export端有源被配置了验证功能,那么import端需要配置正确的用户名和密码才OK
CHAP (Challenge-Handshake Authentication Protocol) 挑战握手验证协议import# vim /etc/iscsi/iscsid.conf
57 node.session.auth.authmethod = CHAP
61 node.session.auth.username = daniel
62 node.session.auth.password = daniel12371 discovery.sendtargets.auth.authmethod = CHAP
75 discovery.sendtargets.auth.username = daniel
76 discovery.sendtargets.auth.password = daniel123
做完这一步后, 就可以发现资源并登录了

存储多路径

存储多路径(device-multipath): 相当于存储线路的双线路绑定,做HA或LB。

作用:

  1. 双存储线路HA
  2. 双存储线路LB
  3. 可以自定义绑定后的设备名称,达到固定iscsi设备名称的目的。

实验准备

  1. 在前面实验的基础上,导出端和导入端各加一个网卡连接到一个新的网络上(注意:新的网段一定要用静态ip)。我这里为10.2.2.0/24网段
vmnet8    10.1.1.0/24
vmnet1   10.2.2.0/24
  1. 然后在存储导入端登出这四个存储,并删除相关信息
import# iscsiadm -m node -u
import# iscsiadm -m node --op delete

实验过程

第1步: 在存储导入端去发现导出端上的存储。分别使用导出端的两个IP去发现,然后将它们登录

import# iscsiadm -m discovery -t sendtargets -p 10.1.1.11
10.1.1.11:3260,1 iscsi:data1
10.1.1.11:3260,1 iscsi:data2
10.1.1.11:3260,1 iscsi:data3
10.1.1.11:3260,1 iscsi:data4
import# iscsiadm -m discovery -t sendtargets -p 10.2.2.11
10.2.2.11:3260,1 iscsi:data1
10.2.2.11:3260,1 iscsi:data2
10.2.2.11:3260,1 iscsi:data3
10.2.2.11:3260,1 iscsi:data4

把发现的targets全部登录

import# iscsiadm -m node -l使用fdisk -l |grep sd[b-z]命令能查看到8个存储(但实际是4个存储,分别由两个网络线路去访问的)

第2步, 在存储导入端安装device-mapper-multipath的包

import# yum install device-mapper\*

第3步, 把上面的8个进行多路径绑定,绑成4个(同一个存储两个线路访问的绑定成一个)

先运行此命令,才会产生/etc/multipath.conf的配置文件

import# mpathconf --enable

配置/etc/multipath.conf配置文件

import# cat /etc/multipath.conf |grep -v ^# |grep -v ^$
defaults {                          看作为全局配置参数user_friendly_names yes            使用友好名字(默认名为wwid,名字长且难认,友好名可以自定义)find_multipaths yes
}
blacklist {                         黑名单(表示所有在黑名单里的设备不会被绑定成多路径设备)
}import# vim /etc/multipath.conf
blacklist {devnode "^sda"             除了sda开头的设备,我都做多路径(指的就是那8个发现的设备)
}

启动服务

import# systemctl start  multipathd.service
import# systemctl enable multipathd.service

第4步: 查看当前绑定状态

使用multipath -ll命令可以看到四个新绑定的设备了(mpatha,mpathb,mpathc,mpathd)这四个设备就是双线路绑定的设备

/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sda命令可用来查看wwid

import# multipath -ll
mpathd (360000000000000000e00000000040001) dm-3 IET  ,VIRTUAL-DISK 长数字字符串就是wwid
size=2.0G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active     主线路
| `- 8:0:0:1 sdf 8:80  active ready running
`-+- policy='service-time 0' prio=1 status=enabled       备线路(也就是说默认为主备HA模式)`- 9:0:0:1 sdh 8:112 active ready running
mpathc (360000000000000000e00000000030001) dm-2 IET     ,VIRTUAL-DISK
size=1.5G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 6:0:0:1 sde 8:64  active ready running
`-+- policy='service-time 0' prio=1 status=enabled`- 7:0:0:1 sdg 8:96  active ready running
mpathb (360000000000000000e00000000020001) dm-1 IET     ,VIRTUAL-DISK
size=1000M features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 4:0:0:1 sdc 8:32  active ready running
`-+- policy='service-time 0' prio=1 status=enabled`- 5:0:0:1 sdd 8:48  active ready running
mpatha (360000000000000000e00000000010001) dm-0 IET     ,VIRTUAL-DISK
size=500M features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 2:0:0:1 sda 8:0   active ready running
`-+- policy='service-time 0' prio=1 status=enabled`- 3:0:0:1 sdb 8:16  active ready running

第5步: 下面我对这8个存储进行自定义绑定(把名字分别绑成data1,data2,这两个做成ha高可用模式;data3,data4这两个做成lb负载均衡模式)

import# cat /etc/multipath.conf  |grep -v ^# |grep -v ^$defaults {user_friendly_names yesfind_multipaths yes
}multipaths {multipath {wwid            360000000000000000e00000000010001       wwid值alias          data1                                   自定义绑定的名字path_grouping_policy    failover                        HA模式failback        immediate                       主线路挂了再启起来后,会马上切换回来}multipath {wwid          360000000000000000e00000000020001alias          data2path_grouping_policy   failoverfailback        immediate}multipath {wwid           360000000000000000e00000000030001alias          data3path_grouping_policy   multibus                        LB模式path_selector       "round-robin 0"                       LB的算法为rr轮循}multipath {wwid          360000000000000000e00000000040001alias          data4path_grouping_policy   multibuspath_selector       "round-robin 0"}
}
blacklist {}

第6步: 重启服务,使自定义配置生效

import# systemctl restart multipathd.service 查看验证,就绑定成了data1,data2,data3,data4这样的名称
import# multipath -llimport# ls /dev/mapper/data*
/dev/mapper/data1  /dev/mapper/data2  /dev/mapper/data3  /dev/mapper/data4

第7步: 测试

将failover和multibus两种模式各选一个存储格式化(可以直接格式化,也可以先分区再格式化),并挂载进行测试/dev/mapper/data4如果分两个区,则名字对应为:/dev/mapper/data4p1,/dev/mapper/data4p2(如果分区后看不到,可以使用partprobe命令刷新一下)
centos7写到/etc/fstab里需要多加一个参数(_netdev)就可以成功自动挂载,写法如下/dev/mapper/data4p1  /mnt  xfs  defaults,_netdev 0 0

第二章 分布式存储之glusterfs

任务背景

实现了远程的存储共享(NAS或SAN)后, 公司业务发展迅速, 存储空间还需要增大。使用NAS或SAN都不方便扩容,NAS可以增加新的挂载目录, SAN可以增加新的硬盘,但我们希望直接在原来挂载的业务目录上实现在线扩容,数据体量越来越大, 这个时候我们就可以考虑使用**分布式存储**了。

任务要求

1, 将远程多台服务器的空闲存储空间整合,组合成一个大存储给应用服务器(如apache,nginx,tomcat,mysql等)使用

2, 考虑高可用与负载均衡原则,并能实现在线扩容

任务拆解

1, 了解分布式存储的概念与原理

2, 选择对应的分布式存储软件

3, 准备多台有空闲空间的服务器做存储服务器

4, 搭建集群将多台存储服务器组合

5, 将组合的大存储划分成卷共享给应用服务器使用

6, 实现在线扩容

学习目标

  • 能够说出分布式存储的优点

  • 能够成功搭建glusterfs集群

  • 掌握常见的glusterfs卷模式的创建与使用

  • 能够对特定的glusterfs卷实现在线裁减或扩容

分布式存储介绍

我们已经学习了NAS是远程通过网络共享目录, SAN是远程通过网络共享块设备

那么分布式存储你可以看作**拥有多台存储服务器连接起来的存储导出端**。把这多台存储服务器的存储合起来做成一个整体再通过网络进行远程共享,共享的方式有目录(文件存储),块设备(块存储),对象网关或者说一个程序接口(对象存储)。

常见的分布式存储开源软件有:GlusterFS,Ceph,HDFS,MooseFS,FastDFS等。

分布式存储一般都有以下几个优点:

  1. 扩容方便,轻松达到PB级别或以上
  2. 提升读写性能(LB)或数据高可用(HA)
  3. 避免单个节点故障导致整个架构问题
  4. 价格相对便宜,大量的廉价设备就可以组成,比光纤SAN这种便宜很多

Glusterfs

glusterfs介绍

glusterfs是一个免费,开源的分布式文件系统(它属于文件存储类型)。

https://www.gluster.org/

raid级别回顾(拓展)

raid级别有很多种,下面主要介绍常用的几种:

raid0 读写性能佳,坏了其中一块,数据挂掉,可靠性低(stripe条带化),磁盘利用率100%

raid1 镜像备份(mirror),同一份数据完整的保存在多个磁盘上,写的性能不佳,可靠性高,读的性能还行,磁盘利用率50%

raid10 先做raid 1 再做raid 0

raid5 由多块磁盘做raid 5,磁盘利用率为n-1/n, 其中一块放校验数据,允许坏一块盘,数据可以利用校验值来恢复

raid6 在raid5的基础上再加一块校验盘,进一步提高数据可靠性

生产环境中最常用的为raid5和raid10

常见卷的模式

卷模式 描述
Replicated 复制卷,类似raid1
Striped(了解,新版本将会放弃此模式及其它相关的组合模式) 条带卷,类似raid0
Distributed 分布卷
Distribute Replicated 分布与复制组合
Dispersed 纠删卷,类似raid5,raid6

glusterfs看作是一个将多台服务器存储空间组合到一起,再划分出不同类型的文件存储卷给导入端使用。

Replicated卷

Striped卷

Distributed卷

Distribute Replicated卷

其它模式请参考官网: https://docs.gluster.org/en/latest/Administrator%20Guide/Setting%20Up%20Volumes/

glusterfs集群

实验准备:

  1. **所有节点(包括client)**静态IP(NAT网络,能上外网)
  2. **所有节点(包括client)**都配置主机名及其主机名互相绑定(这次我这里做了别名,方便使用)
10.1.1.11    vm1.cluster.com     storage1
10.1.1.12   vm2.cluster.com     storage2
10.1.1.13   vm3.cluster.com     storage3
10.1.1.14   vm4.cluster.com     storage4
10.1.1.15   vm5.cluster.com     client
  1. **所有节点(包括client)**关闭防火墙,selinux

    # systemctl stop firewalld
    # systemctl disable firewalld
    # iptables -F
    
  2. **所有节点(包括client)**时间同步

  3. **所有节点(包括client)**配置好yum(需要加上glusterfs官方yum源)

# vim /etc/yum.repos.d/glusterfs.repo
[glusterfs]
name=glusterfs
baseurl=https://buildlogs.centos.org/centos/7/storage/x86_64/gluster-4.1/
enabled=1
gpgcheck=0

yum源说明:

  • 可按照以上yum路径去查找glusterfs5glusterfs6版本的yum源路径(目前我们使用4.1版)
  • 如果网速太慢,可下载我共享的软件做本地yum源安装

实验步骤:

  1. 在所有storage服务器上安装相关软件包,并启动服务
  2. 所有storage服务器建立连接, 成为一个集群
  3. 所有storage服务器准备存储目录
  4. 创建存储卷
  5. 启动存储卷
  6. client安装挂载软件
  7. client挂载使用

实验过程:

第1步, 在所有storage服务器上(不包括client)安装glusterfs-server软件包,并启动服务

下面的命令所有存储服务器都要做
# yum install glusterfs-server# systemctl start glusterd
# systemctl enable glusterd
# systemctl status glusterd

分布式集群一般有两种架构:

  • 有中心节点的 中心节点一般指管理节点,后面大部分分布式集群架构都属于这一种
  • 无中心节点的 所有节点又管理又做事,glusterfs属于这一种

第2步, 所有storage服务器建立连接,成为一个集群

4个storage服务器建立连接不用两两连接,只需要找其中1个,连接另外3个各一次就OK了下面我就在storage1上操作
storage1# gluster peer probe storage2
storage1# gluster peer probe storage3
storage1# gluster peer probe storage4       --这里使用ip,主机名,主机名别名都可以然后在所有存储上都可以使用下面命令来验证检查
# gluster peer status

注意:

如果这一步建立连接有问题(一般问题会出现在网络连接,防火墙,selinux,主机名绑定等);

如果想重做这一步,可以使用gluster peer detach xxxxx [force] 来断开连接,重新做

第3步, 所有storage服务器准备存储目录(可以用单独的分区,也可以使用根分区)

因为我让大家准备的storage服务器没有准备额外的硬盘,所以这里用根分区来做实验
但生产环境肯定是不建议数据盘和系统盘在一起的
# mkdir -p /data/gv0  

第4步, 创建存储卷(在任意一个storage服务器上做)

注意: 改变的操作(create,delete,start,stop)等只需要在任意一个storage服务器上操作,查看的操作(info)等可以在所有storage服务器上操作

下面命令我是在storage1上操作的
因为在根分区创建所以需要force参数强制
replica 4表示是在4台上做复制模式(类似raid1)storage1# gluster volume create gv0 replica 4 storage1:/data/gv0/ storage2:/data/gv0/ storage3:/data/gv0/ storage4:/data/gv0/ force
volume create: gv0: success: please start the volume to access data
所有storage服务器上都可以查看
# gluster volume info gv0Volume Name: gv0
Type: Replicate             模式为replicate模式
Volume ID: 328d3d55-4506-4c45-a38f-f8748bdf1da6
Status: Created             这里状态为created,表示刚创建,还未启动,需要启动才能使用
Snapshot Count: 0
Number of Bricks: 1 x 4 = 4
Transport-type: tcp
Bricks:
Brick1: storage1:/data/gv0
Brick2: storage2:/data/gv0
Brick3: storage3:/data/gv0
Brick4: storage4:/data/gv0
Options Reconfigured:
transport.address-family: inet
nfs.disable: on

第5步, 启动存储卷

storage1# gluster volume start gv0
# gluster volume info gv0Volume Name: gv0
Type: Replicate
Volume ID: 328d3d55-4506-4c45-a38f-f8748bdf1da6
Status: Started         现在看到状态变为started,那么就表示可以被客户端挂载使用了
Snapshot Count: 0
Number of Bricks: 1 x 4 = 4
Transport-type: tcp
Bricks:
Brick1: storage1:/data/gv0
Brick2: storage2:/data/gv0
Brick3: storage3:/data/gv0
Brick4: storage4:/data/gv0
Options Reconfigured:
transport.address-family: inet
nfs.disable: on

第6步, client安装软件

客户端上操作
client# yum install glusterfs glusterfs-fuse -y

说明:

fuse(Filesystem in Userspace): 用户空间文件系统,是一个客户端挂载远程文件存储的模块

第7步, client挂载使用

**注意

【linux】模块化实践之存储专题相关推荐

  1. 问君能有几多愁,恰似不懂Linux SQL如何调优——聊聊SQL Server on Linux最佳实践

    问君能有几多愁,恰似不懂Linux SQL如何调优--聊聊SQL Server on Linux最佳实践 自从微软开始拥抱Linux, SQL Server 很快就推出了 Linux版本, linux ...

  2. linux 适配电脑内核,Linux内核实践 如何添加网络协议[三]:实现 -电脑资料

    内核版本:2.6.34 接上篇<添加网络协议>, 为了用户方便查看brcm设备的工作状态,使用proc文件系统是很好的方 式.一个网络协议模块可以注册到网络空间中register_pern ...

  3. 如何“拼”出一个页面-游戏中心模块化实践

    一.背景 vivo游戏中心是一款垂类的应用商店,为用户提供了多元化游戏的下载渠道.随着游戏中心手游品类的丰富,各品类用户的量级也不断增加,不同游戏偏好的用户核心关注点也不同,从预约.测试.首发.更新到 ...

  4. Linux KVM迁移与存储

    Linux KVM迁移与存储 1.环境描述: 如图1所示的网络环境,存储挂接到了NFS服务器上,通过交换机共享给了两台服务器KVM1和KVM2,操作系统均为64位的RHEL6.5,均运行着KVM虚拟机 ...

  5. linux 模块化编译,手把手教Linux驱动1-模块化编程 module

    大家好,从本篇起,一口君将手把手教大家如何来学习Linux驱动,预计会有20篇关于驱动初级部分知识点.本专题会一直更新,有任何疑问,可以留言或者加我微信. Linux的开发者,遍布世界各地,他们相互之 ...

  6. 排查生产问题linux命令,排查问题所用到的一些Linux命令实践(不定期更新。。)...

    一.前言 线上问题排查可能是每个程序员都会经历的.在排查的过程中,往往会用到很多Linux命令,也会产生一些很实用的技巧.本博文通过分析一次线上问题排查的过程,把所有用到的命令串起来.每个Linux命 ...

  7. 实践平台linux,关于构造Linux系统实践平台的设想

    摘 要 当前虽然有很多高校将Linux课程作为本科学生的必修课,但是在高校中专业的Linux实验室却并未普及.在不增加机房管理员工作量以及学生可以充分体验Linux系统性能的前提下,本文提出了一种利用 ...

  8. Linux课题实践一

    Linux课题实践一 20135318 刘浩晨 1.1应用安装 (1)掌握软件源的维护方法,配置系统使用软件源镜像  删除过期或者重复的软件包:进入"系统设置"-"软件和 ...

  9. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

最新文章

  1. Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之10.Web_工程结构
  2. IPFS (1) 初步简介
  3. 利用Cobbler批量快速网络安装CentOS
  4. php是独立服务吗,使用Sprockets作为PHP应用程序的独立服务
  5. 同一页面中引入多个JS库产生的冲突解决方案(转)
  6. vue伸缩效果_Vue.js - 元素展开、收起动画效果组件(附:二级菜单的展开、收缩动画效果)...
  7. E百科 | 基于MEC的边缘AI服务
  8. 音乐雷达 shazam算法_具有10亿首Shazam音乐识别功能的数据可视化
  9. cmake 学习笔记(三)
  10. 【正点原子MP157连载】 第二十一章 DMA实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
  11. Qt 网络编程制作一个客户端与服务器
  12. 苹果计算机 win10,苹果电脑怎么安装Win10系统?
  13. 2、Ubuntu下安装Vivado下的下载器驱动 Digilent 版本
  14. 颠覆式创新看世界,读《第二曲线创新》有感
  15. 计算机专业的学生可以考哪些证书
  16. Imitate_ProcessRR轮盘调度
  17. 739. 每日温度/C++
  18. React hooks组件通信
  19. OpenHarmony LiteOS C-SKY指令集移植指北
  20. 系统分析师---论软件的系统测试及应用

热门文章

  1. 求二叉树叶子结点及其个数
  2. 助力核反应堆实时监控,这个国产数据库够“硬核”
  3. 用扫把理解面向对象编程
  4. [附源码]计算机毕业设计JAVA基于javaweb电影购票系统
  5. 马良建模学习笔记——软包制作十五
  6. python+正则表达式获取ed2k url
  7. Java的教学辅助系统,信息管理系统课程辅助教学平台
  8. java swing开发窗体程序开发(三)事件(Mouse,Foucs,Key,Window)
  9. html5对flash的影响,浅谈flash和html5的发展趋势对站长的影响
  10. Oracle各版本驱动下载