linux入门到精通读后感,「Linux就该这么学」读书笔记(五)

RAID(独立冗余磁盘阵列)

通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上

RAID 0

能够有效的提升硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力,数据会被分开写入到不同的硬盘设备中

RAID 1

在写入数据时,将数据同时写入到多块硬盘设备上,当其中一块硬盘出错时,会自动替换

RAID 5

把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中,这样任何一个设备损坏后不至于出现致命缺陷

RAID 10

RAID 0和RAID 1的组合体,继承了RAID 0的高读写速度和RAID 1的数据安全性,在不考虑成本的情况下RAID 10的性能都超过了RAID 5

mdadm

管理Linux 系统中的软件RAID硬盘阵列

参数

作用

-a

检测设备名称

-n

指定设备数量

-l

指定RAID界别

-C

创建

-v

显示过程

-f

模拟设备损坏

-r

移除设备

-Q

查看摘要信息

-D

查看详细信息

-S

停止RAID磁盘阵列

-x

备份盘数量

使用4块硬盘来部署RAID 10,并挂载硬盘,最后将挂载信息写入到配置文件中

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

# mkfs.ext4 /dev/md0

# mkdir /RAID

# mount /dev/md0 /RAID

# df -h

etc...

/dev/md0 40G 49M 38G 1% /RAID

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

损坏硬盘阵列及修复

这里模拟一下RAID 磁盘阵列损坏后的处理方法

使用madadm命令将坏掉的硬盘移除,然后查看RAID磁盘阵列的状态,这时可以发现状态已经改变,再模拟一个新的硬盘,重启系统,接着把新的硬盘添加到RAID磁盘阵列中

# mdadm /dev/md0 -f /dev/sdb

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

# mdadm -D /dev/md0

etc...

0 8 16 - faulty /dev/sdb

# umount /RAID

# mdadm /dev/md0 -a /dev/sdb

# mdadm -D /dev/md0

etc...

Number Major Minor RaidDevice State

4 8 16 0 active sync /dev/sdb

1 8 32 1 active sync /dev/sdc

2 8 48 2 active sync /dev/sdd

3 8 64 3 active sync /dev/sde

# mount -a

磁盘阵列+备份盘

RAID 10 最多允许50%的硬盘设备发生故障,但是存在一些极端情况,这时我们需要用到备份盘

这里的例子是RAID 5,一共使用4块硬盘,其中一个是用来备份,用 -x 来表示数量,当硬盘出现问题时,备份盘会自动顶替出问题的硬盘,并回复数据

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

etc...

# mdadm -D /dev/md0

etc...

Number Major Minor RaidDevice State

0 8 16 0 active sync /dev/sdb

1 8 32 1 active sync /dev/sdc

4 8 48 2 active sync /dev/sdd

3 8 64 - spare /dev/sde

# mkfs.ext4 /dev/md0

etc...

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

# mkdir /RAID

# mount -a

LVM(逻辑卷管理器)

在硬盘分区或者部署为RAID磁盘阵列后,用户想要调整硬盘分区的大小时,需要用到LVM技术,该技术可以允许用户对硬盘资源进行动态调整

部署逻辑卷

功能/命令

物理卷管理

卷组管理

逻辑卷管理

扫描

pvscan

vgscan

lvscan

建立

pvcreate

vgcreate

lvcreate

显示

pvdisplay

vgdisplay

lvdisplay

删除

pvremove

vgremove

lvremove

扩展

vgextend

lvextend

缩小

vgreduce

lvreduce

部署:

让添加的设备支持LVM技术

将两块硬盘设备加入到storage卷组中

切割出一个150MB的逻辑卷设备

把生成好的逻辑卷格式化,挂载使用

写入配置文件

# pvcreate /dev/sdb /dev/sdc

etc...

# vgcreate storage /dev/sdb /dev/sdc

etc...

# vgdisplay

etc...

Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiB

etc...

# lvcreate -n vo -l 37 storage

etc...

# lvdisplay

etc...

LV Size 148.00MiB

etc...

# mkfs.ext4 /dev/storage/vo

etc...

# mkdir /lvm

# mount /dev/storage/vo /lvm

# df -h

etc...

/dev/mapper/storage-vo 145M 7.6M 138M 6% /lvm

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

扩容逻辑卷

扩容:

把逻辑卷vo扩展至290MB

检查硬盘完整性,并重置硬盘容量

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

# umount /lvm

# lvextend -L 290M /dev/storage/vo

etc...

# e2fsck -f /dev/storage/vo

etc...

# resize2fs /dev/storage/vo

# mount -a

# df -h

etc...

/dev/mapper/storage-vo 279M 2.1M 259M 1% /lvm

缩小逻辑卷

缩小:

检查文件系统的完整性

把逻辑卷的容量减小到120MB

重新挂载文件系统并查看系统状态

# umount /lvm

# e2fsck -f /dev/storage/vo

etc...

# resize2fs /dev/storage/vo 120M

etc...

# lvreduce -L 120M /dev/storage/vo

etc...

# mount -a

# df -h

etc...

/dev/mapper/storage-vo 113M 1.6M 103M 2% /lvm

逻辑卷快照

快照:

使用-s参数生成一个快照卷,使用-L参数指定切割的大小

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

校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作

快照卷会被自动删除掉

# vgdisplay

etc...

Alloc PE / Size 30 / 120.00 MiB Free PE / Size 10208 / 39.88 GiB

etc..

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

etc...

# lvdisplay

etc...

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

etc..

# lvdisplay

etc...

Allocated to snapshot 83.71%

etc...

# umount /lvm

# lvconvert --merge /dev/storage/SNAP

etc...

# mount -a

# ls /lvm/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值