16、RAID、LVM、dd命令、btrfs文件系统

    RAID:独立冗余磁盘阵列
        提高IO能力、提高耐用性:添加内存提高IO,添加电池保存断电数据丢失
        级别:多块磁盘组织在一起的工作方式有所不同
        RAID实现方式:
            外接式磁盘阵列:通过扩展卡提供适配能力(BIOS设置RAID)
            内接式RAID:主板集成RAID控制器(BIOS设置RAID)
            软RAID:软件实现
        
        级别:level
            RAID-0:0,条带卷
            RAID-1:1,镜像卷
            RAID-2
            ...
            RAID-5
            RAID-6
            RAID-10:RAID-0和RAID-1组合
            RAID-01
            
            RAID-0:由RAID控制器进行数据分片分散存储到多个磁盘里
                读写性能提升
                可用空间:最小磁盘大小x磁盘个数
                最少2块磁盘
                坏一块磁盘,数据会丢失
            RAID1:由RAID控制器进行数据分片分别存储一份到每个磁盘里
                读性能提升,写性能略有下降
                可用空间:最小磁盘大小
                最少2块磁盘
                坏一块磁盘不影响数据
            RAID-4:最少3块磁盘,一个磁盘做效验(把其它磁盘数据对应以二进制数做异或运算保存)
                读写都要经过效验盘,交验盘压力过大,不常用
            RAID-5:3块磁盘轮流做为效验盘
                读写性能提升
                可用空间:(n-1)x最小盘
                容错能力:只能坏一块磁盘
                最少3块磁盘
            RAID-6:效验码轮流存储在2块磁盘
                读写性能提升
                可用空间:(n-2)x最小盘
                容错能力:只能坏二块磁盘
                最少4块磁盘
            RAID-01:先把磁盘分成两分组进行RAID0,然后在两组RAID0上进行RAID1
            RAID-50:先RAID5,再RAID0
            RAID-10:先把磁盘两两分组进行RAID1,然后在多组RAID1上进行RAID0
                读写性能提升
                可用空间:nx最小磁盘/2
                容错能力:每组可坏一块
                最少4块磁盘
            
            JBOD:将多块磁盘空间合并为一个大的连续空间使用
            
        常用级别:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD
        
        软RAID:生产环境不建议使用
            centos 6软RAID:内核模块md(最好用UUID挂载)
                mdadm:模式化工具
                mdadm [mode] [options]
                    支持RAID级别:LINEAR(JBOD),RAID0,RAID1,RAID4,RAID5,RAID6,RAID10
                    模式
                        创建:-C
                        装配:-A
                        监控:-F
                        管理:-f:标记为损坏,-r:移除,-a:添加
                    raiddevice:/dev/md#
                    devices...:任意块设备
                    创建时options
                        -n #:使用几块设备创建
                        -l #:指明创建级别
                        -a yes|no:自动创建目标设备文件
                        -c b_size:指定块大小
                        -x #:指明空闲盘个数
                mdadm -D /dev/md#:查看已有RAID盘信息
                mdadm -S /dev/md#:停止RAID盘
                
                cat /proc/mdstat:查看RAID盘状态
                
                    
    watch -n1 'free':每1秒执行一次'free'命令并显示到屏幕
                
                
    LVM:逻辑卷管理器
        使用内核dm模块将一个或多个底层块设备组成一个逻辑设备模块
        设备创建为PV物理卷;多个PV组成一个VG卷组,VG把PV按大小分成默认4M的PE块;卷组上创建以n个PE块组成的LV逻辑卷,LV可添加PE进行扩展;LV为独立文件系统可格式化;分配给LV的PE叫LE
        设备文件
            /dev/dm-#
            软链接:/dev/VG_NAME/LV_MANE、/dev/mapper/VG_NAME-LV_NAME
            
        创建LVM
            fdisk /dev/sda#:分区并调整ID号为8e
            PV管理工具
                pvs:显示简单信息
                pvdisplay [/DEVICE]:显示详细信息
                pvcreate /DEVICE:创建PV
                pvremove /DEVICE:删除PV
            VG管理工具
                vgs:显示简单信息
                vgdisplay [VGgroup]:显示详细信息
                vgcreate VGNAME /PV_DEVICE:创建指定VG名的VG包含指定PV
                vgextend VGNAME /PV_DEVICE:添加PV到指定VG
                vgremove VGNAME /PV_DEVICE:移除必须先迁移数据
                    pvmove /PV_DEVICE:迁移PV里数据
            LV管理工具
                lvs:显示简单信息
                lvdisplay [VGgroup]:显示详细信息
                lvcreate -L #[mMgGtT] VG_GNAME:创建指定LV大小包含指定VG组的LV
                    -n NAME:指定LV名
                创建完成格式化设备,挂载设备
                lvremove LV_NAME:删除LV卷
        扩展逻辑卷
            lvextend -L [+]#[mMgGtT] LV_DEVICE:扩展到多大,或扩展加多大
            resize2fs LV_DEVICE:文件系统也扩展到新大小
        缩减逻辑卷(不建议)
            umount LV_DEVICE:必须先卸载
            e2fsck -f LV_DEVICE:强制检测
            resize2fs LV_DEVICE #[mMgGtT]:文件系统缩减到多大
            lvreduce -L [+]#[mMgGtT] LV_DEVICE:LV缩减到多大
            mount LV_DEVICE /DIR:重新挂载
            
        快照卷:snapshot
            用于保存某一刻文件系统元数据,当文件发生变化时备份此文件到快照卷,用于数据备份
            创建快照:对以有的LVS文件系统创建快照
                lvcreate -L #[mMgGtT] -p r -s -n 快照LV_NAME 原LV_NAME
                    -L:指明快照大小
                    -p r:只读
                    -s:指明创建为快照
                    -n:指明快照名
                mount LV_DEVICE /DIR:挂载快照
                
                
    文件系统挂载
        光盘设备文件:/dev/sr0;/dev/cdrom,/dev/cdwr,/dev/dvd,/dev/dvdrw
        mount -r /dev/cdrom /media/cdrom:只读挂载
        
        
    dd命令:更底层系统复制
        dd if=/SRC of=/DEST
            bs=# count=N:指定复制#*N个字节
        dd if=/dev/sda of=/dev/sdb:复制磁盘
        dd if=/dev/sda of=/mbr.bak bs=512 count=1:复制备份mbr
        
        dd if=/dev/zero of=/dev/sdm bs=512 count=1:清空mbr!!!
        



    btrfs:为代替ext3/ext4
        核心特性
            多物理卷支持,可由多个底层物理卷组成,可添加移除修改卷;支持RAID
            写时复制:复制文件,写新文件,更改inode指针
            数据及元数据校验码:用于检查文件是否损坏,并修复
            子卷
            快照:支持快照的快照
            透明压缩
            
        文件系统创建
            mkfs.btrfs
                -L '卷标'
                -d TYPE:指定数据存储类型(RAID0,RAID1,RAID5,RAID6,RAID10,single)默认为single只存一份
                -m TYPE:指定元数据类型(RAID0,RAID1,RAID5,RAID6,RAID10,single,dup)默认为single只存一份
                -O 特性:添加特性
                    -O list-all:列出支持的所有特性
                    
            mkfs.btrfs -L 'mybtr' /dev/sde /dev/sdf:可以直接把2块未分区磁盘创建为一个btrfs,大小为磁盘1+磁盘2
                btrfs filesystem show:查看系统中所有btrfs
                blkid /dev/sde:查看磁盘sde信息
                mount [-t btrfs] /dev/sde|sdf /data:挂载、卸载可选btrfs系统下任意一个设备
            启用压缩
                mount -o compress=lzo|zlib:选择压缩类型挂载
            扩展、缩减文件系统大小
                btrfs filesystem resize +|-5G /挂载点
                btrfs filesystem resize max /挂载点
            已有btrfs添加、移除空间
                btrfs device add /dev/sdg /挂载点
                btrfs device delete /dev/sdg /挂载点:数据自动迁移
            修改数据、元数据存储类型
                btrfs balance start -dconvert=raid# /挂载点
                btrfs balance start -mconvert=raid# /挂载点
                    -d为数据,-m为元数据,raid级别需确认磁盘个数
            子卷管理
                btrfs subvolume list /挂载点:查看文件系统子卷信息
                btrfs subvolume create /挂载点/子卷名:创建子卷
                mount -o subvol=子卷名 /btrfs里任一个sd# /mnt:挂载子卷
                btrfs subvolume show /子卷挂载点:查看子卷信息
                btrfs subvolume delete /挂载点/子卷名:删除子卷
            快照管理
                btrfs subvolume snapshot /子卷名 /挂载点/快照名:创建子卷快照,快照卷和子卷必须在一个卷下
                btrfs subvolume delete /挂载点/快照名:删除快照卷
                cp --refilnk 文件 文件.bak:对文件创建快照,2个文件必须在一个卷或子卷下
            文件系统转换
                先umount卸载,再强制检查fsck -f /dev/sdg1
                btrfs-convert /dev/sdg1:转换ext4成btrfs
                btrfs-convert -r /dev/sdg1:转换btrfs成ext4
               

你可能感兴趣的:(马哥视频学习)