Quantcast
Channel: CodeSection,代码区,Linux操作系统:Ubuntu_Centos_Debian - CodeSec
Viewing all articles
Browse latest Browse all 11063

Linux运维实战之5:磁盘分区、格式化及挂载(一)

$
0
0

本次博文的主题是关于linux系统中磁盘及分区哈!

在操作系统中,磁盘管理属于设备管理的范畴。我们先来谈谈Linux系统中的设备类型。

一、Linux系统中的设备类型:

Linux沿袭Unix的风格,将所有设备认成是一个文件。

设备文件分为两种:

1、块设备文件(b):

通常称为“随机设备”。所谓“ 块设备 ”是指对其信息的存取以“块”为单位,如通常的光盘、硬盘、软盘、磁带等,块长取512、1024或4096字节。块设备可以直接通过块设备特别文件来访问。为了提高数据的传输效率,块设备驱动程序内部采用块缓冲技术。

2、字符设备文件(c):

通常称为“线性设备”。所谓“ 字符设备 ”是指在I/O传输中以字符为单位进行传输的设备,如键盘,打印机等。不过需要注意的是以字符为单位并不一定意味着是以字节为单位,因为有的编码规则规定,一个字符占16bit,合2个字节。

设备文件一般存放在/dev目录下:

/dev/hd [a-t]:IDE设备 /dev/sd[a-z]:SCSI设备 /dev/fd [0-7]:标准软驱 /dev/md[0-31]:软raid设备 /dev/loop[0-7]:本地回环设备 /dev/ram[0-15]:内存

/dev/null:无限数据接收设备, 相当于回收站

/dev/zero:无限零资源,有点像冒泡机 /dev/tty[0-63]:虚拟终端 /dev/ttyS[0-3]:串口 /dev/lp[0-3]:并口 /dev/console:控制台 /dev/fb[0-31]:framebuffer

/dev/cd rom->/dev/hd c

/dev/modem->/dev/ttyS[0-9] /dev/pilot->/dev/ttyS[0-9] /dev/console:控制台

Tips:控制台和虚拟终端的区别与联系:

控制台就好比电视机上的按钮,终端好比遥控板,他们的目的都是控制电视机,但是控制台必须在本地,而终端可以在远端,系统只有一个控制台,叫console,其他的都是终端

二、Linux系统中的磁盘及分区: 1、磁盘基础:

日常生活和工作中,常见的磁盘种类有以下几种:

(1)IDE(ATA)硬盘:

集成 磁盘 电子接口,IntegratedDeviceElectronics,并行传输数据,最大的理论传输速率为133MB/s

SATA:全称是SerialAdvancedTechnologyAttachment(串行高级技术附件,一种基于行业标准的串行硬件驱动器接口)就是我们现在经常所说的SATA;常见的理论传输速率:300MB/s,600MB/s,6Gb/s

(2)SCSI硬盘:

SmallComputerSystemInterface,UltraSCSI标准传输速率为320MB/s常见转速:10000RPM,15000RPM

SAS:串行版的SCSI硬盘,最大传输速率:6Gbps

(3)SSD硬盘:

Disk固态硬盘(SolidStateDisk)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。

(4)USB硬盘:

常见USB接口规范:1.1,2.0,3.0

2、Linux系统中的磁盘分区 (1)磁盘分区基础:

首先问大家一个问题:磁盘为什么需要分区?

如果没有分区,我们要在一个磁盘上安装两个以上的操作系统是无法办到的。因此,每一个分区可以当做独立的文件系统来使用以便于安装多个操作系统,这就是磁盘需要分区的原因。

Linux中不同类型的硬盘和分区文件名不同:

IDE硬盘和分区文件名:

Linux对连接到IDE接口的硬盘使用/dev/hdxy的方式命名,其中hd表示硬盘为IDE类型,x表示硬盘序号,x的值可以是a、b、c、d。y为分区号;如第二块IDE硬盘的第二个分区系统中文件名为hdb2

SATA或者SCSI硬盘和分区文件名:

连接到SCSI接口的设备使用ID号进行区别,SCSI设备ID号为0~15,SCSI接口卡本身的ID号是7。Linux对连接到SCSI接口卡的硬盘使用/dev/sdx的方式命名,x的值可以是a、b、c、d等,即ID号为0的SCSI硬盘名为/dev/sda,ID号为1的SCSI硬盘名为/dev/sdb,以此类推。LINUX对SCSI硬盘最多支持15个分区。


