RAID、LVM与共享服务

原创 麻木  2020-05-26 18:04:41  阅读 643 次 评论 0 条

摘要:

RAID、LVM与共享服务

RAID模式的简介与对比

RAID 0

RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。这样一来,在最理想的状态下,硬盘设备的读写性能会提升数倍,但是若任意一块硬盘发生故障将导致整个系统的数据都受到破坏。通俗来说,RAID 0技术能够有效地提升硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力。如图7-1所示,数据被分别写入到不同的硬盘设备中,即disk1和disk2硬盘设备会分别保存数据资料,最终实现提升读取、写入速度的效果。

image.png

RAID 1

尽管RAID 0技术提升了硬盘设备的读写速度,但是它是将数据依次写入到各个物理硬盘中,也就是说,它的数据是分开存放的,其中任何一块硬盘发生故障都会损坏整个系统的数据。因此,如果生产环境对硬盘设备的读写速度没有要求,而是希望增加数据的安全性时,就需要用到RAID 1技术了。

在图7-2所示的RAID 1技术示意图中可以看到,它是把两块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备份)。当其中某一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常使用。

image.png

RAID 1技术虽然十分注重数据的安全性,但是因为是在多块硬盘设备中写入了相同的数据,因此硬盘设备的利用率得以下降,从理论上来说,图7-2所示的硬盘空间的真实可用率只有50%,由三块硬盘设备组成的RAID 1磁盘阵列的可用率只有33%左右,以此类推。而且,由于需要把数据同时写入到两块以上的硬盘设备,这无疑也在一定程度上增大了系统计算功能的负载。

那么,有没有一种RAID方案既考虑到了硬盘设备的读写速度和数据安全性,还兼顾了成本问题呢?实际上,单从数据安全和成本问题上来讲,就不可能在保持原有硬盘设备的利用率且还不增加新设备的情况下,能大幅提升数据的安全性。刘遄老师也没有必要忽悠各位读者,下面将要讲解的RAID 5技术虽然在理论上兼顾了三者(读写速度、数据安全性、成本),但实际上更像是对这三者的“相互妥协”。

RAID 5

如图7-3所示,RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID 5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块硬盘设备中,而是存储到除自身以外的其他每一块硬盘设备上,这样的好处是其中任何一设备损坏后不至于出现致命缺陷;图7-3中parity部分存放的就是数据的奇偶校验信息,换句话说,就是RAID 5技术实际上没有备份硬盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据。RAID这样的技术特性“妥协”地兼顾了硬盘设备的读写速度、数据安全性与存储成本问题。

image.png

RAID 10

鉴于RAID 5技术是因为硬盘设备的成本问题对读写速度和数据的安全性能而有了一定的妥协,但是大部分企业更在乎的是数据本身的价值而非硬盘价格,因此生产环境中主要使用RAID 10技术。

顾名思义,RAID 10技术是RAID 1+RAID 0技术的一个“组合体”。如图7-4所示,RAID 10技术需要至少4块硬盘来组建,其中先分别两两制作成RAID 1磁盘阵列,以保证数据的安全性;然后再对两个RAID 1磁盘阵列实施RAID 0技术,进一步提高硬盘设备的读写速度。这样从理论上来讲,只要坏的不是同一组中的所有硬盘,那么最多可以损坏50%的硬盘设备而不丢失数据。由于RAID 10技术继承了RAID 0的高读写速度和RAID 1的数据安全性,在不考虑成本的情况下RAID 10的性能都超过了RAID 5,因此当前成为广泛使用的一种存储技术。

image.png

image.png

image.png

开始实验

实验环境

  • vm虚拟机

  • Red Hat/CenTos -X2台(均NAT或者仅主机)

A1nfs服务端

打开虚拟机在虚拟机中添加4块20G硬盘设备来制作一个RAID 10磁盘阵列

image.png

image.png

image.png

image.png

image.png

使用以上方法添加另外三块20G硬盘

image.png

这几块硬盘设备是模拟出来的,不需要特意去买几块真实的物理硬盘插到电脑上。需要注意的是,一定要记得在关闭系统之后,再在虚拟机中添加硬盘设备,否则可能会因为计算机架构的不同而导致虚拟机系统无法识别添加的硬盘设备。

mdadm命令用于管理Linux系统中的软件RAID硬盘阵列,格式为“mdadm [模式] <RAID设备名称> [选项] [成员设备名称]”。mdadm命令的常用参数以及作用如表7-1所示

image.png


使用lsblk命令查看硬盘块信息

image.png

使用mdadm命令创建RAID 10,名称为“/dev/md0”

mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde

image.png

image.png

使用命令pvcreate /dev/md0创建逻辑卷,并使用命令pvs或pvscan查看物理卷简要信息

