011-Linux磁盘管理(基本磁盘管理,不涉及逻辑卷LVM)

前言

一个磁盘从插到服务器,到我们能正常使用他,查看他的剩余空间,一共包括以下几个步骤:

  1. 首先查看服务器是否将磁盘挂载:lsblk
  2. 然后进行磁盘分区:fdisk
  3. 在分好的分区上创建文件系统:mkfs
  4. 最后将创建好的文件系统挂载到Linux系统上
  5. 在使用了一段时间后想看看剩余空间:df、du

我在下面对磁盘整个使用过程进行了介绍,希望帮到大家。


一、du:查看文件和目录占用的磁盘空间

基本语法:

du 目录/文件        显示目录下每个子目录的磁盘使用情况

选项说明:

-h        以人们较易阅读的GBtypes,MBtypes,KBytes等格式自行显示

-a        不仅查看子目录的大小,还要包括文件

-c        显示目录下每个子目录大小后,显示总和

-s        只显示总和

--max-depth=n        指定系统子目录的深度为第n层

实例:

显示 /dev 目录下子目录和文件的磁盘使用情况以较易阅读的形式,最多显示到深度4层的文件和子目录。

du -ah --max-depth=4 /dev

二、df:查看文件系统的整体磁盘使用情况

df -h

三、lsblk:查看设备挂载情况

这里说的挂载是挂载到了服务器上,但是不能直接使用,需要挂载到系统上才可用。

基本语法:

lsblk 选项 设备名称

选项说明:

-a       显示所有设备

-b       以字节为单位显示设备的大小
-f        显示设备的文件系统类型

-m      显示权限信息
-o       允许用户定义要显示的列:name,fstype,size,type,mountpoint
-p       以完整路径的形式显示设备名

实例:

lsblk

输出字段解释:

NAME                块设备名
MAJ:MIN           主要和次要设备号
RM                    设备是否可移动设备(0:非移动设备、1:移动设备)
SIZE                  设备的容量大小
RO                     设备是否为只读(0:不是只读、1:只读)
TYPE                  块设备类型
MOUNTPOINT   设备挂载点

四、fdisk:磁盘分区

基本语法:

查看磁盘分区列表:fdisk -l 设备名称


磁盘分区:fdisk 设备名称

4.1、查看磁盘分区列表

fdisk -l

输出字段含义:

Disk /dev/sde: 894.26 GiB, 960197124096 bytes, 1875385008 sectors
Disk model: SAMSUNG MZ7KH960
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 87BC99AE-A102-4194-8E7D-5092B46D6B36


Device Start End Sectors Size Type
/dev/sde1 2048 2099199 2097152 1G EFI System
/dev/sde2 2099200 4196351 2097152 1G Linux filesystem
/dev/sde3 4196352 1875384319 1871187968 892.3G Linux LVM

输出内容包括两部分:

磁盘部分:

第一行:

Disk /dev/sde: 894.26 GiB, 960197124096 bytes, 1875385008 sectors

Disk        表示磁盘

/dev/sde        磁盘名称

894.26 GiB        磁盘大小GiB

960197124096 bytes       磁盘大小bytes

1875385008 sectors        扇区数

  

第二行:

Disk model: SAMSUNG MZ7KH960

Disk model        产品名称

SAMSUNG MZ7KH960        三星的MZ7KH960

第三行:

Units: sectors of 1 * 512 = 512 bytes

这句话的意思是1个扇区的大小是512bytes

第四行:

Sector size (logical/physical): 512 bytes / 4096 bytes

表示1个逻辑扇区512bypte,1个物理扇区是4096bytes

第五行:

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

一次输入输出的最小字节数4096bytes,最佳字节数4096bytes

第六行:

Disklabel type: gpt

磁盘分区表格式:gpt


第七行:

Disk identifier: 87BC99AE-A102-4194-8E7D-5092B46D6B36

磁盘标识符:87BC99AE-A102-4194-8E7D-5092B46D6B36

分区部分:

Device Start End Sectors Size Type

/dev/sde1 2048 2099199 2097152 1G EFI System
/dev/sde2 2099200 4196351 2097152 1G Linux filesystem
/dev/sde3 4196352 1875384319 1871187968 892.3G Linux LVM

Device        设备名称

Start、End        分区在硬盘上的起始扇区和结束扇区编号

