第七周

第七周

  • 1

    创建一个10G分区,并格式为ext4文件系统;
       (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;
       (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;
    # mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1;
    # mount -o acl,noatime,noauto -L MYDATA /data/mydata
  • 2

    创建一个大小为1G的swap分区,并创建好文件系统,并启用之;
    # fdisk /dev/sdb       ///   sdb5  大小1G  类型82
    # partprobe 
    # cat /proc/partitions
    # mkswap /dev/sdb5
    # free -m
    # swapon /dev/sdb5
    # free -m
  • 3

        写一个脚本
           (1)、获取并列出当前系统上的所有磁盘设备;
           (2)、显示每个磁盘设备上每个分区相关的空间使用信息;
    
        #!/bin/bash
        ls /dev/[sh]d*
        fdisk -l `ls /dev/[sh]d*`
  • 4

    总结RAID的各个级别及其组合方式和性能的不同;
        raid级别:
            raid 0 : 条带卷
                     至少需要两块磁盘,两块磁盘并行处理数据,将数据分两部分读写
                     读写性能提高,raid中性能最高
                     无容错性
                     可用空间: N*min(s1,s2...)
    
            raid 1 : 镜像卷
                     至少需要两块磁盘,两块磁盘存储相同数据,用于备份
                     读写性能相当于一块独立磁盘,无提升
                     容错性高,raid中容错性最高
                     可用空间: 1*min(s1,s2...)
    
            raid 4 : 至少三块磁盘
                        两块磁盘做数据存储,第三个用于独立存储数据校验码
                     读写性能提高
                     有容错性为一块磁盘
    
            raid 5 : 至少三块磁盘
                        三块磁盘存储数据及校验码,校验码分别存储在三个磁盘上
                     读写性能提高
                     有容错性为一块磁盘
                     可用空间: (N-1)*min(s1,s2...)
    
            raid 6 : 至少四块磁盘
                     比raid5第二个独立的奇偶校验信息块,分别以不同算法计算
                     读写性能提高
                     有容错性为两块磁盘
                     可用空间: (N-2)*min(s1,s2...)
    
        raid组合:
            raid 10 :
                      至少4块磁盘
                      两两磁盘分别做raid1,再将两raid1阵列做raid0
                      读写性能提高
                      有容错性为两块,不同raid1中最多损失1块磁盘
                      可用空间: N*min(S1,S2,...)/2
            raid 50 :
                      至少6块磁盘
                      三三磁盘分别做raid5,再将两raid5阵列做raid0
                      读写能力提高
                      有容错性为两块磁盘,不同raid5中最多损失1块磁盘
    
            raid 60 :
                      至少8块磁盘
                      四四磁盘分别做raid6,再将两raid阵列做raid0
                      读写能力提高
                      有容错性为4块磁盘,不同raid6中最多损伤2块磁盘
  • 5

    创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;
        # fdisk /dev/sdb    # 分区大小10G,类型fd
        # fdisk /dev/sdc    # 分区大小10G,类型fd
        # fdisk /dev/sdd    # 分区大小10G,类型fd
        # mdadm -C /dev/md1 -n 3 -x 1 -c 128 -l 1 /dev/sdb5 /dev/sdc5 /dev/sdd5
        # mdadm -D /dev/md1
  • 6

    创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;
        # mdadm -C /dev/md1 -c 256 -n 3 -l 5 /dev/sdb5 /dev/sdc5 /dev/sdd5 
        # mkfs -t ext4 /dev/md1
        # mkdir /backup
        # vim /etc/fstab
        /backup    /dev/md1    ext4    noatime,acl   0  0
  • 7

    写一个脚本
       (1) 接受一个以上文件路径作为参数;
       (2) 显示每个文件拥有的行数;
       (3) 总结说明本次共为几个文件统计了其行数;
    
        #!/bin/bash
        declare -i time=0
        while true;do
            wc -l $1
            shift
            time+=1
            if [ "$1" == "" ];then
                    break
            fi
        done
        echo "file number of : $time"
  • 8

    写一个脚本
       (1) 传递两个以上字符串当作用户名;
       (2) 创建这些用户;且密码同用户名;
       (3) 总结说明共创建了几个用户;
    
    #!/bin/bash 
    declare -i time=0
    while true;do
            useradd $1;echo $1|passwd --stdin $1
            shift
            time+=1
            if [ "$1" == "" ];then
                    break
            fi
    done
    
    echo "create user number of : $time"
  • 9

    写一个脚本,新建20个用户,visitor1-visitor20;计算他们的ID之和;
    #/bin/bash
    declare -i id_sum=0
    declare -i userid=0
    for i in `seq 1 20`;do
        useradd visitor$i
        userid=$(id -u visitor$i)
        id_sum+=$userid
    done
    
    echo "id sum : $id_sum"
  • 10

    写一脚本,分别统计/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#号开头的行数之和,以及总的空白行数;
    #/bin/bash
    declare -i line_sum=0
    declare -i spli_sum=0
    line_sum=$(grep "^#" /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab|wc -l|cut -d' ' -f1 )
    spli_sum=$(grep "^$" /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab|wc -l|cut -d' ' -f1 )
    echo "line sum of : $line_sum"
    echo "space line sum of : $spli_sum"
  • 11

    写一个脚本,显示当前系统上所有默认shell为bash的用户的用户名、UID以及此类所有用户的UID之和;
    #/bin/bash
    grep "bash$" /etc/passwd |cut -d: -f1,3
    declare -i uid_sum=0
    for i in $(grep "bash$" /etc/passwd |cut -d: -f3);do
        uid_sum+=$i
    done
    echo "sum of uid : $uid_sum"
  • 12

    写一个脚本,显示当前系统上所有,拥有附加组的用户的用户名;并说明共有多少个此类用户;
    #!/bin/bash
    cat /etc/group|cut -d: -f 1,4|grep "[^:]$"|cut -d: -f1 
    cat /etc/group|cut -d: -f 1,4|grep "[^:]$"|cut -d: -f1|wc-l
  • 13

    创建一个由至少两个物理卷组成的大小为20G的卷组;要求,PE大小为8M;而在卷组中创建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持acl;
    # fdisk /dev/sdb     /// sdb5 分区大小10G,类型8e
    # fdisk /dev/sdc     /// sdc5 分区大小10G,类型8e
    # pvcreate /dev/sdb5 /dev/sdc5
    # vgcreate -s 8M myvg1 /dev/sdb5 /dev/sdc5
    # lvcreate -L 5G  -n mylv1 myvg1
    # mkfs -t ext4 /dev/myvg1/mylv1
    # mkdir /users ; vim /etc/fstab
    /users  /dev/myvg1/mylv1  ext4  defaults,acl  0  0
    # mount -a
  • 14

    新建用户magedu;其家目录为/users/magedu,而后su切换至此用户,复制多个文件至家目录;
    useradd -d /users/magedu magedu
    su - magedu
    cp /etc/issue /etc/fstab  ~
  • 15

    扩展mylv1至9G,确保扩展完成后原有数据完全可用;
    # lvextend -L 9G /dev/myvg1/mylv1
    # resize2fs /dev/myvg1/mylv1 9G
  • 16

    缩减mylv1至7G,确保缩减完成后原有数据完全可用;
    # umount /dev/myvg1/mylv1
    # e2fsck -f /dev/myvg1/mylv1
    # resize2fs /dev/myvg1/mylv1  7G 
    # lvreduce  -L  7G  /dev/myvg1/mylv1
    # mount /dev/myvg1/mylv1 /users
  • 17

    对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息;
    # lvcreate -L 500M -p r -s mylv1-snapshot -n /dev/myvg1/mylv1                    
    # mkidr /mnt/mylv_ss ; mount /dev/myvg1/mylv1-snapshot /mnt/mylv_ss
    # cp -a /mnt/mylv_ss/*  /tmp                      ///将快照卷数据复制到tmp目录
    # umount /mnt/mylv_ss 
    # lvremove /dev/myvg1/mylv1-snapshot

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

(0)
N25_sadanN25_sadan
上一篇 2017-02-20
下一篇 2017-02-20

相关推荐

  • DNS and Bind

    DNS and Bind ===================================================================================== 概述:    DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使…

    Linux干货 2016-10-10
  • bash脚本之函数及循环特殊用法

    一,概述 while的循环特殊用法(遍历文件的每一行)     while read line;do         循环体        &nbsp…

    Linux干货 2016-08-29
  • LINUX初次见面

    LINUX的文件系统 在Linux的眼睛中,一切都为文件,这也是Linux的中心哲学思想。正因如此造就了一个性能稳定,功能强大,效率高的操作系统。Linux有自己的层级标准,它定义了每个系统分区的用途,和所需要的最小构成文件目录。由不同的文件来完成不同的功能造就了一个Linux的完整生态。 linux的文件系统格式比较丰富,它的核心系统能支持十多种文件系统类…

    2017-05-18
  • Linux程序包管理(rpm、yum、make)

    linux系统程序安装的方法有rpm yum 以及make手动编译3种方法: rpm这个机制最早由Redhat公司开发出来,后来由于实在好用,所以被很多发行版所使用作为软件安装的管理方式。不过由于使用RPM安装软件时有时会涉及到文件的依赖信,此时需要手动去逐个安装被依赖的包操作起来十分复杂,于是yum这种线上升级的机制便出现了,它会自己主动解决各文件的依赖关…

    Linux干货 2017-10-02
  • Linux DNS服务系列之主从复制、子域授权和转发、view配置详解

    前言 上文我们讲解了DNS服务的原理及正反向解析配置,相信大家对DNS服务已经有了初步了解。接下来,让我们进一步了解DNS服务的其它功能,本文将详解主从复制、子域授权和转发以及view的相关配置。 主从服务器配置 主从服务器关系 如果公司内DNS服务器负载过重或者为了实现冗余这一类功能就需要用到一个备份DNS服务器,备份服务器和主DNS服务器就形成了主从关系…

    Linux干货 2015-04-13
  • CentOS开发环境搭建

        一个月之前将系统换为Linux,昨天系统运行的时候突然死机,开机之后进不了系统,并且BIOS无法识别硬盘,无奈只有在普通硬盘上重装系统。搭建开发环境,为了避免再次遇到类似现象,或在下次遇到这类问题快速搭建开发环境,记录开发环境搭建的过程。 1、启用wifi echo "blacklist&n…

    Linux干货 2016-08-04

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-30 14:18

    作业完成的不很好,再接再励。