Homework Week-7 RAID及bash编程

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

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

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

fdisk /dev/sda
n
p
3
Enter     #使用默认起始伞区
+10G
w
mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sda3
tune2fs -o acl /dev/sda3
mkdir -p /data/mydata
mount -o noatime -o noexec /dev/sda3 /data/mydata/

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

fdisk /dev/sda
n
p
4
Enter
+1G
w
mkswap /dev/sda4
free -m
swapon /dev/sda4
free -m
swapoff /dev/sda4

3、写一个脚本

   (1)、获取并列出当前系统上的所有磁盘设备;

   (2)、显示每个磁盘设备上每个分区相关的空间使用信息;

#!/bash/bin
fdisk -l
df -m

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

RAID-0: 
数据分块(chunk),若有两块硬盘,有4个块分别放在两块硬盘中
不适合存储关键数据
可做/swap   /tmp
读、写性能提升;
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2, 2+

RAID-1:
若有两块硬盘,4个块在两个盘中都存一份
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2, 2+

RAID-4:
最少三块盘,若有4个块,2个块存盘一,2个块存盘二,盘一、二的亦或值(校验码)存盘三,坏了块盘,降低模式
1101异或0110= 1011

RAID-5:
循环校验,大部分是左对称“/”
读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:1块磁盘
最少磁盘数:3, 3+

RAID-6:
两块校验盘,循环校验
读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:2块磁盘
最少磁盘数:4, 4+
混合类型

RAID-10:
先1,后0,先镜像后条带
读、写性能提升
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块;
最少磁盘数:4, 4+
RAID-01:

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

fdisk /dev/sda
n     #新建分区
e #扩展分区
4#分区号
Enter#默认起始位置
+10G#大小10G
n
e
5
Enter
+10G
n
e
6
+10G
w#写入分区表
mdadm -C /dev/md0 -n -l 1 -c 128 -x 1 /dev/sda{4,5,6}
maadm -D /dev/md0

6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机

自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;

fdisk /dev/sda
n
e
4
Enter
+4G
n
e
5
Enter
+4G
n
e
6
Enter
+10G
w
mdadm -C /dev/md5 -n 3 -l 5 -c 256 /dev/sda{4,5,6}
mdadm -D /dev/md5
mkfs.ext4 /dev/md5
mkdir /backup
echo "/dev/md5  /backup  ext4  defaults,acl,nodiratime  0  0">>/etc/fstab

7、写一个脚本

   (1) 接受一个以上文件路径作为参数;

   (2) 显示每个文件拥有的行数;

   (3) 总结说明本次共为几个文件统计了其行数;

Homework Week-7 RAID及bash编程

Homework Week-7 RAID及bash编程

8、写一个脚本

   (1) 传递两个以上字符串当作用户名;

   (2) 创建这些用户;且密码同用户名;

   (3) 总结说明共创建了几个用户;

Homework Week-7 RAID及bash编程

Homework Week-7 RAID及bash编程

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

Homework Week-7 RAID及bash编程

Homework Week-7 RAID及bash编程

10、写一脚本,分别统计/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中

以#号开头的行数之和,以及总的空白行数;

Homework Week-7 RAID及bash编程

Homework Week-7 RAID及bash编程

11、写一个脚本,显示当前系统上所有默认shell为bash的用户的用户名、UID以及此类所有用

户的UID之和;

Homework Week-7 RAID及bash编程

Homework Week-7 RAID及bash编程

12、写一个脚本,显示当前系统上所有,拥有附加组的用户的用户名;并说明共有多少个此类

用户;

Homework Week-7 RAID及bash编程

Homework Week-7 RAID及bash编程

13、创建一个由至少两个物理卷组成的大小为20G的卷组;要求,PE大小为8M;而在卷组中创

建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持

acl;

