• 磁盘分区重点知识


    磁盘分区的重点:

    1)给磁盘分区的实质就是针对上述0磁头0磁道1扇区的前446字节后面接下来的64bytes的分区表进行设置,即主要是划分起始以及结束磁头号、扇区号及柱面号

    2)给磁盘分区的工具有fdisk(适合给小于2T的磁盘分区),parted(擅长给大于2T的磁盘分区,可以对小于2T的磁盘分区),首选fdisk,只有大于2T时才去选parted

    补:(一台服务器6块600G的磁盘,raid5后,总大小3T,此时无法装系统的,解决办法是做raid5后,不要重启装系统,而是再raid界面,继续分1个小的虚拟磁盘vd  200G,用这个200G的虚拟磁盘装系统,装完系统后再把剩余的2.8T分区通过parted)

    3)一块磁盘的分区表仅有64个bytes大小,每个分区表要占用16个字节,因此一块磁盘仅支持四个分区表信息,即主分区+扩展分区的总量不超过4个

    4)磁盘分区是按照柱面(cylinder)来划分的(从磁盘读写原理角度可以理解)

    5)扩展分区不能直接使用的,还需要在扩展分区的基础上创建逻辑分区才行

    6)扩展分区有自己的分区表,因此,扩展分区下面的逻辑分区可以有多个

    磁盘在使用前一般需要进行分区,当然如果不分区直接格式化使用也是没问题的,但这不是常见情况。磁盘分区有主分区、扩展分区和逻辑分区之分。一块磁盘最多可以有4个分区表信息(磁盘本身限制),在这个扩展分区内可以划分多个逻辑分区(IDE磁盘逻辑分区大概编号可以是5-63;SATA编号5-15)

    磁盘分区实战fdisk命令

    dd     convert  and  copy  a  file

    1、fdisk  磁盘分区工具(<2T),-l 列表

    2、linux下最常用的分区工具,一般是装完系统后进行分区。装系统之前的分区,多数都是系统ISO里面的工具分,或者raid里分小磁盘

    3、fdisk只能root权限用户使用

    4、fdisk适合于对装系统后的剩余空间进行分区,例如:安装系统时没有全部分区,或者安装系统后添加硬盘

    问题:不能对大于2T的文件系统分区

    fdisk分区的实质

    用fdisk分区的实质,就是修改0磁头0磁道1扇区的前446字节之后的64字节的分区表信息

    可以使用fdisk分区的磁盘大小必须小于2T,如果大于2T呢,分区就用parted(gpt)

    5、fdisk  [ -l ]  [ 设备名称 ]

    参数 -l:输出后面设备的所有分区的内容,若后面不接设备名称则会列出系统能够找到的所有分区的均列出

    传统的MBR(Master  Boot  Record)分区方式,有一个局限:

    无法支持超过2TB的硬盘的分区(或单个分区超过2TB)

    如果大于2T就用GPT分区的概念

    GPT的分区表很好解决了传统MBR无法逾越2TB的限制

    但是在linux系统中,传统的fdisk命令无法支持gpt分区方式

    parted分区

    parted的操作都是实时的,也就是说你执行了一个分区的命令,他就实实在在地分区了,而不是像fdisk那样,需要执行w命令写入所做的修改,所以进行parted的测试千万注意不能在生产环境中

    简述:parted是一个磁盘分区管理工具,它比fdisk更加灵活,功能也更丰富,同时还支持GUID分区表

    实验100M盘

    非交互式

    parted  /dev/sdb  mklabel  gpt  Yes

    parted  /dev/sdb  mkpart  primary  0  10  Ignore

    parted  /dev/sdb  mkpart  primary  linux-swap  11  21  Ignore

    parted  /dev/sdb  mkpart  logical  ext4  22  32  Ignore

    parted  /dev/sdb  p  (快速分区)

    了解

    fdisk非交互式分区:

    方法1:

    parted  /dev/sdb  mklabel  bsd  yes          #将硬盘分区表由gpt格式转换为bsd格式(即MBR)

    vi  fdisk.txt                                                #编辑分区文件

    fdisk  /dev/sdb  <fdisk.txt                         #执行分区

    ll  /dev/sdb*                                             #检查分区是否成功

    mkfs.ext4  /dev/sdb1                               #格式化分区

    mount  /dev/sdb1  /mnt                           #挂载分区

    df  -h  |grep  /dev/sdb1

    fdisk.txt文件内容:

    n     #新建一个分区

    p     #primary分区

    1     #分区编号

           #起始扇区(可以不写)

    +100M     #结束扇区(可以直接写大小)

    p     #打印分区表

    w     #保存修改并退出

    方法2:echo  -e  "n p +10M n p 2 +10M w"  |  fdisk  /dev/sdb

    swap分区知识

    1、使用物理分区构建swap

    fdisk  /dev/sdb              #分成一个区/dev/sdb1

    mkswap  /dev/sdb1

    free

    swapon  /dev/sdb1

    free

    2、使用文件构建swap

    dd  if=/dev/zero  of=/tmp/swap  bs=1M  count=128

    ls  -l  -h  /tmp/swap

    mkswap  /tmp/swap

    free

    swapon  -s

    swapoff  /tmp/swap

    swapoff  /dev/sdb1

     企业案例场景:

    swap在工作中,特别是java环境,程序写的有问题,会发生内存泄漏,可能会被占用。

    让开发改程序,临时运维加大swap。swapoff,swapon

           

  • 相关阅读:
    volatile用法
    static用法
    sizeof用法
    C语言void关键字的深刻含义
    extern用法
    const用法
    attribute用法
    Task的运行过程分析
    Android BroadcastReceiver实例Demo(有序广播的发送)
    旅行-许巍
  • 原文地址:https://www.cnblogs.com/axzq/p/9687558.html
Copyright © 2020-2023  润新知