磁盘层次结构详细说明

  1. 系统启动引导记录–

    MBR引导记录用于引导磁盘空间小于2T

    GPT引导记录用于引导磁盘空间大于2T

  2. 分区方式

    情况一:

    可以划分4个主分区/dev/sda/dev/sdal…sda4 mount/dev/sdal/mnt

    情况二:

    可以划分3个主分区/dev/sda /dev/sda1…sda3

    可以划分1个扩展分区扩展分区无法直接使用

    需要在扩展分区基础上划分逻辑分区(逻辑分区从sda5开始):/dev/sda5 /dev/sda6……

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZlSA40bg-1657505880701)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/75ae4fd6-5d73-4473-84bc-b0d3a8d2a135/Untitled.png)]

情况一:磁盘分区实践–磁盘小于2T

  1. 准备磁盘环境准备了一块新的硬盘

  2. 第二个里程:在系统中检查是否识别到了新的硬盘
    检查是否有新的磁盘存储文件

    [root@localhost ~]#ll /dev/sdb 
    brw-rw----.1 root disk 8,16 Apr 28 08:54/dev/sdb
    
  3. 对磁盘进行分区处理(fdisk – 进行分区处理、查看分区信息)

    fdisk -l 查看分区信息
    进入分区 fdisk /dev/sdb

    [root@localhost ~]#fdisk /dev/sdb 
    Welcome to fdisk(util-linux 2.23.2).
    changes will remain in memory only,until you decide to write them.
    Be careful before using the write command.
    Device does not contain a recoqnized partition table Building a new DoS disklabel with disk identifier 0x6c918c6d.
    Command(m for help):
    

    按住Ctrl键+删除键可以删除输入错误的字符

    • fdisk 命令帮助说明

      **d delete a partition 删除分区**

      g create a new empty GpT partition table 创建一个新的空的GPT分区表(可以对大于2T磁盘进行分区)

      l list known partition types 列出可以分区的类型???

      m print this menu 输出帮助菜单

      **n add a new partition 新建增加一个分区**

      **p print the partition table 输出分区的结果信息**

      g quit without saving changes 不保存退出

      t change a partition’s system id 改变分区的系统id==改变分区类型(LVM、增加swap分区大小)

      u change display/entry units 改变分区的方式 是否按照扇区进行划分

      **w write table to disk and exit 将分区的信息写入分区表并退出=保存分区信息并退出**

  • 分区操作过程

    Command(m for help):n 
    partition type:     #分区类型
    	p primary(0 primary,0 extended,4 free)   #主分区
    	e extended Select(default p):p    # 扩展分区 
    Partition number(1-4,default 1):1   #输入分区的编号
    First sector(2048-20971519,default 2048):      #从哪开始分区,默认从2048字节开始
    Using default value 2048
    Last sector,+sectors or +size{K,M,G}(2048-20971519,default 20971519):+1G   #分区从哪结束 
    Partition l of type Linux and of size 1 GiB is set    
    
  • 分区操作检查

    修改分区id可以改变分区类型

    Command(m for help):P 
    Disk/dev/sdb:10.7 GB,10737418240 bytes,20971520 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 
    Disk label type:dos 
    Disk identifier:0x3069f1dd Device Boot start End Blocks Id System
    Device Boot  start      End      Blocks Id   System
    /dev/sdb1    2048     2099199   1048576  83  Linux
    /dev/sdb2    2099200  4196351   1048576  83  Linux
    /dev/sdb3    4196352  6293503   1048576  83  Linux
    /dev/sdb4    6293504  20971519  733900   85  Extended  #有了扩展分区才能逻辑分区
    /dev/sdb5    6295552  8392703   1048576  83  Linux
    
  1. w 保存退出,让系统可以加载识别分区信息

    让系统可以加载识别分区文件,使用命令 partprobe /dev/sdb 不然可能会出现加载分区报错

