首页 > 代码库 > 第七周作业
第七周作业
1、创建一个10G分区,并格式为ext4文件系统;
[root@jonny ~]# fdisk /dev/sdb 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1): 起始 扇区 (2048-41943039,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+10G 分区 1 已设置为 Linux 类型,大小设为 10 GiB 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。
(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;
[root@jonny ~]# mke2fs -t ext4 -b 2048 -L "MYDATA" -m 2 /dev/sdb1 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签=MYDATA OS type: Linux 块大小=2048 (log=1) 分块大小=2048 (log=1) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 5242880 blocks 104857 blocks (2.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=273678336 320 block groups 16384 blocks per group, 16384 fragments per group 2048 inodes per group Superblock backups stored on blocks: 16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 2048000, 3981312 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成
(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;
[root@jonny ~]# mkdir -pv /data/mydata mkdir: 已创建目录 "/data" mkdir: 已创建目录 "/data/mydata" [root@jonny ~]# mount -t ext4 -o noatime,noexec,nodiratime,acl /dev/sdb1 /data/mydata
2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之;
[root@jonny ~]# fdisk /dev/sdb 命令(输入 m 获取帮助):n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p 分区号 (2-4,默认 2): 起始 扇区 (20973568-41943039,默认为 20973568): 将使用默认值 20973568 Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+1G 分区 2 已设置为 Linux 类型,大小设为 1 GiB 命令(输入 m 获取帮助):t 分区号 (1,2,默认 2):2 Hex 代码(输入 L 列出所有代码):82 已将分区“Linux”的类型更改为“Linux swap / Solaris” [root@jonny ~]# mkswap /dev/sdb2 [root@jonny ~]# swapon /dev/sdb2
3、写一个脚本
(1)、获取并列出当前系统上的所有磁盘设备;
(2)、显示每个磁盘设备上每个分区相关的空间使用信息;
1 #!/bin/bash 2 # 3 fdisk -l | awk ‘/^\/dev\/*/{print $1}‘ > /tmp/df | df -h < /tmp/df [root@jonny bin]# sh 3.sh 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 18G 4.4G 14G 25% / devtmpfs 483M 0 483M 0% /dev tmpfs 493M 0 493M 0% /dev/shm tmpfs 493M 7.1M 486M 2% /run tmpfs 493M 0 493M 0% /sys/fs/cgroup /dev/sda1 497M 168M 330M 34% /boot tmpfs 99M 0 99M 0% /run/user/0 /dev/sdb1 9.8G 13M 9.6G 1% /data/mydata
4、总结RAID的各个级别及其组合方式和性能的不同;
常用级别:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD
RAID-0:条带卷
数据分成块放在每个硬盘上,读写性能提升
非关键数据,交换空间等不重要的数据,不建议使用
可用空间:N*min(S1,S2,S3...)
无容错能力,最小磁盘:2,2+
RAID-1:镜像卷
数据完整放在2块硬盘
读性能提升,写性能略有下降
可用空间:1*min(S1,S2,S3...)
有冗余能力,最少磁盘:2,2+
RAID-4:
0和1的结合
数据分块存储在多块硬盘,有一块做镜像盘
镜像盘会影响整体性能,出现单个盘故障可降级使用
有容错能力,有校验能力,最少磁盘:3,3+
RAID-5:
读写性能提升
可用空间:(N-1)*min(S1,S2,S3...)
有容错能力:1块
最少磁盘:3,3+
校验码形成左对称
RAID-6:
读写性能提升
可用空间:(N-2)*min(S1,S2,S3...)
有容错能力:2块
最少磁盘:4,4+
校验码形成左对称
混合类型:
RAID-10:
先RAID1,再将每组RAID1做成RAID0
读写性能提升
可用空间:N*min(S1,S2...)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘:4,4+
RAID-01:
先做成RAID0,再用一些硬盘做成RAID1
RAID-50 RAID7:
JBOD:Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用:
可用空间:sum(S1,S2...)
5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;
[root@jonny ~]# mdadm -C /dev/md1 -n 2 -l 1 -x 1 -c 128 /dev/sdb1 /dev/sdb2 /dev/sdb3 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 18 1 active sync /dev/sdb2 2 8 19 - spare /dev/sdb3
6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;
[root@jonny ~]# mdadm -C /dev/md2 -n 3 -l 5 -c 256 /dev/sdc1 /dev/sdc2 /dev/sdc3 [root@jonny ~]# mke2fs -t ext4 /dev/md2 [root@jonny ~]# vim /etc/fstab /dev/md2 /backup ext4 acl,noatime,defaults 0 0
7、写一个脚本
(1) 接受一个以上文件路径作为参数;
(2) 显示每个文件拥有的行数;
(3) 总结说明本次共为几个文件统计了其行数;
1 #!/bin/bash 2 # 3 declare -i sum=0 4 if [ $# -lt 1 ];then 5 echo “请您至少给出一条文件路径” && exit 1 6 fi 7 for i in $@;do 8 if [ -f $i ];then 9 echo "$i 的文件的行数是: `wc -l $i | cut -d" " -f1` " 10 let sum++ 11 else 12 echo "$i 不是正确的文件路径" 13 fi 14 done 15 echo "本次统计的文件数为: $sum" [root@jonny bin]# sh 7.sh /etc/passwd /etc/fstab /etc/passwd 的文件的行数是: 45 /etc/fstab 的文件的行数是: 11 本次统计的文件数为: 2
8、写一个脚本
(1) 传递两个以上字符串当作用户名;
(2) 创建这些用户;且密码同用户名;
(3) 总结说明共创建了几个用户;
本文出自 “linux启航” 博客,请务必保留此出处http://jiayimeng.blog.51cto.com/10604001/1856553
第七周作业