Linux 系统管理——服务器RAID及配置实战
RAID称为廉价磁盘冗余阵列。RAID的基本想法是把多个便宜的小磁盘组合在一起。成为一个磁盘组,使性能达到或超过一个容量巨大、价格昂贵的磁盘。
2、级别介绍
RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,具有很高的数据传输率,但它没有数据冗余,并不能算是真正的RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。
RAID 1又称镜像盘,把一个磁盘的数据镜像到另一个磁盘上,采用镜像容错来提高可靠性,具有raid中最高的数据冗余能力。存数据时会将数据同时写入镜像盘内,读取数据则只从工作盘读出。发生故障时,系统将从镜像盘读取数据,然后再恢复工作盘正确数据。这种阵列方式可靠性极高,但是其容量会减去一半。广泛用于数据要求极严的应用场合,如商业金融、档案管理等领域。只允许一颗硬盘出故障
RAID 4创建需要三块或更多的磁盘,它在一个驱动器上保存校验信息,并以RAID 0方式将数据写入其他磁盘,因为一块磁盘是为校验信息保留的,所以阵列的大小是(N-1)*S,其中S是阵列中最小的驱动器的大小。就像RAID 1中那样,磁盘大小相等。如果一个驱动器出现故障,那么可以使用校验信息来重建所有数据,如果两个驱动器出现故障,那么所有数据丢失。不经常使用这个级别的原因是校验信息存储在一个驱动器上。每次写入磁盘时,都必须更新这些信息。因此,在大量写入数据时很容易造成校验磁盘的瓶颈,所以目前这个级别的RAID很少使用了。
RAID 5在希望结合大量物理磁盘并且仍然保留一些冗余时,RAID5可能是最有用的RAID魔兽。RAID5 可以用在三块或更多的磁盘上,并使用0块或更多的备用磁盘。就像RAID 4一样,得到的RAID5设备的大小是(N-1)*S。RAID5余RAID4之间最大的区别就是校验信息均匀分布在各个驱动器上,如果其中一块磁盘故障,那么由于有校验信息,所以所有数据仍然可以保持不变。如果使用备用磁盘,那么在设备出现故障之后,将立即开始同步数据,如果两块磁盘同时故障,那么所有数据都会丢失。RAID5可以经受一块磁盘故障,但不能经受两块或多块磁盘故障。
RAID 6是在RAID 5的基础上扩展而来的,与RAID 5一样,数据和校验码都是被分成数据块然后分别存储到磁盘阵列的各个磁盘上。只是RAID 6中增加一块校验磁盘,用于备份分布在各个磁盘上的校验码,这样RAID 6磁盘阵列就允许两个磁盘同时出现故障,所以RAID 6的磁盘阵列最少需要四块硬盘。
RAID 1+0 N(偶数,N>=4)块两两镜像后,在组合成一个RAID 0。容量为N/2,N/2块盘同时写入,写入速度一般,N块盘同时读取,读取速度较快。性能高,可靠性高。
RAID 0 | RAID 1 | RAID 4 | RAID 5 | RAID 6 | RAID 1+0 | |
优 点 | 读取速度快 |
可靠性高 |
可靠性高 读写速度两倍 |
读写速度两倍 | 读写速度两倍 |
读写速度N倍 N为组数 |
缺 点 |
不冗余 数据恢复难 |
读写速度一般 利用率低 |
1. 坏盘时另外2块需要 重新计算还原坏盘数据 2. 校验码盘压力大成为瓶颈 |
坏盘时另外2块需要 重新计算还原坏盘数据 |
“部队中有一半是搞后勤的, 感觉有点浪费” |
|
可用容量 | 磁盘容量总和 | 磁盘总容量的一半 | (N-1)*S | (N-1)*S | (N-2)*S | 磁盘总容量的一半 |
故障磁盘 | 坏了就完 | 最多一块 | 最多一块 | 最多一块 | 最多两块 | |
磁盘数量 | 最少一块 | 最少两块 | 最少三块 | 最少三块 | 最少四块 | |
用 途 | SWAP/TMP |
数据备份 安装系统 |
用的很少 | 存放网站数据 | 用的很少 | 用的最多 |
3、阵列卡介绍(raid卡)
阵列卡就是用来实现 RAID 功能的板卡,通常是由 I/O 处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。
不同的 RAID 卡支持的 RAID 功能不同,例如支持 RAID 0、RAID 1、RAID 5、RAID 6、RAID10 等
RAID 卡的接口类型:IDE 接口、SCSI 接口、SATA 接口和 SAS 接口
陈列卡的缓存:
缓存(Cache)是 RAID 卡与外部总线交换数据的场所,RAID 卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。
它是 RAID 卡电路板上的一块存储芯片,与硬盘盘片相比,具有极快的存取速度。
缓存的大小与速度是直接关系到 RAID 卡的实际传输速度的重要因素,大缓存能够大幅度地提高数据命中率从而提高 RAID 卡整体性能。
不同的 RAID 卡出厂时配置的内存容量不同,一般为几兆到数百兆容量不等。
配置软RAID
示例配置软件RAID5
1、添加四块20G的新硬盘
2、将四块硬盘分区,全部大小都分一个区
[root@localhost ~]# fdisk -l | grep "dev"
磁盘 /dev/sda:21.5 GB, 字节, 个扇区
/dev/sda1 * Linux
/dev/sda2 8e Linux LVM
磁盘 /dev/sdb:21.5 GB, 字节, 个扇区
磁盘 /dev/sdc:21.5 GB, 字节, 个扇区
磁盘 /dev/sdd:21.5 GB, 字节, 个扇区
磁盘 /dev/sde:21.5 GB, 字节, 个扇区
磁盘 /dev/mapper/centos-root:18.2 GB, 字节, 个扇区
磁盘 /dev/mapper/centos-swap: MB, 字节, 个扇区 [root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.)。 更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。 Device does not contain a recognized partition table
使用磁盘标识符 0x0106a596 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n
Partition type:
p primary ( primary, extended, free)
e extended
Select (default p):
Using default response p
分区号 (-,默认 ):
起始 扇区 (-,默认为 ):
将使用默认值
Last 扇区, +扇区 or +size{K,M,G} (-,默认为 ):
将使用默认值
分区 已设置为 Linux 类型,大小设为 GiB 命令(输入 m 获取帮助):w
The partition table has been altered! Calling ioctl() to re-read partition table.
正在同步磁盘
。
其余三块盘分区参考 ↑ 如上
3、创建RAID5,名字为md5
[root@localhost ~]# fdisk -l | grep "raid"
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sdd1 2048 41943039 20970496 fd Linux raid autodetect
/dev/sde1 2048 41943039 20970496 fd Linux raid autodetect
[root@localhost ~]# mdadm -Cv /dev/md5 -l5 -n3 -x1 /dev/sd[bcde]1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20953088K
mdadm: Fail create md5 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
4、格式化挂载到/xuexi目录下并设置自动挂载
[root@localhost ~]# mkfs.ext4 /dev/md5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
2621440 inodes, 10476544 blocks
523827 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# mkdir /xuexi
[root@localhost ~]# mount /dev/md5 /xuexi/
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 17G 1.1G 16G 7% /
devtmpfs devtmpfs 980M 0 980M 0% /dev
tmpfs tmpfs 992M 0 992M 0% /dev/shm
tmpfs tmpfs 992M 9.5M 982M 1% /run
tmpfs tmpfs 992M 0 992M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 130M 885M 13% /boot
tmpfs tmpfs 199M 0 199M 0% /run/user/0
/dev/md5 ext4 40G 49M 38G 1% /xuexi
[root@localhost ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Jul 31 20:27:54 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=256efa3b-96fa-44da-8eb6-5e03494c4392 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/md5 /xuexi ext4 defaults 0 0
5、手动创建RAID配置文件 /etc/mdadm.conf
[root@localhost ~]# mdadm -D -s > /etc/mdadm.conf
[root@localhost ~]# vi /etc/mdadm.conf
ARRAY /dev/md/5 metadata=1.2 spares=1 name=localhost.localdomain:5 UUID=e573ef10:a14cb44a:cdd9c0d1:87276d28 auto=yes
Linux 系统管理——服务器RAID及配置实战的更多相关文章
- 第八章服务器raid及配置实战
版本 特点 磁盘个数 可用空间 故障磁盘数 应用环境 RAID0 读写速度快,数据容易丢失 两个 全部 一块 测试,临时性 RAID1 读写速度慢,数据可靠 至少两个,可以2的倍数 总容量的一半 ...
- Linux NFS服务器的简明配置6.8
Linux NFS服务器的简明配置6.8 Linux NFS服务器的简明配置 一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的 ...
- 前端搭建Linux云服务器,Nginx配置详解及部署自己项目到服务器上
目录 搭建Linux云服务器 购买与基本配置 链接linux服务器 目录结构 基本命令 软件安装 Linux 系统启动 启动过程 运行级别 Nginx详解 1.安装 方式一:yum安装 方式二:自定义 ...
- linux VPS服务器的一些配置
SSH密钥登录让Linux VPS/服务器更安全 2011年01月10日 上午 | 作者:VPSer 随着PHP越来越流行,Linux VPS/服务器的使用也越来越多,Linux的安全问题也需要日渐加 ...
- Linux SVN服务器的搭建配置及分支的创建与合并
第一步:通过yum命令安装svnserve,命令如下: >yum -y install subversion 若需查看svn安装位置,可以用以下命令: >rpm -ql subversio ...
- linux下nginx安装、配置实战
1什么是Nginx Nginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,在高连接并发的情况下Nginx是Apac ...
- linux svn服务器svnserve 安装配置
svnserve 是一个轻量级的服务, 使用自定义的协议通过TCP/IP与客户端通讯.客户端通过由 svn:// 或者 svn+ssh:// 开始的URL访问svnserve服务器. svn服务器有两 ...
- 【转载】茶叶蛋干货!《超容易的Linux系统管理入门书》(连载十)进行动态主机配置DHCP
使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)则可以避免网络参数变化后一些繁琐的配置,客户端可以从DHCP服务端检索相关信息并完成相关网络配置, ...
- 【转载】Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载六)Linux的网络配置
本篇是Linux小白最佳实践第6篇,目的就是让白菜们了解Linux网络是如何配置的.Linux系统在服务器市场占有很大的份额,尤其在互连网时代,要使用计算机就离不开网络. 想每天能听到小妞的语音播报, ...
随机推荐
- appium_获取元素状态
元素的属性我们经常会用到,当定位到某个元素后,有时会需要用到这个元素的text值.className.resource-id.checked等. 一般标准的属性我们都可以通过get_attribut ...
- python_封装redis_hash方法
xshell 进入 虚拟环境 安装 redis workon py3env # 进入虚拟环境 pip install redis # 安装redis deactivate # 退出虚拟环境 简单的封装 ...
- java中常见关键字的介绍
Java中类,属性,方法修饰符 public 公共访问权限,不但在本应用中可以放问,其他应用也可以访问.接口中的方法默认都是public的 protected 被protected修改的:可以被本类, ...
- windows开机自启动的django服务
做了一个django项目,想部署在win10的笔记本电脑上,可以开机后台自动启动.找了很多的方法.最后成功了. 参考了这个博主的内容. https://blog.csdn.net/qq_3595961 ...
- Matlab外观模式
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口.本文以计算机为例,用Matlab代码实现外观模式.计算机包括CPU.内存以及硬盘等这些部件.用户 ...
- 【python】文件操作
基本语法 open("文件名","访问方式") # 1. 打开文件 file = open("README.txt") # 2. 读取文件内 ...
- day 04作业
目录 简述Python的五大数据类型的作用.定义方式.使用方法: 数字类型 字符串类型(str) 列表(list) 字典(dict) 布尔型(bool) 一行代码实现下述代码实现的功能: 写出两种交换 ...
- idea上maven打包
首先要实现maven打包,pom需要引入依赖 pom.xml <project> <dependencies> …… </dependencies> <bui ...
- mybatis批量更新报错 org.mybatis.spring.MyBatisSystemException
具体报错信息: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.Bin ...
- Cglib invoke为什么会死循环?
目录 Cglib invoke为什么会死循环? 动态代理子类的java文件 动态代理子类实例化过程 动态代理类调用过程 动态代理之MethodProxy.invokeSuper Cglib invok ...