目录
一、磁盘管理
1、磁盘的基础介绍
(1)磁盘的物理结构
盘片:硬盘上有多个盘片,每个盘片上都有两个面 (上下两面)
磁头:每个硬盘上的盘片每面上都有一个磁头 ,用来日常读取数据
(2)磁盘的数据结构
扇区:盘片被分为多个扇形区域,每个扇区都只能存储512字节的数据。
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆柱面
(3)磁盘的存储容量
磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
2、磁盘的分类
固态硬盘
一种主要以闪存作为永久性存储器的计算机存储设备,此处固态主要相对于以机械臂带动磁头转动实现读写操作的磁盘而言,NAND或者其它固态存储以电位高低或者相位状态的不同记录0和1。
机械硬盘
机械硬盘内部构造较为复杂,一个硬盘内通常有多个盘片平行放置在电机旋转轴上,盘片上的磁性材料就相当于无数个小磁铁,每个磁铁的排列方向又可以代表0和1两个状态,通过改变小磁铁的排列方向来存储二进制数据。在工作时盘片由电机带动进行高速旋转,每个盘片上面都会有一个磁头悬浮,磁头会沿着盘片做径向移动来进行寻道和读写操作,通过改变磁头的电流大小来改变或读取小磁铁的状态实现数据的读写。
机械硬盘接口的分类
IDE接口:是电子集成驱动器,是把"硬盘控制器"与"盘体"集成在一起的硬盘驱动器。把盘体与控制器集成在一起减少硬盘接口的电缆数目与长度,数据传输的可靠性得到增强,硬盘制造起来变得更容易的技术。
stat接口:SATA是SerialATA的缩写,即串行ATA。这是一种完全不同于并行ATA的新型硬盘接口类型,由于采用串行方式传输数据而得名。SATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点
sas接口:串行SCSI(SAS:Serial Attached SCSI)是一种电脑集线的技术,其功能主要是做周边零件的数据传输,如:硬盘、CD-ROM等设备而设计的接口。串行SCSI 由并行SCSI物理存储接口演化而来,是由ANSI INCITS T10技术委员会(T10 committee)开发及维护的新的存储接口标准。与并行方式相比,串行方式能提供更快速的通信传输速度以及更简易的配置。此外SAS并支持与串行式ATA(SATA)设备兼容,且两者可以使用相类似的电缆。
3、识别磁盘
当一台服务器在开机的时候,加入的硬盘不会在系统显示,这个时候会采取重启的方式来让系统识别到新加的硬盘,此时会导致服务器运行的业务会被迫停止,还有一种方法在业务能够正常运行的情况下系统也能识别到硬盘
[root@localhost ~]# fdisk -l 查找磁盘
磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000bc34d
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 1953791 975872 83 Linux
/dev/sda2 1953792 48852991 23449600 8e Linux LVM
[root@localhost ~]# echo "- - -">/sys/class/scsi_host/host0/scan 刷新第一块硬盘
[root@localhost ~]# echo "- - -">/sys/class/scsi_host/host1/scan 刷新第二块硬盘
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdc:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
4、磁盘分区
(1)MBR (主引导记录)
MBR位于硬盘第一个物理扇区处。占446个字节
MBR包含硬盘的主引导程序和硬盘分区表 。 其中主引导程序占446个字节
分区表里面有四个分区记录区,每个分区记录区占16个字节
(2)磁盘分区结构
1、磁盘中主分区的数目只能是四个
2、主分区和扩展分区的序号限制在1~4 (扩展分区只能存在一个)
3、扩展分区可以分成逻辑分区
4、逻辑分区的起始序号为5
(3)磁盘分区命令
fdisk -l [设备名称]
fdisk [设备名]
(1)m
显示出菜单
(2)p
显示出当前分区表
(3)n
创建一个新分区
(4)d
删除一个分区
(5)t
改变分区属性
(7)w
保存并退出
(8)q
不保存退出
[root@localhost ~]# fdisk /dev/sdb 给sdb进行分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xbab5002b 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):p 显现详细分区
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbab5002b
命令(输入 m 获取帮助):n 创建一个新分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): 不选默认是主分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1): 不选会默认第一个
起始 扇区 (2048-125829119,默认为 2048): 不选会默认
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-125829119,默认为 125829119):+20G 配置新区大小
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
二、文件系统
1、文件系统的介绍
是操作系统用于明确存储设备或分区上的文件的使用方法和数据结构;即在存储设备上组织使用文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。
主要用来管理(增删改查) 文件的程序
2、文件系统的分类
(1)xfs文件系统 -----一般用于cenos 7
1、根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
2、用优化算法,日志记录对整体文件操作影响非常小
3、是一个全64-bit的文件系统,最大可以支持8EB的文件系统
4、而支持单个文件则达到8E能以接近裸设备I/O的性能存储
(2)FAT文件系统(windows)
- 单个文件最大为4G
-
最大文件数量268,435,437
- 分区最大容量8TB
- 可在多种操作系统读写
(3)NTFS文件系统(windows)
- 理论上最大文件尺寸可达
16EB-1KB
,实际上有16TB-64KB(1EB = 1024PB 1PB = 1024TB)
- 操作系统支持大部分windows系统,Unix/Linux系统,Mac OS(在Mac OS 10.4+系统上,NTFS格式是只读的,即在Mac系统下,你只能从NTFS格式的磁盘上读取数据,而不能写入数据)
- 由于在Mac系统下,NTFS是只读的,所以要想在Mac下想要在NTFS格式的硬盘写入数据,要装一个插件
Paragon NTFS
,但不是太稳定。
(4)EXT(3,4)(linux)
Ext3是一种日志式文件系统,其最大的特点就是:它会将整个磁盘的写入动作完整的记录在磁盘的某个区域上,以便有需要时回溯追踪。当在某个过程中断时,系统可以根据这些记录直接回溯并重整被中断的部分,重整速度相当快。
3、磁盘上创建文件系统
xfs -t 设备名称
xfs. 设备名称
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
swap 交换分区
Swap交换分区是系统RAM的补充,swap分区支持虚拟内存。当没有足够的RAM保存系统处理的数据时会将数据写入swap分区,当系统缺乏swap空间时,内核会因RAM内存耗尽而终止进程。配置过多swap空间会造成存储设备处于分配状态但闲置,造成浪费,过多swap空间还会掩盖内存不足。
在处理内存不够的情况下会使用
[root@localhost ~]# fdisk /dev/sdb 选项第二块磁盘
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p 显示分区
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbab5002b
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41945087 20971520 83 Linux
命令(输入 m 获取帮助):t 更改分区属性
已选择分区 1
Hex 代码(输入 L 列出所有代码):82 交换分区id号
已将分区“Linux”的类型更改为“Linux swap / Solaris”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbab5002b
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41945087 20971520 82 Linux swap / Solaris
[root@localhost ~]# mkswap /dev/sdb1
mkswap: /dev/sdb1: warning: wiping old xfs signature.
正在设置交换空间版本 1,大小 = 20971516 KiB
无标签,UUID=289066bf-02fb-4a28-9d7a-2c3712832061
[root@localhost ~]# swapon /dev/sdb1
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 3.7G 897M 565M 18M 2.3G 2.5G
Swap: 23G 0B 23G
4、挂载和解挂载
挂载(mounting)是指由操作系统使一个存储设备(诸如硬盘、CD-ROM或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。
总结:任何块设备都要通过挂载才能在系统中使用
[root@localhost ~]# mkdir /data 创建空文件
[root@localhost ~]# mount /dev/sdb1 /data 将/dev/sdb1/data 挂载到此目录
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 19G 4.8G 14G 26% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 9.1M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 950M 179M 772M 19% /boot
tmpfs tmpfs 378M 28K 378M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /opt/kd
/dev/sdb1 xfs 20G 33M 20G 1% /data
/dev/mapper/vg1-k18 xfs 30G 33M 30G 1% /mnt
umount /data 解挂载