使用RAID与LVM磁盘阵列技术

7.1 RAID磁盘冗余阵列

1. RAID 0

AID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。

  • 提升硬盘数据的吞吐速度
  • 安全性下降,1块坏,全部坏
  • 成本无增加,可用率100%
  • 存储不太重要只追求速度的数据

2. RAID 1

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


  • 同样数据写入2次
  • 安全性提升2倍
  • 成本提高,性价比下降


使用RAID与LVM磁盘阵列技术

3. RAID 5

RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。


  • 奇偶校验信息(压缩之后)

使用RAID与LVM磁盘阵列技术

4.  RAID 10


RAID 10技术是RAID 1+RAID 0技术的一个“组合体”,RAID 10技术需要至少4块硬盘来组建,其中先分别两两制作成RAID 1磁盘阵列,以保证数据的安全性;然后再对两个RAID 1磁盘阵列实施RAID 0技术,进一步提高硬盘设备的读写速度。



使用RAID与LVM磁盘阵列技术

7.1.1  部署磁盘阵列

制作RAID 10磁盘阵列


1.添加4块硬盘


mdadm命令用于管理Linux系统中的软件RAID硬盘阵列,格式为“mdadm [模式] <RAID设备名称> [选项] [成员设备名称]”。

参数:

  • -C参数代表创建一个RAID阵列卡
  • -v参数显示创建的过程
  • -a yes参数代表自动创建设备文件
  • -n 4参数代表使用4块硬盘来部署这个RAID磁盘阵列
  • 而-l 10参数则代表RAID 10方案


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

