linux硬raid怎么分区,Linux RAID配置 和 LVM 分区配置

nas 协议 tcp/ip       用nfs,cifs等文件系统去管理

san 协议   光纤协议

raid     redundant arrays of inexpensive disks

磁盘阵列

raid 0    读写性能佳,坏了其中一块,数据挂掉,可靠性低(stripe条带化),磁盘利用率100%

raid 1    镜像备份,同一份资料完整的保存在多个磁盘上,写的性能不佳,可靠性高,读的性能还行,磁盘利用率50%

raid 10 先做raid 1 再做raid 0

disk 0    disk 1   raid 1

disk 2    disk 3   raid 1

disk 4    disk 5   raid 1

然后把上面的三个raid1 做成raid0(条带)

raid 01 先做raid 0 再做raid 1

raid 0     raid 0

disk 0    disk 3

disk 1    disk 4

disk 2    disk 5

然后把上面的两个raid0 做成raid1

raid 10和 raid01就安全可靠性上来说还是raid10好点,读写性能一样,磁盘利用率一样

raid 5

由三块磁盘做raid 5,磁盘利用率为2/3, 另块放校验数据,允许坏一块盘,数据可以利用校验值来恢复

软raid

--raid 的创建

用分区或者 虚拟机加磁盘来做

创建raid 0

[root@dns ~]# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1

mdadm: array /dev/md0 started.

创建过程中可以用另一终端cat /proc/mdstat 去查看正在创建的状态信息

[root@dns ~]# mkfs.ext3 /dev/md0    --把创建好的raid设备md0格式化成ext3

[root@dns ~]# mount /dev/md0 /mnt/ --mount挂载使用

df -h查看大小验证磁盘利用率为百分之百

创建raid 5

[root@dns ~]# mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sdd1 /dev/sde1 /dev/sdf1

mdadm: array /dev/md1 started.

[root@dns ~]# mkfs.ext3 /dev/md1

[root@dns ~]# mount /dev/md1 /media/

df -h查看大小验证磁盘利用率三分之二

--------------------------------------------------

--raid的启停

[root@dns ~]# vim /etc/mdadm.conf   --手动编写raid的配置文件,此文件不存在,要手动建立,并写上

DEVICES /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 --把做了raid的分区写上来

[root@dns ~]# mdadm --detail --scan >> /etc/mdadm.conf

--扫描当前raid的信息,并追加到配置文件里

DEVICES /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1

ARRAY /dev/md0 level=raid0 num-devices=2 metadata=0.90 UUID=80dfef62:8eef41dd:4f463d64:f1917614

ARRAY /dev/md1 level=raid5 num-devices=3 metadata=0.90 UUID=3c416add:9fa78bcf:9b9e60ef:5f5de4da

停止raid设备

先umount 已经挂载的raid设备

然后使用命令停止

[root@dns ~]# mdadm --stop /dev/md0

mdadm: stopped /dev/md0

[root@dns ~]# mdadm --stop /dev/md1

mdadm: stopped /dev/md1

启动raid设备

1,有/etc/mdadm.conf配置文件的情况下

[root@dns ~]# mdadm -A /dev/md0

mdadm: /dev/md0 has been started with 2 drives.

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

mdadm: /dev/md1 has been started with 3 drives.

2,没有配置文件的情况下,手动把设备名写上就可以了

[root@dns ~]# mdadm -A /dev/md0 /dev/sdb1 /dev/sdc1

mdadm: /dev/md0 has been started with 2 drives.

[root@dns ~]# mdadm -A /dev/md1 /dev/sdd1 /dev/sde1 /dev/sdf1

mdadm: /dev/md1 has been started with 3 drives.

3,如果连设备名都不知道,可以去查看每个设备的raid信息,使用uuid把raid设备重新组合

[root@dns ~]# mdadm -E /dev/sdf1

/dev/sdf1:

Magic : a92b4efc

Version : 0.90.00

UUID : 3c416add:9fa78bcf:9b9e60ef:5f5de4da --这里可以看到uuid的值,同一个raid里的设备的uuid值是一样的

Creation Time : Sat Jul 10 10:53:47 2010

