linux视频倍数命令,2016-9-6 limux基础学习——RAID及mdadm命令

8MB=1Mb

IDE:133Mbps

SATA:并行 300Mbps,600Mbps,6Gbps

USB 3.0:480Mbps

SCSI:Small Computer System Interface 10000,15000

RAID:

级别:仅代表磁盘组织方式不同,没有上下之分

0:条带化:把整部分数据分成不同的部分分别存储在不同的磁盘上

性能提升: 读,写

冗余能力(容错能力): 无

空间利用率:nS

至少2块盘

3cd7e306ffea5a611ed35cf803495aee.png

1:镜像

性能表现:写性能下降,读性能提升

冗余能力:有

空间利用率:1/2

至少2块盘

    2a9bc7cb40c698a09f3dd5c240a59372.png

10:先镜像后条带

01:先条带后镜像

10比01性能好

77b929cd92a9a97719f865ba27952b5a.png

d373c8a7eec75986d1056a399f306660.png

2

3

4:校验码

a01c1e679b6b992b75417b2535f0e821.png

5:轮流做校验盘

性能表现:读,写提升

冗余能力:有

空间利用率:(n-1)/n

至少需要3块

10:

性能表现:读、写提升

冗余能力:有

空间利用率:1/2

至少需要4块

01:

性能表现:读、写提升

冗余能力:有

空间利用率:1/2

至少需要4块

50:

性能表现:读、写提升

冗余能力:有

空间利用率:(n-2)/n

至少需要6块

jbod:把不同的小磁盘组合起来,在Hadoop中使用

性能表现:无提升

冗余能力:无

空间利用率:100%

至少需要2块

Hadoop

HDFS:分布式备份系统

逻辑RAID:

/dev/md0

/dev/md1

RAID0装配一个2G的阵列:需要4个512M的磁盘,或2个1G的磁盘

RAID1装配一个2G的阵列:需要2个2G的磁盘

RAID5装配一个2G的阵列,需要3个1G的磁盘(n为3,利用率为2/3,即2G,可以有空闲盘)

RAID5装配两个2G的阵列:需要4个1G的磁盘(n为4,利用率为2/4,即2G)

************空闲盘即自动顶上去以后把坏的磁盘给移除*****************

md:mdadm 将任何块设备做成RAID

1.直接使用硬盘硬件设备,不需要分区

2.如果要使用某个硬盘的分区做RAID,需要fdisk特定的分区,并给它指定分区类型:fd

此次以/dev/sdb硬盘的分区做RAID

模拟化的命令:

创建模式

-C

专用选项:

-l #:级别

-n #:设备个数

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

-c #M:指定chunk(数据块单位的大小,2的倍数,默认64k)

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

管理模式

--add,--remove(增加移除某个磁盘块)

-f(--fail,--set-faulty)(用来模拟损坏磁盘的)

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

监控模式

-F

增长模式

-G

装配模式

-A

查看RAID阵列的详细信息

mdadm -D /dev/md#

--detail :详细信息 显示一个Raid设备的详细信息

停止阵列

mdadm -S /dev/md#

--stop

将当前RAID信息保存至配置文件中,以便以后进行装配

mdadm -D --scan > /etc/mdadm.conf

mke2fs格式化md#的时候可以指定条带化大小,优化性能

-stride #:指定条带化大小(chunk比上block的倍数,即商)

watch:周期性地执行指定命令,并以全屏方式显示结果

-n #:指定周期长度,单位为秒,默认为2

命令格式: watch -n # 'COMMMAND'

【例子:

1.先创建分区并将分区大小调试好

Device Boot     Start         End      Blocks   Id  System

/dev/sdb1              1        654     5253223+  83  Linux

/dev/sdb2            655        916     2104515   83  Linux

/dev/sdb3            917       2610    13607055    5  Extended

/dev/sdb5            917       1048     1060258+  fd  Linux raid autodetect

/dev/sdb6           1049       1180     1060258+  fd  Linux raid autodetect

2.将5和6的分区类型调整为fd

Command (m for help): t

