第七周小练习

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

(1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl 
(2)挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳

fdisk /dev/sdb
n
p
1
+10G
w
mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sdb1
tune2fs -o acl /dev/sdb1
mkdir -p /data/mydata
mount -o noexec noatime /data/mydata /dev/sdb1

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

fdis /dev/sdb
n
p
2
+1G
t
82
w
mkswap /dev/sdb2
swapon /dev/sdb2

3.写一个脚本

(1)获取并列出当前系统上的所有磁盘设备 
(2)显示所有磁盘设备上每个分区相关的空间使用信息

#!/bin/bash
#
mtdlist=`blkid|cut -d: -f1`
for name in $mtdlist
do        
    df -h $name
done

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

RAID0又叫做Stripe,即条带卷,是所有RAID级别中性能最好的阵列类型。RAID0之所以具有很高的性能,是因为RAID0实现了带区组,它将连续的数据分散地存储到多个磁盘驱动器中 
RAID1又称为镜像卷,使用RAID1至少需要2块以上的磁盘,当数据写入时,会在两块盘中写入完全相同的数据,形成镜像结构,当一组盘出现问题时,可以使用镜像盘,以此提高存储的容错能力 
RAID5是带有分布式奇偶校验位的块级别条带卷,需要3块及以上个磁盘,RAID5具有很高的读性能,但是写性能则一般,因为在数据写入的过程中要进行奇偶校验运算并将校验码写到磁盘中 
RAID6即带有双份分布式奇偶校验信息的块级别条带卷。它与RAID5很相似,但是比RAID5多设了一个校验位,也就是存储了两份的校验信息。所以RAID6阵列最少需要4块磁盘

5.创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128K

mdadm -C /dev/md0  -c 128 -n 3 -l 1 /dev/sdb{5,6,7}

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

mdadm -C /dev/md0 -c 256 -n 3 -l 5 /dev/sdb{5,6,7}
mke2fs -t ext4 /dev/md0
mkdir /backup
echo "/dev/md0 /backup ext4 defaults,noatime,acl 0 0" >>/etc/fstab

7.写一个脚本

(1)接收一个以上文件路径参数 
(2)显示每个文件拥有的行数 
(3)总结说明本次共为几个文件统计了几行

#!/bin/bash
#
[ $# -lt 1 ] && exit
for filename in $@;do
        [ -f $filename ] && cat $filename|wc -l && let sum++
done
echo $sum

8.写一个脚本

(1)传递两个以上字符串当作用户名 
(2)创建这些用户,且密码同用户名相同 
(3)总结说明共创建了几个用户

#!/bin/bash
#
[ $# -lt 1 ] && exit
for username in $@;do
        id $username &> /dev/null && continue
        useradd $username
        echo "$name" | passwd --stdin "$name"        
        let sum++
 done
 echo "add user num : $sum"

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

#!/bin/bash
#
for i in {1..20};do    
    id visitor$i &> /dev/null && continue    
    useradd visitor$i    
    let sum+=`id -u visitor$i`
done
echo "id sum :$sum"

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

#!/bin/bash
#
for file in /etc/rc.d/rc.sysinit /etc/rc.d/init.d/functions /etc/fstab;do    
    line=`grep "^#" $file|wc -l`    
    echo "$file lines num : $line"    
    line=`grep "^$" $file|wc -l`    
    echo "$file null lines :$line"
done

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

#!/bin/bash
#
uid=`grep "\<bash$" /etc/passwd|cut -d: -f3`
for num in uid;do
   let sum+=$num
done
echo "UID sum :$sum"

12.写一个脚本,显示当前系统上所有,拥有附加组的用户的用户名,并说明共有多少个此类用户;

#!/bin/bash
#
for name in `cat /etc/passwd|cut -d: -f1`;do
    groupsnum=`id -G $name|wc -w`    
    [ $groupsnum -ge 2 ] && username=$username\ $name && let num++
done
echo "username: $username num: $num"

13.创建一个至少两个物理卷组成的大小为20g的卷组;要求,PE大小为8M;而在卷组中创建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持acl

pvcreate /dev/sdb1
pvcreate /dev/sdb2
vgcreate -s 8M myvg /dev/sdb1 /dev/sdb2
lvcreate -L 5G -n mylvm myvg
mke2fs -t ext4 /dev/myvg/mylvm
echo "/dev/myvg/mylvm  /users ext4 defaults,acl 0 0" >> /etc/fstab

14.新建用户magedu,其家目录为/users/magedu,而后su切换至此用户,复制多个文件至家目录;

usetadd magedu -d /users/magedu 
cp /etc/skel/* /user/magedu
su - magedu

15.扩展mylv1至9g,确保扩展完成后原有数据完全可用

lvextend -L 9G /dev/myvg/mylvm
resize2fs /dev/myvg/mylvm

16.缩减mylv1至7g,确保缩减完成后原有数据完全可用

lvreduce -L 7G /dev/myvg/mylvm
resize2fs /dev/myvg/mylvm 7G

17.对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息

lvcreate -L 512M -p r -s -n my_snapshot /dev/myvg/mylvm
mount /dev/myvg/my_snapshot /mnt

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

(0)
N24-超N24-超
上一篇 2017-01-04 23:56
下一篇 2017-01-05 01:01

相关推荐

  • LVM(逻辑卷)(logical volume manager),快照卷

    逻辑卷的创建,扩展,缩减,迁移,删除。快照卷的创建

    Linux干货 2017-12-11
  • LVS-nat-dr

    主程序:ipvsadm 配置文件: 规则保存工具:/usr/sbin/ipvsadm-save 规则重载工具:/usr/sbin/ipvsadm-restore 配置文件:/etc/sysconfig/ipvsadm-config ipvsadm使用: 增:      示例:ipvsadm -A -t 172.16.42.1:8…

    2017-08-08
  • N21沉舟第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 方法一: #!/bin/bash         #     dec…

    Linux干货 2016-08-30
  • CentOS7.2编译安装httpd

    环境:CentOS7.2 软件包:httpd-2.2.29.tar.bz2 1、解压缩httpd-2.2.29.tar.bz2 2、进入解压过的文件夹,查看用法(INSTALL、)后然后./configure –help查看参数后执行需要的参数操作,     通过选项传递参数,指定启用特性,安装路径的等,…

    Linux干货 2016-08-24
  • Linux用户和组的配置相关文件

    Linux用户和组的配置相关文件     在linux下,用户的相关配置文件一般是放在/etc目录下,此文主要对以下几个配置文件作介绍:/etc/passwd;/etc/shadow;/etc/group;/etc/gpasswd   一、/etc/passwd:此目录下放的是用户的属性信息,包括组名、UID、GID等,它格式固…

    Linux干货 2016-10-30
  • 计算机基础入门及Pyhton基础

    编程基础 计算机基础 程序(program识别并执行的指令 计算机是执行程序的机器 现代计算机 艾伦·麦席森·图灵奠定了现在计算机的逻辑工作方式的基础 冯·诺依曼提出计算机应该有五大部件组成:输入/输出设备、运算器、控制器、输出设备。这是现代计算机基本框架。 语言基础 计算机语言:与计算机之间交互的语言 机器语言:一定位数的二进制代码成为机器指令,指令集合则…

    2017-09-16

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-23 07:52

    步骤详细,能准确描述整个过程。