Raid Level : raid5

Used Dev Size : 1044096 (1019.80 MiB 1069.15 MB)

Array Size : 2088192 (2039.59 MiB 2138.31 MB)

Raid Devices : 3

Total Devices : 3

Preferred Minor : 1

Update Time : Sat Jul 10 11:06:17 2010

State : clean

Active Devices : 3

Working Devices : 3

Failed Devices : 0

Spare Devices : 0

Checksum : 189291a1 - correct

Events : 2

Layout : left-symmetric

Chunk Size : 64K

Number   Major   Minor   RaidDevice State

this     2       8       81        2      active sync   /dev/sdf1

0     0       8       49        0      active sync   /dev/sdd1

1     1       8       65        1      active sync   /dev/sde1

2     2       8       81        2      active sync   /dev/sdf1

[root@dns ~]# mdadm -A --uuid=3c416add:9fa78bcf:9b9e60ef:5f5de4da /dev/md1

mdadm: /dev/md1 has been started with 3 drives.

--------------------------------------------------------

模拟raid中其中一块盘故障

[root@dns ~]# mdadm /dev/md1 --fail /dev/sdd1

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

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

Personalities : [raid0] [raid6] [raid5] [raid4]

md1 : active raid5 sdd1[3](F) sdf1[2] sde1[1] --可以看到sdd1后面有F标记

2088192 blocks level 5, 64k chunk, algorithm 2 [3/2] [_UU]

[root@dns ~]# mdadm /dev/md1 --remove /dev/sdd1

mdadm: hot removed /dev/sdd1

[root@dns ~]# mdadm /dev/md1 --add /dev/sdg1

mdadm: added /dev/sdg1

--换了一块盘,此时也可以watch cat /proc/mdstat 去查看数据同步的状态,完成后,可以看到原来的数据还在

--------------------------------------------------------

删除掉raid设备

1,umount

2,[root@dns ~]# mdadm /dev/md0 --fail /dev/sdb1 --remove /dev/sdb1

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

mdadm: hot remove failed for /dev/sdb1: Device or resource busy

[root@dns ~]# mdadm /dev/md0 --fail /dev/sdc1 --remove /dev/sdc1

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

mdadm: hot remove failed for /dev/sdc1: Device or resource busy

3,mdadm --stop /dev/md0

4,

直接用fdisk删除分区

或者

用下面命令擦除superblock

[root@dns ~]# mdadm --misc --zero-superblock /dev/sdb1

[root@dns ~]# mdadm --misc --zero-superblock /dev/sdc1

----------------------------------------------------------------------

lvm logical volumn manager 逻辑卷管理

可以自由增大或者缩小卷空间的大小

pv    physical volumn(物理卷) 把实际分区设备划为pv , pv是lvm物理标记

vg    volumn group (卷组) 把pv划分成vg,相当于组合成lvm能够使用一个大硬盘

pe    physical extend (物理扩展)vg组成的最小单位,默认是4M,vg最大支持65535个pe,相当于是block

lv   logical volumn (逻辑卷) 实际可以使用的lvm的设备,相当是把vg划分成可用的分区

1,划分pv

创建pv使用pvcreate命令

[root@dns ~]# pvcreate /dev/sdb1

Physical volume "/dev/sdb1" successfully created

[root@dns ~]# pvcreate /dev/sdc1

Physical volume "/dev/sdc1" successfully created

[root@dns ~]# pvcreate /dev/md1

Physical volume "/dev/md1" successfully created

查看相关信息的命令 pvscan pvdisplay

删除pv的命令 pvremove /dev/sdb1

2,划分vg

[root@dns ~]# vgcreate li   /dev/md1 --创建一个叫li的vg,把/dev/md1加进去

Volume group "li" successfully created

[root@dns ~]# vgextend li /dev/sdb1 --再入li这个vg增加pv,要用vgextend

Volume group "li" successfully extended

[root@dns ~]# vgextend li /dev/sdc1

Volume group "li" successfully extended

查看相关信息的命令vgscan vgdisplay

[root@dns ~]# vgreduce li /dev/sdc1 --vgreduce跟vgextend是相反的,是在vg里移除pv