Sectors        分区占用的扇区数

Size        分区的大小

Type        分区的类型:EFI System、Linux filesyste、Linux LVM等

4.2、磁盘分区

4.2.1、交互命令的功能

命令功能
Generic        通用的

delete a partition        删除分区

Flist free unpartitioned space        列出空闲的未分区空间
llist known partition types        列出已知分区类型
nadd a new partition        添加一个新分区
pprint the partition table        打印分区表
tchange a partition type        更改分区类型
vverify the partition table        验证分区表
iprint information about a partition        打印分区信息
Save & Exit        保存 & 退出
write table to disk and exit        将表写入磁盘并退出
quit without saving changes        不保存更改就退出

Create a new label        创建新标签

g

create a new empty GPT partition table        创建一个新的空GPT分区表

Gcreate a new empty SGI (IRIX) partition table        创建一个新的空SGI (IRIX)分区表
ocreate a new empty DOS partition table        创建一个新的空DOS(MBR)分区表
screate a new empty Sun partition table        创建一个新的空Sun分区表

4.2.2、对/dev/sda进行MBR分区

创建3个主分区,1个扩展分区

对sda进行分区:

fdisk /dev/sda

首先创建一个新的DOS分区表

添加第一个主分区,分区大小200GB:

n:添加分区

p:主分区

1:分区表位置

分区的起始位置默认就行

+200G:结束位置

添加第二个主分区,分区大小300GB:

添加第三个主分区,分区大小400GB

添加一个扩展分区,分区大小100GB

打印分区表,可以看到刚才分的三个主分区和一个扩展分区

将分区表写入磁盘并退出

查看分区是否成功 fdisk -l /dev/sda

4.2.3、对/dev/sdb进行GPT分区

对 /dev/sdb进行分区

创建一个空的GPT分区表

创建5个分区,大小分别是50G、60G、70G、80G、90G,可以看到GPT分区表最大可以创建128个分区

打印分区表,可以看到五个分区已经分好

保存分区表,退出,查看 /dev/sdb 的分区信息,可以看到已经分区成功

五、mkfs:构建/格式化文件系统

通过tab键补全,可以看到 mkfs 可以构建的文件系统格式有:cramfs 、ext2、ext3、ext4、fat、minix、msdos、vfat、xfs

CSDN的C知道的回答,可以参考一下,其中ext4和xfs是Linux服务器上常用到的文件系统格式:

  • cramfs是一种只读文件系统,它被设计成非常紧凑,可以在嵌入式系统和小型设备上使用。
  • ext2是Linux操作系统中广泛使用的一种文件系统,它是一种可靠的、高性能的文件系统,支持大多数UNIX文件系统的特性。
  • ext3是Linux操作系统中的一种日志文件系统,它在ext2的基础上增加了日志功能,提供了更好的文件系统保护和恢复能力。
  • ext4是Linux操作系统中最新的一种文件系统,它在ext3的基础上进行了改进,提供了更高的性能和更好的可靠性。
  • FAT是一种广泛使用的文件系统,被广泛应用于闪存、USB驱动器和其他便携设备中。
  • MINIX是一个小型的UNIX操作系统,minix文件系统是其默认的文件系统。
  • MSDOS是微软开发的一种磁盘操作系统,它使用FAT文件系统作为默认的文件系统。
  • VFAT是FAT文件系统的一个扩展版本,它增加了对长文件名、大容量硬盘驱动器和其他高级特性的支持。
  • XFS是一个高性能、可扩展的文件系统,主要应用于高负载的服务器环境中。它支持大容量、高速度和快速恢复等特性。

实例:

将 /dev/sdb 中的5个分区,构建成 xfs 类型的文件系统

构建 ext4 文件系统

mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2
mkfs.ext4 /dev/sdb3
mkfs.ext4 /dev/sdb4
mkfs.ext4 /dev/sdb5

再次查看可以看到五个分区的文件系统类型都是 ext4

将 /dev/sdb/sdb1 的文件系统格式化为 xfs

mkfs.xfs -f /dev/sdb/sdb1

可以看到 /dev/sdb1 的文件系统类型变为 xfs

六、mount、unmount:挂载、卸载磁盘

基本语法:

挂载设备:mount [-t vfstype][-o options] device dir

