linux(redhat7)学习笔记(07)RAID 与LVM

第七章  RAID 与LVM

 

一、RAID

1.RAID0

uploading.4e448015.gif转存失败重新上传取消

实现RAID 0至少需要两块以上硬盘"串联"起来,写入数据将数据分散在每块硬盘中,从而使硬盘读写速度提升,但是若任意一块硬盘发生故障将导致整个系统的数据都受到破坏。

 

2.RAID1

uploading.4e448015.gif转存失败重新上传取消

RAID 1 注重数据的安全性,在多块硬盘设备中写入了相同的数据,但硬盘利用率不高。

 

2.RAID5

RAID5 技术是把一块硬盘设备的数据奇偶校验信息保存到其他硬盘设备中,以至于其中任何一设备损坏后数据可以恢复。从而兼顾了硬盘设备的读写速度、数据安全性、存储成本等问题。

uploading.4e448015.gif转存失败重新上传取消

4. RAID 10

uploading.4e448015.gif转存失败重新上传取消

RAID 10 技术是RAID 1+RAID 0 技术的一个“组合体”。

 

5.部署磁盘阵列

关机状态新增加4块1G的硬盘

uploading.4e448015.gif转存失败重新上传取消

通过mdadm 命令创建RAID 10

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

 

其中,-C 参数代表创建一个RAID 阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0 就是创建后的RAID 磁盘阵列的名称;-a yes 参数代表自动创建设备文件;-n 4 参数代表使用4 块硬盘来部署这个RAID 磁盘阵列;而-l 10 参数则代表RAID 10 方案;最后再加上4 块硬盘设备的名称

 

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

mkfs.ext4 /dev/md0

再次,创建挂载点然后把硬盘设备进行挂载操作。挂载成功后可看到可用空间为4块1G硬盘总容量的一半(2G).

[root@linuxprobe Desktop]# mkdir /RAID

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

uploading.4e448015.gif转存失败重新上传取消

 

通过命令mdadm -D /dev/md0

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

echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

下面模拟其中一块硬盘/dev/sdb损坏,使用命令用mdadm 命令将其移除

mdadm /dev/md0 -f /dev/sdb

mdadm -D /dev/md0 查看移除看的状态

重启后增加硬盘

[root@linuxprobe ~]# umount /RAID

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

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

 

RAID 10 磁盘阵列中最多允许50%的硬盘设备发生故障,但是存在这样一种极端情况,即同一RAID 1 磁盘阵列中的硬盘设备若全部损坏,也会导致数据丢失。

全可以使用RAID 备份盘技术来预防这类事故。该技术的核心理念就是准备一块足够大的硬盘,这块硬盘平时处于闲置状态,一旦RAID磁盘阵列中有硬盘出现故障后则会马上自动顶替上去。

还原虚拟机,下面模拟创建一个RAID 5 磁盘阵列+备份盘。

关机状态,添加4块1G的硬盘

mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde

其中

/dev/md0 为磁盘阵列名称

-n 3 代表创建这个RAID 5 磁盘阵列所需的硬盘数为3个

-l 5 代表RAID 的级别为RAID5

-x 1 则代表有一块备用盘

 

使用命令查看/dev/md0

mdadm -D report /dev/md0

 

uploading.4e448015.gif转存失败重新上传取消

 

格式化磁盘阵列为ext4

mkfs.ext4 /dev/md0

[root@linuxprobe ~]# mkdir /RAID

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

[root@linuxprobe ~]# mount -a

[root@linuxprobe ~]# cd /RAID

[root@linuxprobe RAID]# echo "myraid5" > file.txt

[root@linuxprobe RAID]# cat file.txt

myraid5

下面通过移除硬盘的方式模拟硬盘损坏,然后立即查看/dev/md0 磁盘阵列的状态,发现备用盘已自动顶替了损坏硬盘并开始了数据同步

mdadm /dev/md0 -f /dev/sdb

mdadm -D /dev/md0

uploading.4e448015.gif转存失败重新上传取消

稍候再执行mdadm -D /dev/md0

uploading.4e448015.gif转存失败重新上传取消

 

二、LVM 逻辑卷管理器

此技术目的是为了解决分区无法灵活调整大小的问题。