image.png

image.png

使用物理卷/dev/md0创建名称为VGXX的卷组,并使用命令vgdisplay查看卷组的详细信息。( 其中卷组名中XX为自己名字的大写缩写)

image.png

从卷组(VGczx)中划分1块大小为5G的存储空间创建逻辑卷LVXX

image.png

并使用lvdispaly命令查看卷组的详细信息

image.png

使用mkfs.ext4   /dev/VGCZX/LVCZX将逻辑卷格式化为EXT4的格式。

image.png

使用mkdir创建/media/LVCZX目录并将逻辑卷挂载到该目录下

image.png

设置777权限,可读可写可执行

image.png

image.png

image.png

配置NFS 服务将/media/LVCZX目录进行共享,共享权限为读写权限、同时将数据写入到内存与硬盘中,保证不丢失数据,并且当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

image.png

image.png

重启nfs、RPC服务并加入开机启动项

systemctl restart nfs-server rpcbind

systemctl enable nfs-server rpcbind

设置防火墙策略

firewall-cmd --permanent --add-service=nfs                 #默认区域添加nfs服务

firewall-cmd --permanent --add-service=rpc-bind              #默认区域添加rpc-bind服务 

firewall-cmd --permanent --add-service=mountd             #默认区域添加rpc-mountd服务

firewall-cmd --reload                                                          #重新加载防火墙

关闭SELinux的限制原因

setenforce 0    

A2Raid服务端(另一台)

关闭防火墙

systemctl stop firewalld 


使用showmount命令查看nfs服务器共享情况。

image.png

创建/mnt/czx目录将NFS共享目录挂载到A2Raid服务端上的/mnt/xxx(其中xxx为自己的名字缩写)

image.png

image.png

mount -a      //刷新挂载信息

df -h                 //查看挂载情况  

image.png

创建RAID5+备份盘并加入LVM

RAID 5磁盘阵列时,至少需要用到3块硬盘,还需要再加一块备份硬盘,所以总计需要在虚拟机中模拟4块硬盘设备(关机下添加

image.png


现在创建一个RAID 5磁盘阵列+备份盘。

mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sd{b,c,d,e}

参数-n 3代表创建这个RAID 5磁盘阵列所需的硬盘数,参数-l 5代表RAID的级别,而参数-x 1则代表有一块备份盘。当查看/dev/md0(即RAID 5磁盘阵列的名称)磁盘阵列的时候就能看到有一块备份盘在等待中了

image.png

使用mdadm -D /dev/md0命令查看磁盘阵列的信息

image.png

移除md0中的sdc硬盘测试备份盘功能

mdadm: set /dev/sdc faulty in /dev/md0

image.png

使用物理卷/dev/md0创建名称为VGCZX的卷组,并使用命令vgdisplay查看卷组的详细信息。

image.png

从卷组(VGCZX)中划分1块大小为10G的存储空间创建逻辑卷LVCZX,并使用lvdispaly命令查看卷组的详细信息

image.png

使用mkfs.xfs命令将逻辑卷格式化成XFS格式

image.png

将挂载信息写入/etc/fstab文件中

image.png

image.png

image.png

安装samba服务并配置多用户认证

确保自己配置了yum源:

RedHat7如何更换yum源

安装 samba

yum -y install  samba 

image.png

共享名称为:czx(自己的名字)

共享目录为:/media/LVCZX(根据实际的挂载目录)

该共享只能被本网段的用户进行访问

用户czx1能以读写方式访问该共享,访问密码是czx1

用户czx2只能以可读方式访问该共享,访问密码是czx2

将该共享永久挂载在A1nfs服务端的mnt/czxnb上并使用czx1用户作为认证

设置samba的配置文件 

vim  /etc/samba/smb.conf

image.png

重启smb服务并加入开机启动项

systemctl restart smb

systemctl enable smb

创建czx1czx2samba账户

image.png

设置防火墙

firewall-cmd --permanent --add-service=samba        #默认区域添加samba服务

firewall-cmd --reload                                                    #重新加载防火墙

image.png

临时关闭SELinux

 setenforce 0

A1nfs服务端安装samba客户端

yum -y install samba-client 

image.png

A1nfs服务端上使用czx1账户查看共享

image.png

将samba共享目录永久挂载(A1nfs服务端)

image.png

字别看错了!

image.png

image.png


打赏 支付宝打赏 微信打赏
本文地址:https://www.mamublog.cn/post/147.html
版权声明:本文为原创文章,版权归 mamublog 所有,欢迎分享本文,转载请保留出处!

推荐文章

麻木博客
麻木博客

发表评论


表情

还没有留言,还不快点抢沙发?