Linux系统管理——高级文件系统管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统管理——高级文件系统管理相关的知识,希望对你有一定的参考价值。

1、设定文件系统配额


1.1、要求

    在内核中执行    
    以文件系统为单位启用
    对不同组或者用户的策略不同
    根据块或者节点进行限制
        执行软限制(soft limit)
        硬限制(hard limit)



1.2、初始化

    分区挂载选项:usrquota、 grpquota
    初始化数据库:quotacheck




1.3、为用户设定配额


执行:

    开启或者取消配额:quotaon、 quotaoff    
    直接编辑配额:edquota username
    在shell中直接编辑:
        etquota usename 4096 5120 40 50 /foo
    定义原始标准用户
        dquota -p user1 user2


报告配额状态

    用户调查:quota username
    配额概述:repquota /mountpoint
    其它工具:warnquota




2、raid阵列


RAID:

    Redundant Arrays of Inexpensive(Independent) Disks
    多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供。



优势:

提高IO能力:
    磁盘并行读写;
    
提高耐用性;
    磁盘冗余来实现;
    
级别:多块磁盘组织在一起的工作方式有所不同;



RAID实现的方式:
    外接式磁盘阵列:通过扩展卡提供适配能力。
    内接式RAID:主板集成RAID控制器;安装OS前在Bios里配置。
    软件RAID:通过OS实现。




RAID级别:

    RAID-0:条带卷,strip
    RAID-1: 镜像卷,mirror
    RAID-2
    ..
    RAID-5
    RAID-6
    RAID-10
    RAID-01
    RAID-50
    JBOD:Just a Bunch Of Disks;
        功能:将多块磁盘的空间合并一个大的连续空间使用
        可用空间:sum(S1,S2,...)


常用级别:
    RAID-0, RAID-1, RAID-5, RAID-10, RAID-50,JBOD


2.1、软raid的实现


mdadm:
    为软RAID提供管理界面;
    
为空余磁盘添加冗余

结合内核中的md(multi devices)

RAID设备可命名为/dev/md0、 /dev/md1、 /dev/md2、/dev/md3等;


2.1、语法


语法:

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: 指明块大小
    -x #: 指明空闲盘的个数
    
-D:显示raid的详细信息;
    mdadm -D /dev/md#
管理模式:
    -f: 标记指定磁盘为损坏
    -a: 添加磁盘
    -r: 移除磁盘
观察md的状态:
    cat /proc/mdstat



2.2、软RAID配置示例

    使用mdadm创建并定义RAID设备    
        mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1
        /dev/sdc1 /dev/sdd1 /dev/sde1
        
    用文件系统对每个RAID设备进行格式化
        mke2fs -j /dev/md0
        
    测试RAID设备
    
    使用mdadm检查RAID设备的状况
        mdadm --detail|D /dev/md0
        
    增加新的成员
        mdadm –G /dev/md0 –n4 -a /dev/sdf1



2.3、软RAID测试和修复

    模拟磁盘故障: 
        mdadm /dev/md0 -f /dev/sda1
        
    移除磁盘:
        mdadm /dev/md0 –r /dev/sda1
        
    从软件RAID磁盘修复磁盘故障:
        替换出故障的磁盘然后开机
        在备用驱动器上重建分区
        mdadm /dev/md0 -a /dev/sda1
    
    mdadm、 /proc/mdstat及系统日志信息;




2.4、软RAID管理

    生成配置文件:mdadm –D –s >> /etc/mdadm.conf    
    停止设备:mdadm –S /dev/md0
    
    激活设备:mdadm –A –s /dev/md0 激活
    强制启动:mdadm –R /dev/md0
    
    删除raid信息:mdadm --zero-superblock /dev/sdb1




3、逻辑卷管理器(LVM)


作用:

允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小;
允许在多个物理设备间重新组织文件系统;

    将设备指定为物理卷;   
    用一个或者多个物理卷来创建一个卷组;
    物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的;
    在物理卷上创建的逻辑卷;
    是由物理区域(PE)组成;
    可以在逻辑卷上创建文件系统;


dm: device mapper:将一个或多个底层块设备组织成一个逻辑设备的模块;

设备名:/dev/dm-#

软链接:

    /dev/mapper/VG_NAME-LV_NAME    
    /dev/mapper/vol0-root
    /dev/VG_NAME/LV_NAME
    /dev/vol0/root


删除逻辑卷必须先删除LV,再删除VG,最后删除PV


3.1、管理工具


pv管理工具:
    显示pv信息
        pvs:简要pv信息显示
        pvdisplay
    创建pv
        pvcreate /dev/DEVICE



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
        lvcreate -l 60%VG -n mylv testvg
        lvcreate -l 100%FREE -n yourlv testvg
    删除逻辑卷
        lvremove /dev/VG_NAME/LV_NAME
    重设文件系统大小
        fsadm [options] resize device [new_size[BKMGTEP]]
        resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]


3.2、扩展和缩减逻辑卷实现


扩展逻辑卷:

    lvextend -L [+]#[mMgGtT]     /dev/VG_NAME/LV_NAME
    
    resize2fs /dev/VG_NAME/LV_NAME
    
    lvresize -r -l +100%FREE /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



跨主机迁移卷组:

源计算机上:
    1 在旧系统中,umount所有卷组上的逻辑卷
    2 vgchange –a n vg0
      lvdisplay
    3   vgexport vg0
        pvscan
        vgdisplay
        拆下旧硬盘

在目标计算机上:
    4 在新系统中安装旧硬盘,并vgimport vg0.
    5 vgchange –ay vg0
    6 mount所有卷组上的逻辑卷



创建逻辑卷示例:

创建物理卷
    pvcreate /dev/sda3
为卷组分配物理卷
    vgcreate vg0 /dev/sda3
从卷组创建逻辑卷
    lvcreate -L 256M -n data vg0
    mke2fs -j /dev/vg0/data
    mount /dev/vg0/data /mnt/data



3.3、逻辑卷管理器快照


    快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝;    
    对于需要备份或者复制的现有数据集临时拷贝以及其它操作来说,
    快照是最合适的选择;
    快照只有在它们和原来的逻辑卷不同时才会消耗空间;
    在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或
    者快照有所改变才会使用这些空间;

    当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。
    快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快
    照中更改的数据;

    建立快照的卷大小只需要原始逻辑卷的15%~20%就够了,也可
    以使用lvextend放大快照;
    快照就是将当时的系统信息记录下来,就好像照相一般,若
    将来有任何数据改动了,则原始数据会被移动到快照区,没
    有改动的区域则由快照区和文件系统共享;

    由于快照区与原本的LV共用很多PE的区块,因此快照去与被
    快照的LV必须在同一个VG.系统恢复的时候的文件数量不能高
    于快照区的实际容量;




使用LVM快照:

    为现有逻辑卷创建快照:
        lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data
    挂载快照:
        mkdir -p /mnt/snap
        mount -o ro /dev/vg0/data-snapshot /mnt/snap
    恢复快照:
        umount /dev/vg0/data-snapshot
        umount /dev/vg0/data
        lvconvert --merge /dev/vg0/data-snapshot
    删除快照:
        umount /mnt/databackup
        lvremove /dev/vg0/databackup


以上是关于Linux系统管理——高级文件系统管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux 第15天: (08月29日) Linux高级文件系统管理

linux之高级文件系统管理

Linux-- 高级文件系统管理

Linux 高级文件系统管理之LVM

linux高级文件系统管理——btrfs

linux高级文件系统管理概述:处理交换分区设置文件系统配额配置raid和逻辑卷