磁盘管理

1 磁盘管理体系结构

第一层:物理结构信息 接口 内部和外部结构
第二层:逻辑结构信息 RAID LVM
第三层:磁盘分区概念 分区命令 分区原则
第四层:创建文件系统 磁盘格式化
第五层:磁盘管理应用 挂载操作
2_看图王.png

1.1 物理结构信息

外部结构:磁盘接口、转速信息(服务器10k转速、15k转速)、盘片、主轴、机械臂、磁头
内部结构:磁道(Track 一个磁道一个同心圆,多个同心圆)
扇区(sectors 存储数据最小单位,一个扇区512字节)
柱面(cylinde 多个盘片按照柱面读取数据)
算出磁盘大小:
(1)一个扇区大小*扇区总的数量

awk 'BEGIN{print 41943040*512}'

(2)柱面数量单元块大小(一个柱面大小)
(3)扇区大小
一个磁道扇区数量一个盘片磁道数磁头
磁盘读取数据原理:需要在一定时期,进行磁盘维护

1.2 磁盘逻辑信息

raid:速度更快、更安全、容量更大
RAID5: 即安全 性能又好 只能坏一块硬盘,少一块盘容量 有校验机制,能根据校验机制推算出损坏
     的数据
RAID10: 即安全 性能又好 建议只能坏一块硬盘,少一半容量
RAID01:即安全 性能又好 建议只能坏一块硬盘,少一半容量
如何配置RAID:
https://jingyan.baidu.com/article/da1091fb60acb0027849d6ce.html IBM阵列配置






LVM:逻辑卷管理 弹性扩容和缩容磁盘 缺陷:存储效率较低
配置方法:
1、分区创建PE信息 PE:物理卷
2、创建VG 将PE加入到VG VG:卷组
3、创建LV LV:逻辑卷
4、进行挂载

1.3 磁盘引导分区方法

准备知识:MBR 引导信息
主分区:4个 /sdv/sdb1-4
扩展分区:1个 扩展分区不能直接用,要在分逻辑分区
逻辑分区:n个 /sdv/sdb5-x

1.3.1 :磁盘总容量小于2T

准备环境:添加一块磁盘 查看磁盘分区 fdisk -l
①进行分区:fdisk /dev/sdb
②设置分区方案
输入n 创建 p主分区 e扩展分区
分区开始不用设置
分区结束需要设置:+2K +2M +2G(设置分区大小,K,M,G大小单位)
输入p 进行查看

d:删除分区=delete a partition 
g:创建一个新的空的GPT分区表(对大于2T磁盘进行分区)=create a new empty GPT partition table
l:列出已知的分区类型= list known partition types 
m:打印菜单=print this menu
n:创建分区= add a new partition
o:(对小于2T磁盘进行分区)创建一个新的空的Dos分区表= create a new empty DOS partition table
p:显示分区信息= print the partition table
q:不保存退出= quit without saving change 
t:显示分区系统编号= change a partition's system id 
u:改变显示/输入单位=change display/entry units
w:保存退出= write table to disk and exit 
③分区确认后进行保存
w 保存退出

1.3.2:磁盘总容量大于2T

准备环境:添加一块磁盘 查看磁盘分区 fdisk -l
parted 磁盘总容量大于2T用parted
分区指令信息:
mklabel (创建分区表 MRB-msdos/gpt)
create a new disklabel (partition table) mklabel gpt/msdos
mkpart (创建新的分区)
make a partition mkpart primary 0 20M
print (显示分区表信息)
display the partition table
rm (删除指定分区信息)
delete partition NUMBER
quit (退出分区界面)
exit program


分区操作过程:
parted /dev/sdd
①修改分区表:mklabel gpt
②创建分区:mkpart primary 0 20M
③退出 格式化:mkfs.xfs /dev/sdd1


总结:GPT分区表:可以分大于2T的磁盘
DOS分区表:可以分小于2T的磁盘

1.4 磁盘格式化操作

格式化=创建文件系统=创建inode、block
分区格式化:mkfs -t xfs /dev/sdb1
linux:ext3/ext4 xfs 存储数据效率/大容量磁盘效率较高
nfs 网络文件系统 通过网络存储数据
mfs fastdfs 分布式存储系


流程:先创建分区
磁盘异常问题
1、挂载上无法卸载:
①没有退出挂载目录
②挂载点目录中有数据被进程调用
③其他情况
解决方式:强制卸载
umount -lf /mnt
-l:不用退出挂载点目录进行卸载
-f:强制进行下载
2、整个系统 /目录挂载点出现只读情况
①文件系统损坏了
②磁盘出现坏道
解决方法:mount -o remount rw / 重新挂载根目录
3、磁盘空间慢如何解决:write error: No space left on device
inode不够用 block不够用
如何快速情况目录中的数据:rsync命令
4、如何删除数据信息
i_link数为0:确保文件硬链接数为0
i_count数为0:调用文件的进程数为0
5、磁盘分区后,无法正常格式化
①重启系统
②利用命令让内核识别硬盘信息
partprobe /dev/sdd

1.5 如何实现磁盘自动挂载(开机自动挂载)

1.5.1 /etc/rc.local

命令直接挂载:echo 'mount /dev/sdc1 /oldboy01' >>/etc/rc.local
上述命令等于用vim进/etc/rc.local编辑

1.5.2 /etc/fstab

文件格式信息
image.png
1:存储设备文件信息 uuid信息获取
2:存储设备挂载点目录
3:存储参数和信息 centos7-xfs centos6-ext3/ext4
4:挂载参数信息 默认参数信息:rw,suid,dev,exec,auto,nouser,async
5、是否自动备份 lost+found
6:是否自动检查磁盘信息 fsck修复检查磁盘文件系统
默认挂载参数:
mount -o rw /dev/sda1 /mnt mount -o ro /dev/sda1 /mnt
rw: 让挂载点目录具有可读可写权限 相反ro
suid(setuid): 让挂载点目录中的文件特殊权限位生效 相反nosuid 安全
dev: 让挂载点目录存储设备文件保持属性不变
exec: 让挂载点目录中的执行文件可以执行 相反noexec
auto: 让挂载点目录实现快速自动挂载 相反noauto
nouser: 让普通用户是否可以卸载和挂载目录 相反user 了解
async: 数据异步存储概念,相反sync同步存储

1.6 实现调整swap空间增大

服务比较消耗内存:java语言程序---Tomcat服务
消耗内存资源:dd if=/dev/zero of=/dev/null bs=1500M count=100
swap空间增大:
①将磁盘中取出一部分用于扩展swap分区
dd if=/dev/zero of=/tmp/1G bs=10M count=100

②将取出文件空间用于swap使用
mkswap /tmp/1G

③加载wsap标识文件,增加swap分区大小

swapon /tmp/1G 增加swap空间






swapoff /tmp/1G 还原swap空间



解析:dd if=/dev/zero of=/tmp/1G bs=10M count=100

原文地址:https://www.cnblogs.com/sandshell/p/12624675.html