第七周-磁盘管理、RAID及Shell脚本练习

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

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

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

[root@N1 ~]# mkfs.ext4 -b 2048 -m 2 -L MYDATA /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: 完成   
[root@N1 ~]# tune2fs -o acl /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
[root@N1 ~]# mount -o noexec,noatime /dev/sdb1 /data/mydata
[root@N1 ~]# mount | grep /dev/sdb1
/dev/sdb1 on /data/mydata type ext4 (rw,noexec,noatime,seclabel,data=ordered)

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

[root@N1 ~]# mkswap /dev/sdb5
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=917fcaf4-68b7-415f-b48d-308eff4d7b9f
[root@N1 ~]# swapon /dev/sdb5

三、写一个脚本

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

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

#!/bin/bash
disk=`fdisk -l | grep -o "/dev/sd[a-z][1-9]\+"`
echo -e "All disk:\n$disk\n"
for i in $disk
 do
  df -h $i
done

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

RAID级别介绍; 一般常用的RAID阶层,分别是RAID 0、RAID1、RAID 2、RAID 3、RAID 4以及RAID 5,再加上二合一型 RAID 0+1﹝或称RAID 10﹞。我们先把这些RAID级别的优、缺点做个比较:

RAID级别 相对优点 相对缺点
RAID 0 存取速度最快 没有容错
RAID 1 完全容错 成本高
RAID 2 带汉明码校验 数据冗余多,速度慢
RAID 3 写入性能最好 没有多任务功能
RAID 4 具备多任务及容错功能 磁盘驱动器造成性能瓶颈
RAID 5 具备多任务及容错功能 写入时有overhead
RAID 01/RAID 10 速度快、完全容错 成本高
  • RAID 0 的特点;

    • 也称为条带模式(striped),即把连续的数据分散到多个磁盘上存取。当系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。因为读取和写入是在设备上并行完成的,读取和写入性能将会增加,这通常是运行 RAID 0 的主要原因。但RAID 0没有数据冗余,如果驱动器出现故障,那么将无法恢复任何数据。 

  • RAID 1 的特点;

    • RAID 1 又称为镜像(Mirroring),一个具有全冗余的模式。RAID 1可以用于两个或2xN个磁盘,并使用0块或更多的备用磁盘,每次写数据时会同时写入镜像盘。这种阵列可靠性很高,但其有效容量减小到总容量的一半,同时这些磁盘的大小应该相等,否则总容量只具有最小磁盘的大小。 

  • RAID 5 的特点;

    • 在希望结合大量物理磁盘并且仍然保留一些冗余时,RAID 5 可能是最有用的 RAID 模式。RAID 5可以用在三块或更多的磁盘上,并使用0块或更多的备用磁盘。就像 RAID 4一样,得到的 RAID5 设备的大小是(N-1)*S。

    • RAID 5其中一块磁盘出现故障,那么由于有校验信息,所以所有数据仍然可以保持不变。如果可以使用备用磁盘,那么在设备出现故障之后,将立即开始同步数据。如果两块磁盘同时出现故障,那么所有数据都会丢失。RAID5 可以经受一块磁盘故障,但不能经受两块或多块磁盘故障。

    • RAID 5也是采取独立存取模式,但是其Parity Data 则是分散写入到各个成员磁盘驱动器,因此,除了具备Overlapped I/O 多任务性能之外,同时也脱离如RAID 4单一专属Parity Disk的写入瓶颈。但是,RAI?D 5在座资料写入时,仍然稍微受到”读、改、写过程”的拖累。 

  • RAID 01/RAID 10特点

    • RAID 10是先镜射再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。

    • RAID 01则是跟RAID 10的程序相反,是先分区再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。

    • 当RAID 10有一个硬盘受损,其余硬盘会继续运作。RAID 01只要有一个硬盘受损,同组RAID 0的所有硬盘都会停止运作,只剩下其他组的硬盘运作,可靠性较低。如果以六个硬盘建RAID 01,镜射再用三个建RAID 0,那么坏一个硬盘便会有三个硬盘脱机。因此,RAID 10较RAID 01常用,零售主板大部份支持RAID 0/1/5/10,但不支持RAID 01。

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

[root@N1 ~]# mdadm -C /dev/md0 -a yes -n 2 -x 1 -c 128 -l 1 /dev/sdb{1,2,3}
mdadm: /dev/sdb1 appears to contain an ext2fs file system
       size=10485760K  mtime=Sun Aug 13 15:53:36 2017
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
mdadm: /dev/sdb3 appears to be part of a raid array:
       level=raid0 devices=0 ctime=Thu Jan  1 08:00:00 1970
