Linux_磁盘管理

磁盘管理体系结构
第一个层次: 磁盘外部结构 内部结构
第二个层次: 磁盘raid 磁盘LVM(逻辑卷管理 -- 磁盘的弹性扩容和缩容)
第三个层次: 磁盘分区练习 fdisk(分小于2T磁盘) parted(分大于2T磁盘)
第四个层次: 磁盘格式化(创建文件系统 inode block)
第五个层次: 磁盘应用方式 磁盘挂载操作(挂载参数) swap分区大小如何调整
磁盘空间满如何进行处理


Winchester(温式)磁盘--> 径向运动
转速:5400【rpm】 --> 5700-->5900-->7200-->10000-->15000

【磁盘主轴的转速是衡量磁盘读写性能的重要参考】
接口:【M.2】 【双接口】 【SATA接口】【SAS接口】
sata:串口接口,安装简单 直接插拔
【SAS技术是结合了SATA和SCSI两者的优点而诞生的】


企业生产环境主流磁盘的相关信息对比:
企业生产场景普及程度:SAS>SATA>SSD
【满足容量的基础上尽量保持4块磁盘以上】
-SAS【企业默认 首选】:300G 600G【主流】 1000G
【6*600G /6*300G】:单盘的容量不要太大,除非纯备份
提供生产线上的普通对外提供服务的业务服务器【数据库业务】【存储业务】【图片业务】【web http/cache 服务】
-企业级SATA:7200-10000 转/分 1T,2T,6T
-线下不提供服务的数据存储或者并发业务访问不是很大的业务应用
【站点程序及数据库,图片的线下备份等】

企业案例:【千万不要用SATA磁盘做在线高并发的数据存储或数据库业务】


单位容量对比性能和价格:SSD>SAS>SATA(一块SSD和一块SATA)
单位价格购买磁盘容量: SATA>SAS>SSD
光纤通道:热插拔性,高速带宽,远程连接,连接设备数量大等

【SSD】:固态硬盘
优点: 随机存取速度快,功耗小 防震 重量轻 存取性能好
缺点:成本高,容量低 写入寿命有限 数据难以恢复
应用: 数据量小并且有超大规模并发业务的
磁头:读写更灵敏

【选购磁盘小节】:
1. 线上的业务 SAS磁盘
2. 线下的业务 SATA业务
3. 线上高并发,小容量的业务 SSD磁盘
4. 思想:根据数据的访问热度,智能分析分层存储 SATA+SSD

#查看系统内存

[root@localhost sbin]# free -m
total used free shared buff/cache available
Mem: 1980 809 250 95 920 874
Swap: 2047 0 2047  

【数据存取原理】
电与磁的转换

----------------------------------------------------
【磁盘核心知识及数据读写原理】

磁盘相关名词翻译:
磁盘 【Disk】
磁头 【Head】
扇区 【Sector】
磁道 【Track】
柱面 【Cylinder】
单元块 【Units】
一个柱面的大小
数据块 【Block】
索引节点号 【Inode】

 


1.磁盘介绍:

磁面:正反面都能写数据
磁道:磁面上用来写数据的 【磁盘上相同圆心不同轨迹的同心圆】
柱面:【不同盘面 相同磁道 就是柱面】
扇区:磁道上的小格格
512bytes --> 0.5k -->信息存储的最小单位
【存储数据地点的标识符】【存储数据的数据段】
磁柱:真反面形成的柱面

总结:
-给磁盘分区实际就是划分柱面号及扇区号
-柱面是所有盘面相同半径的不同磁道的集合
-柱面数==一个盘面的磁道数


【磁盘容量】:
盘面大小 = 磁道大小*磁道数
磁盘大小 = 盘面大小*磁头数
磁盘大小 = 磁道大小【512 bytes*扇区数】*磁道数*磁头数

磁盘大小 = 512 bytes * 扇区数 *磁道数 *磁头数
-----------------------------------------------------

