Linux磁盘挂载

【1】、Linux常用的分区格式

  • 在新增磁盘后要对其进行分区,分区后才可以去存储数据

  • MBR分区格式:比较古老的分区格式,只能划分4个主分区,如果四个分区划分完成后,硬盘空间还有剩余,那剩余的分区也不能够使用。后来新增加扩展分区(容器)功能,可在扩展分区内划分出更多的逻辑分区,最大支持2.2.T磁盘容量

    • 扩展分区可以没有,至多有一个,扩展分区不能存储数据,只可以作为逻辑分区的基础
    • IDE接口硬盘逻辑分区最多可以划分59个
    • SCSI接口硬盘逻辑分区最多可以划分11个
    • 最大支持2.2T以内的磁盘容量
    • 使用fdisk 设备路径命令去进行MBR磁盘分区
  • GPT分区格式:可以划分128个主分区,最大支持18EB磁盘容量

【2】、磁盘分区和挂载

1、分区类型

  • Linux来说无论有几个分区,分给哪一目录使用,他归根结底只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。

  • 当我们拿到一张大白纸,首先为了使用方便要裁剪,然后为了书写工整要画格。

  • “白纸”表示原始的硬盘,“裁剪”意味着分区,“画格”意味着格式化,最后写入数据,即新安装一块硬盘设备后,为了更充分、安全的利用硬盘空间首先要进行分区,然后格式化,最后挂载使用。

  • 主分区、扩展分区和逻辑分区的区别

    • 主分区

      • 主分区主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上;
    • 扩展分区

      • 扩展分区是不能使用的,它只是做为逻辑分区的容器存在的,先创建一个扩展分区,在扩展分区之上创建逻辑分区;

      • 除去主分区所占用的容量以外,剩下的容量就被认定为扩展分区(也可以这么讲:一块硬盘除去主分区外的容量后,如果对剩下的容量进行了再分区,那么,这个再分区就是扩展分区)

      • 扩展分区是不能进行格式化的,扩展分区本身也是不能使用的,他的作用仅仅是逻辑分区的容器

      • /dev/nvme0n2p3      1640448 10485759 8845312  4.2G  5 Extended
        major minor  #blocks  name
        
         259        0   62914560 nvme0n1
         259        1    1048576 nvme0n1p1
         259        2   61864960 nvme0n1p2
         259        3    5242880 nvme0n2
         259        5     307200 nvme0n2p1
         259        4     512000 nvme0n2p2
         259        6          0 nvme0n2p3
        # 扩展分区的容量从我们的角度看是0
        
    • 逻辑分区

      • 扩展分区可以分成若干个逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分——扩展分区如果不再进行分区了,那么扩展分区就是逻辑分区了

      • 逻辑分区在使用上和主分区完全相同

      • /dev/nvme0n2p3      1640448 10485759 8845312  4.2G  5 Extended
        /dev/nvme0n2p5      1642496  3076095 1433600  700M  b W95 FAT32
        

    查看分区类型

    parted命令

    {24-06-02 23:07}bogon:~ root# parted /dev/sdc print
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdc: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags: 
    
    Number  Start   End     Size    Type      File system  Flags
     1      1049kB  2149MB  2147MB  primary
     2      2149MB  4296MB  2147MB  primary
     3      4296MB  6443MB  2147MB  primary
     4      6443MB  21.5GB  15.0GB  extended
     5      6445MB  8592MB  2147MB  logical
     6      8593MB  10.7GB  2147MB  logical
     7      10.7GB  12.9GB  2147MB  logical
     8      12.9GB  15.0GB  2147MB  logical
     9      15.0GB  21.5GB  6436MB  logical
    

2、磁盘分区(MBR)