情况二:磁盘分区实践–磁盘大于2T

  1. 准备硬盘

  2. 使用 parted 命令进行分区

    mklabel,mktable LABEL-TYPE           create a new disklabel(partition table)
                                          创建一个分区表(默认为mbr)
    print[deviceslfreellist,alllNUMBER]  display the partition table,available devices,free space,all found partitions,or a particular partition
    																			显示分区信息
    mkpart PART-TYPE[ES-TYPE]START END    make a partition
    																			创建一个分区
    quit                                  exit program
    																			退出分区状态
    rm NUMBER                             delete partition NUMBER
    																			删除分区
    

    修改磁盘分区类型: mklabel gpt
    分区方法: mkpart primary 0 2100G

  3. 加载磁盘分区
    partprobe /dev/sdc

格式化操作(创建文件系统)

mkfs.xfs /dev/sdb1 # mkfs.文件系统 路径
mkfs-t xfs /dev/sdb2 #mkfs -t 文件系统 路径 ;-t 是指定文件系统

创建文件系统:磁盘分区存储数据的方式

ext3/4 常见于centos6

xfs 常见于centos7 格式效率较高、数据存储效率提升(数据库服务器)

格式化sdb硬盘2分区

[root@localhost /]#mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, 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 /dev/sdb1 /mount01 挂载sdb1磁盘到mount01目录(零时挂载,重启恢复)

  • mount 挂载的磁盘 文件挂载点

    mount -o ro 挂载的磁盘 文件挂载点 只读挂载

    mount -o rw 挂载的磁盘 文件挂载点 读取、查看挂载

umount /mount01 卸载mount01目录的磁盘
检查确认:

[root@localhost/]#df-h
/dev/sdb1 1014M 33M 982M 4% /mount01.
/dev/sdb2 1014M 33M 982M 4% /mounto2

开机自动挂载:

  • 方法一:将挂载命令放入 /etc/rc.local 文件中

    [root@localhost /]# vi /etc/rc.local
    [root@localhost /]# tail -2 /etc/rc.local   #ch
    mount /dev/sdb1 /mount01
    mount /dev/sdb2 /mount01
    

    注意:/etc/rc.local 文件指向的文件(绝对路径)是 /etc/rc.d/rc.local ,若这个文件没有可执行的权限时,**重启无法自动挂载;**需要通过 chmod +x /etc/rc.d/rc.local 命令添加权限

  • 方法二: 在 /etc/fstab 文件中进行设置

    vi /etc/fatab

    UUID=e2fc8646-2b36-47cC-a35a-8c13208f4d0b  /        xfs             defaults        0              0
    UUID=34fc45ba-c38c-42bC-a120-90f9d5dd2382  /boot    xfs             defaults        0              0
    UUID=62100743-6f8a-4f83-a37d-e2088c4830e2  swap     swap            defaults        0              0
    /dev/sdb1                                 /mount01  xfs             defaults        0              0
    挂载磁盘文件(存储设备)                  挂载点  指定文件系统类型   挂载的参数  是否备份磁盘    是否检查磁盘
    

    挂载磁盘文件可以是磁盘路径也可以是磁盘ID
    blkid 可以查看磁盘id

如何调整swap分区大小

  1. 将磁盘分出一部分空间给swap分区使用

    dd if=/dev/zero of=/tmp/1G bs=100M count=10

  2. 将指定磁盘空间作为swap空间使用

    [root@localhost tmp]#mkswap /tmp/1G 
    Setting up swapspace version 1,size=1023996 KiB 
    no label,UUID=6dd70684-dec2-48cf-8fd9-f311548bbb4f
    
  3. 加载使用swap空间

    [root@localhost tmp]#swapon/tmp/1G 
    swapon: /tmp/1G: insecure permissions 0644,0600 suggested.
    [root@localhost tmp]#free-h 
          total   used   free  shared  buff/cache  available 
    Mem:  1.9G   225M   575M   9.6M    1.2G         1.5G
    Swap:  2.0G    0B    2.0G
    [root@localhost tmp]#swapoff /tmp/1G
    [root@localhost tmp]#free-h 
          total    used   free  shared  buff/cache  available 
    Mem:  1.9G     224M   576M   9.6M    1.2G         1.5G
    Swap: 1.0G      0B    1.0G
    [root@localhost tmp]#rm /tmp/1G -f
    

个人主页:junhuame
链接:https://blog.junh.wang/article/610ba30c-1599-4442-aadc-d69a947c49ee

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