Linux系统下RAID和LVM的实现


Linux系统下RAID和LVM的实现

一、本为中主要介绍RAID常用的RAID0、RAID1、RAID01、RAID10、RAID5格式的RAID卷和LVM卷的建立和测试
二、磁盘阵列是一种把若干硬磁盘驱动器按照一定的要求组成一个整体,整体磁盘阵列由阵列控制器管理的系统。冗余磁盘阵列RAID技术1987年由加州大学伯克利分销提出的。
三、RAID基本结束
RAID:Redundant Array of Inexpensive Disks,全称为廉价磁盘冗余阵列。
RAID的基本特性就是组合,捆绑2个或多个物理磁盘成组,形成一个单一的逻辑盘。在RAID内数据以块(chunks)的形式写入组合套中。另一个特性是具备数据校验功能,该校验可以用于RAID级别2、3、4、5、的额外信息,当磁盘失败的情况发生时,校验功能结合完好的磁盘中的数据,可以重建失效的磁盘上的数据。
RAID的优点:提高磁盘的存储容量,多磁盘并行工作,提高了数据的传输率,由于数据的校验功能,提高了数据的可靠性!
四、RAID各个级别的介绍
1、RAID0:条带技术,亦称为带区集。
 所需硬盘:至少2块
 处理数据:把数据分块写入组成RAID的磁盘内,从而提升了I/O速率。
 容错功能:不提供冗余功能,如果有一个磁盘损坏,则所有数据无法使用
 磁盘利用率:nS
 磁盘容量:n
2、RAID1:镜像技术,亦称为磁盘镜像。
 所需硬盘:至少2块
 处理数据:把数据写入一个磁盘上后再复制到此磁盘的镜像盘上进行备份,从而造成写入能力减慢,但是读出的时候速度快。
 容错功能:提供冗余功能,只有保证两个磁盘中的有一个为好的,系统就可以使用此卷内的数据。
 磁盘利用率:1/2
 磁盘容量: n/2
3、RAID10:镜像和条带技术
 所需硬盘:至少4块
 处理数据:先把数据按照RAID1的方式进行镜像存储组合,然后把组合后的RAID1卷当成物理卷进行RAID0组合。从而读、写功能都得到了提高。
 容错功能:利用RAID1技术对数据提供容错功能。
 磁盘利用率:1/2
 磁盘容量: n/2
4、RAID01:条带和镜像技术
 所需硬盘:至少4块
 处理数据:先把数据按照RAID0的方式进行存储组合,然后把组合后的RAID0卷当成物理卷进行RAID1组合。从而读、写功能都得到了提高。
 容错功能:利用RAID1技术对数据提供容错功能。
 磁盘利用率:1/2
 磁盘容量: n/2
5、RAID5:校验码技术
 所需硬盘:至少3块
 处理数据:把数据分别写入其中的n-1块磁盘上,然后在另外一块磁盘上存储数据的校验码,提高了数据的读写能力。
 容错功能:根据效验码提供冗余功能,
 磁盘利用率:(n-1)/n
 磁盘容量: n-1
6、RAID50:校验码和条带存储技术
 所需硬盘:至少6块
 处理数据:先把磁盘安装RAID5进行数据存储,然后再把RAID5安装RAID0的方式组合起来,这样既提供了读写能力,也提供了数据冗余功能。
 容错功能:提供冗余功能
 磁盘利用率:(n-2)/n
 磁盘容量: n-2
五、RAID在linux系统上的实现:
1、RAID的实现有两种方式:硬RAID和软RAID,
 硬RAID是在硬件上进行RAID阵列的假设,要求主机上面具有RAID卡和RAID控制器。然后在计算机BIOS里进行设置,此处先不做详细介绍。
 软RAID:linux系统内核内提供了md模块,来提供在linux系统内进行RAID磁盘阵列架设所需要的服务和支持。
2、mdadm命令;linux系统上建立RAID卷的命令,这是个模式化的命令
 创建模式:
 -C:新建RAID卷
 专用选项:
 -l:选择RAID级别
 -n:硬盘设备个数
 -a:自动为其创建设备文件,后跟yes、no
 -c:指定chunk(数据库)大小,为2的整数次方默认为64K
 -x:指定空闲盘个数--提供冗余,磁盘损坏后直接加载上去
 Fg:创建raid0
 madadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{6,7}
 Mke2fs -j /dev/md0
 Mount /dev/mdo /mnt 
 管理模式:
 -f | --fail :模拟磁盘为损坏盘
 Fg: mdadm /dev/md0 --fail /dev/sda7
 -a | --add :新增硬盘
 Fg:mdadm /dev/md0 -a /dev/sda8
 -r | --remove :移除损坏的硬盘
 监控模式:
 -F
 增长模式:
 -G 
 装配模式:
 -A 
 Fg:mdadm -A /dev/md0 /dev/sda8 /dev/sda9 
3、查看当前系统的RAID信息:
 -D:显示RAID的相关信息
 --detail:显示信息
4、停止RAID阵列
 -S | --stop 
5、将当前RAID信息保存至配置文件,一便以后进行装配
 Mdadm -D --scan > /dev/mdadm.conf
 装配:mdadm -A /dev/md#
