linux下的raid及mdadm的命令详解

RAID被称为廉价的冗余磁盘阵列,这是由于在早期的磁盘很小,性能差,易损坏。所以RAID主要的做法就是把多个便宜的小磁盘组合到一个磁盘组,使性能和磁盘容量都可以达到相当于昂贵的磁盘性能。

根据RAID的组合方式不同,RAID又有不同的RAID LEVEL(这个级别仅代表磁盘组合方式不同,没有上下之分),

raid级别分类:

*  RAID 0:

也被称为条带模式,一个文件的数据通过控制芯片发向底层芯片存储到磁盘块时,把数据的大小分成每个具有一定大小的单位存储到并行的每个磁盘对应的位置,形成一个类似条带的存储结构。这种模式至少需要2块盘,这种模式充分提高了空间利用率,也提高了数据的存储读写性能,但由于这种模式没有冗余能力,所以如果某块磁盘的数据一旦丢失或损坏,就会导致数据无法复原。

* RAID 1:

被称为镜像模式,一个文件的数据通过控制芯片发向底层芯片存储到磁盘块时,将数据写入磁盘时同时也写入镜像的磁盘中。这种模式的空间利用率只有1/2,并且写性能下降,但是读性能有一定的提高,冗余能力也提高了一倍。至少需要的盘数为2N

*RAID 4:

被称为RAID检验码,当具有n个盘时,与条带模式相似,但是它是把数据平均分配到n-1的磁盘块中,把剩下的那个磁盘块用来存储前面各个磁盘的检验码。这种模式的磁盘利用率为n-1/n,它提升数据的读写性能,并且允许一个磁盘出错,有一定的冗余能力

* RAID 5

在RAID4的基础上,让每一个的磁盘都当做检验磁盘。

* RAID 0+1

先条带,后镜像,如图:这种模式提升了读写性能,有冗余能力,空间利用率为1/2,但是,如果其中一个条带上的磁盘损坏,就会影响整个的raid磁盘阵列。至少需要4块磁盘。

* RAID 1+0

先镜像,再条带。如图,这种模式也提升了读写数据的性能,有冗余能力,空间利用率为1/2,且如果某个条带中的磁盘损坏,直接调用这个条带中的镜像磁盘来修复,提高了磁盘的修复速度。它也至少需要4块磁盘

* jbod:将多个小盘组合成大盘

无性能表现,无冗余能力,空间利用率百分之百,至少需要2个盘。

RAID

目前 RAID技术大致分为两种:基于硬件的RAID技术和基于软件的RAID技术。其中在Linux下通过自带的软件就能实现RAID功能,这样便可省去购买昂贵的硬件 RAID 控制器和附件就能极大地增强磁盘的 IO 性能和可靠性。由于是用软件去实现的RAID功能,所以它配置灵活、管理方便。同时使用软件RAID,还可以实现将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进和数据冗余的目的。当然基于硬件的RAID解决方案比基于软件RAID技术在使用性能和服务性能上稍胜一筹,具体表现在检测和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面。

md:内核模块

mdadm:(md管理器)将任何设备做成RAID

模式化命令

创建模式:

-C

专用选项:

-l #:级别

-n #:设备个数

-a  {yes|no}:自动为其创建设备文件

-c #M:指定chunk(数据块单位的大小)

-x #:指定空闲的磁盘个数

管理模式:

--add,--remove(增加移除某个磁盘块),-f(--fail,--set-faulty)(用来模拟损坏磁盘的)

mdadm  /dev/md#  --add /dev/sda#

监控模式:

-F

增长模式:

-G

装配模式:

-A

模拟软件  RAID5:

2G, 加一个空闲盘

1,fdisk /dev/sda  创建4个为1G的逻辑分区来模拟磁盘

2,创建RAID5模式

mdadm  -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sda5 /dev/sad6 /dev/sda7 /dev/sda8

cat /proc/mdstat (查看创建的完成情况)

3,格式化

