磁盘管理及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
下一篇 2017-11-15

相关推荐

  • N25期—第一周作业

    计算机的组成及其功能 计算机主要由硬件和软件两部分组成, 硬件目前由5大部件组成 控制器:类似人类的大脑!控制整个计算机的运作 运算器:对数据进行逻辑运算处理 存储器:存放数据部件 输出设备:比如显示器,打印机 输入设备:比如键盘,鼠标 Linux发行版本 主要三大分之:Debian系,Reb Hat系,Slackware系。 1.Debian GNU / …

    Linux干货 2016-12-01
  • N22-草稿

    testing

    Linux干货 2016-08-08
  • 2016年8月11号学习博客

    shell脚本编程 shell脚本是包含一些命令或声明,并符合一定格式的文本文件 shell脚本的用途有: 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 命令查询过程:别名–>内部变量–>hash–>$PATH ~]#bash -n 检测脚本语法错误 ~]#bash -x 顺…

    Linux干货 2016-08-15
  • CentOS6+ LAMP+ wordpress 搭建个人博客站

        每个IT工程师都期待拥有一个自己的博客站,本文讲述在CentOS 6系统LAMP环境下使用WordPress框架构建个人博客站的详细过程。     —-构建LAMP环境—- 1,安装apache,mysql php yum install -y httpd mysql…

    2017-07-11
  • 第7天:磁盘文件管理

    http://note.youdao.com/yws/public/redirect/share?id=57ab13d4749920de1fbb0d4953fcd21b&type=false

    Linux干货 2016-08-18
  • 马哥网络班21期,第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     who | cut -d " " -f1 | sort -u     who:查看当前系统所有用户的会话     cut:剪切命令       cut…

    Linux干货 2016-07-26

评论列表(1条)

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

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