【N25第七周作业】

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

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

[root@localhost ~]# mke2fs -t 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: 完成

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

 [root@localhost ~]# mkdir /data/mydata -pv
mkdir: 已创建目录 "/data"
mkdir: 已创建目录 "/data/mydata"
[root@localhost ~]# mount -o noexec,noatime,acl /dev/sdb1 /data/mydata
[root@localhost ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  1.2G   49G    3% /
devtmpfs        480M     0  480M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M  6.7M  483M    2% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sda5        28G   33M   28G    1% /home
/dev/sda1       497M  118M  379M   24% /boot
tmpfs            98M     0   98M    0% /run/user/0
/dev/sdb1       9.8G   13M  9.6G    1% /data/mydata

[root@localhost ~]# dumpe2fs -h  /dev/sdb1
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: LABEL="MYDATA" UUID="4c5efe18-1e76-4722-909b-a931c9cea4af" TYPE="ext4" 
[root@localhost ~]# vi /etc/fstab 
[root@localhost ~]# tail -1 /etc/fstab
UUID=4c5efe18-1e76-4722-909b-a931c9cea4af /data/mydata            ext4    defaults    0 0

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

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): 
Using default response p
分区号 (2-4,默认 2):2
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+1G           
分区 2 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x311490c4

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
/dev/sdb2        20973568    23070719     1048576   83  Linux
命令(输入 m 获取帮助):t
分区号 (1,2,默认 2):2
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@localhost ~]# fdisk -l

磁盘 /dev/sda:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a0565

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048     5222399     2098176   82  Linux swap / Solaris
/dev/sda3         5222400   110079999    52428800   83  Linux
/dev/sda4       110080000   167772159    28846080    5  Extended
/dev/sda5       110082048   167772159    28845056   83  Linux

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x311490c4

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
/dev/sdb2        20973568    23070719     1048576   82  Linux swap / Solaris
[root@localhost ~]# mkswap /dev/sdb2
/dev/sdb2: 没有那个文件或目录
[root@localhost ~]# partx -a /dev/sdb
partx: /dev/sdb: error adding partition 1
[root@localhost ~]# partx -a /dev/sdb
partx: /dev/sdb: error adding partitions 1-2
[root@localhost ~]# partx -a /dev/sdb
partx: /dev/sdb: error adding partitions 1-2
[root@localhost ~]# cat /proc/partitions 
major minor  #blocks  name

   2        0          4 fd0
   8        0   83886080 sda
   8        1     512000 sda1
   8        2    2098176 sda2
   8        3   52428800 sda3
   8        4          1 sda4
   8        5   28845056 sda5
   8       16   20971520 sdb
   8       17   10485760 sdb1
   8       18    1048576 sdb2
  11        0    1048575 sr0
[root@localhost ~]# mkswap /dev/sdb2
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=09374644-2556-4b3f-b267-893f87c2a768
[root@localhost ~]# swapon /dev/sdb2
[root@localhost ~]# vi /etc/fstab 
[root@localhost ~]# tail -1 /etc/fstab
UUID=09374644-2556-4b3f-b267-893f87c2a768 swap            swap    defaults        0 0

3、写一个脚本

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

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

#!/bin/bash
#
FILESYSTEM=`fdisk -l|grep -o '/dev/s[hd][a-z]\>'`
for i in $FILESYSTEM;do
    echo -e  "\033[31m disk : $i \033[0m"
    echo
    df -h|egrep "文件系统|Filesystem|$i"
    echo "==========================================="
done


[root@localhost data]# sh b.sh 
 disk : /dev/sdb 

文件系统        容量  已用  可用 已用% 挂载点
/dev/sdb1       9.8G   13M  9.6G    1% /data/mydata
===========================================
 disk : /dev/sda 

文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  1.3G   49G    3% /
/dev/sda5        28G   33M   28G    1% /home
/dev/sda1       497M  118M  379M   24% /boot
===========================================

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