物理存储介质(physical media):指存储设备,例如硬盘,系统内为/dev/hda1/dev/sda等,是存储系统最低层的物理存储单元。

PV物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

VG卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区(逻辑卷),LVM卷组由一个或多个物理卷组成。

LV逻辑卷(logical volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr)

PEphysical extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元,PE的大小是可配置的,默认为4MB

LElogical extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

一) 逻辑卷实验

例如:有3个2G硬盘,总容量为6G,使3块硬盘支持LVM技术,合并为一个资源池VG,用户可以根据需要切为2个3G+3G的LV逻辑卷。

下面进行实验:

1)还原虚拟机,添加2块1G的硬盘

[root@linuxprobe ~]# ls -l /dev/sd*

brw-rw----. 1 root disk 8,  0 Mar 11  2020 /dev/sda

brw-rw----. 1 root disk 8,  1 Mar 11  2020 /dev/sda1

brw-rw----. 1 root disk 8,  2 Mar 11  2020 /dev/sda2

brw-rw----. 1 root disk 8, 16 Mar 11  2020 /dev/sdb

brw-rw----. 1 root disk 8, 32 Mar 11  2020 /dev/sdc

 

2)执行命令,让新添加的两块硬盘设备支持LVM 技术。

pvcreate /dev/sdb /dev/sdc

3)把两块硬盘设备加入到名为storage 卷组中,然后查看卷组的状态。

vgcreate storage /dev/sdb /dev/sdc

vgdisplay

 

4)切割出一个约为150MB 的逻辑卷设备。

在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的参数为-L。例如,使用-L 150M 生成一个大小为150MB 的逻辑卷。另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为4MB。

下面使用参数-l 37 可以生成一个大小为37×4MB=148MB 的逻辑卷(名称为vo)。

lvcreate -n vo -l 37 storage

查看逻辑卷信息

lvdisplay

[root@linuxprobe ~]# lvdisplay

  --- Logical volume ---

  LV Path                /dev/rhel_linuxprobe/swap

  LV Name                swap

  VG Name                rhel_linuxprobe

  LV UUID                aeFQ2i-g4gx-WxJF-jpqe-fdTU-qLib-2CJDif

  LV Write Access        read/write

  LV Creation host, time localhost, 2020-02-17 16:23:08 +0800

  LV Status              available

  # open                 2

  LV Size                2.00 GiB

  Current LE             512

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:0

  

  --- Logical volume ---

  LV Path                /dev/rhel_linuxprobe/root

  LV Name                root

  VG Name                rhel_linuxprobe

  LV UUID                U1PsVb-noe2-ghQI-IniG-hjiK-xMu1-2mjcnt

  LV Write Access        read/write

  LV Creation host, time localhost, 2020-02-17 16:23:08 +0800

  LV Status              available

  # open                 1

  LV Size                17.51 GiB

  Current LE             4482

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:1

  

  --- Logical volume ---

  LV Path                /dev/storage/vo

  LV Name                vo

  VG Name                storage

  LV UUID                ymhb24-csyy-Uk1V-q3JC-Ru9P-4yTn-PCDp8s

  LV Write Access        read/write

  LV Creation host, time linuxprobe.com, 2020-03-11 11:18:50 +0800

  LV Status              available

  # open                 0

  LV Size                148.00 MiB

  Current LE             37

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     8192

  Block device           253:2

  

[root@linuxprobe ~]#

 

PE是最小单元值,默认为4M,例如我们需要400M空间,系统可以计算为100PE

 

5)把生成好的逻辑卷vo进行格式化,然后挂载使用。

mkfs.ext4 /dev/storage/vo

mkdir /vo_dir

mount /dev/storage/vo /vo_dir

 

[root@linuxprobe ~]# cd /vo_dir

[root@linuxprobe vo_dir]# df -h

Filesystem                        Size  Used Avail Use% Mounted on

/dev/mapper/rhel_linuxprobe-root   18G  2.9G   15G  17% /

devtmpfs                          905M     0  905M   0% /dev

tmpfs                             914M  140K  914M   1% /dev/shm

tmpfs                             914M  8.9M  905M   1% /run

tmpfs                             914M     0  914M   0% /sys/fs/cgroup

/dev/sda1                         497M  119M  379M  24% /boot

/dev/mapper/storage-vo            140M  1.6M  128M   2% /vo_dir