[root@linuxprobe ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde

3. 把制作好的RAID磁盘阵列格式化为ext4格式。

[root@linuxprobe ~]# mkfs.ext4 /dev/md0


4. 创建挂载点然后把硬盘设备进行挂载操作。挂载成功后可看到可用空间为40GB。

[root@linuxprobe ~]# mkdir /RAID

[root@linuxprobe ~]# mount /dev/md0 /RAID

[root@linuxprobe ~]# df -h


5. 查看/dev/md0磁盘阵列的详细信息,并把挂载信息写入到配置文件中,使其永久生效。

[root@linuxprobe ~]# mdadm -D /dev/md0

[root@linuxprobe ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab


7.1.2  损坏磁盘阵列及修复

在确认有一块物理硬盘设备出现损坏而不能继续正常使用后,应该使用mdadm命令将其移除,然后查看RAID磁盘阵列的状态,可以发现状态已经改变。


7.1.3  磁盘阵列+备份盘

mdadm /dev/md0 -a 设备名称  (追加一个备份盘)

参数:

  • -n 3代表创建这个RAID 5磁盘阵列所需的硬盘数
  • -l 5代表RAID的级别
  • -x 1则代表有一块备份盘


1.创建一个RAID 5磁盘阵列+备份盘

[root@linuxprobe ~]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde

[root@linuxprobe ~]# mdadm -D /dev/md0


2. 将部署好的RAID 5磁盘阵列格式化为ext4文件格式,然后挂载到目录上,之后就可以使用了。

[root@linuxprobe ~]# mkfs.ext4 /dev/md0

[root@linuxprobe ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

[root@linuxprobe ~]# mkdir /RAID

[root@linuxprobe ~]# mount -a

我们再次把硬盘设备/dev/sdb移出磁盘阵列,然后迅速查看/dev/md0磁盘阵列的状态,就会发现备份盘已经被自动顶替上去并开始了数据同步。


7.2 LVM逻辑卷管理器

动态调整分区大小

让用户不需要关系底层架构

使用RAID与LVM磁盘阵列技术

PV:让硬盘能够支持LVM技术


7.2.1 部署逻辑卷


表7-2                                                   常用的LVM部署命令

功能/命令

物理卷管理

卷组管理

逻辑卷管理

扫描

pvscan

vgscan

lvscan

建立

pvcreate

vgcreate

lvcreate

显示

pvdisplay

vgdisplay

lvdisplay

删除

pvremove

vgremove

lvremove

扩展

物理卷不能通过命令扩大或缩小

vgextend

lvextend

缩小

vgreduce

lvreduce

第1步:让新添加的两块硬盘设备支持LVM技术。


[root@linuxprobe ~]# pvcreate /dev/sdb /dev/sdc


第2步:把两块硬盘设备加入到storage卷组中,然后查看卷组的状态。

[root@linuxprobe ~]# vgcreate storage /dev/sdb /dev/sdc

Volume group "storage" successfully created

[root@linuxprobe ~]# vgdisplay


第3步:切割出一个约为150MB的逻辑卷设备。 

第一种是以容量为单位,所使用的参数为-L                       -L 150M

另外一种是以基本单元的个数为单位,所使用的参数为-l    -l 37( 每个基本单元的大小默认为4MB) 37×4MB=148MB

[root@linuxprobe ~]# lvcreate -n vo -l 37 storage

[root@linuxprobe ~]# lvdisplay


第4步:把生成好的逻辑卷进行格式化,然后挂载使用。

[root@linuxprobe ~]# mkfs.ext4 /dev/storage/vo

[root@linuxprobe ~]# mkdir /linuxprobe

[root@linuxprobe ~]# mount /dev/storage/vo /linuxprobe


第5步:查看挂载状态,并写入到配置文件,使其永久生效。

[root@linuxprobe ~]# df -h

[root@linuxprobe ~]# echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab


7.2.2 扩容逻辑卷(考题)

扩展前请一定要记得卸载设备和挂载点的关联。

[root@linuxprobe ~]# umount /linuxprobe


第1步:把上一个实验中的逻辑卷vo扩展至290MB。

[root@linuxprobe ~]# lvextend -L 290M /dev/storage/vo


第2步:检查硬盘完整性,并重置硬盘容量。

[root@linuxprobe ~]# e2fsck -f /dev/storage/vo

[root@linuxprobe ~]# resize2fs /dev/storage/vo


第3步:重新挂载硬盘设备并查看挂载状态。

[root@linuxprobe ~]# mount -a

[root@linuxprobe ~]# df -h


7.2.3 缩小逻辑卷

在执行缩容操作前记得先把文件系统卸载掉。

[root@linuxprobe ~]# umount /linuxprobe


第1步:检查文件系统的完整性。

[root@linuxprobe ~]# e2fsck -f /dev/storage/vo


第2步:把逻辑卷vo的容量减小到120MB。

[root@linuxprobe ~]# resize2fs /dev/storage/vo 120M


第3步:重新挂载文件系统并查看系统状态。

[root@linuxprobe ~]# mount -a

[root@linuxprobe ~]# df -h


7.2.4 逻辑卷快照(内容备份)

两个特点:

  1. 跟逻辑卷大小保持一致
  2. 保证VG卷组有足够的空间
  3. 一次性的,还原后就会自动删除


首先查看卷组的信息。

[root@linuxprobe ~]# vgdisplay


用重定向往逻辑卷设备所挂载的目录中写入一个文件。

[root@linuxprobe ~]# echo "Welcome to Linuxprobe.com" > /linuxprobe/readme.txt

[root@linuxprobe ~]# ls -l /linuxprobe


第1步:使用-s参数生成一个快照卷,使用-L参数指定切割的大小。另外,还需要在命令后面写上是针对哪个逻辑卷执行的快照操作。

[root@linuxprobe ~]# lvcreate -L 120M -s -n SNAP /dev/storage/vo

[root@linuxprobe ~]# lvdisplay


第2步:在逻辑卷所挂载的目录中创建一个100MB的垃圾文件,然后再查看快照卷的状态。可以发现存储空间占的用量上升了。

[root@linuxprobe ~]# dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M

[root@linuxprobe ~]# lvdisplay


第3步:为了校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载。

[root@linuxprobe ~]# umount /linuxprobe

[root@linuxprobe ~]# lvconvert --merge /dev/storage/SNAP


第4步:快照卷会被自动删除掉,并且刚刚在逻辑卷设备被执行快照操作后再创建出来的100MB的垃圾文件也被清除了。

[root@linuxprobe ~]# mount -a

[root@linuxprobe ~]# ls /linuxprobe/

lost+found readme.txt


7.2.5 删除逻辑卷

第1步:取消逻辑卷与目录的挂载关联,删除配置文件中永久生效的设备参数。

[root@linuxprobe ~]# umount /linuxprobe

[root@linuxprobe ~]# vim /etc/fstab

/dev/storage/vo /linuxprobe ext4 defaults 0 0


第2步:删除逻辑卷设备,需要输入y来确认操作。

[root@linuxprobe ~]# lvremove /dev/storage/vo


第3步:删除卷组,此处只写卷组名称即可,不需要设备的绝对路径。

[root@linuxprobe ~]# vgremove storage


第4步:删除物理卷设备。

[root@linuxprobe ~]# pvremove /dev/sdb /dev/sdc

使用RAID与LVM磁盘阵列技术使用RAID与LVM磁盘阵列技术

上一篇:Hadoop: Why Not Use RAID?


下一篇:【VMware vSAN 7.0】4.6 准备存储控制器—我们有软硬件解决方案