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
下一篇 2017-05-21

相关推荐

  • 用户及相关权限命令

    2018-03-26

    2018-03-26
  • LVS基本原理

    LVS基本原理 简介 负载调度器、真实服务器群节点一起被称为LVS。LVS负载调度器(有时也称为负载平衡器),接收所服务的所有接入服务集群的请求,并决定集群中的哪个节点应该回复其请求。 1)负载调度器(Director):作为整个集群的前端,主要将用户请求分发至真实服务器中进行处理。 2)真实服务器池:由多个功能相同的真实服务器组成,为用户提供真正的网络服务…

    Linux干货 2016-12-27
  • 基于samba服务的wordpress站点

    实验要求:             (1) samba server导出/data/app/web,在目录中提供wordpress;     (2) samba  client挂载nfs server导出的文件…

    2017-06-08
  • 为什么中国的网页设计那么烂?

    Nick Johnson,一个有12年经验的Web设计师在它的blog里写下了“Why is Chinese Web Design So Bad”,新浪,人人,百度,阿里巴巴,腾讯榜上有名。其中的观点相当的好,希望所有的中国人都读一下。我不全文翻译了,只是给大家看一些摘要。(保证不会像《环球时报》一样) —————————— 作者2005年的夏天来到中国,他…

    Linux干货 2016-07-11
  • root用户密码破解

    方法一:进入单用户模式破解root密码 (1)编辑grub菜单(选定要编辑的title,而后使用e命令) (2)在选定的kernel后附加 1,s,S或single都可以 (3)在kernel所在行键入"b"命令即可进入单用户模式 (4)运行passwd命令修改root用户密码 并重启 (5)输入密码即可登录 方法二:进入救援模…

    Linux干货 2016-09-15
  • N25第一周作业

    第一周作业 一、计算机由硬件系统和软件系统两部分组成如下: 计算机硬件由CPU、内存、输入设备、输出设备组成。 1、中央处理器(CPU,Central Processing Unit)   CPU的功能主要是对输入指令的判断和运算;CPU包括运算器、控制器和寄存器三部分; (1)、运算器   执行各种算术和逻辑运算操作,计算机运行时,运算…

    Linux干货 2016-12-05

评论列表(1条)

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

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