5)让其永久生效

echo "/dev/storage/vo /vo_dir ext4 defaults 0 0" >> /etc/fstab

二) 逻辑卷扩容实验

前面实验中,卷组是由2块1G硬盘设备共同组成。用户在使用存储设备时感知不到设备底层的架构和布局,更不用关心底层是由多少块硬盘组成的,只要卷组中有足够的资源,就可以一直为逻辑卷扩容。

下面进行扩容实验。

1)扩容前请一定要记得卸载设备和挂载点

umount /vo_dir

 

2)将逻辑卷vo 扩展至290MB或(4M*74=296M)

lvextend -L 290M /dev/storage/vo

lvextend -l 74 /dev/storage/vo

3)检查硬盘完整性

e2fsck -f /dev/storage/vo

4)重置硬盘容量

resize2fs /dev/storage/vo

5)重新挂载硬盘设备并查看挂载状态

[root@linuxprobe /]# mount -a

[root@linuxprobe /]# df -h

Filesystem                        Size  Used Avail Use% Mounted on

/dev/mapper/rhel_linuxprobe-root   18G  2.9G   15G  17% /

devtmpfs                          905M     0  905M   0% /dev

tmpfs                             914M  140K  914M   1% /dev/shm

tmpfs                             914M  8.8M  905M   1% /run

tmpfs                             914M     0  914M   0% /sys/fs/cgroup

/dev/sda1                         497M  119M  379M  24% /boot

/dev/mapper/storage-vo            283M  2.1M  263M   1% /vo_dir

 

三) 逻辑卷缩小实验

1)卸载设备和挂载点

umount /vo_dir

 

2)检查硬盘完整性

e2fsck -f /dev/storage/vo

4)重置硬盘容量为150M

resize2fs /dev/storage/vo 150M

5)重新挂载硬盘设备并查看挂载状态

mount -a

df -h

 

uploading.4e448015.gif转存失败重新上传取消

 

 

PV没有扩展有缩小的命令,原因是物理硬盘不可能通过命令扩容或缩小。

RAID技术和LVM技术 可以同时做,先做RAID后做LVM

 

 

三) 逻辑卷快照实验

逻辑卷LVM有“快照”功能,类似于虚拟机软件的还原时间点功能。

例如,可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。

快照功能有两个特点:

快照卷的容量必须等同于逻辑卷的容量;

快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。

1)使用命令vgdisplay查看卷组信息

2)生成一个快照

lvcreate -L 120M -s -n SNAP /dev/storage/vo

其中-s 参数生成一个快照卷,名为SNAP

使用-L 参数指定切割的大小。

 

3)查看信息

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

total 102418

drwx------. 2 root root     12288 Mar 11 11:23 lost+found

-rw-r--r--. 1 root root        26 Mar 11 15:11 readme.txt

-rw-r--r--. 1 root root         5 Mar 11 14:31 test.txt

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

dd if=/dev/zero of=/vo_dir/files count=1 bs=100M

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

total 102418

-rw-r--r--. 1 root root 104857600 Mar 11 15:20 files

drwx------. 2 root root     12288 Mar 11 11:23 lost+found

-rw-r--r--. 1 root root        26 Mar 11 15:11 readme.txt

-rw-r--r--. 1 root root         5 Mar 11 14:31 test.txt

5)下面难SNAP 快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载。

umount /vo_dir

lvconvert --merge /dev/storage/SNAP

6)快照卷会被自动删除掉,并且刚刚在逻辑卷设备被执行快照操作后再创建出来

的100MB 的垃圾文件也被清除了。

[root@linuxprobe /]# mount -a

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

total 102418

-rw-r--r--. 1 root root 104857600 Mar 11 15:20 files

drwx------. 2 root root     12288 Mar 11 11:23 lost+found

-rw-r--r--. 1 root root        26 Mar 11 15:11 readme.txt

-rw-r--r--. 1 root root         5 Mar 11 14:31 test.txt

 

四) 删除逻辑卷

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

umount /vo_dir

vim /etc/fstab

删除“/dev/storage/vo /vo_dir ext4 defaults 0 0”

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

lvremove /dev/storage/vo

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

vgremove storage

4)删除物理卷设备

pvremove /dev/sdb /dev/sdc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值