【机械磁盘读写磁盘数据的原理小节】:
1. 【磁盘是按照柱面为单位读写数据的】。即先读取同一个盘面的某个磁道,读完之后,如果数据没有读完,磁头也不会切换其他的磁道
而是选择切换磁头,读取下一个盘面的相同半径的磁道,直到所有盘面的相同半径的磁道读取完成之后,如果数据还没有读写完成,
才会切换不同半径的磁道,这个切换磁道的过程称为寻道
2.【不同磁头间的切换是电子切换】,而不同磁道间的切换需要磁头做径向运动,这个径向运动需要通过电机调节,这个动作是机械的切换
【磁头寻道是机械运动】【切换磁头是电子切换】

#数据备份
[root@localhost xinetd.d]# dd if=/dev/sda of=mbr.bin bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.00170652 秒,300 kB/秒

#二进制文件的读取
[root@localhost xinetd.d]# od -xa mbr.bin
0000000 63eb 1090 d08e 00bc b8b0 0000 d88e c08e
k c dle dle so P < nul 0 8 nul nul so X so @
0000020 befb 7c00 00bf b906 0200 a4f3 21ea 0006
{ > nul | ? nul ack 9 nul stx s $ j ! ack nul

【本章小节:】
1.磁道 柱面 扇区
磁道:每个盘片有两个面,都可记录信息。盘片表面以盘片中心为圆心,用于记录数据的不同半径的圆形磁化
轨迹就称为磁道,磁化轨迹是磁化区域,是看不见的。磁道看起来是一个平面圆周形
扇区:盘面是由圆心向四周画直线,不同的磁道被直线分成许多扇形(弧形)的区域,每个弧形的区域叫做扇区,
每个扇区大小为 512字节,扇区看起来就是圆弧或扇形
柱面:磁盘中,不同的盘片(或盘面)相同半径的磁道轨迹从上到下所组成的圆柱区域称为柱面,柱面看起来是一个
圆柱形


2.数据在磁盘的位置, 三维地址
磁盘最基本的组成部分是由坚硬的金属材料制成的涂以磁性介质的盘片(有很多成),不同容量的磁盘的盘片数不等
1.一块磁盘 有2-14个盘片,每个盘片有两个面,每个面对应一个读写磁头,用磁头号来区分盘面,即盘面数就是磁头数,
盘片数*2=磁头数(盘面数)
2.不同盘面的磁道被划分为多个扇形区域,每个区域就是一个扇区(Sector)
3.同一个盘面,以盘片中心为圆心,每个不同半径的圆型轨迹就是一个磁道(Track)
4.不同盘面相同半径的磁道组成一个圆柱面就是柱面(Cylinder)
5.一个柱面包含多个磁道(这些磁道的半径相同),一个磁道包含多个扇区
6.数据的信息记录可表示为:某磁头,某磁道(柱面),某扇区


3.磁盘的容量计算
盘面大小 = 磁道大小*磁道数
磁盘大小 = 盘面大小*磁头数
磁盘大小 = 磁道大小【512 bytes*扇区数】*磁道数*磁头数

磁盘大小 = 512 bytes * 扇区数 *磁道数 *磁头数



4.磁盘读写数据的原理
1.操盘是按柱面为单位对写数据的,即先读取同一个盘面的某一个磁道,读完之后,如果数据没有读完,磁头也不会切换其他的磁道,而是选择切换磁头,
读取下一个盘面的相同半径的磁道,直到所有盘面的相同半径的磁道读取完成之后,如果数据还没有读写完成,才会切换其他不同半径的磁道
这个切换磁道的过程称为寻道
2. 不同磁头之间的切换是电子切换,而不同磁道间的切换需要磁头做径向运动,这个径向运动需要步进电机调节,这个动作是机械的切换
磁头寻道是机械运动,切换磁头是电子切换】

2.**RAID0、RAID1、RAID5、RAID10特点、优势、区别、RAID监控MegaClii工具**

Raid:廉价冗余磁盘阵列
【作用】:把多块独立的物理磁盘按照不同的技术方式组合起来形成一个磁盘组,在逻辑上(做完Raid,装完系统后)看起来就是一块大的磁盘,
【可以提供比单个物理磁盘更大的存储容量和更高的存储性能】,同时又能提供不同级别数据冗余备份的一种技术

生产环境常用的Raid级别:【RAID0、RAID1、RAID5、RAID10】

RAID级别 | 关键有点        | 关键缺点        | 实际应用场景
------------------------------------------------------------------------------------------
RAID0      | 读写速度最快 | 没有任何冗余 | MySQL Slave,集群的节点
---------------------------------------------------------------------------------------------
RAID1      | 100%冗余,镜像                 | 读写性能一般,成本高| 单独的,数据重要,且不宕机的业务,监控系统盘
-----------------------------------------------------------------------------------------------
RAID5 |具备一定性能和冗余,可以| 写入性能不高 | 一般的业务都可以用 |坏一块盘,读性能不错 | |
-----------------------------------------------------------------------------------------------
RAID10 |读写速度很快,100%冗余 | 成本高 | 性能和冗余要求都很高的业务,
RAID0+1 | 【数据库主库和存储的主节点】

【冗余】:重复配置系统的一些部件,当系统发生故障时,冗余配置的部件介入并承担故障部件的工作,由此较少系统的故障时间 【备用部件】

【磁盘阵列】https://jingyan.baidu.com/article/da1091fb60acb0027849d6ce.html


软件RAID、LVM逻辑卷、硬件RAID区别及企业
分类:【插在主板上,接磁盘】
-基于软件的RAID技术
剩去购买硬件RAID控制器和附件的成本
性能差,操作系统坏了 影响软RAID 【不用】
-基于硬件的RAID技术
做缓存等等。。 性能强 磁盘检测,修复方面。。
DELL服务器。默认支持RAID0,1 如果RAID5,10 需要购买RAID卡


-----------------------------------------------------------------------------
【LVM】: Logical Volume Manager 逻辑卷管理:管理磁盘的容量 动态给磁盘扩容或缩容 【分区类型:8e 类型】

【如果过于强调性能与备份,那么还是应该使用RAID,而不是LVM】
场景:虚拟机扩容

【区别】
LVM: 灵活的调整磁盘容量,有一定的冗余和性能功能,但很弱
RAID:更侧重性能和数据安全
【企业用RAID不用LVM】
1. 提升数据安全性
2.提升数据读写性能
3.提供更大的单一逻辑磁盘数据容量存储
-------------------------------------------------------------------------------
【RAID0】:把连续的数据分散到多个磁盘上存取。读写并发,但是没有容错 磁盘坏了,数据全丢
【性能】:以4块盘为例 理论上读写速度比单盘提升4倍,磁盘越多,倍数越小
【应用场景】
-负载均衡集群下面的多个相同RS节点服务器
-分布式文件存储下面的主节点或CHUNK SERVER
-MYSQL主从复制的多个Slave服务器
-对性能要求很高,对冗余要求很低的先关业务
【特点】:速度快,无冗余,容量无损失
---------------------------------------------------------------------------
【RAID1】: 【数据双备份】
Mirror /Mirroring【镜像】:最大程度的保障用户数据的可用性和可修复性
【冗余】:在所有RAID级别中,RAID1提供最高的数据安全保障,冗余度100%
【应用场景】:适用于存放重要数据,如服务器系统分区和对性能要求不好的数据库存储等等
【特点】:100% 冗余,容量损失一半

---------------------------------------------------------------------------
【RAID5】:是一种存储性能,数据安全,和存储成本兼顾的存储解决方案
至少三块盘,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中一块坏了,利用剩余的数据和相应的
奇偶校验信息去回复被损坏的数据
【特点】中庸,只能坏一块盘,RAID0 和 RAID 1之间的折中方案
【MYSQL主从复制,普通服务器等等】
【高并发 和 高性能的不适合】

-----------------------------------------------------------------------------
【RAID10】系统要比【RAID01】
4块盘最好 损失一半的容量
既保障数据安全性,也保障数据存储效率,理论上可以坏两块盘
性能: 大于DAID1 和 RAID5,小于RAID 0
冗余: 可损失2块盘,冗余大于 RAID 5和 RAID 0, 小于RAID 1
场合: 高并发存储和数据库系统

-----------------------------------------------------------------------------
总结:
【Dell R710】使用6块盘实践RAID制作:
RAID 0 支持1 块盘到多块盘,容量是所有盘之和
RAID 1 只支持2块盘 大小可以不一致 以小的为例,容量损失一块盘
RAID 5 最少3块盘,不管硬盘的数量有多少,只损失一块盘的容量
RAID 6 最少4块盘,5块也可以,损失2块盘,不管硬盘多少,只损失两块盘容量
RAID 10 最少4块盘,必须偶数盘,不管硬盘多少,都损失一半的容量,不支持虚拟磁盘
---------------------------------------------------------------------------------

【企业面试:一台服务器6块600G的磁盘,raid5之后,总大小3T。此时无法装系统,为啥?】
【答】:做完raid5之后,不要重启系统,而是在raid界面上,继续分1个小的虚拟磁盘vd200G,
用这个200G的虚拟磁盘装系统,装完系统之后再把剩余的2.8T分区通过parted
【方法2】:先拿1块盘raid0,剩下的5块再做raid5,在raid0装系统
【方法3】:装系统时,选下gpt分区格式


--------------------------------------------------------------------------------------

3.磁盘初始化:MBR OR GRT
【磁盘分区核心命令fdisk与parted】
1.磁盘分区:
【分区】:相当于给磁盘打隔断
类型特点:
【主分区 primary】
1. 系统中必须要存在的分区,系统盘选择主分区安装
2. 数字编号只能是 1-4
3. 主分区最多四个,最少一个
【扩展分区 extend】
1. 相当于一个独立的小磁盘,独立的分区表,不能独立存在
2. 有独立的分区表
3. 不能独立存在,即不能直接存放数据
4. 必须在扩展分区上建立逻辑区才能存放数据
5. 占用主分区的编号(2<=主分区(primary)+扩展分区(extend)<=4)
6. 扩展分区可以没有,最多只有一个
【逻辑分区 logic】
1. 数字编号从5开始
2. 存放于扩展分区之上
3. 存放任意普通数据


【分区的核心本质就是改64字节的分区表】
【fdisk分区工具介绍】:
-linux下做最常用的分区工具,一般是在装完系统之后进行分区。装系统之前的分区,多数是系统ISO里面的工具分,或者raid里分磁盘
-fdisk只能root权限用户使用
-fdisk适合于对装系统后的剩余空间进行分区。例如:安装系统时没有全部分区,或者安装系统后添加新的磁盘
【注】:fdisk不能对大于2T的磁盘分区
【磁盘分区:】
按柱面分区
分区登记的地点--> 磁盘分区表【存放分区结果信息的】
划分起始以及结束磁头号,扇区号 及柱面号
【fdisk磁盘分区实质】 修改0磁头 0磁道 1扇区的 前446 bytes 之后的 64 bytes的分区表信息
剩下的两个字节是分区结束标志
-----------------------------------------------------------------------------------
命令: fdisk /dev/sdb
-l 列出所有分区表
【m: 显示菜单和帮助信息】
a: 活动分区标记/引导分区
d: 删除分区
l: 显示分区类型
g create a new empty GPT partition table 【创建GPT分区表信息(可以划分大的分区)】
o create a new empty DOS partition table 【创建DOS分区类型】
【n:新建分区】
【p:显示分区信息】
【q:退出不保存】
t:设置分区号
v:进行分区检查
w:保存修改
x:扩展应用,高级功能


磁盘的0磁道(最外边)0柱面 1扇区 存储的是MBR(主引导记录)信息
MBR共512个字节 446的主引导程序+64的分区表+2的魔数(分区结束符)组成

【#查看磁盘的信息】
[root@localhost /]# fdisk -l

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c3426

设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 83886079 40893440 8e Linux LVM

磁盘 /dev/mapper/centos-root:39.7 GB, 39720058880 字节,77578240 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


【查看分区情况2】
[root@localhost ~]# cat /proc/partitions
major minor #blocks name

8 0 41943040 sda
8 1 1048576 sda1
8 2 40893440 sda2
8 16 104448 sdb
11 0 4481024 sr0
253 0 38789120 dm-0
253 1 2097152 dm-1
----------------------------------------------------------

[root@localhost ~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 0 9月 19 15:31 /dev/sda
brw-rw---- 1 root disk 8, 1 9月 19 15:31 /dev/sda1
brw-rw---- 1 root disk 8, 2 9月 19 15:31 /dev/sda2
brw-rw---- 1 root disk 8, 16 9月 19 15:46 /dev/sdb
brw-rw---- 1 root disk 8, 17 9月 19 15:46 /dev/sdb1
brw-rw---- 1 root disk 8, 18 9月 19 15:46 /dev/sdb2
brw-rw---- 1 root disk 8, 19 9月 19 15:46 /dev/sdb3
brw-rw---- 1 root disk 8, 20 9月 19 15:46 /dev/sdb4
brw-rw---- 1 root disk 8, 21 9月 19 15:46 /dev/sdb5
brw-rw---- 1 root disk 8, 22 9月 19 15:46 /dev/sdb6
brw-rw---- 1 root disk 8, 23 9月 19 15:46 /dev/sdb7

---------------------------------------
当4个分区表满了之后,再分区:

【If you want to create more than four partitions, you must replace aprimary partition with an extended partition first.】
【如果要创建四个以上的分区,则必须替换首先是扩展分区的主分区。报错】
-------------------------------------------------
******【partprobe】*****
# 告诉内核,分区变化
[root@localhost ~]# partprobe /dev/sdb


【partend】:磁盘分区管理工具
比fdisk灵活 操作都是实时的

以100M的磁盘为例:
#修改分区格式为gpt
parted /dev/sdb mklabel gpt yes
#创建10M的主分区
parted /dev/sdb mkpart primary 0 10 Ignore
#创建10M的swap交换分区
parted /dev/sdb mkpart primary linux-swap 11-21 Ignore
#创建10M的逻辑分区
parted /dev/sdb mkpart primary logical ext4 22 32 Ignore
parted /dev/sdb p


分区参数:
mklabel(创建分区表 MRB-msdos/gpt) create a new disklabel (partition table)
mklabel gpt
mkpart (创建新的分区) make a partition
mkpart primary 0 20M
print (显示分区表信息) display the partition table
rm (删除指定分区信息) delete partition NUMBER
quit (退出分区界面) exit program




【mklabel msdos】partend 改变分区的类型
------------------------------------------------
# 创建虚拟文件系统
dd if=/dev/sda of=/dev/sdc bs=512 count=10240

---------------------------------------------------------------------------
2.磁盘表示:
/dev/hda1
/dev 设备文件目录
hd : IDE接口的硬盘
sd :sata, sas , usb, scsi 接口硬盘
a: linux用字母表示第几块磁盘,a代表第一块
1:linux用数字表示某块磁盘的第几个分区

3. 磁盘使用
主分区:1-4 直接存数据(安装操作系统 可以直接格式化 有启动标识 Boot *)
扩展分区:无法直接使用 -->逻辑驱动器(最大 16个 理论无限)-->格式化 --->存取数据


2.磁盘格式化:给磁盘装一个文件系统(库管)主要负责数据如何存储在硬盘,
文件是以什么方式存在硬盘,又是以什么方式读出来 ------》(有丢数据的危险)
分类: 低级格式化(损伤磁盘寿命 需要专业的工具)
高级格式化

----------------------------------------------------------------------------------------------
【文件系统】:
-什么是文件系统? 【计算机存储和组织数据的方法或者机制】
-为啥需要文件系统?
磁盘,物理介质,磁粒子物理元素。硬件需要软件驱动使用,磁盘需要文件系统驱动
文件系统实现通过磁盘管理,存取数据

-文件系统类型:
windows: NTFS fat32,modos
Linux :ext2, ext3(Centos 5), ext4(Centos 6),
xfs(Centos 7) 格式化效率更高 | 高并发存储效率更高
[root@localhost oldboy]# mkfs
mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
-创建文件系统实践

命令:mkfs
语法: mkfs[options] device_name
命令选项:
-t 指定文件类型
【格式化ext4文件系统】
【其实关键就是生成一定数量的Inode 和 Block】
mkfs -t ext4 /dev/sdb1 ==> mkfs.ext4

[root@localhost /]# mkfs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
5136 inodes, 20480 blocks
1024 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=20971520
3 block groups
8192 blocks per group, 8192 fragments per group
1712 inodes per group
Superblock backups stored on blocks:
8193

Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
----------------------------------------------------------------
[root@localhost /]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=1, agsize=5120 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5120, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

----------------------------------------------------------------------
-文件系统原理(ext文件系统),文件系统的特点
-企业中如何选择文件系统
-企业中如何优化文件系统?



------------------------------------------------------------------------------
3.磁盘挂载: 设备必须经过挂载才能使用
挂载的方式其实是将某个设备挂到系统文件中的某个文件夹
命令: mount
命令语法: mount device dir

命令选线:
-a 挂载所有文件 参考文件 /etc/fstab
-l 显示当前挂载
-t 文件系统类型 【mount -t ext4 /dev/sdb1 /mnt】
-o 指定挂载权限 【mount -o rw,remount /】【用于修复文件系统】
【磁盘挂载操作说明】
a 如何进行磁盘挂载 mount 挂载磁盘设备文件 挂载点(空目录--不是空目录,原目录数据信息无法再进行查看)
mount -o defaults /dev/sdb1 /mnt == mount -o rw, suid, dev, exec, auto, nouser, async /dev/sdb1 /mnt

rw --- 保证挂载点目录具有可读可写权限
ro --- 保证挂载点目录只具有可读权限

suid --- 保证挂载点目录中文件具有setuid权限
nosuid --- 保证挂载点目录中文件具有setuid权限失效

exec --- 保证挂载点目录中可执行文件可以执行
noexec --- 保证挂载点目录中可执行文件不可以执行

【auto --- 可以实现自动批量挂载操作】
noauto --- 不可以实现自动挂载操作

nouser --- 禁止让普通用户可以挂载磁盘
user --- 允许让普通用户可以挂载磁盘






建立挂载点 mkdir /opt/data1
mount -o ro /dev/sdb1 /opt/data1 (只读挂载)

[root@localhost /]# mount -t ext4 /dev/sdb1 /mnt 【临时挂载】

[root@localhost /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 37G 16G 22G 42% /
devtmpfs 974M 0 974M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 11M 980M 2% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 1014M 166M 849M 17% /boot
tmpfs 199M 48K 199M 1% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdb1 19M 332K 17M 2% /mnt
-----------------------------------------------------------------------------
[root@localhost /]# df -h|grep opt
/dev/sdb2 17M 1.1M 16M 7% /opt
------------------------------------------------------------------------------

[root@localhost /]# cat /proc/partitions
major minor #blocks name

8 0 41943040 sda
8 1 1048576 sda1
8 2 40893440 sda2
8 16 104448 sdb
8 17 20480 sdb1
8 18 20480 sdb2
11 0 4481024 sr0
253 0 38789120 dm-0
253 1 2097152 dm-1

#查看进程的内核信息 查看挂载情况
[root@localhost /]# cat /proc/mounts
/dev/sdb1 /mnt ext4 rw,relatime,data=ordered 0 0
设备 挂载点 文件系统类型 挂载选项(权限..) 是否备份 是否开机磁盘检测

#创建文件
[root@localhost /]# touch /mnt/oldboy
#查看
[root@localhost /]# ls /mnt
lost+found oldboy

--------------------------------------------
【卸载】 :
-lf 懒惰卸载

umount /opt/data1 (设备挂载点卸载)
umount /dev/sdb1 (设备源卸载)

【自动挂载】

free -m :查看内存

# 显示磁盘的UUID标识信息
[root@localhost /]# blkid
/dev/sda1: UUID="7f73f94e-5ab8-4cc9-a1ba-6314c5498d50" TYPE="xfs"
/dev/sda2: UUID="IgrZiO-Ev0D-Czly-aUnE-vR8g-cUDG-yq3ZrW" TYPE="LVM2_member"
/dev/sdb1: UUID="0ecb8294-a1d0-41b0-9f5a-e1e3b17cef1d" TYPE="ext4"
/dev/sdb2: UUID="ca5a7920-58c8-4e7e-a09a-555e573c07c7" TYPE="xfs"
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="49eaec6c-b382-4029-a948-02eeabe0f263" TYPE="xfs"
/dev/mapper/centos-swap: UUID="2b088f97-3b04-41ec-8c55-bef13dd1bfdd" TYPE="swap"

【方式一:】
vim /etc/fstab

[root@localhost /]# tail -2 /etc/fstab
/dev/sdb1 /mnt ext4 defaults 0 0
/dev/sdb2 /opt xfs defaults 0 0
设备 挂载点 文件系统类型 挂载选项(权限..) 是否备份 是否开机磁盘检测
01 02 03 04 05 06
01: 存储设备文件信息 /dev/sdd1 or UUID
02: 挂载点信息(空目录)
03: 文件系统类型
04: 挂载的参数信息
05: 是否对磁盘数据进行备份 (便于数据恢复)
06: 是否对磁盘进行定期检查


# 重启客户端
systemctl reboot

# 查看挂载的情况【df 查看磁盘分区的使用情况(只针对挂载分区) df -Th】
[root@localhost ~]# df -h|grep sdb
/dev/sdb2 17M 1.1M 16M 7% /opt
/dev/sdb1 19M 332K 17M 2% /mnt

【方式二:】【不推荐】
vim /etc/rc.local

/sbin/mount -t ext4 /dev/sdb1 /mnt
/sbin/mount -t xfs /dev/sdb2 /opt

 

【查看文件系统内部细节】
【dumpe2fs 只能查看ext4类型的】
[root@localhost ~]# dumpe2fs /dev/sdb1|grep "Inode"
dumpe2fs 1.42.9 (28-Dec-2013)
Inode count: 5136
Inodes per group: 1712
Inode blocks per group: 214
Inode size: 128
Block bitmap at 162 (+161), Inode bitmap at 178 (+177)
Inode table at 194-407 (+193)
Block bitmap at 163 (bg #0 + 162), Inode bitmap at 179 (bg #0 + 178)
Inode table at 408-621 (bg #0 + 407)
Block bitmap at 164 (bg #0 + 163), Inode bitmap at 180 (bg #0 + 179)
Inode table at 622-835 (bg #0 + 621)
--------------------------------------------------------------------
[root@localhost ~]# dumpe2fs /dev/sdb1|grep "Block"
dumpe2fs 1.42.9 (28-Dec-2013)
Block count: 20480
Block size: 1024
Blocks per group: 8192
Group 0: (Blocks 1-8192) [ITABLE_ZEROED]
Block bitmap at 162 (+161), Inode bitmap at 178 (+177)
Group 1: (Blocks 8193-16384) [INODE_UNINIT, ITABLE_ZEROED]
Block bitmap at 163 (bg #0 + 162), Inode bitmap at 179 (bg #0 + 178)
Group 2: (Blocks 16385-20479) [INODE_UNINIT, ITABLE_ZEROED]
Block bitmap at 164 (bg #0 + 163), Inode bitmap at 180 (bg #0 + 179)
-------------------------------------------------------------------------

[root@localhost ~]# xfs_
xfs_admin xfs_db xfs_fsr xfs_io xfs_metadump xfs_quota
【备份】 【支持配额】
xfs_bmap xfs_estimate xfs_growfs xfs_logprint xfs_mkfile xfs_repair
【日志打印】 【修复】
xfs_copy xfs_freeze xfs_info xfs_mdrestore xfs_ncheck xfs_rtcp
【拷贝】

【查看文件系统内部细节】
【xfs_info /dev/sdb2】
[root@localhost ~]# xfs_info /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=1, agsize=5120 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=5120, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0


【磁盘检查】
【fsck】
1.正常的磁盘不能操作
2.卸载挂载点再操作

-a 修复磁盘【e2fsck】



[root@localhost ~]# fsck
fsck fsck.cramfs fsck.ext3 fsck.fat fsck.msdos fsck.xfs
fsck.btrfs fsck.ext2 fsck.ext4 fsck.minix fsck.vfat

[root@localhost ~]# umount /dev/sdb1

【只能对已经卸载的 ext文件系统类型的磁盘修复】
[root@localhost ~]# fsck -a /dev/sdb1
fsck from util-linux 2.23.2
/dev/sdb1: clean, 12/5136 files, 2009/20480 blocks


【不能对挂载的磁盘做修复】
[root@localhost ~]# fsck -a /dev/sdb1
fsck from util-linux 2.23.2
/dev/sdb1 is mounted.
e2fsck: Cannot continue, aborting.


【不能对xfs做修复】
[root@localhost ~]# fsck -a /dev/sdb2
fsck from util-linux 2.23.2
/sbin/fsck.xfs: XFS file system.

【xfs_repair 对已经卸载的xfs系统类型的磁盘做修复】
[root@localhost ~]# xfs_repair /dev/sdb2
Phase 1 - find and verify superblock...
Only one AG detected - cannot validate filesystem geometry.
Use the -o force_geometry option to proceed.

mount -a 普通挂载
----------------------------------------------------------------------



【swap分区】
作用:内存不够用时。用来充当内存,一般是内存的1.5倍
大于8G 就给 8G
【java服务】-->存在内存泄漏
-->swap就会占用 --> 操作系统性能下降

【查看内存】free-m
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1980 698 64 20 1217 1043
Swap: 2047 0 2047


[root@localhost ~]# dd if=/dev/zero of=/dev/sdb3 bs=512 count=20480
20480+0 records in
20480+0 records out
10485760 bytes (10 MB) copied, 0.164167 s, 63.9 MB/s

【分交换分区】
mkswap /dev/sdb3
[root@localhost oldboy]# mkswap /dev/sdb3
Setting up swapspace version 1, size = 20476 KiB
no label, UUID=9fc5f000-2d0e-4170-800b-2cc891cff889

【挂载】
swapon -a swap(交换分区挂载)
读取 ---> /etc/fstab
---------------------------------------------
相关命令
df 查看磁盘分区的使用情况(只针对挂载分区) df -Th
du 查看文件的大小 du /opt/data1

 

猜你喜欢

转载自www.cnblogs.com/zhanghongqi/p/11657153.html