磁盘配额、软RAID使用、LVM管理

一.磁盘配额的相关知识

(1)工作原理及方式

        *以文件系统为单位启动

        *以特定的用户或组为对象

        *根据块或节点进行限制

        *在内核中运行

        *VFAT系统不支持quota

(2)初始化

        *分区挂载选项:usrquota grpquota

        *初始化数据库:quotacheck  扫描文件系统并新建quota配置文件

            quota [option] [/mount_point]

                -a 扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数后,挂载点可以不写,因为扫描所有系统了

                -v 显示过程

                -u 针对用户扫描文件与目录的使用情况,会新建aquota.user

                -g 针对用户组扫描文件与目录的使用情况,会新建aquota.group

(3)执行

                *开启或者取消配额:quotaon、quotaoff   参数和quotacheck的a v u g 参数作用一致

                *直接编辑配额:edquota username

                    edquota使用详解:edquota -t

                    dequota -p 范本账号 -u 新账号

                                -u user

                                -g group

                                -t 修改宽限时间

                                -p 复制范本

                *在shell中直接编辑:

                        setquota username softblock hardblock softinode hardinode 设置配额的文件系统

                *定义原始标准用户

                        edquota -p user1 user2

(4)报告

    *用户调查 quota

            -u 显示出该用户的quota,不加用户,显示执行者quota

            -g 显示该用户组的quota

            -v 显示每个用户在文件系统中的quota值

            -s 使用1024位倍数来制定单位,会显示如M之类的单位

    *配额概述:repquota

        -a 直接到/etc/mstab查询具有quota标志的文件系统,并报告quota的结果

        -v 输出的数据含有文件系统相关的详细信息

        -u 显示用户的quota值,默认选项

        -g 显示个别组的quota值

        -s 使用G M为单位显示结果

    *其他工具:warnquota   当针对某用户的磁盘限额达到soft值时,执行此命令会发邮件给该用户

实例:针对/home目录设置quota,并给tian,tianzhi用户设置quota

  1. 由于quota是针对文件系统的,查看/home是不是独立文件系统

    1.png

  2. 位避免不必要的权限问题,建议关掉selinux

    2.png

  3. 给/home目录加上usrquota挂载选项

    3.png

  4. 用quotacheck -a 检查文件系统并创建配置文件

    4.png

  5. 开启quota并查看其状态

    5.png

  6. 针对tian用户设置quota

    6.png

  7. 给tianzhi用户设置磁盘配额

    7.png

  8. 切换到tian用户下,创建一个300M大小文件;显示超过警报线

    8.png

  9. 创建一个520M文件;结果显示创建失败

    9.png

二.RAID(Redudant Arrays of Inexpensive Disks)  结合内核中的md(multi devices)

(1)多个磁盘合成一个阵列来提供更好的性能、冗余

        提高I/O能力:磁盘并行读写

        提高耐用性:磁盘冗余来实现

        级别:多块磁盘组合在一起的方式不同

(2)raid实现方式

    外接式磁盘阵列:通过拓展卡提供适配能力

    内接式RAID:主板集成RAID控制器

        安装OS前在BIOS里设置

    Software Raid:

(3)RAID级别

        RAID-0:

        读、写性能提升;

        可用空间:N*min(S1,S2,…)

        无容错能力

        最少磁盘数:2, 2

        RAID-1:

        读性能提升、写性能略有下降;

        可用空间:1*min(S1,S2,…)

        有冗余能力

        最少磁盘数:2, 2N

        RAID-4:

        多块数据盘异或运算值,存于专用校验盘

        RAID-5:

        读、写性能提升

        可用空间:(N-1)*min(S1,S2,…)

        有容错能力:允许最多1块磁盘损坏

        最少磁盘数:3, 3+

        RAID-6:

        读、写性能提升

        可用空间:(N-2)*min(S1,S2,…)

        有容错能力:允许最多2块磁盘损坏

        最少磁盘数:4, 4+

        RAID-10:  比RAID-01性能好

        读、写性能提升

        可用空间:N*min(S1,S2,…)/2

        有容错能力:每组镜像最多只能坏一块

        最少磁盘数:4, 4+

        RAID-01、RAID-50

        RAID7:可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式

        JBOD:Just a Bunch Of Disks

        功能:将多块磁盘的空间合并一个大的连续空间使用

        可用空间:sum(S1,S2,…)