卸载设备:umount 设备文件名或挂载点

参数说明:

参数功能
-t vfstype

指定文件系统的类型,通常不必指定。mount会自动选择正确的类型。

常用类型:

光盘或光盘镜像:iso9660
DOS fat16 文件系统:msdos
Windows 9x fat32 文件系统:vfat

Windows NT ntfs文件系统:ntfs

Mount Windows 文件网络共享:smbfs

UNIX(LINUX)文件网络共享:nfs

-o options

主要用来描述设备或档案的挂接方式

常用的参数有:

loop:用来把一个文件当成硬盘分区挂载上系统

re:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集

device要挂载(mount)的设备
dir设备在系统上的挂载点(mount point)


 

实例:

将sda设备以硬盘分区的形式挂载到/mnt

mount -o loop /dev/sda /mnt

卸载刚才挂载的设备

unmount /dev/sda
或
unmount /mnt

6.1、/etc/mtab 文件解析

/etc/mtab 是当前的分区挂载情况,记录的是当前系统已挂载的分区。每次挂载/卸载分区时会更新 /etc/mtab 文件中的信息(执行 mount 命令会改变 /etc/mtab 的信息)。 

文件样例

6.2、/etc/fstab 文件解析

系统开机时会主动读取 /etc/fstab 这个文件中的内容,根据文件里面的配置挂载文件系统、ISO镜像和文件网络共享。这样我们只需要将挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。

文件样例

配置文件包括两部分内容:

1、以 # 开头的注释

2、自动挂载的配置信息:每一行是一个挂载配置,一行有六列,下面会对每一列的含义进行详解。

字段说明

序号列名说明
1fs_spec

要挂载的块特殊设备或远程文件系统

说明:

1、可以使用设备文件名、UUID、标签、NFS等远程文件系统;

2、远程文件系统配置方式是<host>:<dir>;

3、UUID和LABEL配置方式是LABEL=<label> 和 UUID=<uuid>;

4、设备文件名可能因为设备位置的变化,重启系统后会失效;

5、使用UUID和LABEL会使系统更有伸缩性,如果你的系统添加或移除了一个SCSI硬盘,这有可以改变你的设备名,但它不会修改你的卷标签。

6、可以使用blkid命令查看UUID,可以使用命令ls -l /dev/disk/by-label/查看label。如果磁盘或者分区都没有配置标签,by-label文件可能并不存在。

2fs_file

挂载点

说明:

1、如果是swap,则写成none。其他的写具体的文件系统路径。

3fs_vfstype

挂载的文件系统类型

说明:

1、ext4、xfs:linux中常用的分区格式;

2、swap: Swap,即交换区;

3、vfat、ntfs:Windows分区格式;

4、auto:文件系统的类型将被自动检测;

5、iso9660:ISO9660是一种描述适合CD盘片的电脑文件结构的国际标准。很多光驱也使用的这个选项。

4fs_mntops

文件系统挂载参数

说明:

1、defaults:所有选项全部使用默认配置,包括rw, suid, dev, exec, auto, nouser,和 async。一般都设置成defaults

2、auto 和 noauto:控制设备是否自动挂载的选项。auto是默认选择的选项,这样,设备会在启动或者你使用mount -a命令时按照fstab的内容自动挂载。如果你不希望这样,就使用noauto选项,如果这样的话,你就只能明确地通过手工来挂载设备;

3、user 和 nouser:user选项允许普通用户也能挂载设备,而nouser则只允许root用户挂载。nouser是默认选项;

4、ro:以只读来挂载文件系统;

5、rw:以可读可写的属性来挂载系统;

6、exec 和 noexec: exec允许你执行对应分区中的可执行二进制程序,noexec则表示不允许。

5fs_freq是否转储dump,未配置则默认为0
6fs_passnofsck程序使用此字段来确定在重新启动时执行文件系统检查的顺序。0表示不检查;1表示第一位检查,一般用于根挂载点,其他磁盘配置参数2。

6.3、永久挂载(文件系统、ISO镜像、文件网络共享)

1、修改配置文件 /etc/fstab

vim /etc/fstab

#在最后添加挂载配置
设备文件名/UUID/标签    挂载点    auto    defaults    0    0

2、检查配置格式是否正确,同时使配置生效

mount -a
  • 27
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

于齐龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值