1、创建一个10G分区,并格式为ext4文件系统;
(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;
[root@localhost ~]# fdisk -l Disk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000424e9 Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 4961 39640064 83 Linux /dev/sda3 4961 5222 2097152 82 Linux swap / Solaris Disk /dev/sdb (Sun disk label): 255 heads, 63 sectors, 2610 cylinders Units = cylinders of 16065 * 512 bytes Device Flag Start End Blocks Id System [root@localhost ~]# fdisk /dev/sdb Command (m for help): n Partition number (1-8): 1 First cylinder (0-2610): 0 Last cylinder or +size or +sizeM or +sizeK (0-2610, default 2610): +10000M Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@localhost ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sda5
(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;
[root@localhost ~]# mkdir -p /data/mydata [root@localhost ~]# mount -o noexec,noatime /dev/sdb1 /data/mydata
2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之;
[root@test /]# cat /proc/partitions major minor #blocks name 8 0 41943040 sda 8 1 512000 sda1 8 2 41430016 sda2 8 16 20971520 sdb 8 17 1060258 sdb1 253 0 37330944 dm-0 253 1 4096000 dm-1 [root@test /]# swapon /dev/sdb1 [root@test /]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 4095996 0 -1 /dev/sdb1 partition 1060252 0 -2
3、写一个脚本
(1)、获取并列出当前系统上的所有磁盘设备;
(2)、显示每个磁盘设备上每个分区相关的空间使用信息;
#!/bin/bash #显示当前系统信息 echo 磁盘设备: fdisk -l | grep “^Disk /dev/sd[a-z]” | awk -F [:” “] ‘{print $2}’ echo 磁盘分区使用状况: df
4、总结RAID的各个级别及其组合方式和性能的不同;
RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘, 同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个 独立的大型存储设备出现。RAID可以充分发 挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何 一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响. RAID-0:swap temp适用. 读写提升 可用:N*min(s1,s2) RAID-1: 读性能提升,写性能略有下降; 可用空间:1*min(s1,s2…) RAID-5: 读写性能提升 可用空间 (n-1)*min(s1,s2…) 有容错能力 1块磁盘 最少磁盘数 3 ,3+ RAID-6: 读写性能提升 可用空间 (n-2)*min(s1,s2…) 有容错能力 2块磁盘 最少磁盘数 4 ,4+ 混合类型: raid10 先做镜像(1),再做条带(0) 读写性能提升 可用空间 (n)*min(s1,s2…)/2 有容错能力 每组镜像最多一个 最少磁盘数 4 ,4+ raid01 先做条带(0),再做镜像(1) 读写性能提升 可用空间 (n)*min(s1,s2…)/2 有容错能力 每组镜像最多一个 最少磁盘数 4 ,4+ RAID01和RAID10非常相似,二者在读写性能上没有什么差别。但是在安全性上RAID10要好于RAID01. RAID 50 RAID50是RAID5与RAID0的结合。此配置在RAID5的子磁盘组的每个磁盘上进行包括奇偶信息在内的数据的剥离。 每个RAID5子磁盘组要求三个硬盘。RAID50具备更高的容错能力,因为它允许某个组内有一个磁盘出现故障,而不会造成数据丢失。 而且因为奇偶位分部于RAID5子磁盘组上,故重建速度有很大提高。优势:更高的容错能力,具备更快数据读取速率的潜力。 需要注意的是:磁盘故障会影响吞吐量。故障后重建信息的时间比镜像配置情况下要长。 JBOD:Just a bunch of disks 功能:将多块磁盘的空间合成一个大的连续空间使用 可用空间 sum(s1,s2…) 常用级别 raid0 raid1 raid5 raid10 raid50 Jbod
5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;
[root@test ~]# fdisk /dev/sdb [root@test ~]# fdisk /dev/sdc [root@test ~]# fdisk /dev/sdd 创建10G分区,分别为sdb1,sdc1,sdd1更改分区类型为Linux raid autodetect [root@test ~]# mdadm -C /dev/md0 -n 2 -x 1 -l 1 -a yes -c 128K /dev/sd{b,c,d}1 mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store ‘/boot’ on this device please ensure that your boot-loader understands md/v1.x metadata, or use –metadata=0.90 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [root@test ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdd1[2](S) sdc1[1] sdb1[0] 10474176 blocks super 1.2 [2/2] [UU] unused devices: <none>
6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;
[root@test ~]# fdisk /dev/sdb [root@test ~]# fdisk /dev/sdc [root@test ~]# fdisk /dev/sdd 创建2G分区,分别为sdb1,sdc1,sdd1更改分区类型为Linux raid autodetect [root@test ~]# fdisk -l |grep sd Disk /dev/sda: 42.9 GB, 42949672960 bytes /dev/sda1 * 1 64 512000 83 Linux /dev/sda2 64 5222 41430016 8e Linux LVM Disk /dev/sdb: 10.7 GB, 10737418240 bytes /dev/sdb1 1 262 2104483+ fd Linux raid autodetect Disk /dev/sdc: 10.7 GB, 10737418240 bytes /dev/sdc1 1 262 2104483+ fd Linux raid autodetect Disk /dev/sdd: 10.7 GB, 10737418240 bytes /dev/sdd1 1 262 2104483+ fd Linux raid autodetect [root@test ~]# mdadm -C /dev/md1 -a yes -l 5 -c 256 -n 3 /dev/sd{b,c,d}1 mdadm: /dev/sdb1 appears to be part of a raid array: level=raid1 devices=2 ctime=Thu Mar 9 08:58:23 2017 mdadm: /dev/sdc1 appears to be part of a raid array: level=raid1 devices=2 ctime=Thu Mar 9 08:58:23 2017 mdadm: /dev/sdd1 appears to be part of a raid array: level=raid1 devices=2 ctime=Thu Mar 9 08:58:23 2017 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md1 started. [root@test ~]# cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md1 : active raid5 sdd1[3] sdc1[1] sdb1[0] 4204544 blocks super 1.2 level 5, 256k chunk, algorithm 2 [3/3] [UUU] unused devices: <none> [root@test /]# mke2fs -t ext /dev/md1 [root@test /]# vim /etc/fstab 添加 /dev/md1 /backup ext4 defaults,acl,noatime 0 0 [root@test /]# mount -a [root@test /]# cd /backup [root@test backup]# ls lost+found
7、写一个脚本
(1) 接受一个以上文件路径作为参数;
(2) 显示每个文件拥有的行数;
(3) 总结说明本次共为几个文件统计了其行数;
#!/bin/bash echo “File:$@” for file in $@;do lines=$(wc -l $file | cut -d’ ‘ -f1) echo “$file has $lines line(s).” done echo “Total files:$#”
8、写一个脚本
(1) 传递两个以上字符串当作用户名;
(2) 创建这些用户;且密码同用户名;
(3) 总结说明共创建了几个用户;
#!/bin/bash for user in $@;do if id $user &> /dev/null;then echo “$user exists” else useradd $user if [ $? -eq 0 ];then echo $user | passwd –stdin $user &> /dev/null echo “Add $user finished” fi fi done
9、写一个脚本,新建20个用户,visitor1-visitor20;计算他们的ID之和
#!/bin/bash declare -i sum=0 for i in {1..20};do if ! id visitor$i &> /dev/null;then useradd visitor$i fi ID=$(id -u visitor$i) sum=$[$sum+$ID] done echo $sum
原创文章,作者:lyj821202,如若转载,请注明出处:http://www.178linux.com/69873
评论列表(1条)
如果脚本在多加一些判断条件的话会更好