有关Linux存储

Linux下的磁盘设备命名规则

我们都知道,在linux系统之中有着**一切皆文件**的规则,在linux下,我们的硬件设备也以文件的形式被存放在了/dev目录之下,并且拥有着它自己的命名规则。

在此,我们给出根据硬盘的硬件种类来区分的规则:

  • IDE设备 :hd[a、b、c….][1、2、3…]
  • SCSI/SATA/U盘设备:sd[a、b、c….][1、2、3…]

我们拿IDE设备来解释这里的字符串hd[a、b、c….][1、2、3…]

首先,hd代表的是IDE设备磁盘的特殊符号,若我们查看到我们的硬盘在Linux中显示为hd开头,则几乎可以断定是IDE设备硬盘

其次的**[a、b、c….]字符串代表了这是一个linux系统中的第几块IDE磁盘**,第一块为a,第二块为b,第三块则为c,以此类推……

最后的**[1、2、3…]字符串则代表了这是一块IDE磁盘上的第几个分区**,第一个分区为1,第二个分区为2,第三个分区为3,以此类推……

例如,我们拥有一块先行装入安装系统的SATA磁盘,又后置了一块IDE磁盘,那么我们分别区分其第一和第三分区应该为:

  • SATA:sda1/sda3
  • IDE:hdb1/hdb3
一块磁盘最多有四个主分区(或者三个主分区加上一个扩展分区)所以分区命名法中第1-第4分区一定是主分区或者扩展分区而第5分区之后则是逻辑分区,所以/dev/hdb5代表的是第二块IDE设备的第一块逻辑分区

扩展:

这里给出一些其他设备的命名方式:

  • 软驱: fd[0-1]
  • 光驱 : cdrom
  • 鼠标 : mouse
  • 磁带机 : st0或 ht0

Linux下的磁盘分区方式

硬盘分区表是支持硬盘正常工作的架构。其意义在于操作系统会根据硬盘的分区表把硬盘划分为若干个分区,然后再在每个分区里面创建文件系统,使系统可以写入数据。不同的硬盘分区表就像是对一个房子的不同的装修方案。

一般来说,在Linux下的分区方式,主要有两种:

  • MBR

MBR全称为Master Boot Record

主引导记录,是传统的分区机制,应用于绝大多数使用BIOS的PC设备

MBR+BIOS

MBR支持32位和64位系统。

MBR支持分区数量有限。

MBR只支持不超过2T的硬盘,超过2T的硬盘将只能用2T空间(有第三方解决方法)。

简单来说,MBR分区只支持2T以下的硬盘进行分区,使用fdisk指令,并且MBR在分区时,只能够分出4个分区(4个主分区或者3个主分区加一个扩展分区,逻辑分区应建立于扩展分区之上)

  • GPT

GPT(GUID Partition Table)

全局唯一标识分区表,是一个较新的分区机制,解决了MBR很多缺点。

支持超过2T的磁盘(64位寻址空间)。fdisk最大只能建立2TB大小的分区,创建一个大于2TB的分区使用parted。

向后兼容MBR。

必须在支持UEFI的硬件上才能使用(Intel提出,用于取代BIOS)。

GPT+UEFI

必须使用64位系统。

Mac、Linux系统都能支持GPT分区格式。

Windows 7/8 64bit、Windows Server 2008 64bit支持GPT。

GPT分区可以支持2G以上的硬盘分区,使用parted指令,并且GPT可以无限制进行分区

以上就是Linux系统MBR和GPT分区的区别,总得来说GPT比MBR更先进,但是MBR的兼容性比GPT要好,但当今我们一般仍然选择使用MBR分区

注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失

Linux下的文件管理系统

如果我们将磁盘的分区比作是将一栋楼房划分成了各个楼层,那么文件管理系统则代表了各个楼层所使用的装修风格,视实际情况和个人习惯等因素,各个楼房的装修风格也会随之改变。同理,文件管理系统则是每一个分区下的文件管理方式,它决定了该磁盘分区下文件该如何存储,在不同的情况以及不同的使用者喜好下,我们可以选择不同的文件管理系统。

如今Linux下常用的文件管理系统有如下几种:

Ext3(实际上也不怎么使用了) 是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据 的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分 之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便 在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复。

Ext4 Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达 1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批 量分配block块,从而极大地提高了读写效率。

XFS 是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意 外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费 极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需 求。

一般来说,我们会在给一个分区进行格式化或者初定义的时候,给其定义一个新的或者原来使用的文件管理系统
我们都知道,Linux中的文件不仅仅拥有着它被存储的内容,也拥有者它自己的**属性,**虽然不是我们经常需要查看的内容,但是这也并不能否定属性也是文件内容的一部分这个事实。
在linux中,文件管理系统通常会将这两部份的资料分别存放在不同的区块,它将文件的属性放置到inode中,而至于实际资料则放置到data block区块中。另外,还有一个超级区块(superblock)会记录整个档案系统的整体信息,包括inode与block的总量、使用量、剩余量等。

inode号只在同一文件系统中是唯一的!!!

每个inode 与block 都有编号,至于这三个资料的意义可以简略说明如下:

  • superblock:记录此filesystem 的整体信息,包括inode/block的总量、使用量、剩余量, 以及文件管理系统的格式与相关信息等;
  • inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的资料所在的block 号码;
  • block:实际记录文件的内容,若文件太大时,会占用多个block 。

关于inode,我们需要注意:

inode包含文件的元信息,具体来说有以下内容:

  • Size 文件的字节数
  • Uid 文件拥有者的User ID
  • Gid 文件的Group ID
  • Access 文件的读、写、执行权限(以及三种特殊权限)
  • 文件的时间戳,共有三个:
    • Change 指inode上一次变动的时间
    • Modify 指文件内容上一次变动的时间
    • Access 指文件上一次打开的时间
  • Links 链接数,即有多少文件名指向这个inode
  • Inode 文件数据block的位置
  • Blocks 块数
  • IO Blocks 块大小
  • Device 设备号码 inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。 每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。

每个inode都有一个号码,操作系统用inode号码来识别不同的文件,Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于用户识别的别称或者绰号。


swap分区

Swap分区,即交换区,系统在物理内存(这里应该是运行内存)不够时,与Swap进行交换(与Windows下的虚拟内存相似)。 其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。一般来说,swap分区的大小应该是物理内存的1.5-2倍,但这并不绝对,实际情况要视需求而定。
使用free -h指令检查机器本身的已有swap分区总大小以及内存大小,以及它们的使用情况:

使用mkswap指令将一个分区初定义或者格式化成swap分区格式:

使用swapon指令将指定swap分区启用,并使用free -h指令查看启用新swap分区后,swap分区的总大小:

如上所示,我们的swap分区总大小从2G变成了2.5G,若想要禁用指定swap分区,可以使用swapoff指令:

和普通的分区一样,使用指令进行的分区操作,并不能使swap分区永久生效,一旦重启或者意外断电,该swap分区将会失效,想要实现永久生效的swap分区,需要进入fstab文件中,将swap分区信息写入改文件并保存启用:

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