1、创建一个10G分区,并格式为ext4文件系统
(1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;
mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb5 tune2fs -o acl /dev/sdb5
(2)挂载至/etc/mydate目录,要求挂载时禁止自动运行,且不更新文件的访问时间戳;
mkdir /etc/mydate mount -o noexec,notime /dev/sdb5 /etc/mydate
2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之
[root@shijl ~]# mkswap /dev/sdb6
Setting up swapspace version 1, size = 1053688 KiB
no label, UUID=eab4467-707a-458c-b968-2f9d5ea28e2c
[root@shijl ~]#swapon /dev/sdb6
3、写一个脚本
(1)获取并列出当前系统上的所有磁盘设备;
(2)显示每个磁盘设备上每个分区相关的空间使用信息;
#!/bin/bash
#
fdisk_all=$(fdisk -l | grep "Disk")
echo "$fdisk_all"
fdisk_df=$(fdisk -l | grep "/dev/[sh]d[a-z][0-9]")
echo "$fdisk_df"
4、总结RAID的各个级别及其组合方式和性能的不同
磁盘阵列比较表
|
RAID级别 |
最少硬盘 |
最大容错 |
可用容量 |
读取性能 |
写入性能 |
安全性 |
目的 |
应用产业 |
|
单一硬盘 |
(参考) |
0 |
1 |
1 |
1 |
无 |
||
|
JBOD |
1 |
0 |
n |
1 |
1 |
无(同RAID 0) |
增加容量 |
个人(暂时)存储备份 |
|
0 |
2 |
0 |
n |
n |
n |
一个硬盘异常,全部硬盘都会异常 |
追求最大容量、速度 |
视频剪接缓存用途 |
|
1 |
2 |
n-1 |
1 |
n |
1 |
最高,一个正常即可 |
追求最大安全性 |
个人、企业备份 |
|
5 |
3 |
1 |
n-1 |
n-1 |
n-1 |
高 |
追求最大容量、最小预算 |
个人、企业备份 |
|
6 |
4 |
2 |
n-2 |
n-2 |
n-2 |
安全性较RAID 5高 |
同RAID 5,但较安全 |
个人、企业备份 |
|
10 |
4 |
n/2 |
n/2 |
n |
n/2 |
安全性高 |
综合RAID 0/1优点,理论速度较快 |
大型数据库、服务器 |
5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128K
mdadm -C /dev/md0 -a yes -n 2 -x 1 -l 1 -c 128 /dev/sdb{5,6,7}
6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化为ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间,且支持acl功能
mdadm -C /dev/md0 -a yes -n 3 -c 256 /dev/sdb{5,6,7}
mke2fs -t ext4 /dev/md0
mkdir /backup
lkid /dev/md0
/dev/md0: UUID="18646fc6-0175-4642-888d-8d4b5b7f59ce" TYPE="ext4"
vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Aug 9 04:49:47 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_shijl-lv_root / ext4 defaults 1 1
UUID=fc11ec9c-2215-45b9-bc43-2d4c120733a5 /boot ext4 defaults 1 2
/dev/mapper/vg_shijl-lv_home /home ext4 defaults 1 2
/dev/mapper/vg_shijl-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
UUID=18646fc6-0175-4642-888d-8d4b5b7f59ce /backup ext4 defaults,acl,notime 0 0
7、写一个脚本
(1)接受一个以上文件路径作为参数;
(2)显示每个文件拥有的行数;
(3)总结说明本次共为几个文件统计了其行数;
#!/bin/bash
#
declare -i count=0
if [ $# -lt 1 ];then
echo " At least one filename."
exit 2
fi
for i in $*;do
if [ -e $i ];then
wc -l $i
count+=1
else
echo "$i isn't exist"
fi
done
echo "$count files have been counted
8、写一个脚本
(1)传递两个以上的字符串当做用户名;
(2)创建这些用户,且密码同用户名;
(3)总结说明共创建了几个用户;
#!/bin/bash
#
declare -i count=0
if [ $# -lt 2 ];then
echo "At least two username"
exit 2
fi
for i in $*;do
if [ id $i &> /dev/null ];then
echo "$i user is exist"
else
useradd $i
echo "$i" | passwd --stdin $i &> /dev/null
count+=1
fi
done
echo " $count users have been create"
9、写一个脚本,新建20个用户,visitor1-visitor20,;计算他们的ID之和
#!/bin/bash
#
declare -i count=0
for i in {1..20};do
if [ id $i &> /dev/null ];then
echo "user is exits"
else
useradd vistorl$1 &> /dev/null
uid $(id -u vistorl$1)
count+=$uid
fi
done
echo " ID sum is $count"
原创文章,作者:N27_shijinlong,如若转载,请注明出处:http://www.178linux.com/85182


评论列表(1条)
磁盘的操作直接关系到数据的安全,稍有不当,就可能导致数据的丢失,所以理解其概念非常有必要,执行命令前也要再三确认,加油。