RAID:
Redundant Arrays of Inexpensive Disks
Independent Berkeley: A case for Redundent Arrays of Inexpensive Disks RAID 提高IO能力:
磁盘并行读写;
提高耐用性;
磁盘冗余来实现 级别:多块磁盘组织在一起的工作方式有所不同;
RAID实现的方式:
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器
Software RAID: 级别:level
RAID-0:0, 条带卷,strip;
RAID-1: 1, 镜像卷,mirror;
RAID-2
..
RAID-5:
RAID-6
RAID10
RAID01 RAID-0: 以条带形式将数据均匀分布在阵列的各个磁盘上;
读、写性能提升;
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2, 2+
适用领域:视频生成和编辑、图形编辑,其它需要大的传输带宽的操作; RAID-1:以镜像为冗余方式,对虚拟磁盘上的数据做多份拷贝,放在成员磁盘上
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2, 2+
适用领域:财务、金融等高可用、高安全的数据存储环境 RAID-4:数据交叉存储在2块硬盘中,再由第3块硬盘存储数据的校验码;
1101, 0110, 1011 RAID-5:采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上;
读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:1块磁盘
最少磁盘数:3, 3+
适用领域:文件服务器、email服务器、web服务器等环境,数据库应用
RAID-6:用2块盘做校验盘,校验码存两次;
读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:2块磁盘
最少磁盘数:4, 4+ 混合类型
RAID-10:结合RAID1和RAID0,先镜像,再条带化;
读、写性能提升
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块;
磁盘数:2n(n>=2)
优点:读性能很高,写性能比较好,数据安全性好,允许同时有N个磁盘失效;
缺点:利用率只有50%,开销大;
适用领域:多用于要求高可用性和高安全性的数据库应用;
RAID-01:先分成两组做成RAID-0,再把组成的RAID-0做成RAID-1;不符合常用方法,每一组有一块坏的硬盘可能性大; RAID-50、RAID7
适用领域:大型数据库服务器、应用服务器、文件服务器等应用;
JBOD:Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用;
可用空间:sum(S1+S2+,...) 常用级别:
RAID-0 性能最好
RAID-1 冗余度最高,开销高
RAID-5
RAID-10 开销高
RAID-50
JBOD 实现方式:
硬件实现方式
软件实现方式 CentOS 6上的软件RAID的实现:
结合内核中的md(multi devices) mdadm:模式化的工具
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10; 模式:
创建:-C
装配: -A
监控: -F
管理:-f, -r, -a <raiddevice>: /dev/md#
<component-devices>: 任意块设备 -C: 创建模式
-n #: 使用#个块设备来创建此RAID;
-l #:指明要创建的RAID的级别;
-a {yes|no}:自动创建目标RAID设备的设备文件;
-c CHUNK_SIZE: 指明块大小;(默认512k)
-x #: 指明空闲盘的个数; 例如:创建一个#G可用空间的RAID5;
[root@study ~]# mdadm -C /dev/md0 -n 3 -x 1 -a yes -l 5 /dev/sdb{5,6,7,8}
[root@study ~]# mke2fs -t ext4 /dev/md0
[root@study /]# mount /dev/md0 /mydata
[root@study /]# mdadm -D /dev/md0 -D:显示raid的详细信息;
mdadm -D /dev/md# 管理模式:
-f: 标记指定磁盘为损坏;
-a: 添加磁盘
-r: 移除磁盘 观察md的状态:
cat /proc/mdstat -S: 停止md设备
mdadm -S /dev/md# watch命令:
-n #: 刷新间隔,单位是秒; watch -n# 'COMMAND' 练习1:创建一个可用空间为10G的RAID1设备,要求其chunk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录;
练习2:创建一个可用空间为10G的RAID10设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录; 博客作业:raid各级别特性; LVM2: LVM: Logical Volume Manager, Version: 2 dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块;
/dev/dm-# /dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root pv管理工具:
pvs:简要pv信息显示
pvdisplay:显示pv的详细信息 pvcreate /dev/DEVICE: 创建pv vg管理工具:
vgs
vgdisplay vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
先做pvmove vgremove lv管理工具:
lvs
lvdisplay lvcreate -L #[mMgGtT] -n NAME VolumeGroup lvremove /dev/VG_NAME/LV_NAME 扩展逻辑卷:
# lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME 缩减逻辑卷:
# umount /dev/VG_NAME/LV_NAME
# e2fsck -f /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
# lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
# mount 快照:snapshot
lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name 练习1:创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录; 练习2: 新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录; 练习3:扩展testlv至7G,要求archlinux用户的文件不能丢失; 练习4:收缩testlv至3G,要求archlinux用户的文件不能丢失; 练习5:对testlv创建快照,并尝试基于快照备份数据,验正快照的功能; 文件系统挂载使用:
挂载光盘设备:
光盘设备文件:
IDE: /dev/hdc
SATA: /dev/sr0 符号链接文件:
/dev/cdrom
/dev/cdrw
/dev/dvd
/dev/dvdrw mount -r /dev/cdrom /media/cdrom
umount /dev/cdrom dd命令:convert and copy a file
用法:
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST
bs=#:block size, 复制单元大小;
count=#:复制多少个bs; 磁盘拷贝:
dd if=/dev/sda of=/dev/sdb 备份MBR
dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1 破坏MBR中的bootloader:
dd if=/dev/zero of=/dev/sda bs=256 count=1 两个特殊设备:
/dev/null: 数据黑洞;
/dev/zero:吐零机; 博客作业:lvm基本应用,扩展及缩减实现; 回顾:lvm2, dd
lvm: 边界动态扩展或收缩;快照;
pv --> vg --> lv
PE:
LE: dd: 复制

  

