Linux-centos磁盘管理##磁盘管理这一篇就够了

本文详细介绍了在CentOS系统中添加硬盘后,通过命令行方式扫描发现硬盘以及使用fdisk工具管理磁盘分区的过程,包括分区创建、文件系统格式化和挂载,以及如何使用UUID挂载和设置开机自动挂载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos系统添加硬盘后,有两种方式可以发现添加的硬盘:

  1. 重启服务器
  2. 通过命令

通过命令方式发现硬盘:

# 手动执行
echo "- - -" > /sys/class/scsi_host/host0/scan
# for语句执行
for i in {0..2};do echo "- - -" > /sys/class/scsi_host/host$i/scan;done

 fdisk命令管理磁盘

命令说明
-l命令参数,查看硬盘分区表
d(delete)删除一个分区
l(list)列出一个分区
m获取帮助信息
n(new)添加新的分区
p(print)打印分区列表
q(quit)不保存分区表退出
t(type)改变分区类型
w保存分区表退出

查看硬盘分区表

[root@docker-ce ~]# fdisk -l

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

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

磁盘 /dev/mapper/centos-root:41.1 GB, 41120956416 字节,80314368 个扇区
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 字节


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

 划分分区

[root@docker-ce ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xfda7581c 创建新的 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 获取帮助):p     #打印分区表

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xfda7581c

   设备 Boot      Start         End      Blocks   Id  System

命令(输入 m 获取帮助):n    #创建一个新的分区
Partition type:           #分区的类型
   p   primary (0 primary, 0 extended, 4 free)      #p是主分区
   e   extended                                     #e是扩展分区
Select (default p):         #默认主分区就行,直接回车
Using default response p
分区号 (1-4,默认 1):       #默认分区号就行,直接回车
起始 扇区 (2048-20971519,默认为 2048):    #起始位置,一般不要动,使用默认值就可以
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+3G    #设置分区大小
分区 1 已设置为 Linux 类型,大小设为 3 GiB
命令(输入 m 获取帮助):n                      #创建一个新的分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e                       #分区类型为扩展分区
分区号 (2-4,默认 2):
起始 扇区 (6293504-20971519,默认为 6293504):
将使用默认值 6293504
Last 扇区, +扇区 or +size{K,M,G} (6293504-20971519,默认为 20971519):+3G
分区 2 已设置为 Extended 类型,大小设为 3 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l           # 添加逻辑分区
分区号 (3,4,默认 3):
起始 扇区 (12584960-20971519,默认为 12584960):
将使用默认值 12584960
Last 扇区, +扇区 or +size{K,M,G} (12584960-20971519,默认为 20971519):+3G
分区 3 已设置为 Linux 类型,大小设为 3 GiB

命令(输入 m 获取帮助):p   #打印分区列表

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xfda7581c

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux
/dev/sdb2         6293504    12584959     3145728    5  Extended
/dev/sdb3        12584960    18876415     3145728   83  Linux

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

 查看当前磁盘分区情况

[root@docker-ce ~]# ls /dev/sdb*
/dev/sdb  /dev/sdb1  /dev/sdb2  /dev/sdb3



#如果磁盘分区情况没有显示出来,那么就是用下面命令刷新以下就行了

[root@docker-ce ~]# partprobe /dev/sdb
[root@docker-ce ~]# ls /dev/sdb*
/dev/sdb  /dev/sdb1  /dev/sdb2  /dev/sdb3

文件系统(格式化分区磁盘)

就像windows主机有ntfs和fat32格式的磁盘类型一样,Linux也有许多不同的文件系统,使用分区磁盘之前需要格式化分区磁盘为指定类型的文件系统。
磁盘分区使用的整体流程如下:

现在将刚刚分区的sdb1创建为xfs格式的文件系统,使用的命令是mkfs.xfs,不同的命令还可以创建不同的文件系统,比如ext4、ext3等等。

[root@docker-ce ~]# mkfs.
mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.fat     mkfs.minix   mkfs.msdos   mkfs.vfat    mkfs.xfs