mke2fs -j /dev/md0

4,挂载

mount /dev/md0 /mnt

损坏某个磁盘分区

mdadm /dev/md0 -f /dev/sda5
移除损坏或空余的磁盘分区
mdadm /dev/md0 - r /dev/sda5
添加一个空余的磁盘分区进入md0模式中
mdadm /dev/md0 -a /dev/sda8
停止RAID阵列
mdadm -S /dev/md#
重新驱动
mdadm -A /dev/md0 /dev/sda5 /dev/sda6 /dev/sda7 /dev/sda8

时间: 2024-08-01 10:42:27

linux下的raid及mdadm的命令详解的相关文章

Linux下的crontab定时执行任务命令详解

Linux下的crontab定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 servi

Linux下的crontab定时执行任务命令详解 - 回家的流浪者 - 博客园

Linux下的crontab定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为“crontab”,是“cron table”的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 service crond stop 

Linux下的压缩zip,解压缩unzip命令详解及实例

Linux下的压缩zip,解压缩unzip命令 本人亲自测试总结: linux 安装unzip zip 安装命令:yum install -y unzip zip # unzip yasuo.zip 方法一: 安装命令:yum install -y unzip zip 1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:# zip -r yasuo.zip abc.txt dir12.我下载了一个yasuo.zip文件,想解压缩: # unzip yasuo.zip

Linux下的at定时执行任务命令详解

之前说了使用crontab实现定时执行任务,假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了.一.at服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service atd start    //启动服务 service atd  stop     //关闭服务 service atd restart  //重启服务 service atd reload   //重新载入配置 service atd status   //查看服务状态

(二)Linux下的crontab定时执行任务命令详解

在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 service crond stop     //关闭服务

Linux下which、whereis、locate命令详解

which 命令 which 命令的作用是,在 PATH 变量指定的路径中搜索可执行文件的所在位置.它一般用来确认系统中是否安装了指定的软件. 命令格式: which 可执行文件名称 常用范例: 例一:确认是否安装了 gcc,可以使用如下命令: which gcc 例二:查看 cd 命令的位置路径,可以使用如下命令: which cd 命令可以是下面四种形式之一: 是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样. 属于这一类的程序,可以编译成二进制文件,诸如用 C 和

linux下find和locate文件查找命令详解

文件查找命令: locate命令特点 1.非实时,模糊匹配,查找是根据全系统文件数据库进行的: 2.updatedb, 手动更新生成文件数据库,默认第天凌晨4点02分更新数据库 3.速度快 find命令特点: 1.实时 2.精确 3.支持众多查找标准 4.搜索指定目录中的所有文件完成查找,但速度慢: 格式: find 查找路径 匹配标准 查找到以后的处理运作 查找路径:默认为当前目录 匹配标准:默认为指定路径下的所有文件 处理运作:默认为显示 匹配标准: -name '文件名':对文件名作精确匹

linux下mysql数据库基础及客户端命令详解

1.mysql数据库存储引擎: SHOW ENGINES;   #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: .frm: 表结构 .MYD:表数据 .MYI:表索引 InnoDB:默认所有表共享一个表空间文件: 建议:每表一个独立的表空间文件:默认此功能没有打开 .frm: 表结构 .ibd: 表空间,包含表数据和表索引 .opt: 字符集和字符排序规则 打开InnoDB每表创建独立的表空间文件功能办法: vim /etc/my.cnf   #新增如下一

linux下的/etc/passwd和/etc/shadow详解

linux下的/etc/passwd和/etc/shadow详解一./etc/passwd/etc/passwd 文件是一个纯文本文件,每行采用了相同的格式:name:password:uid:gid:comment:home:shellname 用户登录名password 用户口令.此域中的口令是加密的,常用x表示.当用户登录系统时,系统对输入的口令采取相同的算法,与此域中的内容进行比较.如果此域为空,表明该用户登录时不需要口令.uid 指定用户的 UID.用户登录进系统后,系统通过该值,而不