六、RAID小练习:
 创建一个空间大小为10G的RAID5设备;其chuck大小为32k;要求此设备开机时可以自动挂载至/backup目录;
 1、先建立3个大小为5G的磁盘分别为sda{5,6,7},文件格式为fd.
 fdisk /dev/sda
 n
 +5G
 t 
 fd
 w
 Partprobe
 创建完成以后查看磁盘效果如下图
 
 2、创建RAID5,并制定chunk为32K,结果如下图
 
3、建立完成,同步结束后效果如下图:
 
4、格式化md0并挂载至/backup目录,并设置为开机启动
 mke2fs -j /dev/md0
 monut /dev/md0 /backup
 
 设置为开机启动:
 Vim /etc/fstab
 
 
七、LVM:由linux内核模块DM:Device Mapper提供,简称为逻辑设备。
 1、LVM设备能提供RAID和LVM2、块照、多路径等功能,在linux系统内通常利用MD来进行RAID,利用DM来设置LVM2。
 2、逻辑卷分为三层:
 第一层:逻辑卷LV(Logical Volume)
 第二层:卷组VG(Volume Group)
 第三层:物理卷PV(Physiacl Volum)
 在创建LVM的时候是从第三层向第一层进行一层一层的创建的,第三层的物理卷在linux系统内文件系统为8e。
 3、物理层PV的创建:
 pvcreate :创建PV 、pvmore:挪动数据、pvremove:擦除PV卷、pvdisplay:显示物理卷的信息、pvscan:扫描并显示系统上的pv卷、pvs:查看pv信息
 Fg:创建物理卷
 pvcreate /dev/sda{10,11}
 4、卷组的创建:
 vgcreate :创建Vg 、vgmore:移除、vgremove:删除vg、vgdisplay:显示vg的信息、vgs:查看vg信息
 Vgcreate -s #:指定pe大小,默认为4Mb,默认单位为mb 
 Fg:创建vg 
 Vgcreate myvg /dev/sda{10,11}
 5、逻辑卷的创建:
 lvcreate、lvreduce、、lvremove(移除lv,后加路径)、lvextend、lvdisplay(查看lv相关信息)、lvs(查看lv信息)
 Lvcreate -L #:指定lv卷的大小
 Lvcreate -n NAME:指定lv的名字
 Fg:创建个50M的lv卷
 Lvcreate -L 50M -n mylv myvg
 mke2fs -j /dev/myvg/mylv 
 6、扩展逻辑卷
 LVM的扩展:先扩展物理卷,再扩展逻辑卷
 lvextend:扩展物理边界
 Lvextend -L [+]# /PATH/TO/PV:+是至增加多大,不接+号时,则为扩展到多大
 resize2fs:扩展逻辑边界
 resize2fs /PATH/TO/LV 5G:扩展逻辑边界到5G
 resize2fs -p /PATH/TO/LV :有多大扩展到多大
 7、缩减逻辑卷
 LVM缩减:先缩减逻辑边界,再缩减物理卷边界、 
 1、不能在线缩减,得先卸载
 2、确保缩减后的空间大小能储存原来所有文件
 3、在缩减之前应该强行检查文件,以确保文件系统处于一致性状态。
 e2fsck -f:强行检查文件
 df -lh:检查利用率
 umount:缩减之前必须先卸载
 e2fsck -f:强行检查文件
 resize2fs /PATH/TO/LV 5G:缩减逻辑卷到5G
 lvreduce -L [-]# /PATH/TO/PV: 缩减物理卷
 重新挂载。 
 8、快照卷:
 1、生命周期为整个数据时长:在这段时长内,数据的增长量不能超出块照卷大小:
 2、快照卷应该是只读的
 3、跟原卷在同一卷组内
 创建快照命令: 
 lvcreate
 -s :指定类型为块照
 -p r|w:表示指定权限
 Fg:创建、还原过程 
 lvcreate -s -L # SLV_NAME -p -r /PATH/TO/LV
 tar jcf /tmp/usrs.tar.bz2 块照挂载点内的内容
 tar -xf /tmp/users.tar.bz2 解压缩 
八、LVM创建练习
创建一个由两个物理卷组成的大小为15G的卷组myvg,要求其PE大小为16M;而后在此卷组中创建一个大小为5G的逻辑卷mylv,此逻辑卷要能在开机后自动挂载至/mnt目录;然后对mylv进行扩展2G
1、创建两个物理卷大小分别为7G和8G的sda{8,9},并设置为lvm格式的磁盘格式8e。
 fdisk /dev/sda
 n 
 
 +7G 
 T
 8e
 W
 pvcreate /dev/sda{8,9}
 
2、创建卷组myvg
 Vgcreate -s 16 myvg /dev/sda{7,8}
 
3、创建逻辑卷mylv
 lvreate -L 5G -n mylv /dev/myvg
4、逻辑卷要能在开机后自动挂载至/mnt目录
 Mke2fs -j /dev/myvg/mylv
 mount /dev/myvg/mylv /mnt
 Vim /etc/fstab内加入启动项
 
 
 5、对然后对mylv进行扩展3G
Lvextend -L +3G /dev/myvg/mylv
 
 

相关内容

    暂无相关文章