Partition number (1-6): 5

Hex code (type L to list codes): fd

Changed system type of partition 5 to fd (Linux raid autodetect)

Command (m for help): t

Partition number (1-6): 6

Hex code (type L to list codes): fd

Changed system type of partition 6 to fd (Linux raid autodetect)

95ba014019e6335805ba03f92f1d25b3.png3.保存退出并用partprobe命令让内核重读分区

最后可以cat  /proc/partitions查看一下是否生效

[root@LGRY ~]# cat /proc/partitions

major minor  #blocks  name

8       16   20971520 sdb

8       17    5253223 sdb1

8       18    2104515 sdb2

8       19          1 sdb3

8       21    1060258 sdb5

8       22    1060258 sdb6

8        0   20971520 sda

8        1     204800 sda1

8        2    2048000 sda2

8        3    1024000 sda3

8        4          1 sda4

8        5   17692672 sda5

c11f3f92e7c7d8853ca519cb3e203403.png4.用 mdadm命令将/dev/sdb5和/dev/sdb6组成磁盘阵列,其中-C表示开启mdadm的创建模式,

-a  yes 表示是自动创建;    -l 0表示该磁盘阵列的级别为0;        -n 表示块设备个数为2

[root@LGRY ~]# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb5 /dev/sdb6

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

b06c160028b8fd4fbed418d81a722ad1.png5.1用cat  /proc/mdstat  查看当前系统上所有以启用的RAID设备

[root@LGRY ~]# cat /proc/mdstat

Personalities : [raid0]

md0 : active raid0 sdb6[1] sdb5[0]

2119680 blocks super 1.2 512k chunks

unused devices:

5.2可以查看此时/dev/md0设备的信息

[root@LGRY mnt]# fdisk -l /dev/md0

Disk /dev/md0: 2170 MB, 2170552320 bytes

2 heads, 4 sectors/track, 529920 cylinders

Units = cylinders of 8 * 512 = 4096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 524288 bytes / 1048576 bytes

Disk identifier: 0x00000000

或者

[root@LGRY mnt]# mdadm -D /dev/md0

/dev/md0:

Version : 1.2    #版本

Creation Time : Sun Aug 14 03:29:34 2016    #创建时间

Raid Level : raid0        #RAID类型

Array Size : 2119680 (2.02 GiB 2.17 GB)    #RAID大小

Raid Devices : 2        #一共有几个设备创建的Raid

Total Devices : 2        #一共有多少设备

Persistence : Superblock is persistent         #超级快是否是持久的

Update Time : Sun Aug 14 03:29:34 2016        #更新时间

State : clean     #数据是完整地

Active Devices : 2

Working Devices : 2

Failed Devices : 0

Spare Devices : 0

Chunk Size : 512K        #Chunk的大小

Name : LGRY:0  (local to host LGRY)    #当前主机名

UUID : 92919afd:adbc589d:f9c32d64:085b4681    #设备的UUID

Events : 0

Number   Major   Minor   RaidDevice State  #标识号码,主设备号,次设备号  以及磁盘状态

0       8       21        0      active sync   /dev/sdb5

1       8       22        1      active sync   /dev/sdb6

或者:

[root@LGRY ~]# ls /dev/md

md-device-map

[root@LGRY ~]# cat /dev/md/md-device-map

md0 1.2 fd9a9192:9d58bcad:642dc3f9:81465b08 /dev/md0

095ccda504566770f02430ed30bff543.png6.格式化RAID设备md0,注意:是此时格式化,而不是创建分区类型后格式化

[root@LGRY ~]# mke2fs -t ext4 /dev/md0

mke2fs 1.41.12 (17-May-2010)

文件系统标签=

操作系统:Linux

块大小=4096 (log=2)

分块大小=4096 (log=2)

Stride=128 blocks, Stripe width=256 blocks

132736 inodes, 529920 blocks

