-
课程知识概述部分
- 磁盘管理体系结构
磁盘创建文件系统
磁盘挂载操作 (mount 参数信息) !
磁盘应用环境 (作为交换分区) ! - 系统启动流程
- 基础节点知识梳理
- 磁盘管理体系结构
-
课程知识回顾说明
- 操作系统磁盘分区: fdisk parted
- 磁盘逻辑管理说明: RAID LVM
-
磁盘创建文件系统
文件系统概念: 存储数据不同机制
常见文件系统: ext3/ext4(存储效率) xfs(存储效率/识别大硬盘能力)
创建文件系统: mkfs - make file system
mkfs.文件系统类型(ext4/xfs) /dev/sdb2
mkfs -t 文件系统类型(ext4/xfs) /dev/sdb2 -f
-f 强制设定 -
磁盘管理挂载操作:
挂载概念: 给一个存储设备(文件)开了个门
挂载操作: mount (mount [参数] 设备文件信息 挂载点)
umount (umount -lf /挂载点)
-l lazy(懒惰) 不用从挂载点目录切换出去
-f force 强制进行卸载
如何实现开机自动挂载磁盘分区设备:
方法一: 编辑/etc/fstab
/dev/sdb1 /mnt xfs defaults 0 0方法二: 编辑/etc/rc.local
mount /dev/sdb1 /mnt
企业如果要重启服务器,要检查 /etc/fstab /etc/rc.local 里面的挂载记录,最好先复制下来一份再重启,以免重启后临时挂载失效
-
磁盘应用管理
问题1: 磁盘文件系统出现问题
步骤一: 利用命令检查或修复文件系统
fsck -a 挂载点/分区设备文件
xfs_repair步骤二: 利用挂载命令修复
mount -o remount rw /问题2: 磁盘空间不足情况
inode空间不足了:
解决: 找出大量小文件
find ./ -type f -size -10c|xargs rmblock空间不足:
解决: 找出大文件数据
find / -type f -size ??
du -sh /opt/*|sort -h文件数据是否彻底删除:
- 是否有硬链接存在 i_link=0
PS: 硬链接不能在不同的分区进行创建
find / -type f -inum xxxx - 是否有程序进程调用 i_conut=0
日志文件 —> 服务进程调用
access.log
dd — 模拟创建一个大文件/创建交换分区
dd if=/dev/zero of=/tmp/1G bs=100M count=10问题3: 如何调整swap空间大小
第一个历程: 占用磁盘空间作为扩展交换分区
dd if=/dev/zero of=/swap/1G_swap bs=100M count=10第二个历程: 将创建数据变为swap文件数据
mkswap /swap/1G_swap
file /swap/1G_swap第三个历程: 加载文件给交换分区扩容
swapon /swap/1G_swap
swapoff /swap/1G_swap磁盘使用流程:
- 完成磁盘阵列配置 OK
- 完成磁盘分区操作 OK
- 系统磁盘弹性管理 * OK
- 磁盘创建文件系统 OK
- 磁盘挂载操作 OK
- 磁盘管理操作 OK
- 是否有硬链接存在 i_link=0
-
操作系统启动流程:
1) centos6系统启动流程
① 进行服务器开机bios自检
② 进行MBR系统启动引导
③ 进行grub内核选择
④ 进行系统内核加载
⑤ 启动第一个服务进程 init (可以让所有服务串行启动)
⑥ 加载/etc/inittab文件
⑦ 加载初始化脚本信息
⑧ 加载系统开机运维脚本信息
使服务可以开机运行
⑨ 启动mingetty 显示登录界面
2) centos7系统启动流程
① 进行服务器开机bios自检
② 进行MBR系统启动引导
③ 进行grub内核选择
④ 进行系统内核加载
⑤ 启动第一个服务进程 systemd (可以让所有服务并行启动)
⑥ 加载系统运行模式文件
/etc/systemd/system/default.target
⑦ 加载初始化脚本信息
⑧ 加载系统开机运行目标文件
/etc/systemd/system/multi-user.target.wants/xxx --> /usr/lib/systemd/system
PS: 可以确保centos7中服务可以开机运行
⑨ 启动mingetty 显示登录界面
如何编写自动启动服务脚本:
- 运维基础知识综合梳理
-
操作系统硬件知识
*** 掌握硬件组成信息:
*** 硬件作用详细说明: CPU 内存(缓存/缓冲) 磁盘 -
操作系统安装部署
*** 操作系统虚拟环境
*** 操作系统安装过程
*** 操作系统网络配置 -
操作系统远程连接
*** 远程软件配置过程
*** 建立系统远程连接
*** 远程连接排错方法 -
操作系统管理命令
*** 系统运行相关命令 shutdown
*** 系统目录相关命令 mkdir cd ll rm
*** 系统文件相关命令 touch cat cp mv echo -
操作系统目录结构
*** 系统磁盘挂载概念
*** 系统目录结构信息 /bin /home /etc /root
*** 系统重要文件信息
*** 系统硬件信息查看 cpu 内存 磁盘 负载
*** 系统软件安装方法 yum -
操作系统基础优化
-
操作系统文件属性
*** 系统inode block
*** 系统链接信息
*** 系统相关命令 find tar date -
操作系统正则符号 (三剑客命令 grep sed awk) * —> shell
-
操作系统用户权限
*** 系统默认权限 rwx
*** 系统特殊权限 setuid setgid 粘滞位
*** 系统用户提权 su sudo
*** 系统用户命令 useradd groupadd
*** 系统用户文件 /etc/passwd /etc/skel
-
- 操作系统定时任务
*** 定时任务编写方法 时间信息
*** 定时任务常见错误 - 操作系统磁盘管理
*** 如何进行磁盘分区
*** 如何进行磁盘格式化
*** 如何进行挂载操作
*** 如何让磁盘自动挂载 ok
作业:
-
挂载defaults参数是什么意思? 并进行详细解释说明
Use default options: rw, suid, dev, exec, auto, nouser, and async. -
如何自动重启系统识别扩容交换分区容量
作业:
- /2 每隔2个小时执行, 是2的整数倍间隔时间执行
偶数时间执行定时任务!!!
希望如何奇数时间每隔2个小时执行定时任务 - 实现数据备份, 每天夜里3点将/etc/rc.local文件进行备份/backup
- 实现定时压缩数据, 每隔30分钟将/etc/目录压缩保存/backup
- 每天将messages日志文件, 进行切割处理, 每天下午3点 晚上8点
PS: 切割后日志扩展名需要有日期信息 - 0 5/3 * * * ??? 不能这样配置
0 5-10/2 * * * ??? 5点到10点时间内, 每隔2个小时执行定时任务
0 5,7,10/2 * * * ??? 不能这样配置
扩展练习:
- 如何绘制杨辉三角形
sh test.sh 3
*
sh test.sh 4
*
sh test.sh 5
*
-
学员问题:
-
什么时候用 / / 什么时候用 ’ ’ 单引号啊?
// — 用于匹配筛选字符串信息
‘’ — 进行所见即所得进行 增 删 改 查
“” — 进行信息解析时 增 删 改 查 -
利用awk命令连续显示多列信息
[root@oldboy69 oldboy 11:54:02]# awk ‘{for(i=1;i<4;i++){printf $i" "};printf “\n”}’ test10.txt
1 2 3
1 2 3
[root@oldboy69 oldboy 11:54:05]# awk ‘$3~/^41/{for(i=1;i<4;i++){printf $i" "};printf “\n”}’ awk.txt
Zhang Dandan 41117397
Liu Bingbing 41117483 -
怎么给一个新创建的用户赋予同等于root的权限?
方法一: 修改visudo配置文件
oldboy ALL=(ALL) NOPASSWD: ALL方法二: 将用户加入到root用户组中
usermod -g root oldboy
作业:
-
系统中文件硬链接数默认是多少 目录硬链接数默认是多少?
默认1个 默认是2个
目录硬链接数为什么是2?思路一: 掌握什么是硬链接概念
inode号码相同文件数据, 互为硬链接
思路二: 理解系统中两个符号作用
…/ – 表示上级目录
./ – 表示当前目录
扩展:
01: dd if=/dev/zero of=/oldboy/oldboy03.txt bs=150M count=10 什么作用
02: 和find命令有关, 排除指定目录不要进行搜索
[root@oldboy69 oldgirl 00:07:50]# tree
.
├── bin
│?? └── oldboy.sh
├── cache — 排除cache目录不要进行搜索
│?? └── oldboy.m
├── conf
│?? └── oldboy.conf
└── log
└── oldboy.log
4 directories, 4 files
方法一: 利用find命令 取反操作 ! -not
# find /oldboy ! -path "/oldboy/oldboy02/*" -name "oldgirl02.txt"
/oldboy/oldboy01/oldgirl02.txt
/oldboy/oldboy03/oldgirl02.txt
方法二: 利用find命令 -prune 修剪 -print 输出
[root@oldboy69 oldboy 23:12:38]# find /oldboy -path "/oldboy/oldboy02"
/oldboy/oldboy02
[root@oldboy69 oldboy 23:14:08]# find /oldboy -path "/oldboy/oldboy02" -o -name "oldgirl02.txt"
/oldboy/oldboy01/oldgirl02.txt
/oldboy/oldboy02
/oldboy/oldboy02/oldgirl02.txt
/oldboy/oldboy03/oldgirl02.txt
[root@oldboy69 oldboy 23:14:36]# find /oldboy -path "/oldboy/oldboy02" -prune -o -name "oldgirl02.txt"
/oldboy/oldboy01/oldgirl02.txt
/oldboy/oldboy02
/oldboy/oldboy03/oldgirl02.txt
[root@oldboy69 oldboy 23:15:29]# find /oldboy -path "/oldboy/oldboy02" -prune -o -name "oldgirl02.txt" -print
/oldboy/oldboy01/oldgirl02.txt
/oldboy/oldboy03/oldgirl02.txt
03: 压缩/oldboy目录, 生成一个oldboy.tar.gz压缩包, 将压缩包报文在/backup
需要排除/oldboy/oldboy01目录 /oldboy/oldboy02目录不要被压缩打包
# tar zcvf /backup/oldboy.tar.gz /oldboy --exclude=oldboy02
tar: Removing leading `/’ from member names
/oldboy/
/oldboy/oldboy01/
/oldboy/oldboy01/oldgirl01.txt
/oldboy/oldboy01/oldgirl02.txt
/oldboy/oldboy01/oldgirl03.txt
/oldboy/oldboy03/
/oldboy/oldboy03/oldgirl01.txt
/oldboy/oldboy03/oldgirl02.txt
/oldboy/oldboy03/oldgirl03.txt
作业:
- 如何利用find命令将数据找出来, 进行批量复制或移动操作(三种方法)
- 将目录中以oldboy开头的文件信息, 进行批量压缩
预习:
1 文件属性 inode索引信息 block块信息
2.文件属性 软链接/硬链接