当我们在分区的时候,默认使用MBR进行分区

  • 磁盘分区

    • 磁盘首先要进行分区才可以进行挂载

    • 给虚拟机添加一块硬盘

    • [root@localhost ~]# fdisk -l | grep nv
      Disk /dev/nvme0n1: 60 GiB, 64424509440 bytes, 125829120 sectors
      /dev/nvme0n1p1 *       2048   2099199   2097152   1G 83 Linux
      /dev/nvme0n1p2      2099200 125829119 123729920  59G 8e Linux LVM
      Disk /dev/nvme0n2: 5 GiB, 5368709120 bytes, 10485760 sectors # 新增的硬盘
      
    • 对新增的磁盘进行分区

    • [root@localhost ~]# fdisk /dev/nvme0n2
      # 进入磁盘分区界面
      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.
      
      Command (m for help): n
      Partition type
         p   primary (0 primary, 0 extended, 4 free)
         e   extended (container for logical partitions)
      Select (default p): 
      
      Using default response p.
      Partition number (1-4, default 1): 
      First sector (2048-10485759, default 2048): # 由于磁盘的引导文件会占用空间,因此第一个扇区的起始位置是从2048开始
      Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759): +200M
      
      Created a new partition 1 of type 'Linux' and of size 200 MiB.
      
      The signature will be removed by a write command.
      
      Command (m for help): p
      Disk /dev/nvme0n2: 5 GiB, 5368709120 bytes, 10485760 sectors
      Units: sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disklabel type: dos
      Disk identifier: 0x7a7b9c31
      
      Device         Boot Start    End Sectors  Size Id Type
      /dev/nvme0n2p1       2048 411647  409600  200M 83 Linux
      
      Filesystem/RAID signature on partition 1 will be wiped.
      
      Command (m for help): n
      Partition type
         p   primary (1 primary, 0 extended, 3 free)
         e   extended (container for logical partitions)
      Select (default p): 
      
      Using default response p.
      Partition number (2-4, default 2): 
      First sector (411648-10485759, default 411648): 
      Last sector, +sectors or +size{K,M,G,T,P} (411648-10485759, default 10485759): +500M
      
      Created a new partition 2 of type 'Linux' and of size 500 MiB.
      
      The signature will be removed by a write command.
      
      Command (m for help): p
      Disk /dev/nvme0n2: 5 GiB, 5368709120 bytes, 10485760 sectors
      Units: sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disklabel type: dos
      Disk identifier: 0x7a7b9c31
      
      Device         Boot  Start     End Sectors  Size Id Type
      /dev/nvme0n2p1        2048  411647  409600  200M 83 Linux
      /dev/nvme0n2p2      411648 1435647 1024000  500M 83 Linux
      
      Filesystem/RAID signature on partition 1 will be wiped.
      Filesystem/RAID signature on partition 2 will be wiped.
      #保存退出
      
    • 重新加载硬盘,因为内核在读取硬盘的状态时,是读取开机时的状态,我们后续对硬盘进行了分区操作后,需要强制重启硬盘,让内核重新读取硬盘的信息

    • [root@localhost ~]# partprobe /dev/nvme0n2
      [root@localhost ~]# cat /proc/partitions 
      major minor  #blocks  name
      
       259        0   62914560 nvme0n1
       259        1    1048576 nvme0n1p1
       259        2   61864960 nvme0n1p2
       259        3    5242880 nvme0n2
       259        6     204800 nvme0n2p1
       259        7     512000 nvme0n2p2
      

3、磁盘分区(GPT)

GPT分区使用和MBR相同

{24-06-02 23:21}bogon:~ root# fdisk /dev/sdd
Command (m for help): g
Created a new GPT disklabel (GUID: EEA1265E-7679-0446-BFB7-A3DD6605FB7D).

Command (m for help): n
Partition number (1-128, default 1): 

4、格式化磁盘

  • 将磁盘分区完成后,进行格式化(赋予空间文件系统的过程)

    • [root@localhost ~]# mkfs.ext4 /dev/nvme0n2p1 
      mke2fs 1.45.6 (20-Mar-2020)
      Creating filesystem with 204800 1k blocks and 51200 inodes
      Filesystem UUID: c93d6606-57de-4d63-949a-db4034c47d3b
      Superblock backups stored on blocks: 
      	8193, 24577, 40961, 57345, 73729
      
      Allocating group tables: done                            
      Writing inode tables: done                            
      Creating journal (4096 blocks): done
      Writing superblocks and filesystem accounting information: done 
      
    • [root@localhost ~]# mkfs.xfs /dev/nvme0n2p2
      meta-data=/dev/nvme0n2p2         isize=512    agcount=4, agsize=32000 blks
               =                       sectsz=512   attr=2, projid32bit=1
               =                       crc=1        finobt=1, sparse=1, rmapbt=0
               =                       reflink=1    bigtime=0 inobtcount=0
      data     =                       bsize=4096   blocks=128000, imaxpct=25
               =                       sunit=0      swidth=0 blks
      naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
      log      =internal log           bsize=4096   blocks=1368, version=2
               =                       sectsz=512   sunit=0 blks, lazy-count=1
      realtime =none                   extsz=4096   blocks=0, rtextents=0
      
    • 检查是否格式化成功

      {24-06-02 18:30}bogon:~ root# blkid /dev/sdb2   
      /dev/sdb2: UUID="2c55e9d9-9f5c-4536-97af-c821625328ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="2af2b43a-02"
      

