第七周

第七周

  • 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

相关推荐

  • 第四周 博客作业

    grep useradd cp

    Linux干货 2017-12-28
  • N25-第7周博客作业

    N25-第7周博客作业 1、创建一个10G分区,并格式为ext4文件系统;        (1) 要求其block大小为2048, 预留空间百分比为2,   卷标为MYDATA, 默认挂载属性包含acl;        (2)   挂载至/data/mydat…

    Linux干货 2017-01-21
  • 8/10作业脚本

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中 3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空…

    Linux干货 2016-08-15
  • grep

    1. 文本处理工具的使用:   cat 连接文件并打印到标准输出设备,但是文件较大时,翻屏太快,与more或者less连用 命令反着输入(tac)将会反向输出文本文件 用法: cat 选项 参数   选项: -A 显示不可打印字符 -b 对行进行编号,空白行不编号 -s 压缩空白行 -n 对行进行编号,包括空白航  参数: &n…

    Linux干货 2016-08-08
  • 正则表达式以及Linux文本搜索工具grep

    一正则表达式 regual Expression  简称REGEXP 定义:由一类特殊字符以及文本字所编写的模式,其中有些字符不表示其字面意义,而用于统配和统配功能 分类:     基本正则表达式:BRE 贪婪模式(尽可能长地去匹配符合模式的内容     扩展表达式:E…

    Linux干货 2016-08-07

评论列表(1条)

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

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