mdadm: partition table exists on /dev/sdb3 but will be lost or
       meaningless after creating array
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

六、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;

[root@N1 ~]# mdadm -C /dev/md0 -a yes -n 3  -c 256 -l 5 /dev/sdb{1,2,3}
mdadm: /dev/sdb1 appears to contain an ext2fs file system
       size=10485760K  mtime=Sun Aug 13 15:53:36 2017
mdadm: /dev/sdb1 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Sun Aug 13 17:37:58 2017
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@N1 ~]# mkfs.ext4 /dev/md0 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=64 blocks, Stripe width=128 blocks
262144 inodes, 1047552 blocks
52377 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 
[root@N1 ~]# mkdir /backup
[root@N1 ~]# blkid /dev/md0
/dev/md0: UUID="16e3c761-3b8a-40d0-9bb2-c8f5af081504" TYPE="ext4" 
[root@N1 ~]# vim /etc/fstab
# /etc/fstab
# Created by anaconda on Fri Jul 14 17:51:07 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/centos-root /   xfs defaults0 0
UUID=ee8161b1-a9d1-4c9f-a2f5-3ba9200eab5f /boot   xfs defaults0 0
/dev/mapper/centos-swap swapswapdefaults0 0
UUID=16e3c761-3b8a-40d0-9bb2-c8f5af081504 /backup  ext4 defaults,acl,noatime 0 0

七、写一个脚本

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

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

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

#!/bin/bash

for i in $@; 
 do
  echo "lines :`wc -l $i`"
done
echo "Count for $# files"

八、写一个脚本

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

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

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

#!/bin/bash
if [ $# -lt 2 ];then
echo "Error,Please input more."
fi

for i in $@;
 do
  useradd $i
  echo $i | passwd --stdin $i
done
echo "Create $# users."

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

#!/bin/bash
sum=0
for i in `seq 1 20`;
 do
  useradd visitor$i
  uid=`id -u visitor$i`
  let sum=$uid+$sum
done
echo "Sum of UID:$sum"

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

(0)
N27_whatN27_what
上一篇 2017-08-13 23:05
下一篇 2017-08-13 23:19

相关推荐

  • netstat

    netstat命令 netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等 1 常用选项: -a :(all)显示所有选项,默认不显示LISTEN相关 -t :(tcp)仅显示tcp相关选项 -u :(…

    Linux干货 2017-05-07
  • linux 生产常用命令

    hostname 显示当前的主机名pwd 显示当前工作的目录wwhowhoami显示当前用户及已建立的ssh链接useradd 新建一个普通用户passwd 修改用户的密码which 查看系统命令所对应的路径type 查询命令是否属于内部命令或者外部命令hash 哈希 把一个命令一个文本通过某种算法生产一串字符df 查看系统分区hash -l 加快命令查询执…

    Linux干货 2017-03-28
  • VIM入门及进阶

    什么是VIM?     VIM类似于Vi编辑器, 它是一个功能强大、可高度定制的文本编辑器, 是一个纯粹的自由软件。注意:vi和vim不完全相同 为什么要使用VIM?     相信大多数人接触Linux时使用的第一个文本编辑器都不是VIM,很多人看到VIM复杂的命令操作就望而祛步…

    系统运维 2016-03-04
  • 如何在 Linux 下大量屏蔽恶意 IP 地址

    很多情况下,你可能需要在Linux下屏蔽IP地址。比如,作为一个终端用户,你可能想要免受间谍软件或者IP追踪的困扰。或者当你在运行P2P软件时。你可能想要过滤反P2P活动的网络链接。如果你是一名系统管理员,你可能想要禁止垃圾IP地址访问你们的公司邮件服务器。或者你因一些原因想要禁止某些国家访问你的web服务。在许多情况下,然而,你的IP地址屏蔽列表可能会很快…

    Linux干货 2015-02-26
  • HA Cluster:keepalived

    HA Cluster 集群类型:LB(lvs/nginx(http/upstream, stream/upstream))、HA、HP 系统可用性的公式:A=MTBF/(MTBF+MTTR) 系统故障: 硬件故障:设计缺陷、wear out、自然灾害 软件故障:设计缺陷 提升系统高用性的解决方案之降低MTTR: 解决方案:冗余(redundant) acti…

    Linux干货 2017-06-26
  • find命令简单总结

     find     字符串类查询:            -type   //根据文件类型查找       &…

    Linux干货 2015-09-14