目录

RAID&LVM有关磁盘的故障

RAID

好处:1.更多的容量

​ 2.得到更多的冗余

​ 3.得到更高的性能

RAID的运行方式

RAID级别

RAID0 条带卷,容量最大。单块容量*N,读写最快。没有容错机制。理论是2块硬盘

RAID1 镜像卷,50%容量,读一般,写特慢。有50%容错机制。只能是两块。

RAID5 检验卷,总容量的三分之二。读写稍快。容错机制,可以损坏三分之一。最低三块

RAID10 1 0 损失一半。读写快。容错50%。只能四块。

性能:RAID0》RAID10》RAID5》RAID1

安全:RAID1》RAID10》RAID5》RAID0

价格:RAID10》RAID1》RAID5》RAID0

注意:RAID硬盘失效处理——热备和热拔插

RAID实战

软RAID

1.mdadm安装
[root@web ~]# yum install -y mdadm

mdadm命令常见选项解释:

-A      #激活磁盘阵列
-C #建立一个新阵列
-D #打印阵列设备的信息
-G #改变阵列大小或形态
-S #停止阵列
-r #移除设备
-l #设定磁盘阵列的级别
-n #指定阵列磁盘的数量
-x #指定阵列中备用盘的数量
-f #将设备状态定为故障
-a #添加设备到阵列
-v #显示详细信息软RAID:通过操作系统实现

2.创建RAID实验环境

Raid种类	 磁盘	     热备盘
Raid0 sdb、sdc (sdd)

3.创建磁盘阵列

[root@web ~]# mdadm  -C -v /dev/md0 -l 0 -n 2   /dev/sdb /dev/sdc
mdadm: chunk size defaults to 512K #-x /dev/sd[b,c,d]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

4.查看RAID阵列

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

5.将信息写入到配置文件中

[root@web ~]# mdadm  -Ds  >/etc/mdadm.conf #可以追加进去

6.挂载使用

[root@web ~]# mdadm  -Ds  >/etc/mdadm.conf
[root@web ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0 isize=512 agcount=16, agsize=654720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10475520, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5120, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@web ~]# mkdir /raid0
[root@web ~]# mount /dev/md0 /raid0
[root@web ~]# df -h |grep /dev/md0
/dev/md0 40G 33M 40G 1% /raid0
[root@web ~]# cp /etc/services /raid0/

7.指定一块盘故障

[root@web ~]# mdadm  -f /dev/md1 /dev/sdc #指定热备盘看不出效果

8.检查数据有没有丢失

[root@web ~]# ll /raid0
total 656
-rw-r--r--. 1 root root 670293 Jul 18 18:47 services

9.移除损坏的盘

[root@web ~]# mdadm  -r  /dev/md1 /dev/sdc
mdadm: hot removed /dev/sde from /dev/md1

10.添加一块盘

[root@web ~]# mdadm  -a  /dev/md1 /dev/sdc

要求:1)使用三块盘创建RAID5, 使用-x添加1个热备盘

2)模拟损坏一块磁盘,然后备用盘自动顶上,只能顶一次

3)在模拟损坏,检测数据是否丢失,如果没有再次模拟损坏.

注意:创建RAID10实验环境:也可以指定分区

LVM介绍

物理卷(PV):(physical volume),把常规的磁盘设备通过pvcreate命令对其进行初始化,形成了物理卷。其实就是硬盘或分区。(面粉)

卷组(VG):(volume group),把多个物理卷组成一个逻辑的整体,这样卷组的大小就是多个硬盘之和。或者理解就是由一个或多个PV组成的整体。(面团)

逻辑卷(LV):(logical volume),从卷组中划分需要的空间大小出来。用户仅需对其格式化然后即可挂载使用。从VG中切割出的空间用于创建文件系统。(切成馒头)

基本单元(PE):(physical extend),分配的逻辑大小的最小单元,默认为4MB的基本块。(假设分配100MB逻辑空间,则需要创建25个PE)

LVM实战

1)创建物理卷,将普通磁盘转换为物理卷。

2)创建卷组,将物理卷加入到卷组中。

3)在卷组中划分逻辑卷,然后挂载使用。