(4)mdadm:为软RAID提供管理界面(感觉不好用)

    mdadm [mode] <raiddevice> [options] <component-devices>

    创建磁盘阵列

        mdadm –create –auto=yes /dev/md[0-9] –raid-device=n –level=[0 1 5] –spare-device=m /dev/sdx….

    查看磁盘阵列信息

        mdadm –detail 磁盘阵列名

        cat /proc/mdstat

    管理磁盘阵列

        mdadm –manage /dev/md[0-9] [–add 设备] [–remove 设备] [–fail 设备]

    软磁盘阵列配置文件

        /etc/mdadm.conf

        生成配置文件  mdadm -D  -s >> /etc/mdadm.conf

    关闭磁盘阵列

        mdadm –stop /dev/md*

实例:用5块磁盘创建一个raid5,并模拟实现raid5容错功能

  1. 新建分区,分区标识符为fd,其他几个分区类似

    1.1.png

  2. 创建raid

    1.2.png

  3. 查看/dev/md0信息

    1.3.png

  4. 把/dev/md0格式化后挂载到/mnt/raid下边

    1.4.png

    1.5.png

  5. 在/mnt/raid新建文件f1,使得/dev/sdd1处于出错状态

    1.6.png

  6. 查看md0信息

    1.7.png

    发现原来的空闲分区/dev/sde2处于工作状态,而/dev/sdd1处于出错状态

  7. 最后发现在centos6.8环境下,不管模拟几块硬盘出错误,文件都能看,而且不是以内文件小于chunk的原因,

    由于此处仅是帮助理解raid原理,故不作深究

三.逻辑卷相关知识详解

(1)逻辑卷可以弹性调整文件系统的容量,raid在于性能与数据的保全

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

        *设备名:/dev/dm-#

        *软链接:

         /dev/mapper/VG_NAME-LV_NAME

            /dev/mapper/vol0-root

        /dev/VG_NAME/LV_NAME

            /dev/vol0/root

        *PE默认大小为4M

        *逻辑卷存储方式: 线性方式,类似于raid 0

                                    交错方式(triped):类似于raid 1

(2)pv管理工具

        pvcreate:将物理分区新建为pv

        pvscan:查询系统内哪些磁盘具有pv

        pvdisplay:显示目前系统上pv状态

        pvs:简要pv信息

        pvremove:让该分区不具有pv属性

        pvmove :移动PE

(3)vg管理工具

        vgcreate  [-s n[mgt]] 指定PE大小   单位大小写均可

        vgscan

        vgs

        vgdisplay

        vgremove:删除一个VG

        vgextend:在VG内增加额外的PV

        vgreduce:在VG内删除pv

        vgchange:设置VG是否启动

(4)lv管理工具

        lvcreate

        lvscan

        lvs

        lvdisplay

        lvextend    可以确实改变文件系统大小

        lvreduce

        lvremove

        lvresize:对LV容量大小进行调整

        lvcreate [-L n[mgt]] [-n LV名称] VG名称

        lvcreate [-l n] [-n LV名称] VG名称

        参数:

            -L 后边接容量,最小单位是PE

            -l 后边接的是PE的个数

            -n 接的是LV的名称

重设文件系统大小

    fsadm[options] resize device [new_size[BKMGTEP]]

    resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

(5)xfs_growfs device     xfs文件系统确实增长   不可减少

(6)lvm的系统快照

        *快照是特殊的逻辑卷,它是在快照生成时逻辑卷的准确拷贝

        *快照只有在他们和原来的逻辑卷不同时才会消耗空间

        *快照中只含有原逻辑卷中更改的数据以及手动在快照文件中改变的数据

        *快照去与被快照的lv卷在同一个vg中

    快照区的新建:

        lvcreate -l #1 -s -n 快照去设备名称 被快照lv卷

    利用快照区复原系统:

           1 把快照区当下文件全部备份

           2取消快照区的挂载,如果先取消被快照区,会把快照去溢满

           3 取消被快照区的挂载,重新格式化、挂载被快照区,然后把备份文件解压缩到被挂载区

           4 利用快照去构建测试环境:

    创建快照区

          1  取消被快照区的挂载(可有可无,隐藏起来较好)

          2  随意操作快照区

          3 重新格式化快照区,并在次创建快照区

作业:

1、创建一个至少有两个PV组成的大小为15G的名为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创建快照,并尝试基于快照备份数据,验正快照的功能

  1. 创建两个分区id为8e的分区,如下所示

    1.png

  2. 创建pv,并显示信息

    2.png

    3.png

  3. 创建PE大小为16MB的卷组testvg,大小为15G

    4.png

  4. 创建大小为5G的逻辑卷testlv

