系统相关
首页 > 系统相关> > Linux磁盘分区、格式化、挂载

Linux磁盘分区、格式化、挂载

作者:互联网

目录

一、前期准备

测试环境:VMware Workstation / centos8

1)增加一块磁盘

2)查看新增磁盘(lsblk),发现没找到新增的磁盘

3)解决查不到新增磁盘问题

重新扫描SCSI总线添加设备,

$ echo "- - -" > /sys/class/scsi_host/host0/scan
$ echo "- - -" > /sys/class/scsi_host/host1/scan
$ echo "- - -" > /sys/class/scsi_host/host2/scan

上面的host0/host1/host2主要还得看机器,可能数量会有不一样。

刷完就可以看到新增的那块磁盘了

二、分区

1)简介

2)fdisk 对磁盘进行分区

[root@centos8-nat-168-182-152 ~]# fdisk /dev/sdb //对sdb磁盘进行分区

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x72914843.

Command (m for help): m                        //输出帮助信息

Help:

  DOS (MBR)
   a   toggle a bootable flag                 //设置启动分区
   b   edit nested BSD disklabel              //编辑分区标签
   c   toggle the dos compatibility flag      //flag

  Generic
   d   delete a partition                    //删除一个分区
   F   list free unpartitioned space         //列出分区类型
   l   list known partition types            //输出帮助信息
   n   add a new partition                   //建立一个新的分区
   p   print the partition table             ///打印分区表
   t   change a partition type               //改变分区的ID
   v   verify the partition table            //检查验证分区表
   i   print information about a partition   

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table


Command (m for help): n                  
Partition type 
   p   primary (0 primary, 0 extended, 4 free)     //p是主分区
   e   extended (container for logical partitions) //e是扩展分区
Select (default p): p
Partition number (1-4, default 1): 1               //定义分区数量   --主分区最多只能有四个
First sector (2048-16777215, default 2048):        //表示起始扇区;默认从第2048块扇区开始是因为,由于EFI的兴起,要给EFI 代码留磁盘最开始的1M空间.
Last sector, +sectors or +size{K,M,G,T,P} (2048-16777215, default 16777215): +1024M //此处可直接输入柱面号码,但需要你自己计算分区大小,也可直接用+..M(如上),让系统自己分配柱面号码。

Created a new partition 1 of type 'Linux' and of size 1 GiB.  //这里就为此分区分配了1G的空间

Command (m for help): w  //保存刚才的配置信息。
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

查看(fdisk -l或者lsblk)

注意

上面的分区只适用于磁盘小于2T,大于2T需要用parted来分区

三、磁盘格式化

格式化:指将分区格式化成不同的文件系统。

文件系统:指操作系统用于明确存储设备或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法。

注意

但是当你在格式化的时候,有可能找不到这个分区。这是因为Linux没有把分区信息读到内核来,我们需要输入partprobe这个命令,来使我们内核重读一下我们的分区信息。

格式化命令

mkfs -t ext4 /dev/sdb1或 mkfs.ext4 /dev/sdb1 两者命令皆可

Linux下的文件类型有ext2、ext3、ext4、xfs等等,我们可以使用命令:mkfs. 然后用按TAB键来查看都有哪些文件类型。

[root@centos8-nat-168-182-152 ~]# mkfs.ext4 /dev/sdb1 
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: 1463fdcf-7360-4eb2-a671-d07262266121
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

检查,格式化后就有UUID

[root@centos8-nat-168-182-152 ~]# lsblk -f
NAME        FSTYPE      LABEL                      UUID                                   MOUNTPOINT
sda                                                                                       
├─sda1      xfs                                    58a9a0c3-f34d-41f7-a3e8-40e4801d8615   /boot
└─sda2      LVM2_member                            tA0cp2-gAml-dmLs-i3Rh-GHqT-iNDT-fa3PBt 
  ├─cl-root xfs                                    9cbc11d5-0d6b-4c1a-8511-fba93dada487   /
  └─cl-swap swap                                   f0029228-fb9b-4131-ae57-f0ba1282a0c6   [SWAP]
sdb                                                                                       
└─sdb1      ext4                                   1463fdcf-7360-4eb2-a671-d07262266121   
sr0         iso9660     CentOS-8-4-2105-x86_64-dvd 2021-06-01-20-39-18-00                 

四、挂载

1)临时挂载

将指定的一个目录作为挂载点目录时,如果挂载点的目录有文件,那么文件会被隐藏。因此当我们需要挂载目录时,最好新建一个空文件夹来作为挂在点目录。(重启后失效

创建挂载目录

$ mkdir -p /opt/data1

挂载

$ mount /dev/sdb1 /opt/data1

取消挂载,下面两条命令均可

$ umount /dev/sdb1 # 磁盘名
$ umount /opt/data1 # 挂载目录名

2)永久挂载

使用永久挂载,就意味着它开机会自动挂载(编辑 /etc/fstab 文件)

命令:blkid:查看对应分区的UUID(编号)。UUID唯一标识每一个分区,防止错误的挂载。除此之外,还会显示分区的类型。(建议先复制一下sdb1的UUID,一会儿会用到)

[root@centos8-nat-168-182-152 ~]# blkid /dev/sdb1 
/dev/sdb1: UUID="1463fdcf-7360-4eb2-a671-d07262266121" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="72914843-01"

使用vi编辑 /etc/fstab在命令行直接输入vim /etc/fstab 就可以编辑,实现开机自动挂载。

$ echo 'UUID="1463fdcf-7360-4eb2-a671-d07262266121"  /opt/data1  ext4  defaults 0  0' >> /etc/fstab

/etc/fstab该文件中存在六列参数:

第一列:设备文件或UUID或label(三者的区别看下面)
第二列:设备的挂载点(空目录)
第三列:该分区文件系统的格式(可以使用特殊的参数auto,自动识别分区的分区格式)
第四列:文件系统的参数,设置格式的选项
第五列:dump备份的设置(0表示不进行dump备份,1代表每天进行dump备份,2代表不定日期的进行dump备份)
第六列:磁盘检查设置(其实是一个检查顺序,0代表不检查,1代表第一个检查,2后续.一般根目录是1,数字相同则同时检查)

设备文件、UUID、label作为标识的不同:

  1. 使用设备文件名会在当前生效,可能在系统重启之后会出现问题
  2. label在系统重启之后也会生效,但是要实时注意该设备的label
  3. UUID是分区的唯一标识。(推荐)

可以查看sdb1分区的UUID和label(详细信息) ,发现sdb1没有设置label,但是可以查看/dev/sr0的lable(/dev/sr0是光驱的设备名)

最后验证:

由于内核还没有读取这个命令,使用mount -a 这个命令来让内核读取这个文件(通过mount -a 读取/etc/fstab 重新挂载)

$ mount -a

标签:partition,格式化,UUID,分区,Linux,磁盘,挂载,磁盘分区,sdb1
来源: https://www.cnblogs.com/liugp/p/16417652.html