26496 blocks (5.00%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=545259520

17 block groups

32768 blocks per group, 32768 fragments per group

7808 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

正在写入inode表: 完成

Creating journal (16384 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 20 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

01e91a775c8d87f2fdaf2956395b1935.png7.挂载该设备

[root@LGRY mnt]# mount /dev/md0 /mnt/

[root@LGRY mnt]# ls /mnt/

lost+found

3b1b1429aba8357c194261dea288b43c.png

8.测试

RAID0的读写能力有提升,但不提供冗余能力,无容错能力,磁盘利用数为n(n为磁盘数),其至少需要两块盘,损坏一块盘就完了,

[root@LGRY ~]# mdadm /dev/md0 -f /dev/sdb6

mdadm: set device faulty failed for /dev/sdb6:  Device or resource busy

RAID1的读性能提升但写性能下降,有冗余能力,磁盘利用数为n/2,至少需要两块盘,损坏一块还能继续用;

测试RAID1(每个盘大小为2G,创建过程和上面的一样)

再创建三个分区,类型是fd,  partprobe /dev/sdb

先将前两个分区组成磁盘阵列 RAID-1类型

mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb5 /dev/sdb6

-l 1表示磁盘阵列的级别为1

其属性为

[root@LGRY ~]# mdadm -D /dev/md1

/dev/md1:

Version : 1.2

Creation Time : Tue Sep  6 22:29:10 2016

Raid Level : raid1

Array Size : 1059200 (1034.55 MiB 1084.62 MB)

Used Dev Size : 1059200 (1034.55 MiB 1084.62 MB)

Raid Devices : 2

Total Devices : 2

Persistence : Superblock is persistent

Update Time : Tue Sep  6 22:35:26 2016

State : clean

Active Devices : 2

Working Devices : 2

Failed Devices : 0

Spare Devices : 0

Name : host:1  (local to host host)

UUID : 327b1d31:7f26c899:5f243db0:cd84e496

Events : 17

Number   Major   Minor   RaidDevice State

0       8       21        0      active sync   /dev/sdb5

1       8       22        1      active sync   /dev/sdb6

472b02f6cfdfa270f1e35a21ee021dd8.png

(1)将/dev/sdb8模拟损坏(-f)

[root@LGRY ~]# mdadm /dev/md1 -f /dev/sdb6

mdadm: set /dev/sdb6 faulty in /dev/md1

(2)查看此时/dev/md1的状态

[root@LGRY ~]# mdadm -D /dev/md1

/dev/md1:

Version : 1.2

Creation Time : Tue Sep  6 22:29:10 2016

Raid Level : raid1

Array Size : 1059200 (1034.55 MiB 1084.62 MB)

Used Dev Size : 1059200 (1034.55 MiB 1084.62 MB)

Raid Devices : 2

Total Devices : 2

Persistence : Superblock is persistent

Update Time : Tue Sep  6 22:47:25 2016

State : clean, degraded

Active Devices : 1

Working Devices : 1

Failed Devices : 1

Spare Devices : 0

Name : host:1  (local to host host)

UUID : 327b1d31:7f26c899:5f243db0:cd84e496

Events : 19

Number   Major   Minor   RaidDevice State

0       8       21        0      active sync   /dev/sdb5

1       0        0        1      removed

1       8       22        -      faulty   /dev/sdb6

de26a4b08b161bc236aa8b8a39cb65f3.png

(3)查看该磁盘中的文件能否访问

损坏前

[root@LGRY ~]# ls

inittab  lost+found

[root@LGRY ~]# cat inittab

# inittab is only used by upstart for the default runlevel.

..

损坏后

[root@LGRY ~]# cat inittab

# inittab is only used by upstart for the default runlevel.

..

可见该RAID1方式下其中一个盘损坏后文件还可以访问(其实就是镜像技术,两个2G的盘都存放数据,只不过一个是另一个的备份或者镜像)

d76e52b2fa3eb44ed9dc03cc64e99090.png

(4)盘损坏后在该阵列中就没用了,可以移除出去(-r)

[root@LGRY ~]# mdadm /dev/md1 -r /dev/sdb6

mdadm: hot removed /dev/sdb6 from /dev/md1

此时的/dev/md1信息是

[root@LGRY ~]# mdadm --detail /dev/md1

/dev/md1:

Version : 1.2

Creation Time : Tue Sep  6 22:29:10 2016

Raid Level : raid1

Array Size : 1059200 (1034.55 MiB 1084.62 MB)

Used Dev Size : 1059200 (1034.55 MiB 1084.62 MB)

Raid Devices : 2

Total Devices : 1

Persistence : Superblock is persistent

Update Time : Tue Sep  6 23:00:10 2016

State : clean, degraded

Active Devices : 1

Working Devices : 1

Failed Devices : 0

Spare Devices : 0

Name : host:1  (local to host host)

UUID : 327b1d31:7f26c899:5f243db0:cd84e496

Events : 28

Number   Major   Minor   RaidDevice State

0       8       21        0      active sync   /dev/sdb5  #只有这一块盘了

1       0        0        1      removed

064b52c6e7806471b9a50cddb1f0979f.png

(5)此时的RAID还有一块盘,如果这个盘也损坏了,那就完了,所以可以另外添加一个(分区别忘了将它的类型改为fd,大小和前面的分区也要一致)

[root@LGRY ~]# mdadm /dev/md1 -a /dev/sdb9

mdadm: added /dev/sdb9

此时的/dev/md1信息是

[root@LGRY ~]# mdadm -D /dev/md1

/dev/md1:

Version : 1.2

Creation Time : Thu Jul 16 02:19:39 2015

Raid Level : raid1

Array Size : 2102400 (2.01 GiB 2.15 GB)

Used Dev Size : 2102400 (2.01 GiB 2.15 GB)

Raid Devices : 2

Total Devices : 2

Persistence : Superblock is persistent

Update Time : Thu Jul 16 02:43:07 2015

State : clean

Active Devices : 2

Working Devices : 2

Failed Devices : 0

Spare Devices : 0

Name : LGRY:1  (local to host LGRY)

UUID : c0bf61c5:2697069d:32c3b3ab:2b7c9523

Events : 43

Number   Major   Minor   RaidDevice State

0       8       23        0      active sync   /dev/sdb7

2       8       25        1      active sync   /dev/sdb9

补充:查看阵列信息

[root@LGRY ~]# cat /proc/mdstat

Personalities : [raid1]

md1 : active raid1 sdb7[2] sdb5[0]

1059200 blocks super 1.2 [2/2] [UU]

unused devices:

其中sdb7[2]:该设备在RAID1中的次序;[2/2]:RAID使用2个设备,当前有2个设备正常运行,当某一个设备出错时将会显示[2/1];

[UU]:RAID中所有磁盘运转正常。如果出错则显示[_U],则说明RAID中第一磁盘fail。

94180547d622b984ffa04014f9826ea3.png

(6)此时让/dev/adb5损坏还是可以查看盘中的内容

[root@LGRY ~]# mdadm /dev/md1 -f /dev/sdb5

mdadm: set /dev/sdb7 faulty in /dev/md1

[root@localhost ~]# cat /mnt/inittab

# inittab is only used by upstart for the default runlevel.

..

(7)停止阵列

[root@localhost ~]# umount /mnt/   ##先卸载

[root@localhost ~]# mdadm -S /dev/md1   ##再停止阵列

mdadm: stopped /dev/md1

(8)装配RAID1

[root@localhost ~]# mdadm -A /dev/md1

mdadm: /dev/md1 not identified in config file.

此时并不让装配,因为它不知道/dev/md1中都有那些分区或盘

给/dev/md1添加设备(只不过此次两个设备中有一个是坏的)

[root@localhost ~]# mdadm -A /dev/md1 /dev/sdb5 /dev/sdb7

mdadm: /dev/md1 has been started with 1 drive (out of 2).

查看此时设备启动信息,可知md1又启动起来了

[root@localhost ~]# cat /proc/mdstat

Personalities : [raid0] [raid1]

md1 : active raid1 sdb7[2]

2102400 blocks super 1.2 [2/1] [_U]

unused devices:

695248dad6317ffe160bbbda4a282cb5.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值