组成RAID阵列的不同方式称为RAID级别,不同的级别有着不同的性能、不同的数据可靠性和不同的存储成本;
主要有以下几种常用的阵列:
RAID0:以条带的形式将数据均匀分布在阵列的各个磁盘上
【N25第七周作业】
所需成员磁盘数 2个或更多,最低为2个
优点 极高的磁盘读写效率;不存在校验,
不会占用太多CPU资源设计、使用和
配置比较简单
缺点 无冗余,不能用于对数据安全性要求
高的环境
适用领域 视频生成和编辑、图像编辑
其他需要大的传输带宽的操作
RAID1:以镜像为冗余方式,对虚拟磁盘上的数据做多分拷贝,放在成员磁盘上
【N25第七周作业】
所需成员磁盘数 2N个,(N≥1),最低为2个
优点 具有100%数据冗余,提供最高的数据安全保障
理论上可以实现2倍的读取效率
设计和使用比较简单
缺点 开销大,空间利用率只有50%
在写性能方面提升不大
适用领域 财务、金融等高可用、高安全的数据存储环境
RAID5:采用独立存取的阵列方式,校验信息被均匀的分散在阵列的各个磁盘上
【N25第七周作业】
所需成员磁盘数 3个或更多,最低为3个
优点 读性能比较高
中等的写性能
校验信息的分布式存取,避免出现写操作的瓶颈
缺点 控制器设计复杂
磁盘重建的过程比较复杂
适用领域 文件服务器、Email服务器、Web服务器等环境
数据库应用
组合不同级别RAID的目的:不同级别的RAID在性能、冗余、价格等方面做了不同程度的折中,可以扬长避短,产生具有优势特性的混合RAID级别,一般使用RAID10,RAID1,RAID5,RAID50等比较多
RAID10:先镜像,再条带化
【N25第七周作业】
所需成员磁盘数 2N个,(N≥2),最低为4个
优点 读性能很高
写性能比较好
数据安全性好,允许同时有N个磁盘失效
缺点 空间利用率只有50%
开销大
适用领域 多用于要求高可用性和高安全性的数据库应用
RAID50:先实现RAID5再条带化
【N25第七周作业】
所需成员磁盘数 6个或更多,最低为6个
优点 比RAID5有更好的读性能
比相同容量的RAID5重建时间更短
可以容许N个磁盘同时失效
缺点 设计复杂,比较难实现
同一个RAID5组内的两个磁盘失效会导致整个阵列的失效
适用领域 大型数据库服务器、应用服务器、文件服务器等应用
常用RAID级别的比较:
RAID级别 RAID0 RAID1 RAID3 RAID5 RAID10
别名 条带 镜像 专用奇偶位条带 分布奇偶位条带 镜像阵列条带
容错性
冗余类型 镜像 奇偶校验 奇偶校验 镜像
备盘
读性能 中间
随机写性能 最低 中间
连续写性能 中间
需要的磁盘数 2个或更多 2个或2N个 3个或更多 3个或更多 4个或2N(N≥2)
可用容量 总的磁盘容量 磁盘容量的50% 磁盘容量的(N-1)/N 磁盘容量的(N-1)/N 磁盘容量的50%

5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;
6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;
7、写一个脚本
   (1) 接受一个以上文件路径作为参数;
   (2) 显示每个文件拥有的行数;

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

