导图
1.磁盘的结构
服务器硬盘大小
LFF:3.5寸,一般见到的那种台式机硬盘的大小
SFF:Small Form Factor 小形状因数,2.5寸,注意不同于2.5寸的笔记本硬盘
L、S分别是大、小的意思,目前服务器或者盘柜采用sff规格的硬盘主要是考内虑增大单位密度内的磁盘容量、增强散热、减小功耗
机械与固态
机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电 机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴 上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直 径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径 方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操 作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精 密设备,进入硬盘的空气必须过滤
固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单 元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的 完全相同,在产品外形和尺寸上也与普通硬盘一致 相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SSD传输速率性能是HDD 的2倍 相较于SSD,HDD在价格、容量占有绝对优势 硬盘有价,数据无价,目前SSD不能完全取代HHD
1.1硬盘的物理结构
- 盘片:硬盘有多个盘片,每盘片有2面(正反两面)
- 磁头:每面一个磁头,并不是只有一个磁头,磁头也不会碰到盘面,磁头等于盘片数量
读写行为发行时,磁头先要找到相应的位置,然后磁面旋转,完成读写。
一次读写消耗的时间通常包含以下几段:
- 寻道:磁头找到对应的磁道。
- 旋转:磁面旋转,找到对应的扇区。
- 传输:数据读或写。
1.2硬盘的数据结构
-
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据(扇区越多容量越大)
-
磁道:同一盘片不同半径的同心圆
-
柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)
1.3硬盘的存储容量
-
硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数
1柱面=512 * 扇区数/磁头数×磁道=51263255=7.84M
-
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
1.4硬盘的接口类型
-
IDE:133MB/s,并行接口,早期家用电脑
-
SCSI:640MB/s,并行接口,早期服务器
-
SATA:6Gbps,SATA数据端口与电源(长的电源,数据线短的)端口是分开的,即需要两条线,一条数据线,一条电源线
-
SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行
-
M.2:为超极本量身定做的新一代接口标准,以取代原来的mSATA接口。无论是更小巧的规格尺寸,还是更高的传输性能,M.2都远胜于mSATA
-
光纤接口:光纤接口是用来连接光纤线缆的物理接口,通常有SC、ST、FC等几种类型
2.MBR与磁盘分区
2.1分区的原因(优点)
-
优化I/O性能
-
实现磁盘空间配额限制
-
提高修复速度
-
隔离系统和程序
-
安装多个OS
-
采用不同文件系统
2.2MBR分区
- MBR磁盘采用MBR分区表,由于MBR用4个字节存储分区总扇区数,最大可以表示2的32次方,一个扇区512字节,那么分区的容量或者磁盘容量都不能超过2TB;
- 常见的硬盘可以划分为主分区、扩展分区和逻辑分区,通常情况下主分区只有四个,而 扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区;
- 主分区一般 用来安装操作系统,扩展分区则多用来存储文件数据。
MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)
MBR分区:主和扩展分区对应的1--4,/dev/sda3,逻辑分区从5开始,/dev/sda5
MBR(主引导记录):Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T
- 446bytes: boot loader 启动相关
- 64bytes:分区表,其中每16bytes标识一个分区
- 2bytes: 55AA
2.3GPT分区
GPT:GUID(Globals Unique Identifiers) partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z ( 4096Byte/block)
使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位UEFI (Unified Extensible Firmware Interface 统一可扩展固件接口)硬件支持GPT,使得操作系统可以启动
3.文件系统
文件系统的组成:
-
内核中的模块:ext4, xfs, vfat
-
Linux的虚拟文件系统:VFS
-
用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
3.1文件系统:
是操作系统用于明确存储设备或分区上的文件的使用方法和数据结构;即在存储设备上组织使用文件的 方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统 从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进 行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的 存取,安全控制,日志,压缩,加密等。
总结:用来管理(增删改查恢复)文件的程序
3.1.1 XFS
-
根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
-
用优化算法,日志记录对整体文件操作影响非常小
-
是一个全64-bit的文件系统,最大可以支持8EB的文件系统,1EB=1024PB1PB=1024TB(这里才到TB1TB=1024GB
-
而支持单个文件则达到8EB能以接近裸设备I/O的性能存储
3.1.2 swap
swap交换分区是系统RAM的补充,swap 分区支持虚拟内存。当没有足够的 RAM 保存系统处理的数据 时会将数据写入 swap 分区,当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。配置过 多 swap 空间会造成存储设备处于分配状态但闲置,造成浪费,过多 swap 空间还会掩盖内存不足。
3.1.3 FAT16和FAT32
最大只能支持32GB分区,单个文件也只能支持最大4GB。
3.1.4 NTFS(xfs)
NTFS文件系统所具备3个功能:错误预警功能、磁盘自我修复功能和日志功能,单个文件64GB
3.1.5 EXT4
Extended file system 适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分 区是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件 (16TB)、最大1EB的文件系统,以及速度的提升1EB=1024PB=1024TB
3.1.6 JFS
主要是为满足服务器的高吞吐量和可靠性需求而设计、开发的。单个文件最大限制16TB,该文件系统最大支持1PB的容量。1PB=1024TB
4.分区工具
lsblk //列出块设备 fdisk //管理MBR分区 gdisk //管理GPT分区 parted //高级分区操作,可以是交互或非交互方式 #parted的操作都是实时生效的,小心使用 partprobe //重新设置内存中的内核分区表版本,适合于除了CentOS 6 以外的其它版本 5,7,8
4.1fdisk
格式: fdisk -l [磁盘设备] //查看磁盘设备 fdisk [磁盘设备] //对该磁盘进行分区管理
进行分区管理:
#1.分区 #2.创建文件系统(格式化) #3.挂载 #进行第一步:创建分区 [root@localhost data]# lsblk //查看硬盘 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk ├─sda1 8:1 0 5G 0 part /boot └─sda2 8:2 0 54G 0 part ├─centos-root 253:0 0 50G 0 lvm / └─centos-swap 253:1 0 4G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk sdc 8:32 0 20G 0 disk sdd 8:48 0 20G 0 disk sde 8:64 0 20G 0 disk sr0 11:0 1 1024M 0 rom [root@localhost data]# fdisk /dev/sdb //对sdb硬盘进行分区管理 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xa0abd58d 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):m //打印菜单 命令操作 a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) 命令(输入 m 获取帮助):n //创建分区 Partition type: p primary (0 primary, 0 extended, 4 free) //p为主分区,最多为4个,e扩展分区为特殊的主分区 e extended //扩展分区 Select (default p): p //创建主分区 分区号 (1-4,默认 1): //默认主分区号为1 起始 扇区 (2048-41943039,默认为 2048): //默认起始扇区 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G //给第一个主分区5G容量 分区 1 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):P //打印该磁盘分区情况 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xa0abd58d 设备 Boot Start End Blocks Id System /dev/sdb1 2048 10487807 5242880 83 Linux 命令(输入 m 获取帮助):W //保存分区 q为不保存退出 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@localhost data]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):n //对磁盘sdb在进行分区 Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e //选择扩展分区类型 分区号 (2-4,默认 2): //默认分区号为2 起始 扇区 (10487808-41943039,默认为 10487808): 将使用默认值 10487808 Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+10G //给扩展分区分容量,扩展分区不能直接使用,要在扩展分区里建立逻辑分区再进行使用 分区 2 已设置为 Extended 类型,大小设为 10 GiB 命令(输入 m 获取帮助):P //打印 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xa0abd58d 设备 Boot Start End Blocks Id System /dev/sdb1 2048 10487807 5242880 83 Linux /dev/sdb2 10487808 31459327 10485760 5 Extended 命令(输入 m 获取帮助):W //保存 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@localhost data]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):n //再对sdb磁盘分区 Partition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5) Select (default p): l //逻辑分区,创建了扩展分区才出现 添加逻辑分区 5 //主分区最多4,默认逻辑分区号从5开始 起始 扇区 (10489856-31459327,默认为 10489856): 将使用默认值 10489856 Last 扇区, +扇区 or +size{K,M,G} (10489856-31459327,默认为 31459327):+2G 分区 5 已设置为 Linux 类型,大小设为 2 GiB 命令(输入 m 获取帮助):P //打印 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xa0abd58d 设备 Boot Start End Blocks Id System /dev/sdb1 2048 10487807 5242880 83 Linux /dev/sdb2 10487808 31459327 10485760 5 Extended /dev/sdb5 10489856 14684159 2097152 83 Linux 命令(输入 m 获取帮助):W //保存 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。
4.2blkid
查看块设备属性信息
[root@localhost data]# blkid //路径: uuid 文件类型 /dev/sda1: UUID="b3e3bf0a-fdea-4edc-8373-9eefad5833ef" TYPE="xfs" /dev/sda2: UUID="uBDsAS-Fcf8-XTJT-IsBt-rW59-TI0A-0AMJ6u" TYPE="LVM2_member" /dev/mapper/centos-root: UUID="f5d73ff9-2622-498b-8002-44b902358a69" TYPE="xfs" /dev/mapper/centos-swap: UUID="e507a1cd-d062-4c4d-b7ac-fef88bb863a4" TYPE="swap"
4.3mkfs
创建文件系统(格式化)
选项:
选项 | 作用 |
-t | 指定文件系统类型(ext4/xfs...) |
-b | 指定块block大小 |
-L | LABEL 设置卷标 |
-i | 为数据空间中每个字节创建一个inode,不应小于block大小 |
-N | 指定分区去创建多少个inode |
-I | 一个inode记录占用的磁盘空间大小 |
-m | 为管理人员愉快空间占总空间的百分比,,默认5% |
-O | 启用指定特性-O 关闭指定^FEATURE |
-j | 相当于 -t ext3, mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3-i |
#文件系统检测和修复 fsck.FS_TYPE fsck -t FS_TYPE -a 自动修复 -r 交互式修复错误 e2fsck:ext系列文件专用的检测修复工具 xfs_repair:xfs文件系统专用检测修复工具
4.4mkswap
swap
特殊的文件系统,缓解内存不足,为了个别应为程序加内存有点浪费
添加交换分区的空间
mkswap + 分区
swapon +分区 开启 -a 全部
swapoff +分区 关闭 -a 全部
[root@localhost data]# lsblk //查看块设备 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk ├─sda1 8:1 0 5G 0 part /boot └─sda2 8:2 0 54G 0 part ├─centos-root 253:0 0 50G 0 lvm / └─centos-swap 253:1 0 4G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 5G 0 part ├─sdb2 8:18 0 1K 0 part └─sdb5 8:21 0 2G 0 part sdc 8:32 0 20G 0 disk sdd 8:48 0 20G 0 disk sde 8:64 0 20G 0 disk sr0 11:0 1 1024M 0 rom [root@localhost data]# fdisk /dev/sdb //对sdb磁盘进行分区 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):n //建分区 Partition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5) Select (default p): p //主分区 分区号 (3,4,默认 3): //编号3 起始 扇区 (31459328-41943039,默认为 31459328): 将使用默认值 31459328 Last 扇区, +扇区 or +size{K,M,G} (31459328-41943039,默认为 41943039):+3G 分区 3 已设置为 Linux 类型,大小设为 3 GiB 命令(输入 m 获取帮助):p //打印 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xa0abd58d 设备 Boot Start End Blocks Id System /dev/sdb1 2048 10487807 5242880 83 Linux /dev/sdb2 10487808 31459327 10485760 5 Extended /dev/sdb3 31459328 37750783 3145728 83 Linux /dev/sdb5 10489856 14684159 2097152 83 Linux 命令(输入 m 获取帮助):t //更改id 分区号 (1-3,5,默认 5):3 //选择更改的区 Hex 代码(输入 L 列出所有代码):L //列出代码 0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris 1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx 5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据 6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具 8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt 9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问 a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC 11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要 16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动 1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep 1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT 1e 隐藏的 W95 FAT1 80 旧 Minix Hex 代码(输入 L 列出所有代码):8e //8e为swap分区代码 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):p //打印 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xa0abd58d 设备 Boot Start End Blocks Id System /dev/sdb1 2048 10487807 5242880 83 Linux /dev/sdb2 10487808 31459327 10485760 5 Extended /dev/sdb3 31459328 37750783 3145728 8e Linux LVM //更改成功 /dev/sdb5 10489856 14684159 2097152 83 Linux 命令(输入 m 获取帮助):w //保存 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。
tops: #查看当前硬盘是什么模式 固态 机械 1为机械 0为固态 [root@localhost data]# lsblk -d -o name,rota NAME ROTA sda 1 sdb 1 sdc 1 sdd 1 sde 1 sr0 1
#1.分区 #2.创建文件系统(格式化) #3.挂载 #进行第二步 [root@localhost data]# lsblk //查看块设备 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk ├─sda1 8:1 0 5G 0 part /boot └─sda2 8:2 0 54G 0 part ├─centos-root 253:0 0 50G 0 lvm / └─centos-swap 253:1 0 4G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 5G 0 part //主分区1 ├─sdb2 8:18 0 1K 0 part //扩展分区2,不能直接使用 ├─sdb3 8:19 0 3G 0 part //swap分区3 └─sdb5 8:21 0 2G 0 part //扩展分区下的逻辑分区5,可以直接使用 sdc 8:32 0 20G 0 disk sdd 8:48 0 20G 0 disk sde 8:64 0 20G 0 disk sr0 11:0 1 1024M 0 rom [root@localhost data]# mkfs. mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.fat mkfs.minix mkfs.msdos mkfs.vfat mkfs.xfs [root@localhost data]# mkfs.xfs /dev/sdb1 //格式化主分区1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=327680 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=1310720, 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 [root@localhost data]# mkfs.xfs /dev/sdb5 //格式化逻辑分区5 meta-data=/dev/sdb5 isize=512 agcount=4, agsize=131072 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=524288, 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 [root@localhost data]# mkswap /dev/sdb3 //格式化swap分区3 正在设置交换空间版本 1,大小 = 3145724 KiB 无标签,UUID=012e763b-b012-4663-bbe0-3010c559af1e
5.挂载与解挂
5.1挂载
mount
格式:
mount [ 选项 ] 存储设备 挂载点/目录
mount -o loop ISO镜像文件 挂载点/目录
选项 | 作用 |
-t | fstype 指定要挂载的设备上的文件系统类型,如:ext4,xfs |
-r | readonly,只读挂载 |
-w | read and write, 读写挂载,此为默认设置,可省略 |
-n | 不更新/etc/mtab,mount不可见 |
-a | 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能) |
-L | 'LABEL' 以卷标指定挂载设备 |
-U | 'UUID' 以UUID指定要挂载的设备 |
-B | bind 绑定目录到另一个目录上 |
-o | options:(挂载文件系统的选项),多个选项使用逗号分隔 |
async 异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中,效率高,但不安全 sync 同步模式,内存更改时,同时写磁盘,安全,但效率低下 atime/noatime 包含目录和文件 diratime/nodiratime 目录的访问时间戳 auto/noauto 是否支持开机自动挂载,是否支持-a选项 exec/noexec 是否支持将文件系统上运行应用程序 dev/nodev 是否支持在此文件系统上使用设备文件 suid/nosuid 是否支持suid和sgid权限 remount 重新挂载 ro/rw 只读、读写 user/nouser 是否允许普通用户挂载此设备,/etc/fstab使用 acl/noacl 启用此文件系统上的acl功能 loop 使用loop设备 _netdev 当网络可用时才对网络资源进行挂载,如:NFS文件系统 defaults 相当于rw, suid, dev, exec, auto, nouser, async
挂载规则:
-
一个挂载点同一时间只能挂载一个设备
-
一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏
-
一个设备可以同时挂载到多个挂载点
-
通常挂载点一般是已存在空的目录
#1.分区 #2.创建文件系统(格式化) #3.挂载 #进行第三步:挂载 [root@localhost /]# ls bin boot data data1 data2 dev etc home lib lib64 media mnt opt proc root run sbin srv sys test tmp usr var [root@localhost /]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk ├─sda1 8:1 0 5G 0 part /boot └─sda2 8:2 0 54G 0 part ├─centos-root 253:0 0 50G 0 lvm / └─centos-swap 253:1 0 4G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 5G 0 part ├─sdb2 8:18 0 1K 0 part ├─sdb3 8:19 0 3G 0 part └─sdb5 8:21 0 2G 0 part sdc 8:32 0 20G 0 disk sdd 8:48 0 20G 0 disk sde 8:64 0 20G 0 disk sr0 11:0 1 1024M 0 rom [root@localhost /]# mount /dev/sdb1 /data //把sdb1挂载到/data下 [root@localhost /]# lsblk //查看 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk ├─sda1 8:1 0 5G 0 part /boot └─sda2 8:2 0 54G 0 part ├─centos-root 253:0 0 50G 0 lvm / └─centos-swap 253:1 0 4G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 5G 0 part /data //挂载成功 ├─sdb2 8:18 0 1K 0 part ├─sdb3 8:19 0 3G 0 part └─sdb5 8:21 0 2G 0 part sdc 8:32 0 20G 0 disk sdd 8:48 0 20G 0 disk sde 8:64 0 20G 0 disk sr0 11:0 1 1024M 0 rom
选项 | 功能 |
---|---|
rw/ro | 是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。 |
async/sync | 此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步 async。 |
dev/nodev | 是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是 nodev。 |
auto/noauto | 是否允许此文件系统被以 mount -a 的方式进行自动挂载,默认是 auto。 |
suid/nosuid | 设定文件系统是否拥有 SetUID 和 SetGID 权限,默认是拥有。 |
exec/noexec | 设定在文件系统中是否允许执行可执行文件,默认是允许。 |
user/nouser | 设定此文件系统是否允许让普通用户使用 mount 执行实现挂载,默认是不允许(nouser),仅有 root 可以。 |
defaults | 定义默认值,相当于 rw、suid、dev、exec、auto、nouser、async 这 7 个选项。 |
remount | 重新挂载已挂载的文件系统,一般用于指定修改特殊权限。 |
####查看是否为挂载点 # findmnt 查看 设备的详细信息 [root@localhost opt]# findmnt /sdb1 TARGET SOURCE FSTYPE OPTIONS /sdb1 /dev/sdb1 xfs rw,relatime,seclabel,attr2,inode64,noquota
#重新挂载 [root@localhost data]#mount -o ro /dev/sdc1 /mnt/ [root@localhost data]#mount /dev/sdc1 on /mnt type xfs (ro,relatime,seclabel,attr2,inode64,noquota) #如果有人在使用 挂载文件夹 无法先解挂载再去挂载 [root@localhost data]#mount -o remount,ro /mnt/
5.2解卦
umount 设备名|挂载点 解卦时:可使用设备,也可以使用挂载点 fuser -v MOUNT_POINT 查看正在访问指定文件系统的进程 fuser -km MOUNT_POINT 终止所有在正访问指定的文件系统的进程
5.3 df
ds [选项] [fle]
[root@localhost /]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root xfs 50G 4.5G 46G 9% / devtmpfs devtmpfs 897M 0 897M 0% /dev tmpfs tmpfs 912M 0 912M 0% /dev/shm tmpfs tmpfs 912M 9.1M 903M 1% /run tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda1 xfs 5.0G 179M 4.9G 4% /boot tmpfs tmpfs 183M 12K 183M 1% /run/user/42 tmpfs tmpfs 183M 0 183M 0% /run/user/0 /dev/sdb1 xfs 5.0G 33M 5.0G 1% /data [root@localhost /]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs b3e3bf0a-fdea-4edc-8373-9eefad5833ef /boot └─sda2 LVM2_member uBDsAS-Fcf8-XTJT-IsBt-rW59-TI0A-0AMJ6u ├─centos-root xfs f5d73ff9-2622-498b-8002-44b902358a69 / └─centos-swap swap e507a1cd-d062-4c4d-b7ac-fef88bb863a4 [SWAP] sdb ├─sdb1 xfs faed15fd-968d-448e-8167-59d5df5dce67 /data ├─sdb2 ├─sdb3 swap 012e763b-b012-4663-bbe0-3010c559af1e └─sdb5 xfs f5cbe3a3-716d-4eb7-b4f6-05983a22b523 sdc sdd sde sr0
6.软raid
软RAID也必须在多磁盘系统中才能实现。实现RAID-1最少要拥有两块硬盘,而实现RAID-5则最少要拥有三块硬盘。通常情况下,操作系统所在磁盘采用RAID-1,而数据所在磁盘采用RAID-5
格式:
mdadm [选项] 磁盘设备
选项 | 作用 |
-C | 创建 |
-v | 显示过程 |
-f | 卸载 |
[root@localhost ~]# rpm -q mdadm //查看是否安装软件 mdadm-4.0-5.el7.x86_64 [root@localhost ~]# [root@localhost ~]# mdadm -Cv /dev/md0 -l0 -n2 /dev/sd[b,c]1 mdadm: chunk size defaults to 512K mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [root@localhost ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Jul 7 01:10:25 2021 Raid Level : raid0 Array Size : 83818496 (79.94 GiB 85.83 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Wed Jul 7 01:10:25 2021 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Chunk Size : 512K Consistency Policy : none Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : e8c161d8:d5bb980e:3086d44c:df5e9a7b Events : 0 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 [root@localhost ~]# cat /proc/mdstat Personalities : [raid0] md0 : active raid0 sdc1[1] sdb1[0] 83818496 blocks super 1.2 512k chunks unused devices: <none> [root@localhost ~]# mkfs.xfs /dev/md0 //格式化 meta-data=/dev/md0 isize=512 agcount=16, agsize=1309568 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=20953088, imaxpct=25 = sunit=128 swidth=256 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=10232, version=2 = sectsz=512 sunit=8 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localhost ~]# mkdir /opt/md0 [root@localhost ~]# mount /dev/md0 /opt/md0/ //挂载 [root@localhost ~]# df -h //查看 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 37G 6.3G 31G 18% / devtmpfs 977M 0 977M 0% /dev tmpfs 993M 0 993M 0% /dev/shm tmpfs 993M 9.1M 984M 1% /run tmpfs 993M 0 993M 0% /sys/fs/cgroup /dev/sr0 4.3G 4.3G 0 100% /mnt /dev/sda1 1014M 161M 854M 16% /boot tmpfs 199M 0 199M 0% /run/user/0 tmpfs 199M 12K 199M 1% /run/user/42 /dev/md0 80G 33M 80G 1% /opt/md0 [root@localhost ~]# mdadm -Cv /dev/md0 -l0 -n2 /dev/sd[b,c]1 -x1 /devsde1
7.总结:
磁盘空间的管理,使用硬盘三步
-
分区:
-
文件系统:格式化
-
挂载:
磁盘损坏数据没了,容错,提高性能raid
逻辑卷空间动态化扩容,空间变大变小