您的位置:首页 > 运维架构 > Linux

马哥2016全新Linux+Python高端运维班第七周作业

2016-09-18 17:43 531 查看
1、创建一个10G分区,并格式为ext4文件系统;

# fdisk device
子命令:管理功能
p: print, 显示已有分区;
n: new, 创建
d: delete, 删除
w: write, 写入磁盘并退出
q: quit, 放弃更新并退出
m: 获取帮助
l: 列表所分区id
t: 调整分区id
(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;
(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;
mke2fs:ext系列文件系统专用管理工具
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L 'LABEL' 设置卷标名
-j: 相当于 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小;
-N #:为数据空间创建个多少个inode;
-m #: 为管理人员预留的空间占据的百分比;
-O FEATURE[,...]:启用指定特性
-O ^FEATURE:关闭指定特性



挂载,先创建挂载点
#mkdir -p /data/mydata









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



3、写一个脚本
(1)、获取并列出当前系统上的所有磁盘设备;
#fdisk -l | grep ^/dev/[hs]d*
(2)、显示每个磁盘设备上每个分区相关的空间使用信息;
#df -h | grep ^/dev/[hs]d*



4、总结RAID的各个级别及其组合方式和性能的不同;
RAID-0:
读、写性能提升;
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2或2个以上

RAID-1:
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2或2个以上

RAID-4:
1101, 0110, 1011

RAID-5:
读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:1块磁盘
最少磁盘数:3个及3个以上

RAID-6:
读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:2块磁盘
最少磁盘数:4个及4个以上

混合类型
RAID-10:
读、写性能提升
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块;
最少磁盘数:4个及4个以上
RAID-01:

RAID-50、RAID7

JBOD:Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用;
可用空间:sum(S1,S2,...)

常用级别:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;
mdadm:模式化的工具
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10;

模式:
创建:-C
装配: -A
监控: -F
管理:-f, -r, -a

<raiddevice>: /dev/md#
<component-devices>: 任意块设备

-C: 创建模式
-n #: 使用#个块设备来创建此RAID;
-l #:指明要创建的RAID的级别;
-a {yes|no}:自动创建目标RAID设备的设备文件;
-c CHUNK_SIZE: 指明块大小;
-x #: 指明空闲盘的个数;

例如:创建一个10G可用空间的RAID5;

-D:显示raid的详细信息;
mdadm -D /dev/md#







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









格式化为ext4:




创建挂载点:#mkdir /backup




也可以编辑:vi /etc/fstab,设置之后再用mount -a更新下即可。



7、写一个脚本
(1) 接受一个以上文件路径作为参数;
(2) 显示每个文件拥有的行数;
(3) 总结说明本次共为几个文件统计了其行数;



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



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



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



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



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

无附加组用户
# groups root
root : root
有附加组用户
# groups bin
bin : bin daemon sys
无附加组用户执行结果为1
# groups root | awk -F: '{print $2}'|awk '{print NF}'
1
有附加组用户执行结果大于1
# groups bin | awk -F: '{print $2}'|awk '{print NF}'




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
















14、新建用户magedu;其家目录为/users/magedu,而后su切换至此用户,复制多个文件至家目录;
#useradd -b /users magedu 创建用户,b选项是指定用户家目录







15、扩展mylv1至9G,确保扩展完成后原有数据完全可用;
扩展逻辑卷: # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME # resize2fs /dev/VG_NAME/LV_NAME


16、缩减mylv1至7G,确保缩减完成后原有数据完全可用;

缩减逻辑卷:
# umount /dev/VG_NAME/LV_NAME
# e2fsck -f /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
# lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
# mount






17、对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息;
快照:snapshot
lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息