Linux运维实战之5:磁盘分区、格式化及挂载(一)

说明:

a、所有使用USB接口的移动存储设备,不论是移动硬盘、优盘,还是USB光驱,都一律使用/dev/sdxx的设备文件。光驱(光盘)的设备文件一般默认为/dev/cdrom,这个就与光驱的接口无关了。

b、一个硬盘最多可以有4个(主+扩展)分区,其中,扩展分区只能有一个(如图中的/dev/hda2为扩展分区,/dev/hda5为扩展分区中划分的逻辑分区),分区的形式只能有两种:

P+P+P+P

P+P+P+E//P表示主分区,E表示扩展分区(扩展分区保存的是磁盘的二级分区表,它指向具体的逻辑分区,这是我个人的理解哈)

因1~4号己被保留,所以第1个逻辑分区的代号由5号开始,以此顺序增加到磁盘号,若未划分/dev/sda3,/dev/sda4分区,则这两个代号是空的被保留下来的代号。逻辑分区和主分区没有关系,只与MBR的空间有关系

MBR(Main/MasterBootRecord)知识点:

引导扇区在每个分区里都存在,但我们常说的 主引导扇区(也叫主引导记录MBR) 是硬盘的第一物理扇区。它位于磁盘的 0磁头0柱面1扇区 且由两个部分组成: bootloader + 硬盘分区表DPT , 其中bootloader的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。简言之, bootloader就是用来加载内核的 。

在总共512字节的主引导扇区里其中 bootloader 占 446个字节 (偏移0 偏移1BDH), DPT 占 64个字节 (偏移1BEH 偏移1FDH,每16字节保存一个分区的信息,所以主分区最多只能有4个),最后两个字节“55,AA”(偏移1FEH偏移1FFH)是分区的结束标志,称为 “魔数(MagicNumber)”, 表示当前分区是否可引导( 5A表示可引导 )。也就是说 MBR=bootloader+DPT+MagicNumber ,大致的结构如下图:


Linux运维实战之5:磁盘分区、格式化及挂载(一)
(2)Linux下的磁盘分区:

命令名称:fdisk

命令所在路径:/sbin/fdisk

执行权限:root

功能描述:磁盘分区相关操作,最多支持15个分区

语法:fdisk[option][DEVICE]

常用选项:

-l:查看当前磁盘分区的详细情况

范例:

[root@Centos ~]# fdisk -l #查看磁盘的分区情况,不带参数显示的是当前主机上所有的磁盘分区情况
Disk /dev/sda: 107.4 GB, 107374182400 bytes #当前主机只有一块磁盘,容量107.4GB
255 heads, 63 sectors/track, 13054 cylinders #此处显示该硬盘的具体参数:共255个磁头,每个磁道63个扇区,共13054个柱面
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes #此处显示扇区大小,每个扇区512个字节
I/O size (minimum/optimal): 512 bytes / 512 bytes #I/O大小,说明读写一个数据最小需要512字节
Disk identifier: 0x00097863
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux #第一个分区,按柱面划分,从第一个柱面开始,到26个柱面结束
Partition 1 does not end on cylinder boundary. #此处的警告说明该分区没有包含整个柱面(一个柱面一定要属于一个分区,否则就会给出警告)
/dev/sda2 26 91 524288 82 Linux swap / Solaris #第二个分区,分区类型为“交换分区”
Partition 2 does not end on cylinder boundary.
/dev/sda3 91 13055 104127488 83 Linux #第三个分区,分区类型为Linux分区

fdisk是交互式命令,其下有许多子命令,说明如下:

[root@Centos ~]# fdisk /dev/sda #fdisk的参数是设备名称而非分区名
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): m #交互式命令,提示键入“m”以获取帮助
Command action #可以看到,fdisk有如下这么多的子命令
a toggle a bootable flag #设定可启动标记
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition #删除一个分区
l list known partition types #各分区类型所对应的System ID
m print this menu
n add a new partition #新建一个分区
o create a new empty DOS partition table
p print the partition table #显示当前的分区信息
q quit without saving changes #不保存退出
s create a new empty Sun disklabel
t change a partition's system id #修改指定分区的System ID
u change display/entry units
v verify the partition table
w write table to disk and exit #保存退出
x extra functionality (experts only)

我们重点来看下“l”子命令,用于列出Linux支持的分区所对应的 System ID :

[root@Centos ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): l
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FS data
6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b

Viewing all articles
Browse latest Browse all 11063

Trending Articles