作者简介:一位在简历上没有标注精通的运维工程师。希望大家多多关注作者,以下思维导图展示了预计更新的内容和当前进度(不定期更新)。
Linux磁盘相关的命令虽然不多,但在实际运维中却非常重要,因为Linux系统和业务都依赖于硬盘。如果磁盘使用和配置不当,可能会导致系统无法启动或业务系统无法提供预期的服务。
本文将从以下几个方面介绍Linux磁盘管理:
在开始之前,我们如何判断分区是MBR还是GPT呢?
# 安装时选择中文,可以使用中文过滤,dos即为MBR,gpt即为GPT。 [root@localhost ~]# fdisk -l | grep "磁盘标签" 磁盘标签类型:dos 磁盘标签类型:gpt
本章节将介绍如何对使用MBR和GPT创建的分区进行格式化和挂载。
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 19.5G 0 part / sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 20G 0 part sdc 8:32 0 3T 0 disk └─sdc1 8:33 0 3T 0 part sr0 11:0 1 942M 0 rom
在Windows中,我们格式化时有两种文件系统:NTFS和FAT32。而在Linux中,目前最常用的文件系统是ext4和xfs。我们将使用不同的方式格式化两块磁盘。
小知识:在ext4之前还有ext3和ext2,当然在其他类型的Linux中还有更多的文件系统。
[root@localhost ~]# mkfs.ext4 /dev/sdc1 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 196608000 inodes, 786431488 blocks 39321574 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=293391564824000 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# mkfs.xfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5242624, 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
前面提到,磁盘可以挂载到任何目录,但系统自带的目录通常在安装系统时就已配置完毕,一般不建议修改。我们将创建两个新目录进行挂载。挂载和卸载使用mount和umount命令。
[root@localhost ~]# mkdir /data /data1 [root@localhost ~]# mount /dev/sdb1 /data [root@localhost ~]# mount /dev/sdc1 /data1 [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 19.5G 0 part / sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 20G 0 part /data sdc 8:32 0 3T 0 disk └─sdc1 8:33 0 3T 0 part /data1 sr0 11:0 1 942M 0 rom ### [root@localhost ~]# umount /data1 ### 卸载时最常见的问题是磁盘正在使用中,无法卸载。这里可能会涉及到`lsof`和`fuser`命令,有兴趣可以进一步了解。
如果挂载后直接使用没有问题,但如果系统主动或被动重启,磁盘会恢复到未挂载状态。如何实现开机自动挂载呢?在Linux中,有一个文件可以配置磁盘的自动挂载。
在挂载时,我们使用的是设备地址,而在配置文件中使用的是UUID。它们有什么区别呢?每个磁盘的UUID是固定的,因此使用UUID更可靠。如果使用设备名称,可能会因为磁盘故障或重启导致设备名称变化,从而引发问题。
确认配置方法后,参考上面的格式进行配置。配置完成后,最好重启系统,以确保配置正确,避免正式使用后因重启引发的问题。
良好的运维习惯是需要培养的。
[root@localhost ~]# cat /etc/fstab ## /etc/fstab # Created by anaconda on Fri Jun 7 19:56:34 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 # UUID=fb21e404-5ed7-400f-b936-ce2d8b631bfe / xfs defaults 0 0 UUID=15251c96-cf20-46c3-ac06-c5b86c4afe70 /boot xfs defaults 0 0
[root@localhost ~]# blkid /dev/sda1: UUID="15251c96-cf20-46c3-ac06-c5b86c4afe70" TYPE="xfs" /dev/sda2: UUID="fb21e404-5ed7-400f-b936-ce2d8b631bfe" TYPE="xfs" /dev/sdb1: UUID="9fcb9c55-b38c-472e-b8b7-07db7b243e4f" TYPE="xfs" /dev/sdc1: UUID="53e67bf0-fe14-4cd0-bcd9-8b9720e2360b" TYPE="ext4" PARTLABEL="primary" PARTUUID="cea97c50-59e7-4f79-9454-5b86fd67b7a0" /dev/sr0: UUID="2019-09-11-19-02-53-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTY
# 可以使用,但不推荐的方式 /dev/sdb1 /data xfs defaults 0 0 # 推荐的挂载方式 UUID=53e67bf0-fe14-4cd0-bcd9-8b9720e2360b /data1 ext4 defaults 0 0
以上就是Linux磁盘-格式化&挂载的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号