磁盘管理
一、磁盘基础知识
1.0 引入
- 计算机中保存的大部分文件都保存在计算机硬盘中,文件也可以存储在网络磁盘中。网络磁盘中的文件只能用于备份,像本地硬盘上的数据那样随时使用。
- 在学习存储管理时,主要学习的是如何管理计算机上的硬盘。目前,主流硬盘主要有两种形式,一种是机械硬盘
(HDD)
,一种是固态硬盘(SSD)
1.1 磁盘分类
- 机械硬盘
(HDD)
:传统硬盘是计算机的主要存储媒介之一。- 磁盘、磁头、转轴、控制电机、磁头控制器、数据转换器、接口和缓存由一个或多个铝或玻璃制成。
- 机械电机以固定的速度旋转磁盘,然后通过机械臂摆动,使磁头可以读取磁盘上的磁性信息,我们成为机械硬盘。
- 由于机械硬盘依靠机械运动读写数据,机械在长期运行过程中会产生一定的损失,所以机械硬盘虽然理论寿命长,但随着时间的延长,机械磨损,导致磁头定位误差,从而影响硬盘速度,这就是为什么旧计算机启动缓慢,运行堵塞。
-
固态硬盘
(SSD)
:阵列存储由多个闪存芯片和主控和缓存组成,属于由固态电子存储芯片阵列制成的硬盘。
1.2 硬盘接口类型
-
个人PC机
-
IDE
:并口,133MB/s -
SATA
:IDE
串行化,串口(一代二代三代)6Gbps -
USB
:串口,480MB/s
-
-
服务器
-
SCSI
:并口,640MB/s -
SAS
:SCSI
串行化 ,串口6Gbps
-
1.3 磁盘设备的命名
-
示例:
/dev/sda2
-
/dev/
:设备文件目录 -
s
:硬件接口类型 -
d
:disk硬盘 -
a
:第一块硬盘(b
第二块c
第三块 以此类推),不同的设备 -
2
:同一设备上的第二个分区
-
硬件设备 | 文件名称 | 备注 |
---|---|---|
IDE 设备 |
/dev/hd[a-d] |
centos6 及以后中IDE 变为/dev/sd[a-d] |
SCSI/SATA/SAS/USB |
/dev/sd[a-p] |
大部分都是这种类型 |
软驱 | /dev/fd[0-1] |
|
打印机 | /dev/lp[0-15] |
|
光驱 | /dev/cdrom |
|
鼠标 | /dev/mouse |
|
磁带机 | /dev/st0或/dev/ht0 |
1.4 分区方式
-
MBR
-
用32位表示扇区数,分区不超过2T(管理的硬盘尺寸不得超过2T)
-
按柱面分区,4个主分区 或 3主分区 1扩展分区(N逻辑分区)。 扩展分区可以逻辑上划分多个区域,但在分区表中计算在一个分区内
-
作为系统盘,必须设置激活分区,以存储系统的指导文件
-
MBR硬盘分区结构图
-
-
GPT
- 管理硬盘尺寸不超过
18EB
,目前,人类还没有制造出如此大的单块硬盘 - 理论上支持无限分区,
win10
系统上,最多可以分128个,分区使用64位,使用128位UUID(Universally Unique Identifier)
表示磁盘和分区。GPT
在头部和尾部自动备份分区表。 - 作为系统盘,必须创建一个EFI存储系统的指导文件分区
EFI
可分为四个区域:EFI
信息区(GPT
头),分区表,GPT
分区、备份区域
- 管理硬盘尺寸不超过
-
MBR
&GPT
比较
分区方式 | 分区大小 | 分区工具 | 分区方式 |
---|---|---|---|
MBR | <2TB |
fdisk |
三个主分区 扩展分区(共四个主分区);扩展分区可分为几个逻辑分区 |
GPT | >2TB (<2TB也可以分) |
gdisk |
128个主分区 |
- 注:从MBR转到GPT,或从GPT转换到MBR所有数据都会丢失
扩展:http://www.eassos.cn/jiao-cheng/ying-pan/mbr-vs-gpt.php
二、文件系统基础知识
2.1 介绍文件系统
- 文件系统
(file system)
- 操作系统用于明确存储设备(磁盘也是常见的)
NAND Flash
固态硬盘)或分区文件的方法和数据结构;即储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。 - 文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。
- 从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
- 操作系统用于明确存储设备(磁盘也是常见的)
2.2 格式化介绍
-
格式化后会发生如下事情
-
Linux创建一个硬盘地图
superblock
,记录此filesystem
的整体信息,包括inode/block
的总量、使用 量、剩余量, 以及文件系统的格式与相关信息等; -
inode
:记录文件的属性,一个文件占用一个inode
,同时记录此文件的数据所在的block
号码,默认一个inode
表格128字节,一个block
记录消耗4B,记录满了后会新建inode
用于扩展。-
该文件的访问权限
(read、write、execute)
-
该文件的所有者与所属组
(owner、group)
-
该文件的大小
(size)
-
该文件的创建或内容修改时间
(ctime)
-
该文件的最后一次访问时间
(atime)
-
该文件的修改时间
(mtime)
-
文件的特殊权限
(SUID、SGID、SBIT)
-
该文件的真实数据地址
(point)
-
-
block
:用于存储数据
-
-
计算机系统在发展过程中产生了众多的文件系统,为了使用户在读取或写入文件时不用关心底层的硬盘结构,
Linux
内核中的软件层为用户程序提供了一个VFS
(Virtual File System
,虚拟文件系统)接口,这样用户实际 上在操作文件时就是统一对这个虚拟文件系统进行操作了。
2.3 常见文件系统
Linux
系统支持数十种的文件系统,而最常见的文件系统如下所示
文件系统 | 说明 |
---|---|
ext3 |
是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复 |
ext4 |
Ext3 的改进版本,作为RHEL 6 系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB) ,且能够有无限多的子目录。另外,Ext4 文件系统能够批量分配block 块,从而极大地提高了读写效率 |
XFS |
是一种高性能的日志文件系统,而且是RHEL 7 中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB ,这几乎满足了所有需求 |
三、常用查看命令
3.1 lsblk
命令
- 列出可用块设备,
[root@server1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 918M 0 rom
3.2 df -Th
命令
- 列出的磁盘占用情况,也就是说,只显示的设备
[root@server1 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 11G 6.1G 65% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 12M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 146M 869M 15% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
3.3 fdisk -l
命令
- 列出磁盘情况
[root@server1 ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘
标签类型:dos 磁盘标识符:0x00020928 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 8e Linux LVM 磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区 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 字节
3.4 du -sh
命令
- 查看磁盘空间占用情况
[root@server1 ~]# du -sh /usr
1001M /usr
3.5 free -h
命令
- 查看系统内存情况,常用于
[root@server1 ~]# free -h
total used free shared buff/cache available
Mem: 3.7G 299M 3.1G 11M 265M 3.1G
Swap: 2.0G 0B 2.0G
3.6 blkid
命令
- 查看具体设备的
[root@server1 ~]# blkid /dev/sda1
/dev/sda1: UUID="2a69fcf3-b92a-4059-82a7-84bc2be8f5f5" TYPE="xfs"
四、磁盘分区
- 新建分区
- 刷新分区表
- 格式化分区
- 挂载
4.1 新建分区
4.1.1 fdisk
命令
- 语法:
fdisk device
- 对于一块硬盘来说最多管理15个分区
- 子命令:管理功能
命令 | 说明 |
---|---|
p(print) |
显示已有分区 |
n(new) |
创建 |
d(delete) |
删除 |
w(write) |
写入磁盘并退出 |
q(quit) |
放弃更新并退出 |
m |
获取帮助 |
l |
列表所分区ID |
t |
调整分区类型 |
- 示例
[root@server1 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xe6d1d525 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n #创建新分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): #回车,默认p:主分区
Using default response p
分区号 (1-4,默认 1): #回车
起始 扇区 (2048-10485759,默认为 2048): #回车,一般选择默认即可,不建议手动设置
将使用默认值 2048
Last 扇区, +扇区 or +size{
K,M,G} (2048-10485759,默认为 10485759):+1G #设置分区大小
分区 1 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):n #创建新分区
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e #e:扩展分区
分区号 (2-4,默认 2): #回车
起始 扇区 (2099200-10485759,默认为 2099200):#回车
将使用默认值 2099200
Last 扇区, +扇区 or +size{
K,M,G} (2099200-10485759,默认为 10485759):+4G #设置分区大小
将使用默认值 10485759
分区 2 已设置为 Extended 类型,大小设为 4 GiB
命令(输入 m 获取帮助):n #创建新分区
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l #:逻辑分区
添加逻辑分区 5
起始 扇区 (2101248-10485759,默认为 2101248):#回车
将使用默认值 2101248
Last 扇区, +扇区 or +size{
K,M,G} (2101248-10485759,默认为 10485759):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):P #打印分区表
磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe6d1d525
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 10485759 4193280 5 Extended
/dev/sdb5 2101248 6295551 2097152 83 Linux
命令(输入 m 获取帮助):w #保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@server1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
├─sdb1 8:17 0 1G 0 part
├─sdb2 8:18 0 1K 0 part
└─sdb5 8:21 0 2G 0 part
sr0 11:0 1 973M 0 rom
注意事项:
- 最多只能分4个主分区,主分区编号1-4
- 逻辑分区大小总和不能超过扩展分区大小,逻辑分区分区编号从5开始
- 如果删除扩展分区,则逻辑分区也被删除
- 扩展分区的分区编号(1-4)
- 扩展分区不能进行格式化,挂载使用。只有1k,用来记录逻辑分区的信息
- 创建分区顺序1-2-3-4,删除分区顺序4-3-2-1
- 已经有数据的磁盘,不建议再进行磁盘划分
4.1.2 gdisk(扩展)
- VMware新建一个虚拟磁盘
[root@server1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
├─sdb1 8:17 0 2G 0 part
└─sdb2 8:18 0 2G 0 part [SWAP]
sdc 8:32 0 5G 0 disk
sr0 11:0 1 973M 0 rom
[root@server1 ~]# gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): ? 获取帮助信息
b back up GPT data to a file
c change a partition's name d delete a partition 删除分区 i show detailed information on a partition l list known partition types n add a new partition 创建新分区 o create a new empty GUID partition table (GPT) p print the partition table 打印分区表 q quit without saving changes 不保存退出 r recovery and transformation options (experts only) s sort partitions t change a partition's type code
v verify disk
w write table to disk and exit 保存分区表
x extra functionality (experts only)
? print this menu
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-10485726, default = 2048) or {
+-}size{
KMGTP}:
Last sector (2048-10485726, default = 10485726) or {
+-}size{
KMGTP}: +2G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): L
0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE
3000 ONIE boot 3001 ONIE config 4100 PowerPC PReP boot
4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS
7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved
8200 Linux swap 8300 Linux filesystem 8301 Linux reserved
8302 Linux /home 8400 Intel Rapid Start 8e00 Linux LVM
a500 FreeBSD disklabel a501 FreeBSD boot a502 FreeBSD swap
a503 FreeBSD UFS a504 FreeBSD ZFS a505 FreeBSD Vinum/RAID
a580 Midnight BSD data a581 Midnight BSD boot a582 Midnight BSD swap
a583 Midnight BSD UFS a584 Midnight BSD ZFS a585 Midnight BSD Vinum
a800 Apple UFS a901 NetBSD swap a902 NetBSD FFS
a903 NetBSD LFS a904 NetBSD concatenated a905 NetBSD encrypted
a906 NetBSD RAID ab00 Apple boot af00 Apple HFS/HFS+
af01 Apple RAID af02 Apple RAID offline af03 Apple label
af04 AppleTV recovery af05 Apple Core Storage be00 Solaris boot
bf00 Solaris root bf01 Solaris /usr & Mac Z bf02 Solaris swap
bf03 Solaris backup bf04 Solaris /var bf05 Solaris /home
bf06 Solaris alternate se bf07 Solaris Reserved 1 bf08 Solaris Reserved 2
bf09 Solaris Reserved 3 bf0a Solaris Reserved 4 bf0b Solaris Reserved 5
c001 HP-UX data c002 HP-UX service ea00 Freedesktop $BOOT
eb00 Haiku BFS ed00 Sony system partitio ed01 Lenovo system partit
Press the <Enter> key to see more codes:
ef00 EFI System ef01 MBR partition scheme ef02 BIOS boot partition
fb00 VMWare VMFS fb01 VMWare reserved fc00 VMWare kcore crash p
fd00 Linux RAID
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): n
Partition number (2-128, default 2):
First sector (34-10485726, default = 4196352) or {
+-}size{
KMGTP}:
Last sector (4196352-10485726, default = 10485726) or {
+-}size{
KMGTP}: +1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N):
Your option? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.
[root@server1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
├─sdb1 8:17 0 2G 0 part
└─sdb2 8:18 0 2G 0 part [SWAP]
sdc 8:32 0 5G 0 disk
├─sdc1 8:33 0 2G 0 part
└─sdc2 8:34 0 1G 0 part
sr0 11:0 1 973M 0 rom
4.1.3 parted
命令
- 语法:
parted [选项]... [设备 [命令 [参数]...]...]
- 功能:向设备发出命令进行分区管理
- 操作命令
cp [FROM-DEVICE] FROM-MINOR TO-MINOR #将文件系统复制到另一个分区
help [COMMAND] #打印通用求助信息,或关于 COMMAND 的
信息
mklabel 标签类型 #创建新的磁盘标签 (分区表)
mkfs MINOR 文件系统类型 #在 MINOR 创建类型为“文件系统类型”的文
件系统
mkpart 分区类型 [文件系统类型] 起始点 终止点 #创建一个分区
mkpartfs 分区类型 文件系统类型 起始点 终止点 #创建一个带有文件系统的分区
move MINOR 起始点 终止点 #移动编号为 MINOR 的分区
name MINOR 名称 #将编号为 MINOR 的分区命名为“名称”
print [MINOR] #打印分区表,或者分区
quit #退出程序
rescue 起始点 终止点 #挽救临近“起始点”、“终止点”的遗失的分区
resize MINOR 起始点 终止点 #改变位于编号为 MINOR 的分区中文件系统的
大小
rm MINOR #删除编号为 MINOR 的分区
select 设备 #选择要编辑的设备
set MINOR 标志 状态 #改变编号为 MINOR 的分区的标志
- 示例
# 查看分区情况
[root@server1 ~]# parted /dev/sda print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
1 1049kB 1075MB 1074MB primary xfs 启动
2 1075MB 53.7GB 52.6GB primary lvm
[root@server1 ~]# parted /dev/sdb print
错误: /dev/sdb: unrecognised disk label
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
# 设置磁盘的分区表
[root@server1 ~]# parted /dev/sdb mklabel gpt
信息: You may need to update /etc/fstab.
[root@server1 ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
# 对磁盘进行分区
[root@server1 ~]# parted /dev/sdb mkpart primary 1 200M
信息: You may need to update /etc/fstab.
[root@server1 ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 200MB 199MB primary
# 删除分区
[root@server1 ~]# parted /dev/sdb rm 1
信息: You may need to update /etc/fstab.
[root@server1 ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
# 修改磁盘为mbr分区,注意会丢失所有数据
[root@server1 ~]# parted /dev/sdb mklabel msdos
警告: The existing disk label on /dev/sdb will be destroyed and all data on this
disk will be lost. Do
you want to continue?
是/Yes/否/No? yes
信息: You may need to update /etc/fstab.
- 注意:parted的操作都是实时生效的,小心使用。
4.2 刷新分区表
- 语法:
partx ‐a /dev/DEVICE
或partprobe [/dev/DEVICE]
[root@server1 ~]# partprobe #刷新所有分区表
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
[root@server1 ~]# partprobe /dev/sda #刷新指定分区表
[root@server1 ~]# partx -a /dev/sda #刷新指定分区表
# 查看内核是否已经识别新的分区:
[root@server1 ~]# cat /proc/partitions
major minor #blocks name
8 0 20971520 sda
8 1 1048576 sda1
8 2 19921920 sda2
11 0 940032 sr0
253 0 17821696 dm-0
253 1 2097152 dm-1
- 注:如果刷新不成功,可以尝试重启操作系统
4.3 mkfs格式化分区
- 格式化为
ext4
文件系统
[root@server1 ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
4.4 挂载
4.4.1 mount临时挂载
- 语法:
mount [选项] 设备名 挂载目录
- 选项:
-o
:挂载选项,例如ro,sync,rw,remount
-t
:文件系统类型-a
:挂载所有在/etc/fstab
中定义的文件系统
# 创建挂载目录
[root@server1 ~]# mkdir /mnt/mount_sdb1
# 挂载
[root@server1 ~]# mount /dev/sdb1 /mnt/mount_sdb1/
[root@server1 ~]# mount -o remount,ro,sync /mnt/mount_sdb1/
# -t:文件系统类型
mount -t nfs=mount.nfs(NFS)
mount.nfs 192.168.226.10:/share /nfs_share
mount -t cifs=mount.cifs(SAMBA)
mount.cifs -o user=user01,password=1 //192.168.226.10/samba_share /samba_share
# 查看挂载选项信息
[root@server1 ~]# mount
/dev/sdb1 on /mnt/mount_sdb1 type ext4 (rw,relatime,data=ordered)
# 解挂
[root@server1 ~]# umount /mnt/mount_sdb1
- 注
- 挂载点最好为空目录
- 多个设备不能挂载到同一个目录中
- 挂载目录的权限,不取决于挂载点原有的权限,而
mount
临时挂载,重启系统失效
4.4.2 /etc/fstab永久挂载
-
永久挂载原因:
-
启动操作系统后,系统会进行初始化。初始化文件
/sbin/init
会自动调用/etc/fstab
文件。 -
将挂载信息写入
/etc/fstab
文件,每次开机都会读取该文件,从而实现永久挂载 -
挂载的设备
(文件名或者UUID)+挂载点
+文件系统类型
+挂载选型
+0
(0表示不需要dump备份,1表示每天备份)+0
(0是不要 fsck 检验扇区,1表示要且最先检验)
-
-
挂载选项说明
选项 | 说明 |
---|---|
async/sync |
异步/同步 |
auto/noauto |
自动/非自动 |
rw/ro |
读写/只读 |
exec/noexec |
可被执行/不可被执行 |
remount |
新挂在一个已经挂载的文件系统,常用于修改挂载参数 |
user/nouser |
允许/不允许其他普通用户挂载 |
suid/nosuid |
具有/不具有suid 权限:该文件系统是否允许SUID 的存在。 |
usrquota |
这个是在启动文件系统的时候,让其支持磁盘配额,这个是针对用户的。 |
grpquota |
支持用户组的磁盘配额。 |
defaults |
同时具有rw, suid, dev, exec, auto, nouser, async 参数。 |
[root@server1 mount_sdb1]# vim /etc/fstab /dev/mapper/centos-root / xfs defaults 0 0 UUID=1eb189c6-19c3-498d-ad51-06531bf2f1e2 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 //192.168.226.10/samba_share /smb_share cifs user=user01,password=1 0 0 192.168.226.10:/share /nfs_share nfs ro 0 0 /dev/sdb1 /mnt/mount_sdb1 ext4 defaults 0 0 # 重新读取/etc/fstab文件内容 [root@server1 mount_sdb1]# mount -a [root@server1 mount_sdb1]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 5G 0 disk ├─sdb1 8:17 0 1G 0 part /mnt/mount_sdb1 ├─sdb2 8:18 0 1K