linux系统磁盘概念
磁盘的结构体系
磁盘的物理结构(外部结构 内部结构)
磁盘阵列说明(raid0 raid1 raid5 raid10 raid01)
磁盘阵列如何配置
配置LVM(逻辑卷管理,实现随意调整分区大小)
磁盘分区概念
给容量较小的磁盘进行分区,小于2T fdisk
给容量较大的磁盘进行分区,大于2T parted
磁盘格式化操作(创建文件系统)
磁盘维护管理知识(如何使用磁盘 挂载使用)
磁盘结构详细说明
磁盘的外部结构
磁盘主轴 决定磁盘转速
家用磁盘转速 7200rpm 5400rpm
企业磁盘转速 15k rpm 10k rpm
磁盘盘片 用于存储数据
磁盘磁头 用于读取数据
磁盘接口 用于连接主板,用于连接阵列卡
磁盘的内部结构
磁盘(Disk)
磁头(Head):用来写入和读取数据的,盘面数量等于磁头数量,采用径向运动读写数据
磁道(Track):用来存储用户数据,由多个同心圆组成
存储计数:最外面同心圆为0磁道
磁盘默认按照磁道寻找数据,磁头径向运动为机械运动(寻道),磁头机械运动较慢
扇区(Sector):用来存储用户数据,磁盘存储最小单位
存储计数:默认磁盘扇区从1扇区开始,扇区大小为512字节,系统存储最小单位是block
柱面(Cylinder):用来存储用户数据,不同盘面上相同的磁道组成(圆柱体),磁盘默认按照柱面进行书写,磁头之间的切换为电子切换,磁头电子切换较快
单元块(Units):用来存储用户数据,表示单个柱面大小
磁盘阵列
提高磁盘存储效率,提高磁盘数据存储安全,提高磁盘存储容量
阵列的配置方法
raid 0 存储数据效率高,存储安全性低
raid 1 存储数据效率低,存储安全性高
raid5 存储数据效率较高,存储安全性较高
至少有3块硬盘,只能最多坏一块磁盘,损耗一块磁盘的容量
raid 10 数据安全保障提高,数据存储效率提高,磁盘容量将会损耗,需要成对添加硬盘
raid 01 数据安全保障提高,数据存储效率提高,磁盘容量将会损耗,需要成对添加硬盘
LVM 实现分区可以弹性缩容和扩容
磁盘分区方法
系统启动引导记录
MBR引导记录 用于引导磁盘空间小于2T
GPT引导记录 用于引导磁盘空间大于2T
分区方式
可以有划分4个主分区 /dev/sda /dev/sda1...sda4
可以划分3个主分区 /dev/sda /dev/sda1...sda3
1个扩展分区 扩展分区无法直接使用
需要在扩展分区基础上划分逻辑分区 /dev/sda5...
磁盘分区实践
磁盘小于2T
准备磁盘环境(准备一块新的10G硬盘)
在系统中检查是否识别到了新的硬盘
检查是否有新的硬盘存储文件 ll /dev/sdb
对磁盘进行分区处理(fdisk 进行分区处理,查看分区信息)
fdisk -l 查看分区信息
fdisk /dev/sdb fdisk最大分的区要小于2T
d 删除分区
g 创建一个空的GTP分区表(可以对大于2T磁盘进行分区)
l 列出可以分区的类型
m 输出帮助菜单
n 新建增加一个分区
p 输出分区的结果信息
q 不保存退出
t 改变分区的系统id(改变分区类型<LVM 增加swap分区大小>)
u 改变分区的方式 是否按照扇区进行划分
w 将分区的信息写入分区表并退出(保存分区信息并退出)
开始分区
规划分4个主分区,每个分区1G
分区操作过程
n
p
1
+1G
分区操作检查
p
l
规划分3个主分区,1个扩展分区,每个主分区1G,剩余都给扩展分区
...
n
e
...
划分逻辑分区
n
保存退出,让系统可以加载识别分区信息
让系统可以加载识别分区文件 partprobe /dev/sdb
磁盘大于2T
准备磁盘环境,虚拟主机中添加一块3T硬盘
使用parted命令进行分区 parted可以划分一个大于2T的分区
mklabel,mktable LABET-TYPE 创建一个分区表(默认为mbr)
print [devices|free|list,all|NUMBER] 显示分区信息
mkpart PART-TYPE [FS-TYPE] START END 创建一个分区
quit 退出分区状态
rm NUMBER 删除分区
修改磁盘分区类型 mklabel gpt
分区方法 mkpart primary 0 2100G
加载磁盘分区 partprobe /dev/sdc
格式化操作(创建文件系统)
mkfs.xfs /dev/sdb1
mkfs -t xfs /dev/sdb2
创建文件系统:磁盘分区存储数据的方式
ext3/4 centos6
xfs centos7 格式效率较高,数据存储效率提升(数据库服务器)
磁盘挂载应用
mount /dev/sdb1 /mount01
mount /dev/sdb2 /mount02
检查确认 df -h
如何实现开机自动挂载
方法1:将挂载命令放入/etc/rc.local
tail -2 /etc/rc.local
系统开机加载rc.local流程
加载/etc/rc.local /etc/rc.d/rc.local 以绝对路径方式执行
/etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
方法2:在/etc/fstab文件中进行设置
挂载磁盘文件(存储设备) 挂载点 指定文件系统类型 挂载的参数 是否备份磁盘 是否检查磁盘
企业磁盘常见问题
磁盘满的情况 No space left on device
存储的数据过多
模拟磁盘空间不足
dd if=/dev/zero of=/tmp/oldboy.txt bs=10M count=100
block存储空间不足 df -h
删除没用的数据,找出大的没用的数据
find / -type f -size +xxx
du -sh /etc/sysconfig/network-scripts/* | sort -h
按照数值排序命令 cat num.txt | sort -n k2
inode存储空间不足 df -i 出现了大量小文件
如何调整swap空间大小
将磁盘分出一部分空间给swap分区使用
dd if=/dev/zero of=/tmp/1G bs=100M count=10
将指定磁盘空间作为swap空间使用
mkswap /tmp/1G
加载使用swap空间
swapon /tmp/1G
free -h
swapoff /tmp/1G
free -h
rm -f /tmp/1G
磁盘相关命令
fdisk 磁盘分区工具
parted 磁盘分区工具
partprobe 通知系统磁盘的分区信息变化,更新内核的硬盘分区表信息
tune2fs 调整ext2/ext3/ext4文件系统参数,关闭磁盘分区的自动检查功能
mkfs 格式化创建文件系统
dumpe2fs 导出ext2/ext3/ext4文件系统参数
resize2fs 调整ext2/ext3/ext4文件系统大小
fsck 磁盘检查命令,-a参数可以自动恢复
dd 转换或复制文件
od 查看二进制文件信息(od -xa)
mount 挂载文件系统
umount 卸载文件系统
df 报告文件系统磁盘空间的使用情况
mkswap 创建交换分区
swapon 激活交换分区
swapoff 关闭交换分区
sync 刷新文件系统缓冲区
iotop 查看系统的磁盘读写速度,显示出进程使用swap的情况
htop 更高级的top命令
iftop 查询网卡流量情况,-i监视指定网卡
网友评论