#!/bin/bash
#
SUM=0
[ $# -lt 1 ] && echo "you must input at least one parameter" && exit 2
for file in $@;do
    if [ -f $file ];then
        LINES=`cat $file |wc -l`
        echo "$file have $LINES lines"
        let SUM=$SUM+$LINES
    else
        echo "$file is not exist"
    fi
done
echo "$@ have $SUM lines in total."

[root@localhost data]# sh  count.sh /etc/fstab /etc/profile 
/etc/fstab have 14 lines
/etc/profile have 76 lines
/etc/fstab /etc/profile have 90 lines in total.
[root@localhost data]# sh  count.sh /etc/fstab /etc/profsad
/etc/fstab have 14 lines
/etc/profsad is not exist
/etc/fstab /etc/profsad have 14 lines in total.

8、写一个脚本
   (1) 传递两个以上字符串当作用户名;
   (2) 创建这些用户;且密码同用户名;

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

#!/bin/bash
#
SUM=0
[ $# -lt 1 ] && echo "you must input at least one string" && exit 2
for string in $*;do
    [ $(echo "$string" |wc -c) -le 4 ] && echo "$string less than 4 letters" && continue
    if id $string &> /dev/null;then
        echo "user $string is exist!"
    else
        useradd $string
        echo "$string" |passwd --stdin $string &> /dev/null
        echo "add user $string sucess!"
        let SUM+=1
    fi
done
echo "add $SUM users in total."

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

#!/bin/bash
#

SUM_UID=0

for((i=1;i<=20;i++));do
    adduser visitor$i
    UID1=`id -u visitor$i`
    let SUM_UID+=$UID1
done
echo "ID intotle $SUM_UID"

10、写一脚本,分别统计/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#号开头的行数之和,以及总的空白行数;

#!/bin/bash
#

SUM1=0
SUM2=0

for file in /etc/rc.d/rc.local  /etc/rc.d/init.d/functions  /etc/fstab;do
    num1=`egrep "^#" $file|wc -l`
    let SUM1+=$num1
    num2=`egrep "^$" $file|wc -l`
    let SUM2+=$num2
done

echo "SUM1 have $SUM1"
echo "SUM2 have $SUM2"

11、写一个脚本,显示当前系统上所有默认shell为bash的用户的用户名、UID以及此类所有用户的UID之和;

#!/bin/bash
#
SUM=0
egrep 'bash$' /etc/passwd|cut -d: -f1,3
for i in `egrep 'bash$' /etc/passwd|cut -d: -f3`;do
    let SUM+=$i 
done
echo "SUMUID is $SUM"

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

(0)
shengsheng
上一篇 2017-04-13
下一篇 2017-04-13

相关推荐

  • sed命令解析

    处理文件的工具sed Stream EDitor, 行编辑器 一次只读一行,只处理一行,不对源文件做处理,至输出到屏幕上模式空间 sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space), 接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往…

    Linux干货 2016-08-11
  • 逻辑卷管理—LVM

    逻辑卷管理—LVM   LVM:Logical  Volume  Manager        使用软件方式来组织一个或多个底层硬件设备为一个抽象的逻辑设备。 1、查看分区情况: 2、创建分区:(更改分区类型为8e:Linux LVM) 3、创建分区成功: 5、创建物理…

    Linux干货 2016-09-01
  • 用户管理+文本处理+文件查找

    用户管理 erter useradd (使用频率2) /etc/default/useradd用户模板文件说明 /etc/login.defs 关于新建用户的默认配置文件 批量创建用户和修改密码 usermod 修改用户的属性 chpasswd修改密码 2.chage option user 3.finger user 查看用户信息 4.chfn user …

    Linux干货 2017-04-09
  • linux重装grub,并且设置多重引导

    一、利用linux安装盘(U盘,或者光盘等),启动计算机 二、选择troubleshotting==》Rescue a Centos system==》Continue 三、在shell中输入如下命令     chroot /mnt/sysimage     grub2-install /dev/vda   …

    Linux干货 2017-04-28
  • rpm数据库损坏 不能使用正常使用yum的处理方法

           不知道有没有跟我一样的小伙伴,在使用yum安装软件时,发现无法正常使用yum安装软件包,下面出现几句英语提示。在使用rpm时也无法正常的使用。其实 是rpm数据库崩溃导致的 下面就简单的介绍一下怎么回复,让其正常的工作,很简单几个命了即可。 1. 出现错误提示,这时我们需要认真的阅读下面的提示,不要乱找原…

    Linux干货 2017-06-13
  • N22-第一周作业

    1、描述计算机的组成及功能      计算机系统由硬件系统和软件系统组成。硬件系统(Hardware system)是计算机完成计算工作  的物质基础。软件系统(Software system):是在计算机硬件设备上运行的各种程序,是介于用户  和硬件系统之间的界面。1.1 计算机的硬件系…

    Linux干货 2016-08-22

评论列表(1条)

  • 马哥教育
    马哥教育 2017-05-04 14:47

    这次作业涵盖的知识点比较广泛,但是完成的特别好,再接再励。