Removed "/dev/sdc1" from volume group "li"

移除vg的命令是vgremove,它是和vgcreate相反

3,创建lv

[root@dns ~]# lvcreate -L 500m -n li01 li --在li这个vg里划分出一个叫li01的lv,大小为500m

Logical volume "li01" created

[root@dns ~]# lvcreate -L 500M -n li02 li

Logical volume "li02" created

[root@dns ~]# lvcreate -l 125   -n li03 li -- 小写l参数指定的是pe的个数,这里4M*125=500m

Logical volume "li03" created

[root@dns ~]# lvcreate -L 1g -n aa01 aa

Logical volume "aa01" created

查看的相关参数为lvscan lvdisplay

[root@dns ~]# lvscan    --创建后,可以看到这些实际可用的lv存放在/dev/vg名/lv名

ACTIVE            '/dev/aa/aa01' [1.00 GB] inherit

ACTIVE            '/dev/li/li01' [500.00 MB] inherit

ACTIVE            '/dev/li/li02' [500.00 MB] inherit

ACTIVE            '/dev/li/li03' [500.00 MB] inherit

[root@dns ~]# mkfs.ext3 /dev/aa/aa01   --格式化lv后就可以挂载使用

移除lv使用lvremove

完全删除lvm,就要先lvremove,再vgremove,最后pvremove

--------------------------------

lv的扩容

1,先考虑vg是否还有空间去扩容,如果没有,那么要先扩容vg,使用vgextend

2,扩lv

[root@dns ~]# lvextend -L 1.5g /dev/aa/aa01 --把/dev/aa/aa01的lv扩成1.5g

Extending logical volume aa01 to 1.50 GB

Logical volume aa01 successfully resized

[root@dns ~]# df -h

Filesystem            Size Used Avail Use% Mounted on

/dev/mapper/aa-aa01 1008M   34M 924M   4% /mnt --查看已经挂载的大小,没有变化

[root@dns ~]# resize2fs /dev/aa/aa01 --再使用这个命令去在线同步

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/aa/aa01 is mounted on /mnt; on-line resizing required

Performing an on-line resize of /dev/aa/aa01 to 393216 (4k) blocks.

The filesystem on /dev/aa/aa01 is now 393216 blocks long.

[root@dns ~]# df -h

Filesystem            Size Used Avail Use% Mounted on

/dev/mapper/aa-aa01   1.5G   34M 1.4G   3% /mnt --再次查看,已经挂载的lv扩大了,并且数据没有影响

下面两种写法也可以

[root@dns ~]# lvextend -L +100M /dev/aa/aa01

[root@dns ~]# lvextend -l +25 /dev/aa/aa01

lv的缩小

[root@dns ~]# resize2fs /dev/aa/aa01 1g --这样去缩小的话,报错已经mount了

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/aa/aa01 is mounted on /mnt; on-line resizing required

On-line shrinking from 444416 to 262144 not supported.

[root@dns ~]# umount /mnt/

[root@dns ~]# resize2fs /dev/aa/aa01 1g --umount后再使用resize2fs命令,要求先去e2fsck检测

resize2fs 1.39 (29-May-2006)

Please run 'e2fsck -f /dev/aa/aa01' first.

[root@dns ~]# e2fsck -f /dev/aa/aa01

[root@dns ~]# resize2fs /dev/aa/aa01 1g --检测后再使用resize2fs命令缩小,并挂载查看大小是否缩小

实践题:

建立一个raid5设备,并划分出一个lv,挂载到/www目录

使用apache建立两个虚拟主机,

一个为www.linuxidc.com,家目录为/www/www,由www用户使用ftp去管理文件,

利用quota限制www用户使用空间为1G

另一个为web.linuxidc.com,家目录为/www/web,由web用户使用ftp去管理文件

利用quota限制www用户使用空间为500m

注意权限问题,http运行时,rpm版是使用apache用户运行,它需要对网站根目录拥有执行权限去执行动态脚本,www,web这两个用户对各自管理的目录也应该拥有完全的上传,下载,删除权限0b1331709591d260c1c78e86d0c51c18.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值