LVM和RAID的更多相关文章

  1. 双机相关知识(原理、LVM、Raid技术)

    1        双机知识 1.1         预备知识 1.1.1     基本概念 双机热备:双机热备双机管理软件可以根据心跳自动检测环境运行情况,如果发现一个节点挂掉了,会自动切换到另外一个 ...

  2. 每天进步一点点——Linux磁盘管理LVM与RAID

    转载请注明出处:http://blog.csdn.net/cywosp/article/details/38965799 1. 传统磁盘管理问题 当分区大小不够用时无法扩展其大小,仅仅能通过加入硬盘. ...

  3. LVM与RAID阵列

    创建LVM分区: 相关命令: pvcreat /dev/sdb{1,2,3} 创建物理卷 vgcreat test_vg1 /dev/sdb1 创建卷组     vgcreat test_vg2 -s ...

  4. Linux命令应用大词典-第21章 LVM和RAID管理

    21.1 pvcreate:创建物理卷 21.2 pvscan:列出找到的物理卷 21.3 pvdisplay:显示物理卷的相关属性 21.4 vgcreate:创建卷组 21.5 vgscan:查找 ...

  5. CentOS下配置LVM和RAID

    1.CentOS配置LVM http://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html http://ww ...

  6. Linux磁盘管理系列 — LVM和RAID

    一.逻辑卷管理器(LVM) 1.什么是逻辑卷管理器(LVM) LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对卷进行操作的抽象层. LVM是建立在硬盘 ...

  7. [daily][archlinux][mdadm][RAID] 软RAID

    一, 使用mdadm创建RAID 参考:https://wiki.archlinux.org/index.php/RAID 1.  安装 mdadm /home/tong [tong@TStation ...

  8. 软RAID 0的技术概要及实现

    1 什么是RAID,RAID的级别和特点 : 什么是RAID呢?全称是 “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,在1987年 ...

  9. LVM 认知与扩容操作

    继上次 "Linux系统如何迁移至LVM磁盘"反响不错,近三百的访问量吧.这次想续写点东西,主要讲的是"LVM认知和扩容操作".因为网上大多数不准确,可能作者也 ...

随机推荐

  1. mac 下安装caffe(二)

    使用Anaconda Python 1.brew edit opencv args << "-DPYTHON_LIBRARY=#{py_lib}/libpython2.7.#{d ...

  2. mac 下安装Anaconda Python

    # 将anaconda的bin目录加入PATH echo 'export PATH="/Users/work/anaconda/bin/:$PATH"' >> ~/.b ...

  3. WCF问题集锦:ReadResponse failed: The server did not return a complete response for this request.

    今日.对代码进行单元測试时.发现方法GetAllSupplyTypes报例如以下错误: [Fiddler] ReadResponse() failed: The server did not retu ...

  4. QT信号槽与Delphi事件的对比

    最近学QT,对信号槽机制感到有点新鲜: QObject::connect(slider, SIGNAL(valueChanged(int)), lcd, SLOT(display(int))); 自己 ...

  5. POJ3090 巧用欧拉函数 phi(x)

    POJ3090 给定一个坐标系范围 求不同的整数方向个数 分析: 除了三个特殊方向(y轴方向 x轴方向 (1,1)方向)其他方向的最小向量表示(x,y)必然互质 所以对欧拉函数前N项求和 乘2(关于( ...

  6. [App Store Connect帮助]三、管理 App 和版本(1)添加 App 至您的帐户

    在向 App Store Connect 上传您 App 的构建版本之前,您必须先在您的 App Store Connect 帐户内新建一个 App. 如果您想将 iOS App 和 Apple TV ...

  7. [Swift通天遁地]八、媒体与动画-(3)实现视频播放的水印、Overlay、暂停时插入广告等效果

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  8. 上传Android代码到gerrit服务器

    1. 配置default.xml default.xml是跟Android代码配套的,可参考google Android源码下的default.xml(.repo/manifests/default. ...

  9. 6.11---multipartfile在哪个jar包下---6.11---uuid---swagger上传图片包错去掉注解响应体

    <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupl ...

  10. <assert.h>

    Diagnostics 定义宏: void assert (scalar-expression); 若expression为0,则打印出错信息(类似Assertion failed: expressi ...