第七周作业
2016-09-25 15:20
225 查看
1、创建一个10G分区,并格式为ext4文件系统;
(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;
2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之;
3、写一个脚本
(1)、获取并列出当前系统上的所有磁盘设备;
(2)、显示每个磁盘设备上每个分区相关的空间使用信息;
这么简单的代码不需要我注释吧
4、总结RAID的各个级别及其组合方式和性能的不同;
RAID-0:
读、写性能提升;
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2, 2+
RAID-1:
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2, 2+
RAID-4:
1101, 0110, 1011
RAID-5:
读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:1块磁盘
最少磁盘数:3, 3+
RAID-6:
读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:2块磁盘
最少磁盘数:4, 4+
5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;
假设硬盘上以及有了3个 10G 的分区 , sdc1 sdc2 sdc3 ,这里就不写出创建分区的方法了
6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;
假设已经有3个2G 的分区,分别为 sdd1 sdd2 sdd3
7、写一个脚本
(1) 接受一个以上文件路径作为参数;
(2) 显示每个文件拥有的行数;
(3) 总结说明本次共为几个文件统计了其行数;
8、写一个脚本
(1) 传递两个以上字符串当作用户名;
(2) 创建这些用户;且密码同用户名;
(3) 总结说明共创建了几个用户;
9、写一个脚本,新建20个用户,visitor1-visitor20;计算他们的ID之和;
10、写一脚本,分别统计/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#号开头的行数之和,以及总的空白行数;
11、写一个脚本,显示当前系统上所有默认shell为bash的用户的用户名、UID以及此类所有用户的UID之和;
12、写一个脚本,显示当前系统上所有,拥有附加组的用户的用户名;并说明共有多少个此类用户;
13、创建一个由至少两个物理卷组成的大小为20G的卷组;要求,PE大小为8M;而在卷组中创建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持acl;
14、新建用户magedu;其家目录为/users/magedu,而后su切换至此用户,复制多个文件至家目录;
15、扩展mylv1至9G,确保扩展完成后原有数据完全可用;
16、缩减mylv1至7G,确保缩减完成后原有数据完全可用;
17、对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息;
(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;
#新挂载的文件系统为 /etc/sdb 使用 fdisk 工具,依次输入以下内容即可创建成功 fdisk /dev/sdb n p <Enter> +10G w #格式化分区为 ext4 块大小 2048 默认启用 acl 卷标 MYDATA mkfs.ext4 -b 2048 -m 2 -L "MYDATA" /dev/sdb1(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;
#创建文件目录 mkdir /data/mydata #挂载 mount /dev/sdb1 -o noexec,noatime /data/mydata/
2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之;
#使用 fdisk 工具,依次输入以下 fdisk /dev/sdb n p 2 +1G t 2 82 w #此时已经创建好了一个空的 swap 分区 sdb2 #使用 swap 分区格式化工具格式化分区并挂载 mkswap /dev/sdb2 swapon /dev/sdb2
3、写一个脚本
(1)、获取并列出当前系统上的所有磁盘设备;
(2)、显示每个磁盘设备上每个分区相关的空间使用信息;
这么简单的代码不需要我注释吧
#!/bin/bash # Auther: root # 2016-09-25 15:59:00 # mage-test disklist=($(ls /dev | grep -E "^[hs]d[a-z][0-9]?")) echo -e "This is all disk device in you system:\n---" for dev in ${disklist[@]};do echo "/dev/$dev" done echo -e "---\nThis is disk used information:\n---" echo -en "$(df -h | head -n 1)" for dev in ${disklist[@]};do echo -e "$(df -h | grep -E "^/dev/$dev[[:space:]]")" done echo -e "---\nThis is swap used information\n---" echo -e "$(free | head -n 1&&free -h | grep -i "^Swap:")"
4、总结RAID的各个级别及其组合方式和性能的不同;
RAID-0:
读、写性能提升;
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2, 2+
RAID-1:
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2, 2+
RAID-4:
1101, 0110, 1011
RAID-5:
读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:1块磁盘
最少磁盘数:3, 3+
RAID-6:
读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:2块磁盘
最少磁盘数:4, 4+
5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;
假设硬盘上以及有了3个 10G 的分区 , sdc1 sdc2 sdc3 ,这里就不写出创建分区的方法了
#使用工具 mdadm mdadm -C /dev/md0 -n 2 -l 1 -x 1 -c 128 /dev/sdc{1..3}
6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;
假设已经有3个2G 的分区,分别为 sdd1 sdd2 sdd3
#先使用工具 mdadm mdadm -C /dev/md1 -n 3 -l 5 -c 256 /dev/sdd{1..3} mkfs.ext4 /dev/md1 mkdir /mount1 echo "/dev/md1 /mount1/ ext4 defaults,noatime,acl 0 0" >> /etc/fstab mount -a
7、写一个脚本
(1) 接受一个以上文件路径作为参数;
(2) 显示每个文件拥有的行数;
(3) 总结说明本次共为几个文件统计了其行数;
#!/bin/bash # Auther: divent # 2016-09-17 20:46:43 # i=(0) x=0 echo "input \"ok\" to stop eidt" #循环记录输入存储到到数组中,遇到 ok 停止输入 while : do echo -e "plz input your $[ $x+1 ] file" read filepath if [ "$filepath" != "ok" ];then i[x]=$filepath let x++ else break fi echo -en "\n" done #获取数组长度 echo -e "\nyou set ${#i[@]} filepath" n=0 #判断文件类型 while [ $n -lt $x ] do echo -en "$[ $n+1 ] filepath:${i }\t|" if [ ! -e ${i } ];then echo -en "Not find file" elif [ -d ${i } ];then echo -en "This is a directory" elif [ -f ${i } ];then echo -en "Line:$( cat ${i }|wc -l )" else echo "Unknow file type" fi let n++ echo -en "\n" done
8、写一个脚本
(1) 传递两个以上字符串当作用户名;
(2) 创建这些用户;且密码同用户名;
(3) 总结说明共创建了几个用户;
9、写一个脚本,新建20个用户,visitor1-visitor20;计算他们的ID之和;
10、写一脚本,分别统计/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#号开头的行数之和,以及总的空白行数;
11、写一个脚本,显示当前系统上所有默认shell为bash的用户的用户名、UID以及此类所有用户的UID之和;
12、写一个脚本,显示当前系统上所有,拥有附加组的用户的用户名;并说明共有多少个此类用户;
13、创建一个由至少两个物理卷组成的大小为20G的卷组;要求,PE大小为8M;而在卷组中创建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持acl;
14、新建用户magedu;其家目录为/users/magedu,而后su切换至此用户,复制多个文件至家目录;
15、扩展mylv1至9G,确保扩展完成后原有数据完全可用;
16、缩减mylv1至7G,确保缩减完成后原有数据完全可用;
17、对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息;