操作系统启动顺序说明 (面试)
centos6
- 进行开机自检 (检查硬件 加载识别bios)
- 识别MBR引导信息 (引导系统启动)
- 加载grub菜单 (选择内核信息)
- 加载内核信息 (控制管理硬件)
- 启动第一个服务进程 (init服务进程)
- 加载系统文件运行级别文件 (/etc/inittab)
加载系统文件磁盘挂载文件 (/etc/fstab) ??? - 加载系统初始化脚本文件 (/etc/rc.d/rc.sysinit)
- 加载不同运行级别目录脚本 (实现服务开机自启)
- 加载启动mingetty进程 (显示登录系统界面)
centos启动知识扩展介绍
进入到/etc/rc3.d目录中:
S编号信息: start 指定服务启动顺序
K编号信息: kill 指定服务关闭顺序
centos6开机自动启动服务:
所有服务进行串行启动/关闭 启动效率比centos7慢
centos6检查服务是否开启
/etc/init.d/crond status
crond (pid 1679) is running...
centos6检查服务开机是否自启
chkconfig --list|grep crond
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
centos6调整服务开机启动设置
chkconfig crond off 关闭
chkconfig crond on 关闭
centos6手动启动服务程序
/etc/init.d/crond start 启动
/etc/init.d/crond stop 关闭
==========================================================================
centos7
- 进行开机自检 (检查硬件 加载识别bios)
- 识别MBR引导信息 (引导系统启动)
- 加载grub菜单 (选择内核信息)
- 加载内核信息 (控制管理硬件)
- 启动第一个服务进程 (systemd服务进程)
- 加载系统文件运行级别文件 (/etc/systemd/system/default.target)
加载系统文件磁盘挂载文件 (/etc/fstab) - 加载系统初始化脚本文件 (/usr/lib/systemd/system/sysinit.target)
- 加载不同运行级别目录单元文件 (/usr/lib/systemd/system/)
- 加载启动mingetty进程 (显示登录系统界面)
==========================================================================
进入/etc/systemd/system/multi-user.target.wants/目录中
systemctl enable 服务 --- 服务开机自启
systemctl disable 服务 --- 服务禁止自启
所有服务启动或停止文件
/usr/lib/systemd/system/
centos7开机自动启动服务:
所有服务进行并行启动/关闭 启动效率比centos6快
/usr/lib/systemd/system/crond.service == centos6启动服务脚本文件
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide
==========================================================================
总结系统启动过程:
开机自检 - 加载MBR - 识别grub菜单 - 加载内核信息 - 启动第一个系统进程
识别系统运行模式/级别 -- 加载初始化文件 -- 实现系统服务开机自启 -- 显示登录界面
磁盘管理层次结构介绍
- 磁盘物理结构信息
- 磁盘逻辑结构信息
- 磁盘分区操作方法
- 磁盘格式化操作方法
- 磁盘使用方法
磁盘物理结构信息
外部结构: (看的见)
未拆开
接口信息: sata - scsi - sas 类似茶壶壶嘴
转速信息: 10k 15k
容量信息: 字节 kB MB GB TB PB 一块1T磁盘 100G 厂商生产磁盘 换算单位 1000 标准换算 1024
硬盘种类: 机械硬盘-存读效率低 固态硬盘-存读效率高 1T
拆开
盘片: 存储数据
机械臂: 带动磁头运转(径向运行)
磁头: 读取数据
主轴: 带动盘片转动
内部结构: (看不见)
磁道 Track: 磁盘上多个同心圆
扇区 sectors: 物理存储数据最小单位 512字节
逻辑存储数据最小单位 block 4k
柱面 Cylinder: 相同大小磁道圆柱体
计算磁盘大小:
一个柱面存储容量大小: 1G * 磁道数
磁盘逻辑结构信息
磁盘阵列:
为什么需要做磁盘阵列:
a 增加磁盘容量
b 增加磁盘数据安全性
c 增加磁盘数据读写效率
阵列级别:
raid 0 : WCG
优势: 读写效率高
缺点: 安全性低
存储: 存储利用率=总磁盘容量总和
raid 1 :
优势: 安全性高
缺点: 读写效率低
存储: 存储利用率=总磁盘容量总和/2
raid 5 : *
优势: 安全性高 读写效率高
存储: 损失一块磁盘容量
raid 6:
优势: 安全性高 读写效率高 坏两块磁盘
存储: 损失一块磁盘容量
raid 10/01 :
优势: 安全性高 读写效率高
存储: 损失一半容量
逻辑卷管理:
磁盘lvm弹性扩容和缩容
概述介绍说明:
F:/ 500G 1部电影 10G 2部电影 ... n部电影 499G
G:/ 500G n+1电影
旧数据分区 500G: 数据文件大小不断增加 499 存储数据增加
新数据分区 1T: 数据文件大小不断增加 499
磁盘分区: 旧500G + 1T = 1.5
LVM应用场景: 数据库服务器 / 存储服务器
概念原理知识:
PV: (PE PE PE) - VG (PV PV) - LV
LVM磁盘管理配置过程:
第一个里程: 进行磁盘分区格式化操作
fdisk -l --- 检查系统磁盘信息
fdisk /dev/sdb --- 对第二块磁盘进行分区
分区操作步骤:
n --> p --> 回车 --> 输入分区大小 --> p 划分出两个分区
w 保存分区操作
第二个里程: 进行PV创建过程
pvcreate /dev/sdb1 /dev/sdb2
第三个里程: 将PV划分到VG
vgcreate oldboy01 /dev/sdb1 /dev/sdb2
第四个里程: 创建LV
lvcreate -L 200M -n lv1 oldboy01
第五个里程: 挂载使用LV
mkfs(make file system)
mkfs.ext4 /dev/oldboy01/lv1
lv弹性扩容:
lvextend -L +100M /dev/vg1/lv1
lvscan
resize2fs -f /dev/oldboy01/lv1
lv弹性缩容:
umount 挂载点
e2fsck -f /dev/oldboy01/lv1
lvreduce -L -4M /dev/vg1/lv1
resize2fs -f /dev/oldboy01/lv1
mount 挂载点
磁盘分区操作说明:
预备知识:
0磁头0磁道1扇区: MBR(引导记录) + GPT(分区表)
系统分区表:
最多分为四个部分 分区最多可以划分4个主分区
将一个主分区变为扩展分区(多个逻辑分区 逻辑分区编号 5+)
扩展分区只能有一个,扩展分区不能直接使用
fdisk命令分区(分小于2T磁盘)
fdisk命令分区参数信息
d delete a partition
删除指定分区
g create a new empty GPT partition table
创建一个GPT类型分区表
l list known partition types
列出已知的分区类型
n add a new partition
创建新的分区
o create a new empty DOS partition table
创建一个DOS类型分区表
p print the partition table
打印分区信息
q quit without saving changes
退出不保存分区配置
w write table to disk and exit
保存分区配置并退出
==================================================
PS: 在系统不重启状态下, 重新扫描系统磁盘变化
echo "- - -" > /sys/class/scsi_host/host0/scan
==================================================
系统分区表类型:
GPT: 可以划分大的分区 多个分区 128
DOS: 只能划分小于2T分区 4个主 1个扩展 多个逻辑
fdisk划分大的磁盘分区
fdisk /dev/sdd --> g 改变分区表 --> n 创建大分区 --> w 保存
mkfs.xfs /dev/sdd1
mount 挂载
parted (分大于2T分区)
- mklabel(创建分区表 MRB-msdos/gpt) create a new disklabel (partition table)
修改分区表类型
mklabel gpt / msdos - mkpart (创建新的分区) make a partition
mkpart primary 0 2500G - print (显示分区表信息) display the partition table
- rm (删除指定分区信息) delete partition NUMBER
- quit (退出分区界面) exit program
磁盘文件系统介绍
什么是文件系统: 设置存储数据方式
centos6: ext3/ext4
centos7: xfs
xfs vs ext3/ext4
xfs存储数据效率更高, 增加数据库服务器存储数据效率
xfs格式化磁盘效率也会更高
mkfs.ext3/ext4/xfs /dev/sdd1
mkfs -t ext3/ext4/xfs /dev/sdd1
磁盘挂载使用方法
mount 存储设备文件 挂载点目录(空目录)
临时挂载: mount xxx
永久挂载:
确认/etc/fstab文件
存储设备文件 挂载点 文件系统类型 挂载参数 是否进行备份 是否检查磁盘
/dev/sdd1(UUID) /mnt xfs ?defaults? 0 0(fsck)确认/etc/rc.local文件
mount /dev/sdd1 /mnt
man mount --> -o 挂载参数信息 defaults ro,suid,exec
rw/ro
指定挂载点是否具有读写能力
mount -o rw/ro
suid/nosuid
setuid/nosetuid : 挂载点目录中文件setuid特殊权限是否能够生效 (系统安全)
exec/noexec
挂载点目录中脚本文件是否有执行能力 (系统安全)
auto/noauto :
是否支持实现自动挂载操作
nouser/user
是否让普通用户可以是挂载操作
async/sync
异步存储数据/同步存储数据
异步: 数据 --> 内存 --> 磁盘 访问量高 存储数据多 存储效率高
同步: 数据 --> 磁盘 访问量低 存储数据少 存储安全性
有时高 有时低 --> 保证数据安全性 保证数据存储效率 分布式存储
禁止卸载操作情况
- 挂载点目录中数据被服务进程使用
- 用户进入到了挂载点目录中
挂载点强制卸载:
umount -lf /mnt
-f force 强制卸载 挂载点目录中数据被进程占用
-l lazy 懒惰卸载 用户在挂载点目录中直接卸载
课程知识总结说明:
- 磁盘物理结构信息 了解
外部结构: 接口 转速 容量 主轴 盘片 机械臂 磁头
内部结构: 磁道 扇区(最小存储单位 512字节) 柱面 - 磁盘逻辑配置说明
磁盘阵列raid: 阵列级别 raid 0 1 5 10 01 6 / 阵列配置过程
磁盘管理Lvm: 弹性扩容或缩容 (pe - pv - vg) -> lv 募捐 lvm配置过程 - 磁盘分区过程说明:
fdisk: 分区操作 centos7 dos分区表: 4个主分区 1个扩展分区 多个逻辑分区
parted: 分区操作 - 磁盘文件系统创建(格式化)
linux: ext3 ext4 xfs
mkfs.文件系统类型 mkfs -t 文件系统类型 - 磁盘分区挂载过程
mount 命令参数
umount 命令参数 - 如何调整swap分区大小???