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语法的更多相关文章

  1. lvm语法2

    LVM组成; LVM:logic volume manager .LVM即逻辑卷管理,现在使用版本为第二版,即version2 逻辑卷:pv,physical volume,即计算机上的磁盘设备,例如 ...

  2. Creating LVM Logical Volumes

    LVM-Logical Volume Manager逻辑卷管理的一些基本概念: 用途: 在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区.当系统添加了新的磁盘,通 ...

  3. linux lvm管理扩展 RAID磁盘阵列管理

    LVM逻辑卷将多个物理分区/磁盘从逻辑上组合成一个更大的整体,从其中划分出不同的逻辑分区,逻辑分区的大小可以根据需要扩大,缩减!!!!/boot用来存放引导文件,不要基于LVM创建 PV(物理卷)物理 ...

  4. vgcreate语法

    vgcreate 用于创建LVM卷组 补充说明 vgcreate命令 用于创建LVM卷组.卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节.在卷组上创建逻辑卷时不用考虑 ...

  5. 第8天【文件系统挂载、ext文件系统及read命令、Linux RAID、lvm应用】

    文件系统挂载与管理工具(01)_recv 文件系统管理: 将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行成为挂载: 解除此关联关系的过程 吧设备关联挂载点: ...

  6. LVM : 缩减文件系统的容量

    有扩展就有缩减,我们在前文<LVM : 扩展文件系统的容量>中介绍了通过 LVM 扩展文件系统的方法,本文我们接着前文的 demo 介绍通过 LVM 缩减文件系统的方法.说明:本文的演示环 ...

  7. linux LVM详解

    1.创建及删除步骤1)创建:linux partition-->pv-->vg-->lv-->fs-->mount2)删除:umount-->lv-->vg- ...

  8. LVM卷的创建及案例演示

    LVM:Logical Volume Manager, Version:2dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块. /dev/dm-# 这里的#表示数字,代 ...

  9. ansible playbook模式及语法

    一.什么是playbook及其组成 什么是playbook playbook 翻译过来就是"剧本" playbook的组成 play:定义的是主机的角色 task:定义的是具体执行 ...

随机推荐

  1. LINUX内核PCI扫描过程

    LINUX内核PCI扫描过程 内核版本 3.10.103 1. ACPI热插拔扫描subsys_initcall(acpi_init)@drivers/acpi/bus.c |-acpi_scan_i ...

  2. channels 2.x的使用

    转载:https://www.vimiix.com/post/2018/07/26/channels2-tutorial/ 认识 Channels 之前,需要先了解一下 asgi ,全名:Asynch ...

  3. Golang安装与命令

    1. 安装 Windows -  https://golang.org/dl/ 下载msi安装包,点击安装即可.安装后cmd运行go version弹出版本号即安装成功. 2. 命令行 生成exe文件 ...

  4. vue引用ionic4

    现在的Ionic4已经开始支持VUE和REACT了.个人之前开发用IONIC.现在用VUE开发还是想用IONIC.刚好 也是支持VUE了. 在vue的项目里安装ionic依赖 npm install ...

  5. hadoop知识点总结

    (一).hadoop的内置数据类型都实现了writablecompareable,以便序列化和网络传输及文件存储 a自定义数据类型作为输入 1.实现writable接口 2.如果给数据需要比较大小时, ...

  6. Analysis servlet

    @WebServlet("/cdiservlet") public class NewServlet extends HttpServlet { private Message m ...

  7. Spring Boot Actuator [监控与管理]

    1. 如何添加 2. actuator 的原生端点(API) 2.1 应用类配置 2.1.1 http://localhost:8080/actuator/conditions 2.1.2 http: ...

  8. Response重定向实现参数隐藏

    最近在弄一个SSH项目,前期已经做好了,现在的需求是进行单点登陆实现,涉及到重定向跳转(带有参数那种)情况,但是不能在地址栏上出现参数的信息,需要进行参数的隐藏跳转.由于时间比较急,本人没来得及开发一 ...

  9. 图书馆管理系统(C语言)

    /* 实现的功能 * @ 1. 录入图书的信息 * @ 2. 给定图书的编号,显示该图书的详细信息 * @ 3. 给定作者的姓名,可以显示该作者所有的书 * @ 4. 给定出版社,可以显示该出版社出版 ...

  10. 开发企业微信打卡API笔记

    获取企业微信打开API上面的数据 根据企业ID和打卡模块的secret获取access_token 打卡传参body为json格式的字符传 创建打卡对象把参数写入,useridlist为list格式. ...