1.下载安装软件包
[root@web ~]# yum install lvm2 -y
2.将/dev/sdb创建为物理卷
[root@web ~]# pvcreate  /dev/sdb
Physical volume "/dev/sdb" successfully created.
3.创建卷组,并将物理卷加入进去
[root@web ~]# vgcreate  lvm_test  /dev/sdb
4.检查
[root@web ~]# vgs
[root@web ~]# pvs
5.创建一个逻辑卷
[root@web ~]# lvcreate -L 1G -n lv1  lvm_test
6.检查
[root@web ~]# vgs
VG #PV #LV #SN Attr VSize VFree
lvm_test 1 1 0 wz--n- <20.00g <19.00g
[root@web ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb lvm_test lvm2 a-- <20.00g <19.00g
[root@web ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 lvm_test -wi-a----- 1.00g
[root@web ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 47.8G 0 part /
sdb 8:16 0 20G 0 disk
└─lvm_test-lv1 253:0 0 1G 0 lvm
7.格式化
[root@web ~]# mkfs.xfs  /dev/lvm_test/lv1
8.挂载使用
[root@web ~]# mkdir   /lv1
[root@web ~]# mount /dev/lvm_test/lv1 /lv1
[root@web ~]# df -h |grep lv1
/dev/mapper/lvm_test-lv1 1014M 33M 982M 4% /lv1
[root@web ~]# cp /etc/services /lv1
[root@web ~]# ll /lv1
total 656
-rw-r--r--. 1 root root 670293 Jul 18 19:59 services

一,卷组管理,如何扩展卷组大小,如何删除卷组

1.将sdc指定为物理卷
[root@web ~]# pvcreate  /dev/sdc
Physical volume "/dev/sdc" successfully created.
2.添加到卷组中
[root@web ~]# vgextend  lvm_test  /dev/sdc
Volume group "lvm_test" successfully extended
3.检查
[root@web ~]# vgs
VG #PV #LV #SN Attr VSize VFree
lvm_test 2 1 0 wz--n- 39.99g 38.99g
[root@web ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb lvm_test lvm2 a-- <20.00g <19.00g
/dev/sdc lvm_test lvm2 a-- <20.00g <20.00g
4.将逻辑卷移动到sdc上面
[root@web ~]# pvmove   /dev/sdb  /dev/sdc
/dev/sdb: Moved: 1.95%
/dev/sdb: Moved: 100.00%
[root@web ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb lvm_test lvm2 a-- <20.00g <20.00g
/dev/sdc lvm_test lvm2 a-- <20.00g <19.00g
5.缩减卷组大小
[root@web ~]# vgreduce   lvm_test  /dev/sdb
Removed "/dev/sdb" from volume group "lvm_test"
6.检查
[root@web ~]# vgs
VG #PV #LV #SN Attr VSize VFree
lvm_test 1 1 0 wz--n- <20.00g <19.00g
[root@web ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb lvm2 --- 20.00g 20.00g
/dev/sdc lvm_test lvm2 a-- <20.00g <19.00g

二,添加逻辑卷的大小

方法一:

1.添加
[root@web ~]# lvextend  -L +1G  /dev/lvm_test/lv1 		#(写加号和不写加号的区别)
Size of logical volume lvm_test/lv1 changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents).
Logical volume lvm_test/lv1 successfully resized.
2.检查
[root@web ~]# vgs
VG #PV #LV #SN Attr VSize VFree
lvm_test 1 1 0 wz--n- <20.00g <18.00g
[root@web ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 47.8G 0 part /
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
└─lvm_test-lv1 253:0 0 2G 0 lvm /lv1
3.更新新添加的逻辑卷的文件系统
[root@web ~]# xfs_growfs  /dev/lvm_test/lv1
meta-data=/dev/mapper/lvm_test-lv1 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 262144 to 524288

方法二:

1.按照百分比增加大小
[root@web ~]# lvextend  -l 20%FREE  /dev/lvm_test/lv1
Size of logical volume lvm_test/lv1 changed from 2.00 GiB (512 extents) to 3.60 GiB (922 extents).
Logical volume lvm_test/lv1 successfully resized.
2.更新文件系统
[root@web ~]# xfs_growfs  /dev/lvm_test/lv1

注意:缩减逻辑卷大小,企业不会去缩减,一般直接删除

怎样删除:

1.首先卸载
[root@web ~]# umount  /lv1
[root@web ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 2.9G 45G 7% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.7M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
2.移除
[root@web ~]# lvremove  /dev/lvm_test/lv1
Do you really want to remove active logical volume lvm_test/lv1? [y/n]: y #是否确认
Logical volume "lv1" successfully removed
3.检查
[root@web ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 47.8G 0 part /
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk

注意:注意:LVM如果有一个磁盘损坏,整个lvm都坏了, lvm只有动态扩展作用,底层用RAID + 上层LVM = 既有冗余又有动态扩展

磁盘故障

一,block(数据满了)

1.环境准备

先创建一个1G分区,并挂在使用

2.创建大文件,模拟磁盘空间满
[root@web ~]# dd if=/dev/zero of=/test/test.log  bs=100M count=11
dd: error writing ‘/test/test.log’: No space left on device
10+0 records in
9+0 records out
1026621440 bytes (1.0 GB) copied, 18.7358 s, 54.8 MB/s
[root@web ~]# df -h |grep test
/dev/sde1 1014M 1012M 2.8M 100% /test #报错No space left on device
[root@web ~]# cp services /test/
cp: error writing ‘/test/services’: No space left on device
cp: failed to extend ‘/test/services’: No space left on device
3.检查磁盘
[root@web ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 2.9G 45G 7% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.7M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/sde1 1014M 1014M 32K 100% /test
4.查找大文件,依次往下查找,直到找到大文件为止
[root@web ~]# du  -sh  /test/* 

#找到之后,先确认是否可以删除。
rm -f #删除之后,磁盘还是满的,先确认是否有硬链接。

二,inode故障(小文件太多)

  [root@web ~]# touch  /test/123
touch: cannot touch ‘/test/123’: No space left on device
1.检查磁盘
[root@web ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 2.9G 45G 7% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.7M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/sde1 1014M 308M 707M 31% /test
[root@web ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 25062912 93030 24969882 1% /
devtmpfs 250786 465 250321 1% /dev
tmpfs 253511 1 253510 1% /dev/shm
tmpfs 253511 819 252692 1% /run
tmpfs 253511 16 253495 1% /sys/fs/cgroup
/dev/sda1 102400 326 102074 1% /boot
tmpfs 253511 1 253510 1% /run/user/0
/dev/sde1 524288 524288 0 100% /test
2.解决
#找到存放大量小文件的目录
[root@web ~]# find /test -type d -size +1M |xargs ls -lhd
drwxr-xr-x. 3 root root 2.4M Jul 18 20:39 /test/data
drwxr-xr-x. 3 root root 1.2M Jul 18 20:38 /test/data/test
drwxr-xr-x. 2 root root 1.2M Jul 18 20:38 /test/data/test/data
drwxr-xr-x. 3 root root 4.7M Jul 18 20:40 /test/oldboy
drwxr-xr-x. 2 root root 2.9M Jul 18 20:41 /test/oldboy/oldgirl #找到之后,先确认是否可以删除。 #千万不要直接查看目录内容
[root@web ~]# ll /test/data |wc -l #按照类型去删
[root@web ~]# find /test -type f -name "*.txt" -delete
[root@web ~]# find /test -type f -name "*.log" -delete
[root@web ~]# find /test -type f -name "*.sh" -delete
[root@web ~]# find /test -type f -name "*.conf" -delete
[root@web ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 25062912 93030 24969882 1% /
devtmpfs 250786 465 250321 1% /dev
tmpfs 253511 1 253510 1% /dev/shm
tmpfs 253511 819 252692 1% /run
tmpfs 253511 16 253495 1% /sys/fs/cgroup
/dev/sda1 102400 326 102074 1% /boot
tmpfs 253511 1 253510 1% /run/user/0
/dev/sde1 524352 8 524344 1% /test

RAID&LVM有关磁盘的故障的更多相关文章

  1. RAD介绍及实战,LVM介绍及实战,磁盘常见故障

    目录 一.RAID 1.RAID好处: 2.RAID的运行方式: 3.RAID的级别: 二.RAID实战 软RAID 1.RAID0 2.RAID1 3.RAID5 4.RAID10 三.LVM介绍 ...

  2. linux磁盘限额和进阶文件系统的管理 quota RAID LVM

    概念: Quota 的一般用途: 针对 WWW server ,例如:每个人的网页空间的容量限制! 针对 mail server,例如:每个人的邮件空间限制. 针对 file server,例如:每个 ...

  3. lvm讲解/磁盘故障小案例

    4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例 lvm讲解 磁盘故障小案例

  4. Linux运维基础提高之RAID卡和磁盘分区

    磁盘大小计算: 柱面的数量*每个柱面的大小(容量) [root@luffy001 ~]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 ...

  5. Linux - 通过LVM对磁盘进行动态扩容

    目录 1 LVM是什么 1.1 概念解释 1.2 为什么用LVM 1.2.1 不使用LVM时的扩容思路 1.2.2 使用LVM时的扩容思路 1.3 名词解释 2 普通的挂载磁盘方法 2.1 创建分区的 ...

  6. LVM与磁盘配额

    LVM与磁盘配额 目录 一.LVM概述 1.1.LVM 概述 1.2.LVM机制的基本概念 二.LVM 管理命令 2.1.主要命令 2.2.LVM命令详解 三.设置磁盘配额 3.1.磁盘配额的概述 3 ...

  7. (转)Web服务器磁盘满故障深入解析

    Web服务器磁盘满故障深入解析 原文:http://blog.51cto.com/oldboy/612351 ############################################# ...

  8. LVM划分磁盘及扩容缩容

    lvm:logical volume monitor 逻辑卷管理器 作用: 采用lvm划分磁盘:磁盘空间不够时,方便扩展磁盘.物理卷加到卷组时被划分等大的pe,即pv是由众多pe构成.pe是卷组的最小 ...

  9. MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态

    MegaCli 监控raid状态 转载weixin_30344131 最后发布于2015-10-16 13:05:00 阅读数    简介 MegaCli是一款管理维护硬件RAID软件,可以通过它来了 ...

随机推荐

  1. MySQL数据库Group by分组之后再统计数目Count(*)与不分组直接统计数目的区别

    简述问题“统计最新时刻处于某一状态的设备的数量” 1. 首先子查询结果,可以看到每个设备最新的状态信息 2.1 在子查询的基础上,对设备状态进行分组,进行统计每个状态的设备数量 2.1.1 可以看到处 ...

  2. 常见SQL编写和优化

    常见的SQL优化方式 对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by 涉及的列上建立索引. 应尽量避免在 where 子句中对字段进行null 值判断,否则将导致引擎放弃 ...

  3. DiskCatalogMaker for Mac常见问题解答

    DiskCatalogMaker for Mac是Mac上简单实用的磁盘管理工具,可以帮助您对多张光盘使用批量扫描模式, 生成缩略图图像选项,更加清晰,并请将其快速编目引擎与其他编目人员比较,在本篇文 ...

  4. 13-Node.js学习笔记-MongoDB

    数据库相关概念 在一个数据库软件最终可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,每个数据集合中可以包含多条文档(具体的数据) database: 数据库,mongoDB数据库软件中可以 ...

  5. EF Core 中处理 1对1 关系

    最近在开发记录感想功能的时候用到了1对1的数据关系,具体情况是这样的,有这样两个1对1的类型 public class Item { public int Id { get; set; } publi ...

  6. String 的 intern() 方法解析

    一.概述 JDK7 之前和之后的版本,String 的 intern() 方法在实现上存在差异,本文的说明环境是 JDK8,会在文末说明 intern() 方法的版本差异性. intern() 方法是 ...

  7. opencv检测图像直线

    #include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; ...

  8. Java集合内容

    Java的集合类定义在java.util包中,支持泛型,主要提供了3种集合类,包括List,Set和Map.Java集合使用统一的Iterator遍历. 1.List遍历 实现了Iterator接口的 ...

  9. jQuery总结01_jq的基本概念+选择器

    jQuery基本概念 学习目标:学会如何使用jQuery,掌握jQuery的常用api,能够使用jQuery实现常见的效果. 为什么要学习jQuery? [01-让div显示与设置内容.html] 使 ...

  10. vue - Error: Can't resolve '@/assets/img/github.svg (vue-cli3.0,无法解析.svg图片,已解决)

    用vue脚手架(vue-cli3.0)生成的目录,无法解析.svg图片的问题 <img src="@/assets/img/github.svg" alt="git ...