zoukankan      html  css  js  c++  java
  • 22. 磁盘分区

    1. 磁盘命名规则

    在这里插入图片描述


    一台服务器只能分4个分区?
    如果想超过四个分区怎么办?

    查磁盘分区相关信息

    [root@web01 ~]# blkid
    [root@web01 ~]# cat /etc/fstab ##开机自动挂载的文件

    在这里插入图片描述


    2.磁盘基本分区Fdisk

    2.1 添加一个20G的硬盘(虚拟机操作)

    在这里插入图片描述

    2.2 对该磁盘进行分区

    fdisk

    n 新建一个分区 
    p	主分区
    e	扩展分区
    	p 打印分区信息
    	d 删除分区
      w 保存分区信息
    	q 退出不保存分区信息
    


    fdisk /dev/sdb

    2.1 第一个分区   1Gb
    2.2 第二个分区   2Gb
    2.3 第三个分区   5Gb
    2.4 第四个分区   所有剩余空间
    

    2.3 .格式化

    mkfs.xfs /dev/sdb1
    mkfs.xfs /dev/sdb2
    mkfs.xfs /dev/sdb3
    mkfs.xfs /dev/sdb4
    

    2.4 挂载-使用

    mount /dev/sdb1  /data1/
    mount /dev/sdb2  /data2/
    mount /dev/sdb3  /data3/
    mount /dev/sdb4  /data4/
    

    前面我们已经提到过,如果需要使用磁盘的空间,需要准备一个空的目录作为挂载点,与该设备进行关联。
    mount主要是为文件系统指定一个访问入口。
    PS: 类似我的商场没有门,那么就无法进入购买商品,此时通过mount命令可以创建一个入口。给超市安装一个门。如图:


    1.通过mount进行挂载,但重启将会失效。我们称为临时生效。
    可以使用umount进行卸载。

    2.5 检查结果

    [root@container  ~]# df -h 
    文件系统                 容量  已用  可用 已用% 挂载点
    /dev/sdb1               1014M   33M  982M    4% /data1
    /dev/sdb2                2.0G   33M  2.0G    2% /data2
    /dev/sdb3                5.0G   33M  5.0G    1% /data3
    /dev/sdb4                 12G   33M   12G    1% /data4
    

    2.1 总结

    在这里插入图片描述

    !

    磁盘基本分区Fdisk
    1.添加一块小于2TB的磁盘进行使用,步骤如下:
    1.给虚拟机添加一块新的硬盘
    2.使用fdisk进行分区
    3.使用mkfs进行格式化
    4.使用mount进行挂载
    

    PS: 生产分区建议,如无特殊需求直接使用整个磁盘即可,无需分区。
    PS: 学习分区建议: 1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)
    lsblk <-命令
    sdb 8:16 0 20G 0 disk
    ├─sdb1 8:17 0 100M 0 part
    ├─sdb2 8:18 0 200M 0 part
    ├─sdb3 8:19 0 300M 0 part
    ├─sdb4 8:20 0 1K 0 part #扩展分区
    ├─sdb5 8:21 0 500M 0 part
    ├─sdb6 8:22 0 600M 0 part
    └─sdb7 8:23 0 700M 0 part
    mkfs.xfs /dev/sdb1 -f
    mkfs.xfs /dev/sdb2 -f
    mkfs.xfs /dev/sdb3 -f
    mkfs.xfs /dev/sdb5
    mkfs.xfs /dev/sdb6
    mkfs.xfs /dev/sdb7
    创建7个目录进行分别挂载!!!

    3.练习

    实际 拿到一个 磁盘怎么分?

    1.为该磁盘分配1个分区,所有的空间都给这一个分区?
    2.格式化
    3.挂载使用
    fdisk /dev/sdb					        #分一个分区
    mkfs.xfs /dev/sdb1  -f				  #格式化该分区
    mkdir /data_test				        #创建入口目录
    mount /dev/sdb1  /data_test/	  #挂载(将/data_test作为/dev/sdb1的入口目录)
    df -h					                  #使用df -h 查看挂载情况,或者使用lsblk
    

    资料



    4. 磁盘基本分区Gdisk

    4.1 磁盘的基本分区Gdisk

    前面我们已经了解到fdisk分区
    但fdisk不支持给高于2TB的磁盘进行分区。
    **如果有单块盘高于2TB,建议使用Gdisk进行分区。 **

    gdisk

    1、能够识别大于2TB的磁盘存储空间
    2、可以支持分区的数量  高达  128个 主分区      没有扩展,逻辑分区的概念。
    3、MBR 磁盘  和  GPT  不能互相转换、容易造成数据丢失。
    

    lsblk #查看磁盘详情
    gdisk /dev/sdc
    mkfs.xfs /dev/sd

    mkdir /data-cc1
    mount /dev/sdc1 /data-c/

    安装parted, 刷新内核立即生效,无需重启
    partprobe /dev/sdb

    df -h
    mount -o ro /dev/sdc1 /data-c/

    卸载(卸载挂载点目录名称、卸载挂载的设备名称)
    [root@container ~]# umount /dev/sdc1

    [root@container ~]# umount /data-c/

    强制卸载 (你进入了挂载点的目录,然后无法卸载。需要强制卸载)
    [root@container data-c]# umount -l /dev/sdc1
    1.2 配置一个文件 /etc/fstab
    (开机会加载该文件中的设备)

    5. 永久挂载配置详解

    5.1 /etc/fstab配置文件编写格式

    要挂载的设备 挂载点(入口)  文件系统类型  挂载参数   是否备份   是否检查
    /dev/sdb1    /db1      xfs   defaults         0       0

    第一列:可以使用UUID
    [root@container ~]# blkid
    /dev/sda1: UUID="723eb45d-9a1b-4e8f-b06d-cf9024302147" TYPE="xfs"
    /dev/sda2: UUID="yVHSU3-Cmkf-qsg9-6DNg-P87L-mCDN-VOHvcO" TYPE="LVM2_member"
    /dev/sdb1: UUID="3b0143a3-39af-4991-afab-01227fbe767c" TYPE="xfs"
    
    
    第五列:是否进行备份。通常这个参数的值为0或者1
    选项	含义
    0	代表不做备份
    1	代表要每天进行备份操作
    2	代表不定日期的进行备份操作
    
    
    第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整
    选项	含义
    0	不要检验磁盘是否有坏道
    1	检验
    2	校验 (当1级别检验完成之后进行2级别检验)
    

    在这里插入图片描述

    5.2 永久挂载一个设备

    **[root@container ~]# vim /etc/fstab**
    /dev/sdb1 /data1 xfs defaults 0 0

    如何知道写的对于不对 ---> mount -a (会去加载/etc/fstab中的 挂载信息 )

    [root@container ~]# df -h #文件系统 容量 已用 可用 已用% 挂载点

    /dev/sdb1 20G 33M 20G 1% /data1 《--读取/etc/fstab 加载该设备



    6. swap分区

    Swap分区在系统的物理内存不够时,将硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。
    PS: 当物理内存不够时会随机kill占用内存的进程,从而产生oom,临时使用swap可以解决。
    由于该进程非常的消耗内存,造成物理内存不够,系统会启用保护机制,干掉内存较高的程序

    [root@container ~]# swapoff -a 关闭所有swap分区 [root@container ~]# free -m
    查看内存空闲 total used free shared buff/cache
    available Mem: 972 227 433 7
    312 544 Swap: 0 0 0
    [root@container ~]# dd if=/dev/zero of=/dev/null bs=630M count=1000
    已杀死 /var/log/message 发现存在oom Mar 27 10:20:13 container kernel: Out of
    memory: Kill process 2123 (dd) score 629 or sacrifice child

    为了避免物理内存不够用(使用swap硬盘空间来临时充当内存) [root@container ~]# swapon -a
    [root@container ~]# free -m total used free shared
    buff/cache available Mem: 972 210 637
    7 123 599 Swap: 2047 0 2047
    [root@container ~]# dd if=/dev/zero of=/dev/null bs=1000M count=1000
    swap一但被使用,就会发现系统会越来越卡。 ( 分配内存,硬件空间模拟内存介质 所以就很卡 )

    6.1 如何将磁盘空间划分一部分给swap使用

    1.先找一块硬盘,划分1Gb空间 fdisk
    2.格式化为一个swap的设备 mkswap /dev/sdb1
    3.通过 swapon -a /dev/sdb1 将该设备加入swap
    4.使用free -m 检查swap的大小 free -m
    5.如果不想使用swap了 swapoff /dev/sdb1 移除
    ------如上操作都是临时的,如需永久生效,需要添加到/etc/fstab

  • 相关阅读:
    解决:TypeError: object() takes no parameters
    刷题(三)
    刷题(二)
    web自动化流程总结
    不能在Python Console中运行pytest
    关于pytest的一些问题
    UML设计,可以设计程序的用例图、类图、活动图等_SurfaceView
    android系统下消息推送机制
    Android中的动画,选择器,样式和主题的使用
    内存监测工具 DDMS --> Heap
  • 原文地址:https://www.cnblogs.com/hypj/p/13783961.html
Copyright © 2011-2022 走看看