磁盘管理及shell脚本编程练习

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

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

~]# mke2fs –t ext4 –b 2048 –m 2 –L MYDATA  /dev/sda3

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

~]# mount –o acl,noatime,noexec /dev/sda3 /data/mydata

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

~]# partx –a /dev/sda

~]# mkswap /dev/sda4

~]# swapon /dev/sda4

3、写一个脚本

  1. a) 获取并列出当前系统上所有磁盘设备
  2. b) 显示每个磁盘设备上每个分区相关的空间使用信息

#!/bin/bash

disk=$(ls /dev/sd[a-z])

echo $disk

fdisk –l /dev/sd[a-z]

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

磁盘阵列的英文全名是RedundantArrays of lnexpensive Disks (RAID),即容错廉价磁盘阵列。RAID 可以通过一些技术将多个较小的磁盘整合成为一个较大的磁盘设备;而这个较大的磁盘功能可不止是存储而已。它还具有数据保护的功能。整个RAID由于选择的等级(level)不同。而使得整合后的磁盘具有不同的功能。基本常见的等级有这几种。

RAID-0(等量模式,stripe):性能最佳

这种模式如果使用相同型号与容量的磁盘来组成时,效果较佳。这种模式的RAID会将磁盘先切出等量的区块,然后当一个文件要写入RAID时。该文件会依据块的大小切割好。之后再依序放到各个磁盘里面去。由于每个磁盘会交错存放数据。因此当你的数据要写入RAID时。数据会被等量放置在各个磁盘上面。使用此等级必须要自行负担数据损毁的风险,如果某一块磁盘损毁了,那么文件数据将缺一块。此时这个文件就损毁了。由于每个文件都是这样存放的。因此RAID-0只要有任何一块磁盘损毁。在RAID上面的所有数据都会丢失而无法读取。

RAID-1(映像模式。mirror):完整备份

这种模式也是需要相同的磁盘容量,最好是一模一样的磁盘。如果是不同容量的磁盘组成RAID-1时。那么容量将以最小的那一块磁盘为主。这种模式主要是让同一份数据完整保存在两块磁盘上面。因此,整体RAID的容量几乎少了一半。由于两块磁盘内的数据一模一样,所以任何一块硬盘损毁时,数据还是可以完整保留下来。所以说RAID-1最大的优点大概就在于数据的备份。不过由于磁盘容量有一半用在备份,因此总容量会是全部磁盘容量的一半。虽然RAID-1的写入性能不佳,不过读取的性能还可以。这是因为数据有两份在不同的磁盘上面,如果多个进程在读取同一条数据是,RAID会自行取得最佳的读取平衡。

RAID 0+1,RAID 1+0

RAID 0+1就是先让两块磁盘组成RAID 0 ,并且这样的设置共有两组;然后将这两组RAID 0再组成一组RAID 1。这就是RAID 0+1。反过来说,RAID1+0就是先组成RAID-1再组成RAID-0的意思。由于具有RAID 0和RAID 1的优点,所以性能得到提升,并且数据也得以备份。但同时总容量会少一半用来作为备份。

RAID 5:性能与数据备份的均衡考虑

RAID-5至少需要三块以上的磁盘才能组成这种类型的磁盘阵列。这种磁盘阵列的数据写入优点类似RAID-0,不过每个循环的写入过程中,在每块磁盘还加入一个同为检查数据,这个数据会记录其他磁盘的备份数据,用于当有磁盘损毁时的救援。由于有同位检查码,因此RAID5的总容量护士整体磁盘数量减一块。当损毁的磁盘数量大于等于两块时,这整组RAID 5的数据就损毁了。因为RAID 5 默认仅能支持一块磁盘的损毁情况。

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

~]# mdadm –C /dev/md0 –l 1 –n 2 –a yes –c 128 –x 1 /dev/sdc{1,2,3}

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

~]# mdadm -C /dev/md1 -a yes -n 3 -c 256 -l 5 /dev/sdd{1,2,3}

~]# blkid /dev/md1

~]# mkdir /backup

~]# mount /dev/md1 /backup/

7、写一个脚本

  1. a) 接受一个以上文件路径作为参数
  2. b) 显示每个文件拥有的行数
  3. c) 总结说明本次共为几个文件统计了其行数

#!/bin/bash

#

declare –I sum=$#

if [$# -ep 0]; then

echo “please input the file path”

exit 1

fi

for I in $*;do

if [-f $i];then

line=$(wc –l $i | cut –d “ ” –f 1)

ecgo “$i has $line lines”

fi

done

echo “there are $sum files total.”

8、写一个脚本

  1. a) 传递两个以上字符串当作用户名
  2. b) 创建这些用户,且密码同用户名
  3. c) 总结说明共创建了几个用户

#!/bin/bash

#

declare –I sum=$#

if [$# -lt 1];then

echo “please input at least two users”

exit 1

fi

for i in $*;do

useradd $i

password=$i

echo $password | passwd –stdin $i

done

echo ”Creatde users are $sum total.”

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

#!/bin/bash

#

sum=0

for I in {1..20};do

useradd $i

idsum=$(id –u $i)

let sum+=$idsum

done

echo “idsum=$sum”

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88405

(1)
N27_wjxN27_wjx
上一篇 2017-11-14 15:29
下一篇 2017-11-15 16:00

相关推荐

  • inode概念总结

    一、inode  inode是类UNIX系统上文件系统中的一种数据结构。数据在磁盘上存储是按扇区存放的,几个扇区组成一个块(block),操作系统为高效读取磁盘上的数据,按block来读取。而数据存放的block的地址就包含在inode里。 二、inode的存储信息  每个inode保存一个文件系统对象(目录,文件,管道,软连接,sock…

    Linux干货 2016-08-05
  • linux再次入门

               时隔一年,重新拾起Linux,从头开始再学一遍            现在来总结一下曾经可能听说过但是我以前绝对不会的命令(尴尬脸) 克隆窗口:右键单击点克隆窗口(真是…

    2017-07-15
  • Vim和nano的区别

    Vim和nano的区别 Linux下有很多文本编辑器,其中系统(不管哪个分支)都会自带nano和vim这两个最基本的编辑器。vim相当于vim的升级版。今天将重点分析一下vim与nano的各自功能及区别。 1.nano 直接在命令行中敲入nano newfile即可打开文件或新建文件。 可以看到第一行反白介绍了nano的版本号以及被编辑的文件名称。接下来就是…

    2017-08-05
  • keepalived单主模型和nginx双主模型

    主程序:keepalived 主配置文件:/etc/keepalived/keepalived.conf 单主模型ipvs: global_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.…

    Linux干货 2017-08-08
  • GREP EGREP的用法及正则表达式和扩展正则表达式简述

    egrep grep的使用方法 正则表达式及扩展表达式简述 使用事例   grep egrep都是文本搜索工具,可以把符合模式的行或字符显示出来,而这些模式grep一般使用正则表达式进行匹配,而egrep使用扩展正则表达式来进行匹配的。 grep及egrep的使用方法:           &nbs…

    Linux干货 2015-07-27
  • vim编译器与shell脚本简介

    一、vim文本编译器       vi:Visual Interface,文本编辑器;   文本: ASCII Unicode  文本编辑种类:行编辑器:sed  ;全屏编辑器:nano,vi ,vim ;其他编辑器:gedit(图形),g…

    Linux干货 2016-11-24

评论列表(1条)

  • 马哥教育
    马哥教育 2017-12-02 09:21

    创建磁盘的步骤没有,可以简单写一下。