[root@docker-ce ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=196608 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=786432, 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

文件挂载

挂载点设置

1.可以把挂载点设置在现有目录下

挂载

如果直接挂载在现有的目录上,原目录中内容就会“消失”而显示新挂载点的内容。原有目录内容其实并没有消失,只不过是目录不再指向原有内容了。
挂载使用的命令是mount,以下是示例。

#首先在挂载前,使用命令产看挂载情况
[root@docker-ce ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
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/mapper/centos-root   39G  4.8G   34G   13% /
/dev/sda1               1014M  172M  843M   17% /boot
/dev/mapper/centos-home   19G   33M   19G    1% /home
tmpfs                    199M   36K  199M    1% /run/user/0
/dev/sr0                 4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64

#查看media目录下的情况
[root@docker-ce ~]# ls /media
local
#将sdb1挂载到media目录下

[root@docker-ce ~]# mount /dev/sdb1 /media/
#再次查看media目录下的任容会发现,目录下的文件消失了

[root@docker-ce ~]# ls /media
[root@docker-ce ~]#

#在新建一个文件

[root@docker-ce ~]# touch /media/docker.txt
[root@docker-ce ~]# ls /media/
docker.txt

# 查看现在的挂载情况,可以看到sdb1挂载到了media目录上

[root@docker-ce ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
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/mapper/centos-root   39G  4.8G   34G   13% /
/dev/sda1               1014M  172M  843M   17% /boot
/dev/mapper/centos-home   19G   33M   19G    1% /home
tmpfs                    199M   36K  199M    1% /run/user/0
/dev/sr0                 4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1                3.0G   33M  3.0G    2% /media

2.也可以自己手动创建一个挂载目录

#创建一个新的目录,在“/”下
[root@docker-ce ~]# mkdir /docker/

[root@docker-ce ~]# ll /
总用量 24
lrwxrwxrwx.   1 root root    7 3月   3 21:55 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 3月   3 22:03 boot
drwxr-xr-x.  19 root root 3320 3月   9 13:46 dev
drwxr-xr-x.   2 root root    6 3月   9 14:19 docker
drwxr-xr-x. 139 root root 8192 3月   9 12:39 etc
drwxr-xr-x.   3 root root   18 3月   3 22:02 home
lrwxrwxrwx.   1 root root    7 3月   3 21:55 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 3月   3 21:55 lib64 -> usr/lib64
drwxr-xr-x.   2 root root   24 3月   9 14:10 media
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
drwxr-xr-x.   3 root root   19 3月   7 19:45 opt
dr-xr-xr-x. 244 root root    0 3月   9 12:39 proc
dr-xr-x---.  14 root root 4096 3月   9 12:42 root
drwxr-xr-x.  42 root root 1260 3月   9 12:41 run
lrwxrwxrwx.   1 root root    8 3月   3 21:55 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
dr-xr-xr-x.  13 root root    0 3月   9 12:39 sys
drwxrwxrwt.  21 root root 4096 3月   9 13:33 tmp
drwxr-xr-x.  13 root root  155 3月   3 21:55 usr
drwxr-xr-x.  20 root root  282 3月   3 22:04 var

#将原来挂载的分区卸载掉,在新的目录下挂载
[root@docker-ce ~]# umount /media
[root@docker-ce ~]# ls /media
local   #你会发现原来的文件并没有消失,只是被新挂载的分区覆盖掉了,将分区卸载掉后就能看到了


# 将分区挂载在新的目录上
[root@docker-ce ~]# mount /dev/sdb1 /docker
[root@docker-ce ~]# ls /docker     #查看目录下内容
docker.txt


#查看当前挂载情况
[root@docker-ce ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
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/mapper/centos-root   39G  4.8G   34G   13% /
/dev/sda1               1014M  172M  843M   17% /boot
/dev/mapper/centos-home   19G   33M   19G    1% /home
tmpfs                    199M   36K  199M    1% /run/user/0
/dev/sr0                 4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1                3.0G   33M  3.0G    2% /docker




开机自动挂载

要想系统开机自动挂载,需要修改配置文件/etc/fstab

#修改配置文件,在后面加上自己想要挂载的目录
# /etc/fstab
# Created by anaconda on Sun Mar  3 21:55:37 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=93f87511-46b1-4b2a-a622-28c1195ec5de /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sdb1/          /docker              xfs    defaults   0 0

其中,添加的内容总共有六个字段,含义非别如下:

参数/dev/sdb1//dockerxfsdefaults00
含义想要挂载的分区设备挂载点文件系统类型挂载选项是否备份是否检测

 挂载的分区设备也可用UUID代替

说明:UUID号是唯一的,设备名是有可能会变化的。比如你现在使用设备名/dev/sdb1,但是如果/dev/sda盘损坏了,/dev/sdb是有可能变为/dev/sda的。UUID的查看方法见下下下表之后。

挂载选项的具体内容如下所示:

参数说明
Async/sync设置是否为同步方式运行,默认为async
auto/noauto当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
rw/ro是否以以只读或者读写模式挂载
exec/noexe限制此文件系统内是否能够进行"执行"的操作
user/nouser是否允许用户使用mount命令挂载
suid/nosuid是否允许SUID的存在
Usrquota启动文件系统支持磁盘配额模式
Grpquota启动文件系统对群组磁盘配额模式的支持
Defaults同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置 samba nfs

是否进行备份字段,通常这个参数的值为0或者1,具体含义为:

参数说明
0代表不要做备份
1代表要每天进行操作
2代表不定日期的进行操作

是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整

参数说明
0不要检验
1最早检验(一般根目录会选择)
21级别检验完成之后进行检验
#UUID号的查看方式
[root@docker-ce ~]# blkid
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="93f87511-46b1-4b2a-a622-28c1195ec5de" TYPE="xfs"
/dev/sda2: UUID="7b5YW6-1ENK-z0V5-xADM-Rjcd-kpIL-hY4POD" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="09ae9901-1392-42d9-a4c3-c5ff74a39ae8" TYPE="xfs"
/dev/mapper/centos-swap: UUID="881207ec-8bcc-4c1a-8dd2-d125cf7002c9" TYPE="swap"
/dev/mapper/centos-home: UUID="47429df8-5401-4eea-b195-071cf5428f1e" TYPE="xfs"
/dev/sdb1: UUID="e3bcbf6a-6171-46b4-8d3b-d1e5f7b0756f" TYPE="xfs"

[root@docker-ce ~]# blkid /dev/sdb1
/dev/sdb1: UUID="e3bcbf6a-6171-46b4-8d3b-d1e5f7b0756f" TYPE="xfs"

#这里只显示格式化文件系统后的设备

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值