Linux系统管理-磁盘管理1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统管理-磁盘管理1相关的知识,希望对你有一定的参考价值。

 

1、磁盘结构

  扇区sector:  每个扇区存储512byte

  磁道track:  每个磁道划分63个扇区

  磁头head:  逻辑磁头(盘面)数设为255个

  柱面cylinder:  一个柱面的大小=255X63X512byte=8M(Linux分区单位)

技术分享

  硬盘或分区的容量=柱面大小X柱面数

2、硬盘启动过程

  识别硬盘--->规划分区--->格式化--->挂载--->读写数据

3、常见分区模式

  1>MBR(Master Boot Record)分区

    分区方式:第一扇区(521bit)+4个主分区(3个主分区+1个扩展分区)+若干逻辑分区

    缺点:最多4个主分区、最大支持2.2TB

  2>GPT (GUID Partition Table)

    优势:可以划分多个分区,最大支持18EB(1EB=1024PB=1024X1024TB=1024X1024X1024GB)

   注:MBR分区与GPT分区不能共存

4、磁盘分区工具

  fdisk------>支持MBR分区

  parted------>支持GPT分区、MBR分区

  1>fdisk工具

    fdisk -l  显示系统分区信息

  技术分享

  fdisk /dev/sdb  对磁盘sdb进行分区,操作后进入以下界面

  技术分享

  输入m或者help显示常用命令及帮助信息

  技术分享

  创建主分区2G:

    n(创建新分区)--->p(创建主分区)--->1(输入分区号)--->1(输入分区的起始柱面,一般为上一分区的结束柱面)--->+2G(输入分区大小)--->w(保存并退出)--->partprobe /dev/sdb(获取新的分区表)--->ls /dev/sdb*(查看以创建的分区)

    创建磁盘分区时的ID号即为磁盘的分区标识,每个分区的类型都通过不同的ID号来区分的,通过l查看已有的ID号,通过t可以修改分区的ID

  创建扩展分区10G:MBR分区只能创建1个扩展分区

    n(创建新分区)--->e(创建主分区)--->2(输入分区号)--->263(输入分区的起始柱面,一般为上一分区的结束柱 面)--->+10G(输入分区大小)--->w(保存并退出)--->partprobe /dev/sdb(获取新的分区表)--->ls /dev/sdb*(查看以创建的分区)

  创建逻辑分区2G:逻辑分区创建在扩展分区内,总的分区大小不能超过扩展分区大小  

    n(创建新分区)--->l(创建主分区)--->263(输入分区的起始柱面,一般为上一分区的结束柱 面)--->+2G(输入分区大小)--->w(保存并退出)--->partprobe /dev/sdb(获取新的分区表)--->ls /dev/sdb*(查看以创建的分区)

 

  2>parted分区工具

  4.2.1>查看分区表:parted /dev/sda print

  Model: VMware, VMware Virtual S (scsi)
  Disk /dev/sda: 21.5GB
  Sector size (logical/physical): 512B/512B
  Partition Table: msdos

  Number  Start   End     Size    Type     File system     Flags
   1      1049kB  316MB   315MB   primary  ext4            boot
   2      316MB   19.4GB  19.0GB  primary  ext4
   3      19.4GB  21.5GB  2114MB  primary  linux-swap(v1)
  4.2.2>进入交互模式:parted /dev/sda
  GNU Parted 2.1
  Using /dev/sda
  Welcome to GNU Parted! Type ‘help‘ to view a list of commands.

  4.2.3>常用操作
  mktable  :创建分区表,即创建磁盘分区格式

  mkpart  :创建磁盘分区

  rm +分区号  :删除分区

  quit    :保存并退出

  4.2.4>创建磁盘分区过程

  mktable[msdos|gpt]--->mkpart[primary|extended|logical]--->[ext4|vfat]--->开始柱面--->终止柱面

  创建GPT分区

  parted /dev/sdb

  (parted) mktable gpt    [建立GPT分区表]

  mkpart primary ext4 0 4G  [建立第一个4G大小的主分区]

  mkpart primary ext4 4G 8G  [建立第二个4G大小的主分区]

  mkpart primary ext4 8G 100%[将剩余空间作为最后一个分区]

  分区表如下:

  Number  Start   End     Size    File system  Name     Flags
  1      17.4kB  4000MB  4000MB               primary
  2      4000MB  8000MB  3999MB               primary
  3      8000MB  21.5GB  13.5GB               primary

5、获取新的分区表

  创建完磁盘分区后可以通过一下方法获取新的分区表

  1>partx -a /dev/sdb
  2>partprobe /dev/sdb
  3>reboot

6、格式化磁盘

  将磁盘创建完分区后需要格式化磁盘,对磁盘赋予文件系统后磁盘才能够使用

  mkfs.文件系统  [磁盘分区]:mkfs.ext4 /dev/sdb1

7、swap分区

  Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是 Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物 理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到 Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

  若要将一个分区作为swap分区则需先将这个分区格式化为swap分区

    mkswap /dev/sdb1

  启用/dev/sdb1到swap分区

    swapon /dev/sdb1

  停用/dev/sdb1作为swap分区

    swapoff /dev/sdb1

  查看swap分区

    free -m

    swapon -s

  利用文件创建swap分区

  dd if=/dev/zero(源设备) of=/tmp/swap.db(目标设备) bs=1M(块大小) count=1024(块数量)  创建1G大小的文件

  mkswap /tmp/swap.db  格式化swap分区

  swapon /tmp/swap.db  加载swap分区

  swapon -s        查看swap分区

    Filename                Type        Size    Used    Priority
    /dev/sda3                               partition    2064380    6500    -1
    /dev/sdb1                               partition    3906228    0    -2
    /tmp/swap.db                            file        1048572    0    -3

  

  

  

  
  

 

    

    

 

































以上是关于Linux系统管理-磁盘管理1的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统的磁盘管理

2018-1-27Linux系统管理磁盘和文件系统管理工具

linux的磁盘管理与文件系统!

LINUX系统管理-磁盘管理

Linux磁盘管理的Linux管理命令

Linux磁盘与文件系统管理