Linux文件系统管理之lvm和raid(下)

Linux的磁盘管理

RAID独立冗余磁盘阵列
raid redundant arrays of independent)它是一种将多块磁盘组成一个存储整体,并通过磁盘之间的联结实现数据的冗余备份、存储设备的容量扩充和数据存储速度的提升。
raid分为raid”raid”两种:
raid:也就是通过软件实现的raid
raid:是通过适配器将多个硬盘组合在一起。

 

常见的几种raid级别:
level0:条带式stripe
将要存放的一段数据等分成若干块,分辨按次序轮流存储在若干个硬盘中。level0可以明显提高存取效率,但是其中一块硬盘发生故障就会使整个系统崩溃。

 

level1:镜像式mirror
同时向多个硬盘写入相同的数据,提供完全的冗余备份,但是对写入速度没有一点提升,对读取速度与level0相同。

 

level 1+0
同时将条带式的高读写和镜像式的数据冗余之优点集于一身,它的结构是先有硬盘组成若干个level1的单元,每个单元都具有mirror备份数据的功能,在由这样的单元通过level0的方式组成一个整体,读写速度时具有level0的高并发性。

 

level4
此种体系结构在存储数据的同时又系统本身提供校验机制。假设该种体系有块磁盘组成,数据轮流存放在系统的n-1个磁盘中,每个存储周期都向指定第n块磁盘写入校验码,倘若系统中有磁盘故障,可由其它盘上的数据与校验码一起进行数据修复。但此种体系校验码存储盘的性能会成为整个系统的瓶颈,而且高频率的写入会大大提高校验码存储盘的故障率。

 

level5
基于level4但对level4进行了一定得优化,它不再指定校验码有固定的存储盘,而是和数据块一起加入整个磁盘存储体系的循环。

 

raidlinux中的实现:
命令:
mdadm 模式  raid设备  选项  磁盘设备

 

模式:
    -A 装配模式
    -C 创建模式
    -F 监控模式
    -M管理模式
    -D 查看模式
   
选项
-a --add添加设备
-f  --fail虚拟设备故障
-r     --remove移除设备

 

-n 指定raid数组磁盘个数
-x 指定raid数组冗余设备个数
-l 指定raid level
-a {yes|no}是否自动创建设备文件
-c 指定chunk的大小默认为64k
[root@server28 ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2  /dev/sda1 /dev/sda2
#2块硬盘创建radi md0 等级level 1

 

raid中增加/卸去磁盘
[root@server28 ~]# mdadm -a /dev/md0 /dev/sda7
raid中添加一块自动成为备用。
[root@server28 ~]# mdadm -D /dev/md0
使用-D查看
/dev/md0:
        Version : 0.90
  Creation Time : Tue Aug  2 05:11:36 2011
     Raid Level : raid1
     Array Size : 987840 (964.85 MiB 1011.55 MB)
  Used Dev Size : 987840 (964.85 MiB 1011.55 MB)
   Raid Devices : 2
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

 

    Update Time : Tue Aug  2 05:11:50 2011
          State : clean
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

 

           UUID : 032c7ad4:3dc68a67:613b10af:7922e25a
         Events : 0.2

 

    Number   Major   Minor   RaidDevice State
       0       8        5        0      active sync   /dev/sda5
       1       8        6        1      active sync   /dev/sda6

 

       2       8        7        -      spare       /dev/sda7
要拆除硬盘时必须将硬盘设置成fail或者停止整个raid
[root@server28 ~]# mdadm -f /dev/md0 /dev/sda5
mdadm: set /dev/sda5 faulty in /dev/md0
再进行拆除remove
[root@server28 ~]# mdadm -r /dev/md0 /dev/sda5
mdadm: hot removed /dev/sda5

 

[root@server28 ~]# mdadm -S /dev/md0
停止整个md0设备

 

装配模式:
目的是将卸载的raid,在其它计算机或本机从新挂载。
首先,在本机备份raid信息
本机raid信息在/etc/mdadm.conf中存储
[root@server28 ~]# mdadm -D -scan > /etc/mdadm.conf  #此文件会在复位向后自动产生

 

停止设备
[root@server28 ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0

 

停止后可以对组成raid的磁盘进行拆卸、删除的操作。

 

LVM逻辑卷管理器
LVMlogic volume manger的缩写,这种体系的存储结构是将物理磁盘转换成物理卷pvphysical volume),将pv的容量汇总成卷组vgvolume group)后,再将卷组vg进行拆分,形成多个自定义大小且容量可实时调成的逻辑卷(logic volume)。在将物理磁盘做成物理卷后将形成lvm的最小单位pephysical extend),pe的大小可以为4M8M16M
类似于磁盘系统的中块block的概念。

 

pv相关的命令:pvcreat创建、pvmove存储内容移动、pvremove删除、pvscan扫描、pvdisplay显示信息
vg相关的指令:vgcreat创建、vgremove删除、vgscan扫描、vgdisplay显示信息、vgreduce容量缩小、vgextend容量扩大
lv相关的指令:;lvcreat创建、lvmove存储内容移动、lvremove删除、lvscan扫描、lvdisplay查看、lvreduce缩小物理容量、lvextend扩大物理容量、resize2fs调整逻辑容量

 

创建pvpvcreate  物理磁盘分区1  物理磁盘分区2 物理磁盘分区3..
查看pvpvdisplay  #显示当前所有的pv
移除pv:先pvmove将当前pv上的内容同步在别的pv,然后再pvremove将磁盘卸除。

 

创建vgvgcreate 选项 vg名称  pv1  pv2  pv3 …
增大vg的容量:vgextend  vg  pv
vgextend  /dev/vg0 /dev/sdb5
缩小vg的容量:vgreduce vg pv
Pvreduce  /dev/vg0 /dev/sdb5

 

创建lvlvcreate –L 2G –n lv0 vg0  #vg0中创建一个2glv0
-n lv名称
-L  创建lv的大小
查看lvlvdisplay  #显示当前所有的lv

 

完成lv的创建,格式化文件系统。

 

逻辑卷的扩展、缩减和snapshot
Lv的扩展:
先扩大lv的物理大小:
lvextend –L 2g /dev/vg0/lv1
在调整lv的逻辑大小:
resize2fs 选项 设备 大小
resize2fs /dev/vg0/lv1 #不跟数值就调整到分区大小

 

lv的缩减:
先缩小逻辑大小:
resize2fs /dev/vg0/lv0 512m #lv0逻辑大小缩小到512m
再缩小物理lv的大小:
lvreduce –L 512m /dev/vg0/lv0 #lv0物理大小缩小到512m

 

快照snapshot的创建:
lvcreate –s –L 512M –n snapshot0 –p r  /dev/vg0/lv0
#vg0上创建一个lv0的快照卷,-s 说明新加卷是快照 –p r 说明权限是只读
/dev/vg0/lv0 说明是lv0的快照
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章