pvcreate /dev/sdb /dev/sdc
vgcreate -s 8M myvg /dev/sd{b,c}
lvcreate -L 5G -n mylv1 /dev.myvg
mkfs.ext4 /dev/myvg/mylv1
echo "/dev/myvg/mylv1  /users  ext4  defaults,acl,nodiratime 0 0 ">>/etc/fstab

14、新建用户magedu;其家目录为/users/magedu,而后su切换至此用户,复制多个文件至

家目录;

useradd -d /users/magedu magedu
su - magedu
cp   /etc/fstab   /etc/issue    ./
15、扩展mylv1至9G,确保扩展完成后原有数据完全可用;
cp /etc/fstab ./
lvextend -L +4G -n /dev/myvg/mylv1
resize2fs  /dev/myvg/mylv1

16、缩减mylv1至7G,确保缩减完成后原有数据完全可用;

umount /users
e2fsck -f /dev/myvg/mylv1
resize2fs /dev/myvg/mylv1  7G
lvreduce  -L 7G -n  /dev/myvg/mylv1

17、对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息;

lvcreate -L 3G -p r -s  -n  mylv1_snapshot  /dev/myvg/mylv1

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

(0)
N22_ElephantN22_Elephant
上一篇 2016-09-26 07:43
下一篇 2016-09-26 07:43

相关推荐

  • 初学Linux之标准 I/O 和管道

    前面我们已经了解了文件系统的部分内容,我们可以通过 ls 命令让当前目录下的内容都显示在屏幕上,也可以使用 pwd 命令,显示当前的所在的目录路径。但是我们输入的是命令,本身并没有输入“显示”这类命令和要求,但是系统就自动的在屏幕上输出我们命令指定的信息。由此可以想象到,系统自身有默认的一种输出方式,同时,有输出就有输入,当输入的和系统无关,系统也会自动提示错误,以上就是我们接下来要了解的基础内容——标准 I/O。具体的涉及内容包括:三种 I/O 设备,把 I/O 重定向入文件,tr 命令的使用,使用管道链接命令。

    2017-12-02
  • Linux Bash脚本编程练习

    马哥教育网络班23期+第九周课堂练习 Linux Bash脚本编程练习 练习 1.写一个脚本,判断当前系统上所有用户的shell是否为可登录shell (即用户的shell不是/sbin/nologin) 分别统计这2类用户的个数,通过字符串比较来实现 脚本: 测试结果:  。。。 2.写一个脚本 (1)获取当前主机的主机名 保存于hostname…

    Linux干货 2016-11-28
  • shell脚本2

    使用read命令来接受输入 使用read来把输入值分配给一个或多个shell变量 read后面跟变量,回车输入内容,就可以把输入的内容赋给变量 -p指定要显示的提示 -s 静默输入,一般用于密码 输入的内容不显示 -n N 指定输入的字符长度N 当输入的内容达到了5个字符会直接结束输入 -d‘字符’ 输入结束符 把!作为了结束符,在输入内容时,当输入!会直接…

    2017-08-11
  • Linux程序包管理rpm

    CentOS系统上rpm命令管理程序包: 安装、卸载、升级、查询、校验、数据库维护  安装: rpm {-i|–install} [install-options] PACKAGE_FILE … -v: verbose -vv: -h: 以#显示程序包管理执行进度;每个#表示2%的进度  rpm -ivh PACK…

    Linux干货 2015-06-21
  • 马哥教育网络班22期第二周课程练习1-未闻花名

    1、Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touch 创建文件 mv 移动文件 rm 删除文件 rmdir 删除目录 1.1 pwd命令 该命令的英文解释为print working directory(打…

    Linux干货 2016-08-22

评论列表(2条)

  • 马哥教育
    马哥教育 2016-09-27 09:55

    就不要把黑屏截上来了,有没有发现很丑,3题是让用脚本实现

    • N22_Elephant
      N22_Elephant 2016-09-27 16:38

      @马哥教育怎么会呢 , 人家美着呢 !