5、磁盘挂载

  • 创建挂载点

  • [root@localhost ~]# mkdir /mnt/etx /mnt/xfs
    
  • 通过mount命令进行挂载

  • [root@localhost ~]# mount -a
    
  • 进行永久挂载,在/etc/fstab中写入

    设备路径 挂载点目录 文件系统类型 参数(defaults)

    /dev/nvme0n2p1          /mnt/ext                ext4    defaults        0 0
    /dev/nvme0n2p2          /mnt/xfs                xfs     defaults        0 0
    
  • 查看挂载情况

  • [root@localhost ~]# df -TH | grep -v tmp
    Filesystem            Type      Size  Used Avail Use% Mounted on
    /dev/mapper/rhel-root xfs        40G   21G   20G  52% /
    /dev/sr0              iso9660    14G   14G     0 100% /mnt/cdrom
    /dev/nvme0n2p2        xfs       519M   31M  489M   6% /mnt/xfs
    /dev/mapper/rhel-home xfs        20G  170M   20G   1% /home
    /dev/nvme0n1p1        xfs       1.1G  208M  856M  20% /boot
    /dev/nvme0n2p1        ext4      198M   15k  183M   1% /mnt/ext
    
  • 至此,挂载成功

【3】、文件系统

文件系统:数据在空间中的存放规则

Windows默认文件系统:NTFS

  • 分类

    • vfat文件系统
      • vfat是Linux对DOS,Windows系统下的FAT(包括fat16和Fat32)文件系统的一个统称
    • NFS文件系统
      • NFS即网络文件系统,用于在UNIX系统间通过网络进行文件共享,用户可将网络中NFS服务器提供的共享目录挂载到本地的文件目录中,从而实现操作和访问NFS文件系统中的内容
    • swap
      • 在Linux中,使用整个交换分区来提供虚拟内存,其分区大小一般应是系统物理内存的2倍,在安装Linux操作系统时,就应创分交换分区,它是Linux正常运行所必需的,其类型必须是swap,交换分区由操作系统自行管理。
    • ext4文件系统
      • EXT4是第四代扩展文件系统(英语:Fourth extended filesystem,缩写为 ext4)是Linux系统下的日志文件系统,是ext3文件系统的后继版本。
    • xfs文件系统
      • XFS 特别擅长处理大文件,同时提供平滑的数据传输。
  • 对于不同的文件系统来说,虽然在使用中没有过大的差距,但是依旧存在着一些小的不同

    • 对于ext4文件系统来说,我们在挂载完成收,就会自动生成一个目录

    • [root@localhost ~]# ll /mnt/ext/
      total 12
      drwx------. 2 root root 12288 Mar 29 02:28 lost+found
      
    • 但是对于xfs文件系统来说,就不会生成

    • [root@localhost ~]# ll /mnt/xfs
      total 0
      

当我格式化好一个分区后,我想重新格式化文件系统,对于xfs和ext4文件系统的提示是不同的

# 现在是xfs文件系统,我想重新格式化为ext4格式
{24-06-02 18:39}bogon:~ root# mkfs.ext4 /dev/sdb2
mke2fs 1.45.6 (20-Mar-2020)
/dev/sdb2 contains a xfs file system
Proceed anyway? (y,N) y

# 现在是ext4文件系统,我想格式化为xfs文件系统,使用-f强制重新格式化
{24-06-02 18:40}bogon:~ root# mkfs.xfs /dev/sdb2
mkfs.xfs: /dev/sdb2 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
{24-06-02 18:40}bogon:~ root# mkfs.xfs -f /dev/sdb2

【4】、磁盘数据迁移

如果目录没有被挂载的文件系统,那么默认占用的是根分区的容量

例如/opt目录

若/opt目录下的数据特别大,我们该如何实现数据的迁移,来缓解根分区的负担

# 我们首先将一块新的磁盘挂载
mount /dev/sdb1 /mypart1
# 然后将/opt的数据移动到/mypart1下,此时/opt中就没有数据了,以此减轻了根分区的负担,但是有一些服务的相关配置文件会在/opt目录下。现在我们将数据移走了,服务会找不到配置文件,导致服务无法启动
mv /opt/* /mypart1 
# 现在/opt中的数据已经在sdb磁盘的sdb1分区中,我们将sdb1取消挂载
umount /mypart1 
# 将sdb1挂载到/opt目录下
mount /dev/sdb1 /opt 
# 此时/opt目录下又重新恢复了数据
{24-06-02 22:32}bogon:~ root# ls /opt
10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt  lost+found
# 至此完成了数据的迁移
  • 27
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值