5.png

5.格式化逻辑卷后,把挂载逻辑卷到/users下

6.png

实际上lvm使用的设备是放在/dev/mapper/目录下,所以会看到上诉第二个红线所画部分

6.新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录

7.png

8.png

显示当前文件所占大小

1.png

7.扩展testlv到7G大小,查看数据大小

2.png

发现数据大小不变,数据应该没有丢失

查看逻辑卷所在文件系统大小,发现大小依旧为5G

3.png

8.用resize2fs改变文件系统大小

5.png

查看数据大小,发现大小没变

4.png

8.收缩/testlv至3G,要求不损坏数据

(1)先用resize2fs直接缩小文件系统大小,发现不支持在线修改

6.png

(2)取消/dev/testvg/testlv挂载,然后检查文件系统

7.png

(3)缩减所建文件系统的大小到3G

1.png

8.png

(4)为不损坏数据,缩小后的lvm大小必须大于数据大小

9.png

发现缩减后的lvm大小远大于文件数据大小

9.对/dev/testvg/testlv创建快照

(1)为/dev/testvg/testlv创建快照

2.png

(2)挂载到/snapshot下,结果如下

4.png

(3)查看快照区与被快照区的内容

5.png

(4)在/users下添加issue文件,查看快照去区使用情况

6.png

(5)把快照区内容打包备份,然后取消快照区的挂载;要不一会儿格式化被快照区,快照区会溢满

7.png

(6)卸载快照区,重新格式化快照区,然后挂载到/users下,再把打包文件解压缩到/users下

11.png

12.png

13.png

发现/users下并没有新添加的issue文件,快照功能实现

原创文章,作者:mengzhiqian,如若转载,请注明出处:http://www.178linux.com/42635

(0)
mengzhiqianmengzhiqian
上一篇 2016-09-06
下一篇 2016-09-06

相关推荐

  • 优云运维安全专家实践:使用802.1X+FreeRadius+LDAP实现网络准入方案

    本文,将为大家分享运维前沿在网络准入管理方面的实践经验。 网络准入业界常用方案 为了保证网络资源的安全,拒绝非法入侵,现代IT网络总需要一定的网络准入方案,而目前业界常用的网络准入方案有: 而今天给大家介绍的802.1X+FreeRadius+LDAP网络准入方案,则避免了上述方案中的缺点,是一套低成本,控制能力强,符合行业标准的一套网络准入认证体系。 什么…

    安全运维 2016-07-10
  • 关于IO的同步,异步,阻塞,非阻塞

    上次写了一篇文章:Unix IO 模型学习。恰巧在这次周会的时候,@fp1203 (goldendoc成员之一) 正好在讲解poll和epoll的底层实现。中途正好讨论了网络IO的同步、异步、阻塞、非阻塞的概念,当时讲下来,大家的理解各不相同,各执己见。搜索了网络上的一些文章,观点也各不相同,甚至连wiki也将异步和非阻塞当成一个概念在解释。  &…

    Linux干货 2015-04-02
  • btrfs管理和应用

    一、btrfs概念        在btrfs中存在三种类型的数据,data, metadata和system。它们表示:        DATA           数据块。       &nbsp…

    系统运维 2016-04-12
  • 几个正则表达式和find查找语句事例

    显示当前系统上root、fedora、或user1用户的默认shell; ~]# grep -E "^(root|bin|hadop)" /etc/passwd | cut -d: -f7 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如: hello(); ~]#grep -E -o &qu…

    Linux干货 2016-10-30
  • Linux用户、组管理和正则表达式的基础命令

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何权限 [root@localhost skel]# cp -r /etc/skel /home/tuser1 [root@localhost skel]# ls -al /home/tuser1 total 12 drwxr-xr-x.…

    Linux干货 2017-07-20
  • 网络班26期-第1周课程作业

    1、描述计算机的组成及其功能? (1)CPU:计算机的大脑,计算机的运算,命令的控制功能,寄存器及缓存都由CPU功能承担; (2)内存:RAM,随机访问存储器,计算机的另一个核心功能,系统指令存放及运行的基础。 (3)输入设备:人工给计算机下指令的设备,例如鼠标,键盘等; (4)输出设备:计算机输出人工输入的执行命令的结果;例如,音响,显示屏等; …

    Linux干货 2017-01-10

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-20 10:58

    写的很好·哦,坚持写下去,不要半途而废哦,