N25-第七周

1、创建一个10G分区,并格式为ext4文件系统;

(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;

    [root@localhost ~]# fdisk -l

        Disk /dev/sda: 42.9 GB, 42949672960 bytes
        255 heads, 63 sectors/track, 5221 cylinders
        Units = cylinders of 16065 * 512 = 8225280 bytes
        Sector size (logical/physical): 512 bytes / 512 bytes
        I/O size (minimum/optimal): 512 bytes / 512 bytes
        Disk identifier: 0x000424e9

           Device Boot      Start         End      Blocks   Id  System
        /dev/sda1   *           1          26      204800   83  Linux
        Partition 1 does not end on cylinder boundary.
        /dev/sda2              26        4961    39640064   83  Linux
        /dev/sda3            4961        5222     2097152   82  Linux swap / Solaris

        Disk /dev/sdb (Sun disk label): 255 heads, 63 sectors, 2610 cylinders
        Units = cylinders of 16065 * 512 bytes

           Device Flag    Start       End    Blocks   Id  System
        [root@localhost ~]# fdisk /dev/sdb

        Command (m for help): n
        Partition number (1-8): 1
        First cylinder (0-2610): 0
        Last cylinder or +size or +sizeM or +sizeK (0-2610, default 2610): +10000M     

        Command (m for help): w
        The partition table has been altered!

        Calling ioctl() to re-read partition table.
        Syncing disks.
        [root@localhost ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sda5

(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;

    [root@localhost ~]# mkdir -p /data/mydata
        [root@localhost ~]# mount -o  noexec,noatime /dev/sdb1 /data/mydata

2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之;

[root@test /]# cat /proc/partitions
major minor  #blocks  name

   8        0   41943040 sda
   8        1     512000 sda1
   8        2   41430016 sda2
   8       16   20971520 sdb
   8       17    1060258 sdb1
 253        0   37330944 dm-0
 253        1    4096000 dm-1
[root@test /]# swapon /dev/sdb1
[root@test /]# swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1                               partition    4095996    0    -1
/dev/sdb1                               partition    1060252    0    -2

3、写一个脚本
(1)、获取并列出当前系统上的所有磁盘设备;
(2)、显示每个磁盘设备上每个分区相关的空间使用信息;

#!/bin/bash
#显示当前系统信息

 echo 磁盘设备:
 fdisk -l | grep “^Disk /dev/sd[a-z]” | awk -F [:” “] ‘{print $2}’

echo 磁盘分区使用状况:
df

4、总结RAID的各个级别及其组合方式和性能的不同;

    RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,
   同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个
   独立的大型存储设备出现。RAID可以充分发 挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何
   一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响.    

    RAID-0:swap temp适用.
        读写提升
        可用:N*min(s1,s2)

    RAID-1:
        读性能提升,写性能略有下降;
        可用空间:1*min(s1,s2…)


    RAID-5:
        读写性能提升
        可用空间 (n-1)*min(s1,s2…)
        有容错能力 1块磁盘
        最少磁盘数 3 ,3+

    RAID-6:
        读写性能提升
        可用空间 (n-2)*min(s1,s2…)
        有容错能力 2块磁盘
        最少磁盘数 4 ,4+

    混合类型:            
    raid10
        先做镜像(1),再做条带(0)
        读写性能提升
        可用空间 (n)*min(s1,s2…)/2
        有容错能力 每组镜像最多一个
        最少磁盘数 4 ,4+
    raid01
        先做条带(0),再做镜像(1)
        读写性能提升
        可用空间 (n)*min(s1,s2…)/2
        有容错能力 每组镜像最多一个
        最少磁盘数 4 ,4+
    RAID01和RAID10非常相似,二者在读写性能上没有什么差别。但是在安全性上RAID10要好于RAID01.

    RAID 50
        RAID50是RAID5与RAID0的结合。此配置在RAID5的子磁盘组的每个磁盘上进行包括奇偶信息在内的数据的剥离。
        每个RAID5子磁盘组要求三个硬盘。RAID50具备更高的容错能力,因为它允许某个组内有一个磁盘出现故障,而不会造成数据丢失。
        而且因为奇偶位分部于RAID5子磁盘组上,故重建速度有很大提高。优势:更高的容错能力,具备更快数据读取速率的潜力。
        需要注意的是:磁盘故障会影响吞吐量。故障后重建信息的时间比镜像配置情况下要长。

    JBOD:Just a bunch of disks
        功能:将多块磁盘的空间合成一个大的连续空间使用
        可用空间 sum(s1,s2…)

    常用级别 raid0 raid1 raid5 raid10 raid50 Jbod

5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;

   [root@test ~]# fdisk /dev/sdb
    [root@test ~]# fdisk /dev/sdc
    [root@test ~]# fdisk /dev/sdd
    创建10G分区,分别为sdb1,sdc1,sdd1更改分区类型为Linux raid autodetect
    [root@test ~]# mdadm -C /dev/md0 -n 2 -x 1 -l 1 -a yes -c 128K /dev/sd{b,c,d}1
    mdadm: Note: this array has metadata at the start and
        may not be suitable as a boot device.  If you plan to
        store ‘/boot’ on this device please ensure that
        your boot-loader understands md/v1.x metadata, or use
        –metadata=0.90
    Continue creating array?  y
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    [root@test ~]# cat /proc/mdstat
    Personalities : [raid1]
    md0 : active raid1 sdd1[2](S) sdc1[1] sdb1[0]
          10474176 blocks super 1.2 [2/2] [UU]

    unused devices: <none>

6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;

   [root@test ~]# fdisk /dev/sdb
    [root@test ~]# fdisk /dev/sdc
    [root@test ~]# fdisk /dev/sdd
    创建2G分区,分别为sdb1,sdc1,sdd1更改分区类型为Linux raid autodetect
    [root@test ~]# fdisk -l |grep sd
    Disk /dev/sda: 42.9 GB, 42949672960 bytes
    /dev/sda1   *           1          64      512000   83  Linux
    /dev/sda2              64        5222    41430016   8e  Linux LVM
    Disk /dev/sdb: 10.7 GB, 10737418240 bytes
    /dev/sdb1               1         262     2104483+  fd  Linux raid autodetect
    Disk /dev/sdc: 10.7 GB, 10737418240 bytes
    /dev/sdc1               1         262     2104483+  fd  Linux raid autodetect
    Disk /dev/sdd: 10.7 GB, 10737418240 bytes
    /dev/sdd1               1         262     2104483+  fd  Linux raid autodetect
    [root@test ~]# mdadm -C /dev/md1 -a yes -l 5 -c 256 -n 3 /dev/sd{b,c,d}1
    mdadm: /dev/sdb1 appears to be part of a raid array:
           level=raid1 devices=2 ctime=Thu Mar  9 08:58:23 2017
    mdadm: /dev/sdc1 appears to be part of a raid array:
           level=raid1 devices=2 ctime=Thu Mar  9 08:58:23 2017
    mdadm: /dev/sdd1 appears to be part of a raid array:
           level=raid1 devices=2 ctime=Thu Mar  9 08:58:23 2017
    Continue creating array? y
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md1 started.
    [root@test ~]# cat /proc/mdstat
    Personalities : [raid1] [raid6] [raid5] [raid4]
    md1 : active raid5 sdd1[3] sdc1[1] sdb1[0]
          4204544 blocks super 1.2 level 5, 256k chunk, algorithm 2 [3/3] [UUU]

    unused devices: <none>
    [root@test /]# mke2fs -t ext /dev/md1
    [root@test /]# vim /etc/fstab
    添加
    /dev/md1                /backup                  ext4 defaults,acl,noatime 0 0
    [root@test /]# mount -a
    [root@test /]# cd /backup
    [root@test backup]# ls
    lost+found

7、写一个脚本
(1) 接受一个以上文件路径作为参数;
(2) 显示每个文件拥有的行数;
(3) 总结说明本次共为几个文件统计了其行数;

   #!/bin/bash

    echo “File:$@”
        for file in $@;do
        lines=$(wc -l $file | cut -d’ ‘ -f1)
        echo “$file has $lines line(s).”
    done
    echo “Total files:$#”

8、写一个脚本
(1) 传递两个以上字符串当作用户名;
(2) 创建这些用户;且密码同用户名;
(3) 总结说明共创建了几个用户;

#!/bin/bash

    for user in $@;do
        if id $user &> /dev/null;then
        echo “$user exists”
        else
        useradd $user
        if [ $? -eq 0 ];then
        echo $user | passwd –stdin $user &> /dev/null
            echo “Add $user finished”
              fi
             fi
     done

9、写一个脚本,新建20个用户,visitor1-visitor20;计算他们的ID之和

#!/bin/bash
    declare -i sum=0

    for i in {1..20};do

        if ! id visitor$i &> /dev/null;then
            useradd visitor$i
        fi
        ID=$(id -u visitor$i)
        sum=$[$sum+$ID]
            done
    echo $sum

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

(0)
lyj821202lyj821202
上一篇 2017-05-20 22:01
下一篇 2017-05-21 11:46

相关推荐

  • 马哥linux 0728作业

    1,软链接和硬链接的区别 硬链接有以下特性 1)文件有相同的 inode 及 data block; 2)只能对已存在的文件进行创建; 3)不能交叉文件系统进行硬链接的创建; 4)不能对目录进行创建,只可对文件创建; 5)删除一个硬链接文件并不影响其他有相同 inode 号的文件。 而软链接有一下特性 1)软链接有自己的文件属性及权限等; 2)可对不存在的文…

    Linux干货 2016-08-04
  • Docker 之初次体验

    一、Docker 简介  lxc linux container,openvz  容器中各虚拟机只有一个内核,而是多个用户空间  在库中完成虚拟化,比如wine 或者在windows中运行bash  在应用程序的运行级别提供虚拟化,比如jvm   pstree , pid 为1 的进程  …

    Linux干货 2017-02-24
  • nginx+tomcat+memcached构建session共享集群

    一、安装配置tomcat 配置前说明: 系统为centos7 m1.xsllqs.com地址为192.168.1.107 c1.xsllqs.com地址为192.168.1.114 c2.xsllqs.com地址为192.168.1.113 安装tomcat需要配合JDK使用,JDK有oracle JDK和open JDK两种 oracle JDK8的下载地…

    Linux干货 2016-06-26
  • 马哥教育网络班22期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统; [root@localhost ~]# fdisk /dev/sda 命令(输入 m 获取帮助):n All primary partitions are in use 添加逻辑分区 5 起始&nb…

    Linux干货 2016-10-09
  • python使用paramiko 模块建立ssh通讯

    一 paramiko简介 下文是我从别人博客那里copy下来的: paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。 由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOSX, Windows…

    Linux干货 2017-03-07
  • Linux基础知识之文本处理三剑客sed

    处理文本的工具sed     1.sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”。接着用sed命令处理缓冲区中的内容,完成处理后,把缓冲区中的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编…

    Linux干货 2016-08-11

评论列表(1条)

  • 马哥教育
    马哥教育 2017-06-20 11:27

    如果脚本在多加一些判断条件的话会更好